epan/dissectors/pidl/samr/samr.cnf cnf_dissect_lsa_BinaryString => lsarpc_dissect_str...
[wireshark-sm.git] / epan / dissectors / packet-vsip.c
blobf908b62cd1717f3289510f48095a7a3c080d6991
1 /* packet-vsip.c
2 * Routines for VSIP packet disassembly
4 * Copyright (c) 2010 by Verint Canada Systems Inc.
6 * Original Author: Charles Nepveu <charles.nepveu at verint.com>
7 * Generated using the TSN.1 compiler from protomatics.
9 * Updated to current API usage to create "manual" version of
10 * dissector by Michael Mann
12 * Wireshark - Network traffic analyzer
13 * By Gerald Combs <gerald@wireshark.org>
14 * Copyright 1999 Gerald Combs
16 * SPDX-License-Identifier: GPL-2.0-or-later
19 #include "config.h"
21 #include <epan/packet.h>
22 #include <epan/tfs.h>
23 #include <wsutil/array.h>
25 void proto_register_vsip(void);
26 void proto_reg_handoff_vsip(void);
28 static dissector_handle_t vsip_handle;
30 static const value_string EVsipMessageType_vals[] =
32 { 1, "VSIP Ping Request"},
33 { 2, "VSIP Ping Response"},
34 { 3, "VSIP Get Capabilities Request"},
35 { 4, "VSIP Get Capabilities Response"},
36 { 5, "VSIP Start Device Request"},
37 { 6, "VSIP Stop Device Request"},
38 { 7, "VSIP Set Configuration Request"},
39 { 8, "VSIP Get Configuration Request"},
40 { 9, "VSIP Get Configuration Response"},
41 {10, "VSIP Send Command Request"},
42 {11, "VSIP Event Notify"},
43 {12, "VSIP Event Subscribe"},
44 {13, "VSIP Error Response"},
45 {19, "VSIP Content-Type Switch Request"},
46 {20, "VSIP Content-Type Switch Response"},
47 {21, "VSIP Start Device EX Request"},
48 {22, "VSIP Stop Device EX Request"},
49 {23, "VSIP Event Subscribe Extended"},
50 {24, "VSIP Send Command EX Request"},
51 {48, "VSIP Error Variable Arguments Response"},
52 {0, NULL}
55 static value_string_ext EVsipMessageType_vals_ext = VALUE_STRING_EXT_INIT(EVsipMessageType_vals);
57 static const value_string EVsipVendorID_vals[] =
59 {8192, "Unknown Vendor"},
60 {8193, "Verint"},
61 {8194, "DVTEL"},
62 {8195, "GENETEC"},
63 {8196, "RADIANT"},
64 {8197, "SILENT WITNESS"},
65 {8198, "EUROPLEX TECH"},
66 {8199, "JVC"},
67 {8200, "SAMSUNG"},
68 {0, NULL}
71 static const value_string EVsipEntityType_vals[] =
73 { 0, "Device"},
74 { 1, "Video decoder"},
75 { 2, "Video encoder"},
76 { 3, "Audio decoder"},
77 { 4, "Audio encoder"},
78 { 5, "Serial port"},
79 { 6, "Input pin"},
80 { 7, "Output pin"},
81 {11, "Wireless connection"},
82 {12, "Ethernet connection"},
83 {13, "Motion detection"},
84 {17, "Video sensor"},
85 {18, "Content analyzer"},
86 {20, "Content analyzer view"},
87 {22, "Camera tampering detection"},
88 {0, NULL}
91 static const value_string EVsipContentType_vals[] =
93 {0, "None"},
94 {1, "Command and Control"},
95 {2, "Stream -video, audio, serial-"},
96 {3, "SSL Command and Control Client"},
97 {4, "SSL Command and Control Server"},
98 {5, "SSL Stream -video, audio, serial- Client"},
99 {6, "SSL Stream -video, audio, serial- Server"},
100 {0, NULL}
103 static const value_string EVsipValueType_vals[] =
105 {1, "Character - 8 bits"},
106 {2, "Short - 16 bits"},
107 {3, "Integer - 32 bits"},
108 {4, "VSIP String - Variable"},
109 {5, "Unsigned Integer - 32 bits"},
110 {6, "GUID - 128 bits"},
111 {7, "Float - 32 bits"},
112 {8, "Binary - Variable"},
113 {0, NULL}
116 static const value_string EVsipConnectionType_vals[] =
118 { 0, "VSIP_CONN_TYPE_NULL"},
119 { 1, "VSIP_CONN_TYPE_UDP_UNICAST"},
120 { 2, "VSIP_CONN_TYPE_UDP_MULTICAST"},
121 { 3, "VSIP_CONN_TYPE_UDP"},
122 { 7, "VSIP_CONN_TYPE_RTPSTANDARDH264_UDP"},
123 { 11, "VSIP_CONN_TYPE_RTPSTANDARDH264_UDP_VOLATILE"},
124 { 12, "VSIP_CONN_TYPE_TCP"},
125 { 64, "VSIP_CONN_TYPE_RTP"},
126 { 65, "VSIP_CONN_TYPE_RTPVERINT_UDP"},
127 { 76, "VSIP_CONN_TYPE_RTPVERINT_TCP"},
128 {129, "VSIP_CONN_TYPE_UDP_VOLATILE"},
129 {140, "VSIP_CONN_TYPE_TCP_VOLATILE"},
130 {192, "VSIP_CONN_TYPE_RTPVERINT_UDP_VOLATILE"},
131 {204, "VSIP_CONN_TYPE_RTPVERINT_TCP_VOLATILE"},
132 {0, NULL}
135 static const value_string EVsipCommand_vals[] =
137 { 1, "Send Key Frame"},
138 { 2, "VSIP Proprietary Command"},
139 { 3, "Set TCP Connection As Vital"},
140 { 4, "Reset Wireless Passkey"},
141 { 5, "Remove Multicast Stream"},
142 { 7, "Clear Statistics"},
143 { 8, "Clear Logs"},
144 { 9, "Ping Remote Host"},
145 {10, "VSIP_CA_COMMAND_ADD_VIEW"},
146 {11, "VSIP_CA_COMMAND_DEL_VIEW"},
147 {12, "VSIP_CA_COMMAND_FORCE_VIEW"},
148 {13, "VSIP_CA_COMMAND_GET_VIEW_SNAPSHOT"},
149 {14, "VSIP_CA_COMMAND_GET_LIVE_SNAPSHOT"},
150 {15, "VSIP_CA_COMMAND_ADD_RULE"},
151 {16, "VSIP_CA_COMMAND_DEL_RULE"},
152 {17, "VSIP_CA_COMMAND_SET_RULE"},
153 {18, "VSIP_CA_COMMAND_GET_RULES"},
154 {19, "VSIP_CA_COMMAND_RESET_INT_PARAMS"},
155 {32, "VSIP_CA_COMMAND_RESET_CA_CONFIG"},
156 {33, "Install License"},
157 {34, "Remove License"},
158 {49, "Reset Out-Of-Position View"},
159 {50, "Reset Out-Of-Position Params"},
160 {51, "Reset Out-Of-Focus Params"},
161 {64, "RTSP control over VSIP"},
162 {0, NULL}
165 static value_string_ext EVsipCommand_vals_ext = VALUE_STRING_EXT_INIT(EVsipCommand_vals);
167 static const value_string EVsipConfigItem_vals[] =
169 { 1, "CONFIG_NETWORK_PORT/CONFIG_NETWORK_RX_PORT"},
170 { 2, "CONFIG_NETWORK_CONNECTION_TYPE"},
171 { 3, "CONFIG_NETWORK_SUPPORTED_CONNECTION_TYPE"},
172 { 4, "CONFIG_NETWORK_SSL_PASSKEY"},
173 { 5, "CONFIG_NETWORK_MAC_ADDRESS"},
174 { 6, "CONFIG_NETWORK_TX_PORT"},
175 { 7, "CONFIG_NETWORK_RX_PORT2"},
176 { 8, "CONFIG_NETWORK_RX_PORT3"},
177 { 9, "CONFIG_NETWORK_RX_PORT4"},
178 { 10, "CONFIG_NETWORK_TX_PORT2"},
179 { 11, "CONFIG_NETWORK_TX_PORT3"},
180 { 12, "CONFIG_NETWORK_TX_PORT4"},
181 { 13, "CONFIG_NETWORK_DESTINATION_GUID"},
182 { 14, "CONFIG_NETWORK_DESTINATION_GUID2"},
183 { 15, "CONFIG_NETWORK_DESTINATION_GUID3"},
184 { 16, "CONFIG_NETWORK_DESTINATION_GUID4"},
185 { 257, "CONFIG_CONTENT_ANALYZER_TARGET_FRAME_RATE"},
186 { 258, "CONFIG_CONTENT_ANALYZER_CURRENT_STREAMING_STATE"},
187 { 259, "CONFIG_CONTENT_ANALYZER_INITIAL_STREAMING_STATE"},
188 { 260, "CONFIG_CONTENT_ANALYZER_TARGET_IP_ADDRESS"},
189 { 261, "CONFIG_CONTENT_ANALYZER_TARGET_VSIP_GUID"},
190 { 262, "CONFIG_CONTENT_ANALYZER_SUPPORTED_TYPE"},
191 { 263, "CONFIG_CONTENT_ANALYZER_JPEG_ENCODING_STATE"},
192 { 264, "CONFIG_CONTENT_ANALYZER_JPEG_FRAME_RATE"},
193 { 265, "CONFIG_CONTENT_ANALYZER_JPEG_QUALITY"},
194 { 266, "CONFIG_CONTENT_ANALYZER_SOURCE_INPUT_NUMBER"},
195 { 267, "CONFIG_CONTENT_ANALYZER_ACTUAL_TYPE"},
196 { 268, "CONFIG_CONTENT_ANALYZER_VERSION"},
197 { 269, "CONFIG_CONTENT_ANALYZER_FORENSICS_METADATA_ENABLED"},
198 { 270, "CONFIG_CONTENT_ANALYZER_POSSIBLE_SENSORS"},
199 { 271, "CONFIG_CONTENT_ANALYZER_CONNECTION_MODE"},
200 { 272, "CONFIG_CONTENT_ANALYZER_INTERNAL_PARAMETERS"},
201 { 273, "CONFIG_CONTENT_ANALYZER_STATUS"},
202 { 274, "CONFIG_CONTENT_ANALYZER_CURRENT_VIEW_ID"},
203 { 275, "CONFIG_CONTENT_ANALYZER_SUPPORTED_FEATURES"},
204 { 276, "CONFIG_CONTENT_ANALYZER_CURRENT_SENSOR"},
205 { 277, "CONFIG_CONTENT_ANALYZER_AVAILABLE_SENSORS"},
206 { 278, "CONFIG_CONTENT_ANALYZER_AUTO_DISABLE_SCHEDULES"},
207 { 513, "CONFIG_NETWORK_QOS_TYPE"},
208 { 514, "CONFIG_NETWORK_QOS_VIDEO_PRIORITY"},
209 { 515, "CONFIG_NETWORK_QOS_AUDIO_PRIORITY"},
210 { 516, "CONFIG_NETWORK_QOS_CONTROL_PRIORITY"},
211 { 517, "CONFIG_NETWORK_QOS_TOS_VIDEO_PRIORITY"},
212 { 518, "CONFIG_NETWORK_QOS_TOS_AUDIO_PRIORITY"},
213 { 519, "CONFIG_NETWORK_QOS_TOS_CONTROL_PRIORITY"},
214 { 769, "CONFIG_SYSTEM_MONITOR_MAX_FATAL_ERR_COUNT"},
215 {1025, "CONFIG_CONTENT_ANALYZER_VIEW_NAME"},
216 {1026, "CONFIG_CONTENT_ANALYZER_VIEW_IS_DEFINED"},
217 {1027, "CONFIG_CONTENT_ANALYZER_VIEW_SOURCE_INPUT_NUMBER"},
218 {1028, "CONFIG_CONTENT_ANALYZER_VIEW_SUPPORTED_FEATURES"},
219 {1281, "CONFIG_CAMALERT_PAINTOVER_MODE"},
220 {1282, "CONFIG_CAMALERT_PAINTOVER_SENSITIVITY_OFFSET"},
221 {1283, "CONFIG_CAMALERT_PAINTOVER_ALARM"},
222 {1284, "CONFIG_CAMALERT_PAINTOVER_ALARM_RESET"},
223 {1285, "CONFIG_CAMALERT_PAINTOVER_MEDIAN_THRES"},
224 {1286, "CONFIG_CAMALERT_PAINTOVER_STDDEV_THRES"},
225 {1287, "CONFIG_CAMALERT_PAINTOVER_MEDIAN"},
226 {1288, "CONFIG_CAMALERT_PAINTOVER_STDDEV"},
227 {1289, "CONFIG_CAMALERT_PAINTOVER_INPUT_NUMBER"},
228 {1290, "CONFIG_CAMALERT_PAINTOVER_ALARM_STATE"},
229 {1537, "CONFIG_CAMERA_TAMPERING_LIB_VERSION"},
230 {1538, "CONFIG_CAMERA_TAMPERING_INPUT_NUM"},
231 {1539, "CONFIG_CAMERA_TAMPERING_OOP_FRAME_RATE"},
232 {1540, "CONFIG_CAMERA_TAMPERING_OOP_ENABLE"},
233 {1541, "CONFIG_CAMERA_TAMPERING_OOP_SENSITIVITY_THRESHOLD"},
234 {1542, "CONFIG_CAMERA_TAMPERING_OOP_PERST_LEVEL"},
235 {1543, "CONFIG_CAMERA_TAMPERING_OOP_MASK"},
236 {1544, "CONFIG_CAMERA_TAMPERING_OOP_MASK_ENABLE"},
237 {1545, "CONFIG_CAMERA_TAMPERING_OOP_MASK_POLARITY"},
238 {1546, "CONFIG_CAMERA_TAMPERING_OOP_ALARM_STATUS"},
239 {1547, "CONFIG_CAMERA_TAMPERING_OOP_CURRENT_LEVEL"},
240 {1548, "CONFIG_CAMERA_TAMPERING_OOF_ENABLE"},
241 {1549, "CONFIG_CAMERA_TAMPERING_OOF_SENSITIVITY_THRESHOLD"},
242 {1550, "CONFIG_CAMERA_TAMPERING_OOF_PERST_LEVEL"},
243 {1551, "CONFIG_CAMERA_TAMPERING_OOF_MASK"},
244 {1552, "CONFIG_CAMERA_TAMPERING_OOF_MASK_ENABLE"},
245 {1553, "CONFIG_CAMERA_TAMPERING_OOF_MASK_POLARITY"},
246 {1554, "CONFIG_CAMERA_TAMPERING_OOF_ALARM_STATUS"},
247 {1555, "CONFIG_CAMERA_TAMPERING_OOF_CURRENT_LEVEL"},
248 {1556, "CONFIG_CAMERA_TAMPERING_OOF_FRAME_RATE"},
249 {1557, "CONFIG_CAMERA_TAMPERING_OOP_ILLUM_NORM"},
250 {4097, "CONFIG_VIDEO_ATTRIBUTE_BRIGHTNESS"},
251 {4098, "CONFIG_VIDEO_ATTRIBUTE_CONTRAST"},
252 {4099, "CONFIG_VIDEO_ATTRIBUTE_GAIN_U"},
253 {4100, "CONFIG_VIDEO_ATTRIBUTE_GAIN_V"},
254 {4101, "CONFIG_VIDEO_ATTRIBUTE_HUE"},
255 {4102, "CONFIG_VIDEO_ATTRIBUTE_MOTION_ENC"},
256 {4103, "CONFIG_VIDEO_ATTRIBUTE_SATURATION"},
257 {4104, "CONFIG_VIDEO_ATTRIBUTE_RECEIVER_MODE"},
258 {4105, "CONFIG_VIDEO_ATTRIBUTE_INPUT_OPTION"},
259 {4106, "CONFIG_VIDEO_ATTRIBUTE_H264_ENC"},
260 {4113, "CONFIG_VIDEO_COMPRESSION_DATA_FORMAT"},
261 {4114, "CONFIG_VIDEO_COMPRESSION_BLOCK_REFRESH"},
262 {4115, "CONFIG_VIDEO_COMPRESSION_FRAME_RATE"},
263 {4116, "CONFIG_VIDEO_COMPRESSION_OVERLAY_RATE"},
264 {4117, "CONFIG_VIDEO_COMPRESSION_QUANTIZATION"},
265 {4118, "CONFIG_VIDEO_COMPRESSION_BIT_RATE"},
266 {4119, "CONFIG_VIDEO_COMPRESSION_INTRA_INTERVAL"},
267 {4120, "CONFIG_VIDEO_COMPRESSION_QUANTIZATION_MIN"},
268 {4121, "CONFIG_VIDEO_COMPRESSION_MODE"},
269 {4122, "CONFIG_VIDEO_COMPRESSION_MODE_SUPPORTED"},
270 {4123, "CONFIG_VIDEO_COMPRESSION_FRAME_RATE_CONTROL"},
271 {4124, "CONFIG_VIDEO_COMPRESSION_TARGET_FILE_SIZE"},
272 {4125, "CONFIG_VIDEO_COMPRESSION_VFS_QUALITY"},
273 {4126, "CONFIG_VIDEO_ENHANCED_QUALITY_MODE"},
274 {4127, "CONFIG_VIDEO_COMPRESSION_FRAME_SKIPRATE"},
275 {4129, "CONFIG_VIDEO_INFO_ANALOG_FORMAT"},
276 {4130, "CONFIG_VIDEO_INFO_SUPPORTED_DATA_FORMAT"},
277 {4131, "CONFIG_VIDEO_INFO_SOURCE_INPUT"},
278 {4132, "CONFIG_VIDEO_INFO_ENCODER_NUMBER"},
279 {4133, "CONFIG_VIDEO_INFO_SINK_OUTPUT"},
280 {4134, "CONFIG_VIDEO_INFO_DECODER_NUMBER"},
281 {4135, "CONFIG_VIDEO_INFO_SECOND_CONNECTOR_STATE"},
282 {4136, "CONFIG_VIDEO_INFO_INPUT_STATE"},
283 {4137, "CONFIG_VIDEO_INFO_MAX_RESOLUTION"},
284 {4138, "CONFIG_VIDEO_INFO_SUPPORTED_MAX_RESOLUTION"},
285 {4139, "CONFIG_VIDEO_INFO_VIDEO_FORMAT_AUTODETECT"},
286 {4145, "CONFIG_VIDEO_STREAMING_STATE_CURRENT"},
287 {4146, "CONFIG_VIDEO_STREAMING_STATE_INITIAL"},
288 {4147, "CONFIG_VIDEO_STREAMING_TARGET_IP_ADDRESS"},
289 {4148, "CONFIG_VIDEO_STREAMING_TARGET_VSIP_GUID"},
290 {4149, "CONFIG_VIDEO_STREAMING_TRANSPORT_PROTOCOL"},
291 {4150, "CONFIG_VIDEO_STREAMING_RATE_CONTROL_MODE"},
292 {4151, "CONFIG_VIDEO_STREAMING_INPUT_FILTER_MODE"},
293 {4152, "CONFIG_VIDEO_STREAMING_ENCODER_MODE"},
294 {4153, "CONFIG_VIDEO_STREAMING_MAX_BIT_RATE"},
295 {4154, "CONFIG_VIDEO_STREAMING_DEFAULT_KEEP_ALIVE_ENABLE"},
296 {4160, "CONFIG_VIDEO_STREAMING_DYN_FILT_ENABLE"},
297 {4161, "CONFIG_VIDEO_DESTINATION_ADD"},
298 {4162, "CONFIG_VIDEO_DESTINATION_REMOVE"},
299 {4163, "CONFIG_VIDEO_STREAMING_RATE_CONTROL_MODE_SUPPORTED"},
300 {4176, "CONFIG_VIDEO_ENERGY_VECTOR_FREQUENCY"},
301 {4193, "CONFIG_VIDEO_WEB_MULTICAST_IP_ADDRESS"},
302 {4194, "CONFIG_VIDEO_WEB_MULTICAST_IP_PORT"},
303 {4208, "CONFIG_VIDEO_STREAMING_MAX_TX_SIZE"},
304 {4209, "CONFIG_VIDEO_STREAMING_NOISE_GEN_MODE"},
305 {4210, "CONFIG_VIDEO_STREAMING_NRF_MODE"},
306 {4211, "CONFIG_VIDEO_STREAMING_INTERLACED_MODE"},
307 {4212, "CONFIG_VIDEO_ROTATION_FILTER"},
308 {4213, "CONFIG_VIDEO_STARVING_MODE"},
309 {4214, "CONFIG_VIDEO_STARVING_DELAY"},
310 {4215, "CONFIG_VIDEO_DEBLOCKING_FILTER"},
311 {4216, "CONFIG_VIDEO_DEINTERLACING_MODE"},
312 {4217, "CONFIG_VIDEO_DECODER_QUAD_DISCOVERY_MODE"},
313 {4224, "CONFIG_VIDEO_ENCODER_POWER"},
314 {4225, "CONFIG_VIDEO_ENCODER_MAX_STREAMS"},
315 {4226, "CONFIG_VIDEO_ENCODER_MOTD_SUPPORTED"},
316 {4240, "CONFIG_VIDEO_COMPRESSION_H264_QUALITY"},
317 {4241, "CONFIG_VIDEO_COMPRESSION_H264_ADV_PROFILE"},
318 {4242, "CONFIG_VIDEO_COMPRESSION_H264_ADV_QUALITY"},
319 {4243, "CONFIG_VIDEO_COMPRESSION_H264_ADV_QUARTER_PEL"},
320 {4244, "CONFIG_VIDEO_COMPRESSION_H264_ADV_DEBLOCKING"},
321 {4245, "CONFIG_VIDEO_COMPRESSION_H264_ADV_DEBLOCK_LEVEL"},
322 {4246, "CONFIG_VIDEO_COMPRESSION_H264_ADV_CODING"},
323 {4247, "CONFIG_VIDEO_COMPRESSION_H264_ADV_MOTION_VECTOR_RANGE"},
324 {4248, "CONFIG_VIDEO_COMPRESSION_H264_MIN_QP"},
325 {4249, "CONFIG_VIDEO_COMPRESSION_H264_MAX_QP"},
326 {4250, "CONFIG_VIDEO_COMPRESSION_H264_RATE_CTRL"},
327 {4272, "CONFIG_VIDEO_LOW_RESOLUTION_MODE"},
328 {4273, "CONFIG_VIDEO_INPUT_STATE"},
329 {4304, "CONFIG_VIDEO_OUTPUT_MODE"},
330 {4305, "CONFIG_VIDEO_OUTPUT_MODE_SUPPORTED"},
331 {4306, "CONFIG_VIDEO_OUTPUT_FORMAT"},
332 {4307, "CONFIG_VIDEO_OUTPUT_FORMAT_SUPPORTED"},
333 {4314, "CONFIG_VIDEO_RTSP_RESOURCE_PATH"},
334 {4315, "CONFIG_VIDEO_RESOLUTION_RESOURCE_GROUP"},
335 {8193, "CONFIG_AUDIO_ATTRIBUTE_PITCH"},
336 {8194, "CONFIG_AUDIO_ATTRIBUTE_VOLUME"},
337 {8208, "CONFIG_AUDIO_INPUT_TYPE"},
338 {8209, "CONFIG_AUDIO_COMPRESSION_DATA_FORMAT"},
339 {8210, "CONFIG_AUDIO_SAMPLING_RATE"},
340 {8211, "CONFIG_AUDIO_COMPRESSION_CHANNEL"},
341 {8212, "CONFIG_AUDIO_COMPRESSION_GAIN"},
342 {8213, "CONFIG_AUDIO_COMPRESSION_SAMPLE_BITS"},
343 {8214, "CONFIG_AUDIO_SAMPLING_RATE_SUPPORTED"},
344 {8225, "CONFIG_AUDIO_INFO_SUPPORTED_DATA_FORMAT"},
345 {8226, "CONFIG_AUDIO_INFO_INPUT_NUMBER"},
346 {8227, "CONFIG_AUDIO_INFO_ENCODER_NUMBER"},
347 {8228, "CONFIG_AUDIO_INFO_SUPPORTED_INPUT_TYPE"},
348 {8240, "CONFIG_AUDIO_PLAYMODE"},
349 {8241, "CONFIG_AUDIO_GAIN_IN_DB"},
350 {8242, "CONFIG_AUDIO_GAIN_IN_DB_POSSIBLE_RANGE"},
351 {8243, "CONFIG_AUDIO_BIAS_STATE"},
352 {8244, "CONFIG_AUDIO_BIAS_IN_VOLT"},
353 {8245, "CONFIG_AUDIO_BIAS_IN_VOLT_POSSIBLE_RANGE"},
354 {8246, "CONFIG_AUDIO_GAIN_STATE"},
355 {8257, "CONFIG_AUDIO_STREAMING_STATE_INITIAL"},
356 {8258, "CONFIG_AUDIO_WEB_MULTICAST_IP_ADDRESS"},
357 {8259, "CONFIG_AUDIO_WEB_MULTICAST_IP_PORT"},
358 {8260, "CONFIG_AUDIO_STREAMING_TRANSPORT_PROTOCOL"},
359 {8261, "CONFIG_AUDIO_DESTINATION_ADD"},
360 {8262, "CONFIG_AUDIO_DESTINATION_REMOVE"},
361 {8263, "CONFIG_AUDIO_AUDIO_MODE"},
362 {8264, "CONFIG_AUDIO_STREAMING_DEFAULT_KEEP_ALIVE_ENABLE"},
363 {8272, "CONFIG_AUDIO_STREAMING_TARGET_IP_ADDRESS"},
364 {8273, "CONFIG_AUDIO_STREAMING_TARGET_VSIP_GUID"},
365 {8410, "CONFIG_AUDIO_RTSP_RESOURCE_PATH"},
366 {8411, "CONFIG_AUDIO_INPUT_RESOURCE_GROUP"},
367 {12289, "CONFIG_SERIAL_PORT_BAUD_RATE"},
368 {12290, "CONFIG_SERIAL_PORT_DATA_BITS"},
369 {12291, "CONFIG_SERIAL_PORT_PARITY"},
370 {12292, "CONFIG_SERIAL_PORT_STOP_BITS"},
371 {12293, "CONFIG_SERIAL_PORT_READ_ONCE"},
372 {12294, "CONFIG_SERIAL_PORT_WRITE_ONCE"},
373 {12295, "CONFIG_SERIAL_PORT_READ_INTERCHAR_TIMEOUT"},
374 {12296, "CONFIG_SERIAL_PORT_READ_TOTAL_TIMEOUT"},
375 {12297, "CONFIG_SERIAL_PORT_LINE_DRIVER"},
376 {12305, "CONFIG_SERIAL_HANDSHAKE"},
377 {12306, "CONFIG_SERIAL_FLOW_SOFTWARE"},
378 {12307, "CONFIG_SERIAL_FLOW_CTS"},
379 {12308, "CONFIG_SERIAL_FLOW_DSR"},
380 {12309, "CONFIG_SERIAL_CONTROL_RTS"},
381 {12310, "CONFIG_SERIAL_CONTROL_DTR"},
382 {12311, "CONFIG_SERIAL_CONTROL_SOFTWARE"},
383 {12321, "CONFIG_SERIAL_STREAMING_STATE_INITIAL"},
384 {12322, "CONFIG_SERIAL_STREAMING_TRANSPORT_PROTOCOL"},
385 {12337, "CONFIG_SERIAL_RS422_485_OPERATING_MODE"},
386 {12338, "CONFIG_SERIAL_STREAMING_TARGET_IP_ADDRESS"},
387 {12339, "CONFIG_SERIAL_STREAMING_TARGET_IP_ADDRESS2"},
388 {12340, "CONFIG_SERIAL_STREAMING_TARGET_IP_ADDRESS3"},
389 {12341, "CONFIG_SERIAL_STREAMING_TARGET_IP_ADDRESS4"},
390 {12342, "CONFIG_SERIAL_INFO_SUPPORTED_OPER_MODE"},
391 {16385, "CONFIG_IO_PIN_STATE"},
392 {20481, "CONFIG_SYSTEM_REBOOTREQUIRED"},
393 {20482, "CONFIG_SYSTEM_DEVICE_NAME"},
394 {20483, "CONFIG_SYSTEM_DEVICE_TYPE"},
395 {20484, "CONFIG_SYSTEM_UTC_DATETIME"},
396 {20485, "CONFIG_SYSTEM_GMT_OFFSET"},
397 {20486, "CONFIG_SYSTEM_COUNTRY_CODE"},
398 {20487, "CONFIG_SYSTEM_COUNTRY_CODE_CAP"},
399 {20488, "CONFIG_SYSTEM_NTP_RTP_SYNCHRO_PAIR"},
400 {20489, "CONFIG_SYSTEM_BOARD_TEMPERATURE"},
401 {20490, "CONFIG_SYSTEM_TIMEZONE"},
402 {20491, "CONFIG_SYSTEM_TIMEZONE_SUPPORTED_LIST"},
403 {20497, "CONFIG_SYSTEM_FIRMWARE_VERSION"},
404 {20498, "CONFIG_SYSTEM_UPTIME"},
405 {20499, "CONFIG_SYSTEM_IP_FIRMWARE_UPDATE_SUPPORT"},
406 {20500, "CONFIG_SYSTEM_FTP_FIRMWARE_UPDATE_SUPPORT"},
407 {20501, "CONFIG_SYSTEM_XML_REPORT_GENERATION"},
408 {20502, "CONFIG_SYSTEM_GLOBAL_SECURITY_PROFILE"},
409 {20503, "CONFIG_SYSTEM_TELNET_SESSION"},
410 {20504, "CONFIG_SYSTEM_IDENTIFY_STATUS"},
411 {20505, "CONFIG_SYSTEM_AUDIO_HARDWARE"},
412 {20512, "CONFIG_SYSTEM_FIRMWARE_METHOD_HTTP_SUPPORTED"},
413 {20529, "CONFIG_SYSTEM_TIME_NTP_SERVER_USAGE"},
414 {20530, "CONFIG_SYSTEM_TIME_NTP_SERVER_IP_ADDRESS"},
415 {20531, "CONFIG_SYSTEM_TIME_NTP_SERVER_IP_PORT"},
416 {20532, "CONFIG_SYSTEM_TIME_NTP_STATUS"},
417 {20533, "CONFIG_SYSTEM_DST_ENABLED"},
418 {20545, "CONFIG_SYSTEM_LOCAL_IP_ADDRESS"},
419 {20546, "CONFIG_SYSTEM_LOCAL_IP_NETMASK"},
420 {20547, "CONFIG_SYSTEM_GATEWAY"},
421 {20548, "CONFIG_SYSTEM_DHCP_STATE"},
422 {20549, "CONFIG_SYSTEM_HOST_NAME"},
423 {20560, "CONFIG_SYSTEM_VOLATILE_CONNECTIONS"},
424 {20561, "CONFIG_SYSTEM_MONITOR_SUPPORTED_FEATURES"},
425 {20562, "CONFIG_SYSTEM_SET_ID"},
426 {20563, "CONFIG_SYSTEM_HTTP_ACCESS_ENABLE"},
427 {20564, "CONFIG_SYSTEM_HTTP_ACCESS_SECURED_ENABLE"},
428 {20565, "CONFIG_SYSTEM_LED_STATE_ENABLE"},
429 {20566, "CONFIG_SYSTEM_RESET_BUTTON_STATE"},
430 {20576, "CONFIG_SYSTEM_LICENSING_SUPPORTED"},
431 {20577, "CONFIG_SYSTEM_LICENSE"},
432 {20578, "CONFIG_SYSTEM_LATEST_SUPPORTED_LICENSE_VERSION"},
433 {20579, "CONFIG_SYSTEM_LAST_REMOVAL_CODE"},
434 {20580, "CONFIG_SYSTEM_LICENSE_STATUS"},
435 {20581, "CONFIG_SYSTEM_LICENSE_USAGE"},
436 {20582, "CONFIG_SYSTEM_SERIAL_NUMBER"},
437 {20583, "CONFIG_SYSTEM_SERIAL_NUMBER_STAMPER"},
438 {20586, "CONFIG_SYSTEM_PERFORMANCE_OPTIONS_SUPP"},
439 {20587, "CONFIG_SYSTEM_PERFORMANCE_OPTIONS"},
440 {20592, "CONFIG_SYSTEM_SNMP_ENABLE"},
441 {20593, "CONFIG_SYSTEM_SNMP_SYSTEM_CONTACT"},
442 {20594, "CONFIG_SYSTEM_SNMP_SYSTEM_LOCATION"},
443 {20595, "CONFIG_SYSTEM_SNMP_RO_COMMUNITY_NAME"},
444 {20596, "CONFIG_SYSTEM_SNMP_RO_USER_NAME"},
445 {20597, "CONFIG_SYSTEM_SNMP_RO_USER_AUTH_TYPE"},
446 {20598, "CONFIG_SYSTEM_SNMP_RO_USER_AUTH_PASSWORD"},
447 {20599, "CONFIG_SYSTEM_SNMP_RO_USER_PRIVACY_PROTOCOL"},
448 {20600, "CONFIG_SYSTEM_SNMP_RO_USER_PRIVACY_PASSWORD"},
449 {20601, "CONFIG_SYSTEM_SNMP_TRAP_PRIMARY_DEST_ADDRESS"},
450 {20602, "CONFIG_SYSTEM_SNMP_TRAP_BACKUP_DEST_ADDRESS"},
451 {20608, "CONFIG_SYSTEM_PROPERTY_RTSP_SUPPORT"},
452 {24577, "CONFIG_IF_FILTER_ALLOW_MCAST_FWD"},
453 {32769, "CONFIG_WLS_MAC_ASSOCIATIONS_LIST_CLIENT"},
454 {32770, "CONFIG_WLS_MAC_ASSOCIATIONS_LIST_SLAVE"},
455 {32771, "CONFIG_WLS_MODE"},
456 {32772, "CONFIG_WLS_POSSIBLE_MODE"},
457 {32773, "CONFIG_WLS_BAND"},
458 {32774, "CONFIG_WLS_POSSIBLE_BAND"},
459 {32775, "CONFIG_WLS_CHANNEL"},
460 {32776, "CONFIG_WLS_POSSIBLE_CHANNEL"},
461 {32777, "CONFIG_WLS_BIT_RATE"},
462 {32778, "CONFIG_WLS_POSSIBLE_BIT_RATE"},
463 {32779, "CONFIG_WLS_PASS_KEY"},
464 {32780, "CONFIG_WLS_ENCRYPTION_TYPE"},
465 {32781, "CONFIG_WLS_POSSIBLE_ENCRYPTION_TYPE"},
466 {32782, "CONFIG_WLS_KEY_DISTRIBUTION"},
467 {32783, "CONFIG_WLS_POSSIBLE_KEY_DISTRIBUTION"},
468 {32784, "CONFIG_WLS_SSID"},
469 {32785, "CONFIG_WLS_RSSI"},
470 {32786, "CONFIG_WLS_ROLE"},
471 {32787, "CONFIG_WLS_POSSIBLE_ROLE"},
472 {32788, "CONFIG_WLS_FILTER_WLS_TO_WLS_MCAST"},
473 {32789, "CONFIG_WLS_CURRENT_TX_BIT_RATE"},
474 {32790, "CONFIG_WLS_CURRENT_SPCF_MASTER"},
475 {32791, "CONFIG_WLS_DIST_RANGE"},
476 {32792, "CONFIG_WLS_POSSIBLE_DIST_RANGE"},
477 {32793, "CONFIG_WLS_CURRENT_RX_BIT_RATE"},
478 {32794, "CONFIG_WLS_STARTING_ORDER"},
479 {32795, "CONFIG_WLS_TRANSMIT_POWER_SCALE"},
480 {32796, "CONFIG_WLS_OPERATING_MODE"},
481 {32797, "CONFIG_WLS_ANTENNA_GAIN"},
482 {32798, "CONFIG_WLS_SENSITIVITY_THRESHOLD"},
483 {32799, "CONFIG_WLS_LINK_INFO"},
484 {32800, "CONFIG_WLS_MIN_MARGIN"},
485 {32801, "CONFIG_WLS_CHANNEL_BW"},
486 {32802, "CONFIG_WLS_POSSIBLE_CHANNEL_BW"},
487 {32803, "CONFIG_WLS_WPA_AUTH_TYPE"},
488 {32804, "CONFIG_WLS_POSSIBLE_WPA_AUTH_TYPES"},
489 {32805, "CONFIG_WLS_WPA_NEGOTIATION_TIMEOUT"},
490 {32807, "CONFIG_WLS_WPA_PMK_LIFETIME"},
491 {32808, "CONFIG_WLS_WPA_EAP_LOGIN"},
492 {32809, "CONFIG_WLS_WPA_EAP_PASSWORD"},
493 {32810, "CONFIG_WLS_WPA_CA_CERTIFICATE"},
494 {32811, "CONFIG_WLS_WPA_UNIT_CERTIFICATE"},
495 {32812, "CONFIG_WLS_WPA_UNIT_PRIVATE_KEY"},
496 {32813, "CONFIG_WLS_WPA_PRIVATE_KEY_PASSPHRASE"},
497 {32814, "CONFIG_WLS_ANTENNA_SELECTION"},
498 {32815, "CONFIG_WLS_INTERCHANNEL_INTERFERENCE"},
499 {32816, "CONFIG_WLS_SPCF_MAX_FRAME_PER_BURST"},
500 {32817, "CONFIG_WLS_SPCF_MAX_POLLING_LATENCY"},
501 {36865, "CONFIG_CAPABILITY_NAME"},
502 {36866, "CONFIG_CAPABILITY_INSTANCE"},
503 {36867, "CONFIG_CAPABILITY_EOD_STATS_SUPPORTED"},
504 {36868, "CONFIG_CAPABILITY_LICENSABLE"},
505 {36869, "CONFIG_CAPABILITY_LICENSING_STATUS"},
506 {36870, "CONFIG_CAPABILITY_ENABLED"},
507 {40961, "CONFIG_MOTD_UPPER_THRESHOLD"},
508 {40962, "CONFIG_MOTD_LOWER_THRESHOLD"},
509 {40963, "CONFIG_MOTD_NB_FRAMES"},
510 {40964, "CONFIG_MOTD_VECT_LENGTH"},
511 {40965, "CONFIG_MOTD_LEFT_TO_RIGHT"},
512 {40966, "CONFIG_MOTD_RIGHT_TO_LEFT"},
513 {40967, "CONFIG_MOTD_TOP_TO_BOTTOM"},
514 {40968, "CONFIG_MOTD_BOTTOM_TO_TOP"},
515 {40969, "CONFIG_MOTD_MASK_STRING"},
516 {40970, "CONFIG_MOTD_MASK_ENABLED"},
517 {40971, "CONFIG_MOTD_STATE"},
518 {40972, "CONFIG_MOTD_INPUT_INDEX"},
519 {40973, "CONFIG_MOTD_ALARM_STATE"},
520 {45057, "CONFIG_PREA_MEMSPACE"},
521 {45058, "CONFIG_PREA_STATE"},
522 {45059, "CONFIG_PREA_RECORDING_STATE"},
523 {45060, "CONFIG_PREA_INPUT_INDEX"},
524 {49153, "CONFIG_PREPOST_CURRENT_STATE"},
525 {49154, "CONFIG_PREPOST_INITIAL_STATE"},
526 {49155, "CONFIG_PREPOST_OPERATIONAL_MODE"},
527 {49156, "CONFIG_PREPOST_CR_IP"},
528 {49157, "CONFIG_PREPOST_CR_PORT"},
529 {49158, "CONFIG_PREPOST_CR_USERNAME"},
530 {49159, "CONFIG_PREPOST_CR_PASSWORD"},
531 {49160, "CONFIG_PREPOST_CR_CLIP_DIRECTORY"},
532 {49161, "CONFIG_PREPOST_TRIGGER_IP"},
533 {49162, "CONFIG_PREPOST_TRIGGER_PORT"},
534 {49163, "CONFIG_PREPOST_TRIGGER_USERNAME"},
535 {49164, "CONFIG_PREPOST_TRIGGER_PASSWORD"},
536 {49165, "CONFIG_PREPOST_TRIGGER_CLIP_DIRECTORY"},
537 {49166, "CONFIG_PREPOST_PRE_LENGTH"},
538 {49167, "CONFIG_PREPOST_POST_LENGTH"},
539 {49168, "CONFIG_PREPOST_FALLING_RISING"},
540 {49169, "CONFIG_PREPOST_CR_CLIP_LENGTH"},
541 {53249, "CONFIG_VSIP_PROTOCOL_PORT_NUMBER"},
542 {53250, "CONFIG_VSIP_PROTOCOL_MULTICAST_IP_ADDRESS"},
543 {53251, "CONFIG_VSIP_PROTOCOL_DISCOVERY_IP_ADDRESS"},
544 {53252, "CONFIG_VSIP_TCP_HEARTBEAT_STATE"},
545 {53253, "CONFIG_VSIP_EVENT_MONITOR_IP_ADDRESS"},
546 {53254, "CONFIG_VSIP_EVENT_MONITOR_TCP_STATE"},
547 {53255, "CONFIG_VSIP_EVENT_MAX_REPEAT_COUNT"},
548 {57345, "CONFIG_OSD_DISPLAY_LOGO"},
549 {57346, "CONFIG_OSD_TX_DEVICE_NAME"},
550 {57347, "CONFIG_OSD_EVENT_DESCRIPTION"},
551 {57348, "CONFIG_OSD_DISPLAY_CUSTOM_ITEM"},
552 {57349, "CONFIG_OSD_FONT_HEIGHT"},
553 {57350, "CONFIG_OSD_CUSTOM_MODE"},
554 {57351, "CONFIG_OSD_SHOW_TRANSMITTER_NAME"},
555 {57352, "CONFIG_OSD_DECODER_STARVE"},
556 {57353, "CONFIG_OSD_DISPLAY_OPTION"},
557 {57354, "CONFIG_OSD_DISPLAY_STARTUP_INFO"},
558 {57355, "CONFIG_OSD_TRANSPARENCY"},
559 {57356, "CONFIG_OSD_DISPLAY_CUSTOM_ITEM_SUPPORTED"},
560 {57357, "CONFIG_OSD_DECODER_STARVE_SUPPORTED"},
561 {61441, "CONFIG_VIDEO_SENSOR_SOURCE_TYPE"},
562 {61442, "CONFIG_VIDEO_SENSOR_PRESET"},
563 {61443, "CONFIG_VIDEO_SENSOR_WHITE_BALANCE_BIAS"},
564 {61444, "CONFIG_VIDEO_SENSOR_BACKLIGHT_ENABLE"},
565 {61445, "CONFIG_VIDEO_SENSOR_GAMMA_MODE"},
566 {61446, "CONFIG_VIDEO_SENSOR_GAMMA_VALUE"},
567 {61447, "CONFIG_VIDEO_SENSOR_LENS_TYPE"},
568 {61448, "CONFIG_VIDEO_SENSOR_NORMAL_ZONE_MODE"},
569 {61449, "CONFIG_VIDEO_SENSOR_BACKLIGHT_ZONE_MODE"},
570 {61450, "CONFIG_VIDEO_SENSOR_WHITE_BALANCE_BIAS_MIN"},
571 {61451, "CONFIG_VIDEO_SENSOR_WHITE_BALANCE_BIAS_MAX"},
572 {61452, "CONFIG_VIDEO_SENSOR_WHITE_BALANCE_BIAS_STEP"},
573 {61453, "CONFIG_VIDEO_SENSOR_GAMMA_MIN"},
574 {61454, "CONFIG_VIDEO_SENSOR_GAMMA_MAX"},
575 {61455, "CONFIG_VIDEO_SENSOR_GAMMA_STEP"},
576 {61456, "CONFIG_VIDEO_SENSOR_NORMAL_ZONE_CUSTOM_STRING"},
577 {61457, "CONFIG_VIDEO_SENSOR_BACKLIGHT_ZONE_CUSTOM_STRING"},
578 {61458, "CONFIG_VIDEO_SENSOR_SAVE_USER_SETTINGS"},
579 {61459, "CONFIG_VIDEO_SENSOR_VERSION"},
580 {61460, "CONFIG_VIDEO_SENSOR_GAMMA_POSSIBLE_RANGE"},
581 {61461, "CONFIG_VIDEO_SENSOR_WHITE_BIAS_POSSIBLE_RANGE"},
582 {61462, "CONFIG_VIDEO_SENSOR_DAYNIGHT_CONTROL"},
583 {61463, "CONFIG_VIDEO_SENSOR_DAYNIGHT_COLOR_MODE"},
584 {61464, "CONFIG_VIDEO_SENSOR_DAYNIGHT_GAIN_LIMIT"},
585 {61465, "CONFIG_VIDEO_SENSOR_DAYNIGHT_THRES_IN_GAIN"},
586 {61466, "CONFIG_VIDEO_SENSOR_DAYNIGHT_THRES_OUT_GAIN"},
587 {61467, "CONFIG_VIDEO_SENSOR_DAYNIGHT_GAIN_BOOST"},
588 {61468, "CONFIG_VIDEO_SENSOR_DAYNIGHT_GAIN_LIMIT_MIN"},
589 {61469, "CONFIG_VIDEO_SENSOR_DAYNIGHT_GAIN_LIMIT_MAX"},
590 {61470, "CONFIG_VIDEO_SENSOR_DAYNIGHT_GAIN_LIMIT_STEP"},
591 {61471, "CONFIG_VIDEO_SENSOR_DAYNIGHT_THRES_IN_MIN"},
592 {61472, "CONFIG_VIDEO_SENSOR_DAYNIGHT_THRES_IN_MAX"},
593 {61473, "CONFIG_VIDEO_SENSOR_DAYNIGHT_THRES_IN_STEP"},
594 {61474, "CONFIG_VIDEO_SENSOR_DAYNIGHT_THRES_OUT_MIN"},
595 {61475, "CONFIG_VIDEO_SENSOR_DAYNIGHT_THRES_OUT_MAX"},
596 {61476, "CONFIG_VIDEO_SENSOR_DAYNIGHT_THRES_OUT_STEP"},
597 {61477, "CONFIG_VIDEO_SENSOR_STATUS_DAYNIGHT"},
598 {61478, "CONFIG_VIDEO_SENSOR_MODULE_TYPE"},
599 {61479, "CONFIG_VIDEO_SENSOR_FIRMWARE_REVISION"},
600 {61480, "CONFIG_VIDEO_SENSOR_DYNAMO_REVISION"},
601 {61481, "CONFIG_VIDEO_SENSOR_DYNAMITE_REVISION"},
602 {61483, "CONFIG_VIDEO_SENSOR_STATUS_ORIENTATION_ANGLE"},
603 {61484, "CONFIG_VIDEO_SENSOR_DAYNIGHT_GAIN_LIMIT_POSSIBLE_RANGE"},
604 {61485, "CONFIG_VIDEO_SENSOR_DAYNIGHT_THRES_IN_POSSIBLE_RANGE"},
605 {61486, "CONFIG_VIDEO_SENSOR_DAYNIGHT_THRES_OUT_POSSIBLE_RANGE"},
606 {61487, "CONFIG_VIDEO_SENSOR_LOAD_FACTORY_DEFAULT"},
607 {61488, "CONFIG_VIDEO_SENSOR_NTSC_50HZ_ENVIRONMENT"},
608 {61489, "CONFIG_VIDEO_SENSOR_MAX_SLOW_SHUTTER_SPEED_LIMIT"},
609 {61490, "CONFIG_VIDEO_SENSOR_DAYNIGHT_METER_DELAY"},
610 {61491, "CONFIG_VIDEO_SENSOR_DAYNIGHT_VALIDATE_DELAY"},
611 {61504, "CONFIG_VIDEO_SENSOR_C215_PRESET_POS_SELECT"},
612 {61505, "CONFIG_VIDEO_SENSOR_C215_WHITE_BAL_MODE"},
613 {61506, "CONFIG_VIDEO_SENSOR_C215_AGC_MODE"},
614 {61507, "CONFIG_VIDEO_SENSOR_C215_BACKLIGHT_COMP_MODE"},
615 {61508, "CONFIG_VIDEO_SENSOR_C215_BW_MODE"},
616 {61509, "CONFIG_VIDEO_SENSOR_C215_ZOOM_POSITION"},
617 {61510, "CONFIG_VIDEO_SENSOR_C215_FOCUS_POSITION"},
618 {61511, "CONFIG_VIDEO_SENSOR_C215_FOCUS_FAR"},
619 {61512, "CONFIG_VIDEO_SENSOR_C215_FOCUS_NEAR"},
620 {61513, "CONFIG_VIDEO_SENSOR_C215_FOCUS_STOP"},
621 {61514, "CONFIG_VIDEO_SENSOR_C215_ZOOM_TELE"},
622 {61515, "CONFIG_VIDEO_SENSOR_C215_ZOOM_WIDE"},
623 {61516, "CONFIG_VIDEO_SENSOR_C215_ZOOM_STOP"},
624 {61517, "CONFIG_VIDEO_SENSOR_C215_ALL_STOP"},
625 {61518, "CONFIG_VIDEO_SENSOR_C215_ENTER_MEMORY"},
626 {61519, "CONFIG_VIDEO_SENSOR_C215_SAVE_AS_POSITION"},
627 {61520, "CONFIG_VIDEO_SENSOR_C215_EXTEND_POSITION_CLEAR"},
628 {61521, "CONFIG_VIDEO_SENSOR_C215_ALL_CLEAR"},
629 {61522, "CONFIG_VIDEO_SENSOR_C215_MANUAL_WHITE_BALANCE"},
630 {61523, "CONFIG_VIDEO_SENSOR_C215_SHUTTER_SPEED"},
631 {0, NULL}
634 static value_string_ext EVsipConfigItem_vals_ext = VALUE_STRING_EXT_INIT(EVsipConfigItem_vals);
636 static const value_string EVsipEventType_vals[] =
638 { 1, "Input Pin State Change"},
639 { 2, "Analog Video Input State Change"},
640 { 3, "Motion Detection State Change"},
641 { 4, "Device Temperature Critical"},
642 { 5, "Device Temperature Above Normal"},
643 { 8, "Video Decoder Packet Loss"},
644 { 9, "Video Decoder State"},
645 {10, "Fatal Message Logged"},
646 {12, "Last Event Repeated"},
647 {16, "Camera Tampering Detection"},
648 {0, NULL}
651 static const value_string EVsipErrorCode_vals[] =
653 { 0, "VSIP_ERROR_CODE_SUCCESS"},
654 { 1, "VSIP_ERROR_CODE_FAILURE"},
655 { 3, "VSIP_ERROR_CODE_UNKNOWNCAPABILITY"},
656 {4096, "VSIP_ERROR_CODE_ALREADY_EXISTS"},
657 {4097, "VSIP_ERROR_CODE_DOESNT_EXIST"},
658 {4098, "VSIP_ERROR_CODE_INVALID_ARGUMENTS"},
659 {4099, "VSIP_ERROR_CODE_MAXIMUM_REACHED"},
660 {4100, "VSIP_ERROR_CODE_ALREADY_REMOVED"},
661 {4101, "VSIP_ERROR_CODE_WRONG_DEVICE"},
662 {8192, "VSIP_ERROR_CODE_CA_STATUS_BAD_SIGNAL"},
663 {8193, "VSIP_ERROR_CODE_CA_STATUS_SEARCHING"},
664 {8194, "VSIP_ERROR_CODE_CA_STATUS_KNOWN_VIEW"},
665 {8195, "VSIP_ERROR_CODE_CA_STATUS_UNKNOWN_VIEW"},
666 {8197, "VSIP_ERROR_CODE_CA_DISABLED"},
667 {8198, "VSIP_ERROR_CODE_CA_NOT_STARTED"},
668 {8208, "VSIP_ERROR_CODE_VIEW_NAME_ALREADY_EXISTS"},
669 {8209, "VSIP_ERROR_CODE_CANNOT_DELETE_LAST_VIEW"},
670 {8210, "VSIP_ERROR_CODE_RULE_NOT_SUPPORTED"},
671 {8224, "VSIP_ERROR_CODE_XML_INVALID_FORMAT"},
672 {8226, "VSIP_ERROR_CODE_XML_MISSING_ELEMENT"},
673 {8227, "VSIP_ERROR_CODE_XML_INVALID_VALUE"},
674 {12288, "VSIP_ERROR_CODE_FEATURE_NOT_SUPPORTED"},
675 {0, NULL}
678 static value_string_ext EVsipErrorCode_vals_ext = VALUE_STRING_EXT_INIT(EVsipErrorCode_vals);
681 /* Global module variables. */
682 static int proto_vsip;
684 static int hf_vsip_ValueTypeString_Size;
685 static int hf_vsip_ValueTypeBinary_Size;
686 static int hf_vsip_PingReq_ReplyAddress;
687 static int hf_vsip_PingReq_ReplyPort;
688 static int hf_vsip_PingReq_ConnType;
689 static int hf_vsip_PingResp_SuppConnTypes_VOLATILE;
690 static int hf_vsip_PingResp_SuppConnTypes_RTP;
691 static int hf_vsip_PingResp_SuppConnTypes_SSL;
692 static int hf_vsip_PingResp_SuppConnTypes_UDP_BROADCAST;
693 static int hf_vsip_PingResp_SuppConnTypes_TCP_CLIENT;
694 static int hf_vsip_PingResp_SuppConnTypes_TCP_SERVER;
695 static int hf_vsip_PingResp_SuppConnTypes_UDP_MULTICAST;
696 static int hf_vsip_PingResp_SuppConnTypes_UDP_UNICAST;
697 static int hf_vsip_PingResp_DeviceIP;
698 static int hf_vsip_PingResp_DevicePort;
699 static int hf_vsip_PingResp_SuppConnTypes;
700 static int hf_vsip_ContentTypeSwitchReq_DeviceGUID;
701 static int hf_vsip_PingResp_DeviceGUID;
702 static int hf_vsip_PingResp_VendorID;
703 static int hf_vsip_PingResp_ProductType;
704 static int hf_vsip_PingResp_Status;
705 static int hf_vsip_PingResp_SubtypeLen;
706 static int hf_vsip_PingResp_Subtype;
707 static int hf_vsip_ContentTypeSwitchReq_ApplicationGUID;
708 static int hf_vsip_ContentTypeSwitchReq_ContentType;
709 static int hf_vsip_ContentTypeSwitchResp_DeviceGUID;
710 static int hf_vsip_ContentTypeSwitchResp_SwitchResult;
711 static int hf_vsip_GetCapabilitiesReq_DisabledCapabilities;
712 static int hf_vsip_GetCapabilitiesResp_CapabilityArray_EntityType;
713 static int hf_vsip_GetCapabilitiesResp_CapabilityArray_CapabilityGUID;
714 static int hf_vsip_GetCapabilitiesResp_CapabilityArray_VendorID;
715 static int hf_vsip_GetCapabilitiesResp_CapabilityArray_VersionNumber;
716 static int hf_vsip_GetCapabilitiesResp_CapabilityCount;
717 static int hf_vsip_StartDevice_CapabilityGUID;
718 static int hf_vsip_StartDevice_TargetAddress;
719 static int hf_vsip_StartDevice_TargetPort;
720 static int hf_vsip_StartDevice_LocalPort;
721 static int hf_vsip_StartDevice_ConnectionType;
722 static int hf_vsip_StartDeviceEx_CapabilityGUID;
723 static int hf_vsip_StartDeviceEx_TargetAddress;
724 static int hf_vsip_StartDeviceEx_TargetPort;
725 static int hf_vsip_StartDeviceEx_LocalPort;
726 static int hf_vsip_StartDeviceEx_ConnectionType;
727 static int hf_vsip_StartDeviceEx_TargetGUID;
728 static int hf_vsip_StopDevice_CapabilityGUID;
729 static int hf_vsip_StopDeviceEx_CapabilityGUID;
730 static int hf_vsip_StopDeviceEx_TargetGUID;
731 static int hf_vsip_SetConfigReq_ConfigItemArray_Value_ShortValue;
732 static int hf_vsip_SetConfigReq_ConfigItemArray_ValueType;
733 static int hf_vsip_SetConfigReq_ConfigItemArray_ConfigItemID;
734 static int hf_vsip_SetConfigReq_ConfigItemArray_Value_IntValue;
735 static int hf_vsip_SetConfigReq_ConfigItemArray_Value_StringValue;
736 static int hf_vsip_SetConfigReq_ConfigItemArray_Value_UintValue;
737 static int hf_vsip_SetConfigReq_ConfigItemArray_Value_GuidValue;
738 static int hf_vsip_SetConfigReq_ConfigItemArray_Value_FloatValue;
739 static int hf_vsip_SetConfigReq_ConfigItemArray_Value_BinaryValue;
740 static int hf_vsip_SetConfigReq_CapabilityGUID;
741 static int hf_vsip_SetConfigReq_ConfigItemCount;
742 static int hf_vsip_GetConfigReq_ConfigItemArray_ConfigItemID;
743 static int hf_vsip_GetConfigReq_CapabilityGUID;
744 static int hf_vsip_GetConfigReq_ConfigItemCount;
745 static int hf_vsip_GetConfigResp_ConfigItemArray_ConfigItemID;
746 static int hf_vsip_GetConfigResp_ConfigItemArray_ValueType;
747 static int hf_vsip_GetConfigResp_ConfigItemArray_Value_CharValue;
748 static int hf_vsip_GetConfigResp_ConfigItemArray_Value_ShortValue;
749 static int hf_vsip_GetConfigResp_ConfigItemArray_Value_IntValue;
750 static int hf_vsip_GetConfigResp_ConfigItemArray_Value_StringValue;
751 static int hf_vsip_GetConfigResp_ConfigItemArray_Value_UintValue;
752 static int hf_vsip_GetConfigResp_ConfigItemArray_Value_GuidValue;
753 static int hf_vsip_GetConfigResp_ConfigItemArray_Value_FloatValue;
754 static int hf_vsip_GetConfigResp_ConfigItemArray_Value_BinaryValue;
755 static int hf_vsip_SetConfigReq_ConfigItemArray_Value_CharValue;
756 static int hf_vsip_GetConfigResp_CapabilityGUID;
757 static int hf_vsip_GetConfigResp_ConfigItemCount;
758 static int hf_vsip_SendCommand_CapabilityGUID;
759 static int hf_vsip_SendCommand_CommandCode;
760 static int hf_vsip_SendCommand_Arg1;
761 static int hf_vsip_SendCommand_Arg2;
762 static int hf_vsip_SendCommandEx_AddArgsArray_ValueType;
763 static int hf_vsip_SendCommandEx_AddArgsArray_Value_CharValue;
764 static int hf_vsip_SendCommandEx_AddArgsArray_Value_ShortValue;
765 static int hf_vsip_SendCommandEx_AddArgsArray_Value_IntValue;
766 static int hf_vsip_SendCommandEx_AddArgsArray_Value_StringValue;
767 static int hf_vsip_SendCommandEx_AddArgsArray_Value_UintValue;
768 static int hf_vsip_SendCommandEx_AddArgsArray_Value_GuidValue;
769 static int hf_vsip_SendCommandEx_AddArgsArray_Value_FloatValue;
770 static int hf_vsip_SendCommandEx_AddArgsArray_Value_BinaryValue;
771 static int hf_vsip_SendCommandEx_CapabilityGUID;
772 static int hf_vsip_SendCommandEx_CommandCode;
773 static int hf_vsip_SendCommandEx_Arg1;
774 static int hf_vsip_SendCommandEx_Arg2;
775 static int hf_vsip_SendCommandEx_NumAddArgs;
776 static int hf_vsip_EventNotify_CapabilityGUID;
777 static int hf_vsip_EventNotify_EventType;
778 static int hf_vsip_EventNotify_EventArgument;
779 static int hf_vsip_EventSubscribeReq_ReceiverAddress;
780 static int hf_vsip_EventSubscribeReq_ReceiverPort;
781 static int hf_vsip_EventSubscribeReq_ConnectionType;
782 static int hf_vsip_EventSubscribeExReq_ReceiverAddress;
783 static int hf_vsip_EventSubscribeExReq_ReceiverPort;
784 static int hf_vsip_EventSubscribeExReq_ConnectionType;
785 static int hf_vsip_EventSubscribeExReq_DestinationGUID;
786 static int hf_vsip_ErrorResponse_RequestMessageType;
787 static int hf_vsip_ErrorResponse_StatusCode;
788 static int hf_vsip_ErrorVAResponse_AddArgsArray_ValueType;
789 static int hf_vsip_ErrorVAResponse_AddArgsArray_Value_CharValue;
790 static int hf_vsip_ErrorVAResponse_AddArgsArray_Value_ShortValue;
791 static int hf_vsip_ErrorVAResponse_AddArgsArray_Value_IntValue;
792 static int hf_vsip_ErrorVAResponse_AddArgsArray_Value_StringValue;
793 static int hf_vsip_ErrorVAResponse_AddArgsArray_Value_UintValue;
794 static int hf_vsip_ErrorVAResponse_AddArgsArray_Value_GuidValue;
795 static int hf_vsip_ErrorVAResponse_AddArgsArray_Value_FloatValue;
796 static int hf_vsip_ErrorVAResponse_AddArgsArray_Value_BinaryValue;
797 static int hf_vsip_ErrorVAResponse_NumAddArgs;
798 static int hf_vsip_Version;
799 static int hf_vsip_Type;
800 static int hf_vsip_TransacId;
801 static int hf_vsip_PacketSize;
803 static int ett_vsipValueTypeString;
804 static int ett_vsipValueTypeBinary;
805 static int ett_vsipPingReq;
806 static int ett_vsipPingResp_SuppConnTypes;
807 static int ett_vsipPingResp;
808 static int ett_vsipContentTypeSwitchReq;
809 static int ett_vsipContentTypeSwitchResp;
810 static int ett_vsipGetCapabilitiesReq;
811 static int ett_vsipGetCapabilitiesResp_CapabilityArray;
812 static int ett_vsipGetCapabilitiesResp;
813 static int ett_vsipStartDevice;
814 static int ett_vsipStartDeviceEx;
815 static int ett_vsipStopDevice;
816 static int ett_vsipStopDeviceEx;
817 static int ett_vsipSetConfigReq_ConfigItemArray;
818 static int ett_vsipSetConfigReq;
819 static int ett_vsipGetConfigReq_ConfigItemArray;
820 static int ett_vsipGetConfigReq;
821 static int ett_vsipGetConfigResp_ConfigItemArray;
822 static int ett_vsipGetConfigResp;
823 static int ett_vsipSendCommand;
824 static int ett_vsipSendCommandEx_AddArgsArray;
825 static int ett_vsipSendCommandEx;
826 static int ett_vsipEventNotify;
827 static int ett_vsipEventSubscribeReq;
828 static int ett_vsipEventSubscribeExReq;
829 static int ett_vsipErrorResponse;
830 static int ett_vsipErrorVAResponse_AddArgsArray;
831 static int ett_vsipErrorVAResponse;
832 static int ett_vsip;
835 static uint32_t vsip_ValueTypeString(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset, int hf_string)
837 int soffset = offset;
838 uint16_t length;
839 proto_item *ti;
841 tree = proto_tree_add_subtree(tree, tvb, offset, 2, ett_vsipValueTypeString, &ti, "ValueTypeString");
843 length = tvb_get_ntohs(tvb, offset);
844 proto_tree_add_item(tree, hf_vsip_ValueTypeString_Size, tvb, offset, 2, ENC_BIG_ENDIAN);
845 offset += 2;
847 if (length > 0)
849 proto_tree_add_item(tree, hf_string, tvb, offset, length, ENC_ASCII|ENC_NA);
850 offset += length;
853 proto_item_set_len(ti, offset - soffset);
855 return offset - soffset;
858 static uint32_t vsip_ValueTypeBinary(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset, int hf_bin)
860 int soffset = offset;
861 uint32_t length;
862 proto_item *ti;
864 tree = proto_tree_add_subtree(tree, tvb, offset, 4, ett_vsipValueTypeBinary, &ti, "Binary");
866 length = tvb_get_ntohl(tvb, offset);
867 proto_tree_add_item(tree, hf_vsip_ValueTypeBinary_Size, tvb, offset, 4, ENC_BIG_ENDIAN);
868 offset += 4;
870 if (length > 0)
872 proto_tree_add_item(tree, hf_bin, tvb, offset, length, ENC_NA);
873 offset += length;
876 proto_item_set_len(ti, offset - soffset);
878 return offset - soffset;
881 static uint32_t vsip_PingReq(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
883 int soffset = offset;
885 tree = proto_tree_add_subtree(tree, tvb, offset, 7, ett_vsipPingReq, NULL, "PingReq");
887 proto_tree_add_item(tree, hf_vsip_PingReq_ReplyAddress, tvb, offset, 4, ENC_BIG_ENDIAN);
888 offset += 4;
890 proto_tree_add_item(tree, hf_vsip_PingReq_ReplyPort, tvb, offset, 2, ENC_BIG_ENDIAN);
891 offset += 2;
893 proto_tree_add_item(tree, hf_vsip_PingReq_ConnType, tvb, offset, 1, ENC_BIG_ENDIAN);
894 offset += 1;
896 return offset - soffset;
899 static uint32_t vsip_PingResp(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
901 int soffset = offset;
902 uint16_t len;
903 proto_item *ti;
904 static int * const supp_conn_types[] = {
905 &hf_vsip_PingResp_SuppConnTypes_VOLATILE,
906 &hf_vsip_PingResp_SuppConnTypes_RTP,
907 &hf_vsip_PingResp_SuppConnTypes_SSL,
908 &hf_vsip_PingResp_SuppConnTypes_UDP_BROADCAST,
909 &hf_vsip_PingResp_SuppConnTypes_TCP_CLIENT,
910 &hf_vsip_PingResp_SuppConnTypes_TCP_SERVER,
911 &hf_vsip_PingResp_SuppConnTypes_UDP_MULTICAST,
912 &hf_vsip_PingResp_SuppConnTypes_UDP_UNICAST,
913 NULL
916 tree = proto_tree_add_subtree(tree, tvb, offset, 30, ett_vsipPingResp, &ti, "PingResp");
918 proto_tree_add_item(tree, hf_vsip_PingResp_DeviceIP, tvb, offset, 4, ENC_BIG_ENDIAN);
919 offset += 4;
921 proto_tree_add_item(tree, hf_vsip_PingResp_DevicePort, tvb, offset, 2, ENC_BIG_ENDIAN);
922 offset += 2;
924 proto_tree_add_bitmask(tree, tvb, offset, hf_vsip_PingResp_SuppConnTypes, ett_vsipPingResp_SuppConnTypes, supp_conn_types, ENC_NA);
925 offset += 1;
927 proto_tree_add_item(tree, hf_vsip_PingResp_DeviceGUID, tvb, offset, 16, ENC_NA);
928 offset += 16;
930 proto_tree_add_item(tree, hf_vsip_PingResp_VendorID, tvb, offset, 2, ENC_BIG_ENDIAN);
931 offset += 2;
933 proto_tree_add_item(tree, hf_vsip_PingResp_ProductType, tvb, offset, 2, ENC_BIG_ENDIAN);
934 offset += 2;
936 proto_tree_add_item(tree, hf_vsip_PingResp_Status, tvb, offset, 1, ENC_BIG_ENDIAN);
937 offset += 1;
939 len = tvb_get_ntohs(tvb, offset);
940 proto_tree_add_uint(tree, hf_vsip_PingResp_SubtypeLen, tvb, offset, 2, len);
941 offset += 2;
943 if (len > 0)
945 proto_tree_add_item(tree, hf_vsip_PingResp_Subtype, tvb, offset, len, ENC_ASCII);
946 offset += len;
949 proto_item_set_len(ti, offset - soffset);
951 return offset - soffset;
954 static uint32_t vsip_ContentTypeSwitchReq(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
956 int soffset = offset;
958 tree = proto_tree_add_subtree(tree, tvb, offset, 33, ett_vsipContentTypeSwitchReq, NULL, "ContentTypeSwitchReq");
959 proto_tree_add_item(tree, hf_vsip_ContentTypeSwitchReq_ApplicationGUID, tvb, offset, 16, ENC_NA);
960 offset += 16;
962 proto_tree_add_item(tree, hf_vsip_ContentTypeSwitchReq_ContentType, tvb, offset, 1, ENC_NA);
963 offset++;
965 proto_tree_add_item(tree, hf_vsip_ContentTypeSwitchReq_DeviceGUID, tvb, offset, 16, ENC_NA);
966 offset += 16;
968 return offset - soffset;
971 static uint32_t vsip_ContentTypeSwitchResp(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
973 int soffset = offset;
975 tree = proto_tree_add_subtree(tree, tvb, offset, 17, ett_vsipContentTypeSwitchResp, NULL, "ContentTypeSwitchResp");
977 proto_tree_add_item(tree, hf_vsip_ContentTypeSwitchResp_DeviceGUID, tvb, offset, 16, ENC_NA);
978 offset += 16;
979 proto_tree_add_item(tree, hf_vsip_ContentTypeSwitchResp_SwitchResult, tvb, offset, 1, ENC_NA);
981 return offset - soffset;
984 static uint32_t vsip_GetCapabilitiesReq(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
986 int soffset = offset;
988 tree = proto_tree_add_subtree(tree, tvb, offset, 1, ett_vsipGetCapabilitiesReq, NULL, "GetCapabilitiesReq");
990 proto_tree_add_item(tree, hf_vsip_GetCapabilitiesReq_DisabledCapabilities, tvb, offset, 1, ENC_NA);
991 offset++;
993 return offset - soffset;
996 static uint32_t vsip_GetCapabilitiesResp_CapabilityArray(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
998 int soffset = offset;
1000 tree = proto_tree_add_subtree(tree, tvb, offset, 21, ett_vsipGetCapabilitiesResp_CapabilityArray, NULL, "CapabilityArray");
1002 proto_tree_add_item(tree, hf_vsip_GetCapabilitiesResp_CapabilityArray_EntityType, tvb, offset, 1, ENC_NA);
1003 offset++;
1005 proto_tree_add_item(tree, hf_vsip_GetCapabilitiesResp_CapabilityArray_CapabilityGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
1006 offset += 16;
1008 proto_tree_add_item(tree, hf_vsip_GetCapabilitiesResp_CapabilityArray_VendorID, tvb, offset, 2, ENC_BIG_ENDIAN);
1009 offset += 2;
1011 proto_tree_add_item(tree, hf_vsip_GetCapabilitiesResp_CapabilityArray_VersionNumber, tvb, offset, 2, ENC_BIG_ENDIAN);
1012 offset += 2;
1014 return offset - soffset;
1017 static uint32_t vsip_GetCapabilitiesResp(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, int offset)
1019 int soffset = offset;
1020 uint16_t count;
1021 uint32_t i;
1022 proto_item *ti;
1024 tree = proto_tree_add_subtree(tree, tvb, offset, 2, ett_vsipGetCapabilitiesResp, &ti, "GetCapabilitiesResp");
1026 count = tvb_get_ntohs(tvb, offset);
1027 proto_tree_add_uint(tree, hf_vsip_GetCapabilitiesResp_CapabilityCount, tvb, offset, 2, count);
1028 offset += 2;
1030 for(i = 0; i < count; ++i)
1032 offset += vsip_GetCapabilitiesResp_CapabilityArray(tree, pinfo, tvb, offset);
1035 proto_item_set_len(ti, offset - soffset);
1037 return offset - soffset;
1040 static uint32_t vsip_StartDevice(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
1042 int soffset = offset;
1044 tree = proto_tree_add_subtree(tree, tvb, offset, 25, ett_vsipStartDevice, NULL, "StartDevice");
1046 proto_tree_add_item(tree, hf_vsip_StartDevice_CapabilityGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
1047 offset += 16;
1049 proto_tree_add_item(tree, hf_vsip_StartDevice_TargetAddress, tvb, offset, 4, ENC_BIG_ENDIAN);
1050 offset += 4;
1052 proto_tree_add_item(tree, hf_vsip_StartDevice_TargetPort, tvb, offset, 2, ENC_BIG_ENDIAN);
1053 offset += 2;
1055 proto_tree_add_item(tree, hf_vsip_StartDevice_LocalPort, tvb, offset, 2, ENC_BIG_ENDIAN);
1056 offset += 2;
1058 proto_tree_add_item(tree, hf_vsip_StartDevice_ConnectionType, tvb, offset, 1, ENC_BIG_ENDIAN);
1059 offset += 1;
1061 return offset - soffset;
1065 static uint32_t vsip_StartDeviceEx(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
1067 int soffset = offset;
1069 tree = proto_tree_add_subtree(tree, tvb, offset, 41, ett_vsipStartDeviceEx, NULL, "StartDeviceEx");
1071 proto_tree_add_item(tree, hf_vsip_StartDeviceEx_CapabilityGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
1072 offset += 16;
1074 proto_tree_add_item(tree, hf_vsip_StartDeviceEx_TargetAddress, tvb, offset, 4, ENC_BIG_ENDIAN);
1075 offset += 4;
1077 proto_tree_add_item(tree, hf_vsip_StartDeviceEx_TargetPort, tvb, offset, 2, ENC_BIG_ENDIAN);
1078 offset += 2;
1080 proto_tree_add_item(tree, hf_vsip_StartDeviceEx_LocalPort, tvb, offset, 2, ENC_BIG_ENDIAN);
1081 offset += 2;
1083 proto_tree_add_item(tree, hf_vsip_StartDeviceEx_ConnectionType, tvb, offset, 1, ENC_BIG_ENDIAN);
1084 offset++;
1086 proto_tree_add_item(tree, hf_vsip_StartDeviceEx_TargetGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
1087 offset += 16;
1089 return offset - soffset;
1093 static uint32_t vsip_StopDevice(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
1095 int soffset = offset;
1097 tree = proto_tree_add_subtree(tree, tvb, offset, 16, ett_vsipStopDevice, NULL, "StopDevice");
1099 proto_tree_add_item(tree, hf_vsip_StopDevice_CapabilityGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
1100 offset += 16;
1102 return offset - soffset;
1105 static uint32_t vsip_StopDeviceEx(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
1107 int soffset = offset;
1109 tree = proto_tree_add_subtree(tree, tvb, offset, 32, ett_vsipStopDeviceEx, NULL, "StopDeviceEx");
1111 proto_tree_add_item(tree, hf_vsip_StopDeviceEx_CapabilityGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
1112 offset += 16;
1114 proto_tree_add_item(tree, hf_vsip_StopDeviceEx_TargetGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
1115 offset += 16;
1117 return offset - soffset;
1120 static uint32_t vsip_SetConfigReq_ConfigItemArray(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, int offset)
1122 int soffset = offset;
1123 uint8_t type;
1124 proto_item *ti;
1126 tree = proto_tree_add_subtree(tree, tvb, offset, 3, ett_vsipSetConfigReq_ConfigItemArray, &ti, "ConfigItemArray");
1128 proto_tree_add_item(tree, hf_vsip_SetConfigReq_ConfigItemArray_ConfigItemID, tvb, offset, 2, ENC_BIG_ENDIAN);
1129 offset += 2;
1131 type = tvb_get_uint8(tvb, offset);
1132 proto_tree_add_item(tree, hf_vsip_SetConfigReq_ConfigItemArray_ValueType, tvb, offset, 1, ENC_BIG_ENDIAN);
1133 offset++;
1135 switch(type)
1137 case 1:
1138 proto_tree_add_item(tree, hf_vsip_SetConfigReq_ConfigItemArray_Value_CharValue, tvb, offset, 1, ENC_NA);
1139 offset++;
1140 break;
1142 case 2:
1143 proto_tree_add_item(tree, hf_vsip_SetConfigReq_ConfigItemArray_Value_ShortValue, tvb, offset, 2, ENC_BIG_ENDIAN);
1144 offset += 2;
1145 break;
1147 case 3:
1148 proto_tree_add_item(tree, hf_vsip_SetConfigReq_ConfigItemArray_Value_IntValue, tvb, offset, 4, ENC_BIG_ENDIAN);
1149 offset += 4;
1150 break;
1152 case 4:
1153 offset += vsip_ValueTypeString(tree, pinfo, tvb, offset, hf_vsip_SetConfigReq_ConfigItemArray_Value_StringValue);
1154 break;
1156 case 5:
1157 proto_tree_add_item(tree, hf_vsip_SetConfigReq_ConfigItemArray_Value_UintValue, tvb, offset, 4, ENC_BIG_ENDIAN);
1158 offset += 4;
1159 break;
1161 case 6:
1162 proto_tree_add_item(tree, hf_vsip_SetConfigReq_ConfigItemArray_Value_GuidValue, tvb, offset, 16, ENC_BIG_ENDIAN);
1163 offset += 16;
1164 break;
1166 case 7:
1167 proto_tree_add_item(tree, hf_vsip_SetConfigReq_ConfigItemArray_Value_FloatValue, tvb, offset, 4, ENC_BIG_ENDIAN);
1168 offset += 4;
1169 break;
1171 case 8:
1172 offset += vsip_ValueTypeBinary(tree, pinfo, tvb, offset, hf_vsip_SetConfigReq_ConfigItemArray_Value_BinaryValue);
1173 break;
1175 default:
1176 break;
1179 proto_item_set_len(ti, offset - soffset);
1181 return offset - soffset;
1185 static uint32_t vsip_SetConfigReq(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, int offset)
1187 int soffset = offset;
1188 uint16_t count;
1189 uint32_t i;
1190 proto_item *ti;
1192 tree = proto_tree_add_subtree(tree, tvb, offset, 18, ett_vsipSetConfigReq, &ti, "SetConfigReq");
1194 proto_tree_add_item(tree, hf_vsip_SetConfigReq_CapabilityGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
1195 offset += 16;
1197 count = tvb_get_ntohs(tvb, offset);
1198 proto_tree_add_item(tree, hf_vsip_SetConfigReq_ConfigItemCount, tvb, offset, 2, ENC_BIG_ENDIAN);
1199 offset += 2;
1201 for(i = 0; i < count; ++i)
1203 offset += vsip_SetConfigReq_ConfigItemArray(tree, pinfo, tvb, offset);
1206 proto_item_set_len(ti, offset - soffset);
1208 return offset - soffset;
1211 static uint32_t vsip_GetConfigReq_ConfigItemArray(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
1213 int soffset = offset;
1215 tree = proto_tree_add_subtree(tree, tvb, offset, 2, ett_vsipGetConfigReq_ConfigItemArray, NULL, "ConfigItemArray");
1217 proto_tree_add_item(tree, hf_vsip_GetConfigReq_ConfigItemArray_ConfigItemID, tvb, offset, 2, ENC_BIG_ENDIAN);
1218 offset += 2;
1220 return offset - soffset;
1223 static uint32_t vsip_GetConfigReq(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, int offset)
1225 int soffset = offset;
1226 uint16_t count;
1227 uint32_t i;
1228 proto_item *ti;
1230 tree = proto_tree_add_subtree(tree, tvb, offset, 18, ett_vsipGetConfigReq, &ti, "GetConfigReq");
1232 proto_tree_add_item(tree, hf_vsip_GetConfigReq_CapabilityGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
1233 offset += 16;
1235 count = tvb_get_ntohs(tvb, offset);
1236 proto_tree_add_item(tree, hf_vsip_GetConfigReq_ConfigItemCount, tvb, offset, 2, ENC_BIG_ENDIAN);
1237 offset += 2;
1239 for(i = 0; i < count; ++i)
1241 offset += vsip_GetConfigReq_ConfigItemArray(tree, pinfo, tvb, offset);
1244 proto_item_set_len(ti, offset - soffset);
1246 return offset - soffset;
1249 static uint32_t vsip_GetConfigResp_ConfigItemArray(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, int offset)
1251 int soffset = offset;
1252 uint8_t type;
1253 proto_item *ti;
1255 tree = proto_tree_add_subtree(tree, tvb, offset, 1, ett_vsipGetConfigResp_ConfigItemArray, &ti, "ConfigItemArray");
1257 proto_tree_add_item(tree, hf_vsip_GetConfigResp_ConfigItemArray_ConfigItemID, tvb, offset, 2, ENC_BIG_ENDIAN);
1258 offset += 2;
1260 type = tvb_get_uint8(tvb, offset);
1261 proto_tree_add_item(tree, hf_vsip_GetConfigResp_ConfigItemArray_ValueType, tvb, offset, 1, ENC_NA);
1262 offset++;
1264 switch(type)
1266 case 1:
1267 proto_tree_add_item(tree, hf_vsip_GetConfigResp_ConfigItemArray_Value_CharValue, tvb, offset, 1, ENC_NA);
1268 offset++;
1269 break;
1271 case 2:
1272 proto_tree_add_item(tree, hf_vsip_GetConfigResp_ConfigItemArray_Value_ShortValue, tvb, offset, 2, ENC_BIG_ENDIAN);
1273 offset += 2;
1274 break;
1276 case 3:
1277 proto_tree_add_item(tree, hf_vsip_GetConfigResp_ConfigItemArray_Value_IntValue, tvb, offset, 4, ENC_BIG_ENDIAN);
1278 offset += 4;
1279 break;
1281 case 4:
1282 offset += vsip_ValueTypeString(tree, pinfo, tvb, offset, hf_vsip_GetConfigResp_ConfigItemArray_Value_StringValue);
1283 break;
1285 case 5:
1286 proto_tree_add_item(tree, hf_vsip_GetConfigResp_ConfigItemArray_Value_UintValue, tvb, offset, 4, ENC_BIG_ENDIAN);
1287 offset += 4;
1288 break;
1290 case 6:
1291 proto_tree_add_item(tree, hf_vsip_GetConfigResp_ConfigItemArray_Value_GuidValue, tvb, offset, 16, ENC_BIG_ENDIAN);
1292 offset += 16;
1293 break;
1295 case 7:
1296 proto_tree_add_item(tree, hf_vsip_GetConfigResp_ConfigItemArray_Value_FloatValue, tvb, offset, 4, ENC_BIG_ENDIAN);
1297 offset += 4;
1298 break;
1300 case 8:
1301 offset += vsip_ValueTypeBinary(tree, pinfo, tvb, offset, hf_vsip_GetConfigResp_ConfigItemArray_Value_BinaryValue);
1302 break;
1304 default:
1305 break;
1308 proto_item_set_len(ti, offset - soffset);
1310 return offset - soffset;
1313 static uint32_t vsip_GetConfigResp(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, int offset)
1315 int soffset = offset;
1316 uint16_t count;
1317 uint32_t i;
1318 proto_item *ti;
1320 tree = proto_tree_add_subtree(tree, tvb, offset, 18, ett_vsipGetConfigResp, &ti, "GetConfigResp");
1322 proto_tree_add_item(tree, hf_vsip_GetConfigResp_CapabilityGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
1323 offset += 16;
1325 count = tvb_get_ntohs(tvb, offset);
1326 proto_tree_add_uint(tree, hf_vsip_GetConfigResp_ConfigItemCount, tvb, offset, 2, count);
1327 offset += 2;
1329 for(i = 0; i < count; ++i)
1331 offset += vsip_GetConfigResp_ConfigItemArray(tree, pinfo, tvb, offset);
1334 proto_item_set_len(ti, offset - soffset);
1336 return offset - soffset;
1339 static uint32_t vsip_SendCommand(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
1341 int soffset = offset;
1342 proto_item *ti;
1344 tree = proto_tree_add_subtree(tree, tvb, offset, 25, ett_vsipSendCommand, &ti, "SendCommand");
1346 proto_tree_add_item(tree, hf_vsip_SendCommand_CapabilityGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
1347 offset += 16;
1349 proto_tree_add_item(tree, hf_vsip_SendCommand_CommandCode, tvb, offset, 1, ENC_NA);
1350 offset++;
1352 proto_tree_add_item(tree, hf_vsip_SendCommand_Arg1, tvb, offset, 4, ENC_BIG_ENDIAN);
1353 offset += 4;
1355 proto_tree_add_item(tree, hf_vsip_SendCommand_Arg2, tvb, offset, 4, ENC_BIG_ENDIAN);
1356 offset += 4;
1358 return offset - soffset;
1361 static uint32_t vsip_SendCommandEx_AddArgsArray(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, int offset)
1363 int soffset = offset;
1364 uint8_t type;
1365 proto_item *ti;
1367 tree = proto_tree_add_subtree(tree, tvb, offset, 3, ett_vsipSendCommandEx_AddArgsArray, &ti, "AddArgsArray");
1369 type = tvb_get_uint8(tvb, offset);
1370 proto_tree_add_item(tree, hf_vsip_SendCommandEx_AddArgsArray_ValueType, tvb, offset, 1, ENC_NA);
1371 offset++;
1373 switch(type)
1375 case 1:
1376 proto_tree_add_item(tree, hf_vsip_SendCommandEx_AddArgsArray_Value_CharValue, tvb, offset, 1, ENC_NA);
1377 offset++;
1378 break;
1380 case 2:
1381 proto_tree_add_item(tree, hf_vsip_SendCommandEx_AddArgsArray_Value_ShortValue, tvb, offset, 2, ENC_BIG_ENDIAN);
1382 offset += 2;
1383 break;
1385 case 3:
1386 proto_tree_add_item(tree, hf_vsip_SendCommandEx_AddArgsArray_Value_IntValue, tvb, offset, 4, ENC_BIG_ENDIAN);
1387 offset += 4;
1388 break;
1390 case 4:
1391 offset += vsip_ValueTypeString(tree, pinfo, tvb, offset, hf_vsip_SendCommandEx_AddArgsArray_Value_StringValue);
1392 break;
1394 case 5:
1395 proto_tree_add_item(tree, hf_vsip_SendCommandEx_AddArgsArray_Value_UintValue, tvb, offset, 4, ENC_BIG_ENDIAN);
1396 offset += 4;
1397 break;
1399 case 6:
1400 proto_tree_add_item(tree, hf_vsip_SendCommandEx_AddArgsArray_Value_GuidValue, tvb, offset, 16, ENC_BIG_ENDIAN);
1401 offset += 16;
1402 break;
1404 case 7:
1405 proto_tree_add_item(tree, hf_vsip_SendCommandEx_AddArgsArray_Value_FloatValue, tvb, offset, 4, ENC_BIG_ENDIAN);
1406 offset += 4;
1407 break;
1409 case 8:
1410 offset += vsip_ValueTypeBinary(tree, pinfo, tvb, offset, hf_vsip_SendCommandEx_AddArgsArray_Value_BinaryValue);
1411 break;
1413 default:
1414 break;
1417 proto_item_set_len(ti, offset - soffset);
1419 return offset - soffset;
1422 static uint32_t vsip_SendCommandEx(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, int offset)
1424 int soffset = offset;
1425 uint16_t count;
1426 uint32_t i;
1427 proto_item *ti;
1429 tree = proto_tree_add_subtree(tree, tvb, offset, 27, ett_vsipSendCommandEx, &ti, "SendCommandEx");
1431 proto_tree_add_item(tree, hf_vsip_SendCommandEx_CapabilityGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
1432 offset += 16;
1434 proto_tree_add_item(tree, hf_vsip_SendCommandEx_CommandCode, tvb, offset, 1, ENC_NA);
1435 offset++;
1437 proto_tree_add_item(tree, hf_vsip_SendCommandEx_Arg1, tvb, offset, 4, ENC_BIG_ENDIAN);
1438 offset += 4;
1440 proto_tree_add_item(tree, hf_vsip_SendCommandEx_Arg2, tvb, offset, 4, ENC_BIG_ENDIAN);
1441 offset += 4;
1443 count = tvb_get_ntohs(tvb, offset);
1444 proto_tree_add_uint(tree, hf_vsip_SendCommandEx_NumAddArgs, tvb, offset, 2, count);
1445 offset += 2;
1447 for(i = 0; i < count; ++i)
1449 offset += vsip_SendCommandEx_AddArgsArray(tree, pinfo, tvb, offset);
1452 proto_item_set_len(ti, offset - soffset);
1454 return offset - soffset;
1457 static uint32_t vsip_EventNotify(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
1459 int soffset = offset;
1461 tree = proto_tree_add_subtree(tree, tvb, offset, 22, ett_vsipEventNotify, NULL, "EventNotify");
1463 proto_tree_add_item(tree, hf_vsip_EventNotify_CapabilityGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
1464 offset += 16;
1466 proto_tree_add_item(tree, hf_vsip_EventNotify_EventType, tvb, offset, 2, ENC_BIG_ENDIAN);
1467 offset += 2;
1469 proto_tree_add_item(tree, hf_vsip_EventNotify_EventArgument, tvb, offset, 4, ENC_BIG_ENDIAN);
1470 offset += 4;
1472 return offset - soffset;
1475 static uint32_t vsip_EventSubscribeReq(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
1477 int soffset = offset;
1479 tree = proto_tree_add_subtree(tree, tvb, offset, 7, ett_vsipEventSubscribeReq, NULL, "EventSubscribeReq");
1481 proto_tree_add_item(tree, hf_vsip_EventSubscribeReq_ReceiverAddress, tvb, offset, 4, ENC_BIG_ENDIAN);
1482 offset += 4;
1484 proto_tree_add_item(tree, hf_vsip_EventSubscribeReq_ReceiverPort, tvb, offset, 2, ENC_BIG_ENDIAN);
1485 offset += 2;
1487 proto_tree_add_item(tree, hf_vsip_EventSubscribeReq_ConnectionType, tvb, offset, 1, ENC_BIG_ENDIAN);
1488 offset++;
1490 return offset - soffset;
1493 static uint32_t vsip_EventSubscribeExReq(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
1495 int soffset = offset;
1497 tree = proto_tree_add_subtree(tree, tvb, offset, 23, ett_vsipEventSubscribeExReq, NULL, "EventSubscribeExReq");
1499 proto_tree_add_item(tree, hf_vsip_EventSubscribeExReq_ReceiverAddress, tvb, offset, 4, ENC_BIG_ENDIAN);
1500 offset += 4;
1502 proto_tree_add_item(tree, hf_vsip_EventSubscribeExReq_ReceiverPort, tvb, offset, 2, ENC_BIG_ENDIAN);
1503 offset += 2;
1505 proto_tree_add_item(tree, hf_vsip_EventSubscribeExReq_ConnectionType, tvb, offset, 1, ENC_BIG_ENDIAN);
1506 offset++;
1508 proto_tree_add_item(tree, hf_vsip_EventSubscribeExReq_DestinationGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
1509 offset += 16;
1511 return offset - soffset;
1514 static uint32_t vsip_ErrorResponse(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
1516 int soffset = offset;
1518 tree = proto_tree_add_subtree(tree, tvb, offset, 5, ett_vsipErrorResponse, NULL, "ErrorResponse");
1520 proto_tree_add_item(tree, hf_vsip_ErrorResponse_RequestMessageType, tvb, offset, 1, ENC_NA);
1521 offset++;
1523 proto_tree_add_item(tree, hf_vsip_ErrorResponse_StatusCode, tvb, offset, 4, ENC_BIG_ENDIAN);
1524 offset += 4;
1526 return offset - soffset;
1529 static uint32_t vsip_ErrorVAResponse_AddArgsArray(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, int offset)
1531 int soffset = offset;
1532 uint8_t type;
1533 proto_item* ti;
1535 tree = proto_tree_add_subtree(tree, tvb, offset, 1, ett_vsipErrorVAResponse_AddArgsArray, &ti, "AddArgsArray");
1537 type = tvb_get_uint8(tvb, offset);
1538 proto_tree_add_item(tree, hf_vsip_ErrorVAResponse_AddArgsArray_ValueType, tvb, offset, 1, ENC_NA);
1539 offset++;
1541 switch(type)
1543 case 1:
1544 proto_tree_add_item(tree, hf_vsip_ErrorVAResponse_AddArgsArray_Value_CharValue, tvb, offset, 1, ENC_NA);
1545 offset++;
1546 break;
1548 case 2:
1549 proto_tree_add_item(tree, hf_vsip_ErrorVAResponse_AddArgsArray_Value_ShortValue, tvb, offset, 2, ENC_BIG_ENDIAN);
1550 offset += 2;
1551 break;
1553 case 3:
1554 proto_tree_add_item(tree, hf_vsip_ErrorVAResponse_AddArgsArray_Value_IntValue, tvb, offset, 4, ENC_BIG_ENDIAN);
1555 offset += 4;
1556 break;
1558 case 4:
1559 offset += vsip_ValueTypeString(tree, pinfo, tvb, offset, hf_vsip_ErrorVAResponse_AddArgsArray_Value_StringValue);
1560 break;
1562 case 5:
1563 proto_tree_add_item(tree, hf_vsip_ErrorVAResponse_AddArgsArray_Value_UintValue, tvb, offset, 4, ENC_BIG_ENDIAN);
1564 offset += 4;
1565 break;
1567 case 6:
1568 proto_tree_add_item(tree, hf_vsip_ErrorVAResponse_AddArgsArray_Value_GuidValue, tvb, offset, 16, ENC_BIG_ENDIAN);
1569 offset += 16;
1570 break;
1572 case 7:
1573 proto_tree_add_item(tree, hf_vsip_ErrorVAResponse_AddArgsArray_Value_FloatValue, tvb, offset, 4, ENC_BIG_ENDIAN);
1574 offset += 4;
1575 break;
1577 case 8:
1578 offset += vsip_ValueTypeBinary(tree, pinfo, tvb, offset, hf_vsip_ErrorVAResponse_AddArgsArray_Value_BinaryValue);
1579 break;
1581 default:
1582 break;
1585 proto_item_set_len(ti, offset - soffset);
1587 return offset - soffset;
1590 static uint32_t vsip_ErrorVAResponse(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, int offset)
1592 int soffset = offset;
1593 uint16_t count;
1594 uint32_t i;
1595 proto_item *ti;
1597 tree = proto_tree_add_subtree(tree, tvb, offset, 0, ett_vsipErrorVAResponse, &ti, "ErrorVAResponse");
1599 offset += vsip_ErrorResponse(tree, pinfo, tvb, offset);
1601 count = tvb_get_ntohs(tvb, offset);
1602 proto_tree_add_uint(tree, hf_vsip_ErrorVAResponse_NumAddArgs, tvb, offset, 2, count);
1603 offset += 2;
1605 for(i = 0; i < count; ++i)
1607 offset += vsip_ErrorVAResponse_AddArgsArray(tree, pinfo, tvb, offset);
1610 proto_item_set_len(ti, offset - soffset);
1612 return offset - soffset;
1615 static uint32_t vsip_dissect_pdu(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
1617 int soffset = offset;
1618 uint32_t version;
1619 uint8_t type;
1620 proto_item *ti;
1622 proto_tree_add_item_ret_uint(tree, hf_vsip_Version, tvb, offset, 2, ENC_BIG_ENDIAN, &version);
1623 offset += 2;
1625 type = tvb_get_uint8(tvb, offset);
1626 proto_tree_add_uint(tree, hf_vsip_Type, tvb, offset, 1, type);
1627 col_set_str(pinfo->cinfo, COL_INFO, val_to_str_ext_const(type, &EVsipMessageType_vals_ext, "Unknown") );
1628 offset++;
1630 proto_tree_add_item(tree, hf_vsip_TransacId, tvb, offset, 2, ENC_BIG_ENDIAN);
1631 offset += 2;
1633 if (version == 257)
1635 proto_tree_add_item(tree, hf_vsip_PacketSize, tvb, offset, 4, ENC_BIG_ENDIAN);
1636 offset += 4;
1638 else if (version == 256)
1640 proto_tree_add_item(tree, hf_vsip_PacketSize, tvb, offset, 2, ENC_BIG_ENDIAN);
1641 offset += 2;
1644 switch(type)
1646 case 1:
1647 offset += vsip_PingReq(tree, pinfo, tvb, offset);
1648 break;
1650 case 2:
1651 offset += vsip_PingResp(tree, pinfo, tvb, offset);
1652 break;
1654 case 19:
1655 offset += vsip_ContentTypeSwitchReq(tree, pinfo, tvb, offset);
1656 break;
1658 case 20:
1659 offset += vsip_ContentTypeSwitchResp(tree, pinfo, tvb, offset);
1660 break;
1662 case 3:
1663 offset += vsip_GetCapabilitiesReq(tree, pinfo, tvb, offset);
1664 break;
1666 case 4:
1667 offset += vsip_GetCapabilitiesResp(tree, pinfo, tvb, offset);
1668 break;
1670 case 5:
1671 offset += vsip_StartDevice(tree, pinfo, tvb, offset);
1672 break;
1674 case 21:
1675 offset += vsip_StartDeviceEx(tree, pinfo, tvb, offset);
1676 break;
1678 case 6:
1679 offset += vsip_StopDevice(tree, pinfo, tvb, offset);
1680 break;
1682 case 22:
1683 offset += vsip_StopDeviceEx(tree, pinfo, tvb, offset);
1684 break;
1686 case 7:
1687 offset += vsip_SetConfigReq(tree, pinfo, tvb, offset);
1688 break;
1690 case 8:
1691 offset += vsip_GetConfigReq(tree, pinfo, tvb, offset);
1692 break;
1694 case 9:
1695 offset += vsip_GetConfigResp(tree, pinfo, tvb, offset);
1696 break;
1698 case 10:
1699 offset += vsip_SendCommand(tree, pinfo, tvb, offset);
1700 break;
1702 case 24:
1703 offset += vsip_SendCommandEx(tree, pinfo, tvb, offset);
1704 break;
1706 case 11:
1707 offset += vsip_EventNotify(tree, pinfo, tvb, offset);
1708 break;
1710 case 12:
1711 offset += vsip_EventSubscribeReq(tree, pinfo, tvb, offset);
1712 break;
1714 case 23:
1715 offset += vsip_EventSubscribeExReq(tree, pinfo, tvb, offset);
1716 break;
1718 case 13:
1719 offset += vsip_ErrorResponse(tree, pinfo, tvb, offset);
1720 break;
1722 case 48:
1723 offset += vsip_ErrorVAResponse(tree, pinfo, tvb, offset);
1724 break;
1726 default:
1727 break;
1730 ti = proto_tree_get_parent(tree);
1731 proto_item_set_len(ti, offset - soffset);
1733 return offset - soffset;
1737 static int dissect_vsip(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
1739 proto_item *ti;
1740 uint16_t version;
1742 /* Make sure we have a supported version */
1743 version = tvb_get_ntohs(tvb, 0);
1744 if ((version != 0x0100) && (version != 0x0101))
1745 return 0;
1747 col_set_str(pinfo->cinfo, COL_PROTOCOL, "VSIP");
1748 col_clear(pinfo->cinfo, COL_INFO);
1750 ti = proto_tree_add_item(tree, proto_vsip, tvb, 0, -1, ENC_NA);
1751 tree = proto_item_add_subtree(ti, ett_vsip);
1753 /* call the tsnc generated dissect function. */
1754 return vsip_dissect_pdu(tvb, 0, pinfo, tree);
1757 static void
1758 vsip_fmt_revision( char *result, uint32_t revision )
1760 snprintf( result, ITEM_LABEL_LENGTH, "%d.%02d", (uint8_t)(( revision & 0xFF00 ) >> 8), (uint8_t)(revision & 0xFF) );
1763 void proto_register_vsip(void)
1765 /* Setup protocol subtree array */
1766 static int *ett[] = {
1767 &ett_vsipValueTypeString,
1768 &ett_vsipValueTypeBinary,
1769 &ett_vsipPingReq,
1770 &ett_vsipPingResp_SuppConnTypes,
1771 &ett_vsipPingResp,
1772 &ett_vsipContentTypeSwitchReq,
1773 &ett_vsipContentTypeSwitchResp,
1774 &ett_vsipGetCapabilitiesReq,
1775 &ett_vsipGetCapabilitiesResp_CapabilityArray,
1776 &ett_vsipGetCapabilitiesResp,
1777 &ett_vsipStartDevice,
1778 &ett_vsipStartDeviceEx,
1779 &ett_vsipStopDevice,
1780 &ett_vsipStopDeviceEx,
1781 &ett_vsipSetConfigReq_ConfigItemArray,
1782 &ett_vsipSetConfigReq,
1783 &ett_vsipGetConfigReq_ConfigItemArray,
1784 &ett_vsipGetConfigReq,
1785 &ett_vsipGetConfigResp_ConfigItemArray,
1786 &ett_vsipGetConfigResp,
1787 &ett_vsipSendCommand,
1788 &ett_vsipSendCommandEx_AddArgsArray,
1789 &ett_vsipSendCommandEx,
1790 &ett_vsipEventNotify,
1791 &ett_vsipEventSubscribeReq,
1792 &ett_vsipEventSubscribeExReq,
1793 &ett_vsipErrorResponse,
1794 &ett_vsipErrorVAResponse_AddArgsArray,
1795 &ett_vsipErrorVAResponse,
1796 &ett_vsip
1799 static hf_register_info hf[] = {
1800 { &hf_vsip_ValueTypeBinary_Size,
1801 { "Size", "vsip.ValueTypeBinary.Size", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1802 { &hf_vsip_ValueTypeString_Size,
1803 { "Size", "vsip.ValueTypeString.Size", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1804 { &hf_vsip_PingReq_ReplyAddress,
1805 { "ReplyAddress", "vsip.PingReq.ReplyAddress", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1806 { &hf_vsip_PingReq_ReplyPort,
1807 { "ReplyPort", "vsip.PingReq.ReplyPort", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1808 { &hf_vsip_PingReq_ConnType,
1809 { "ConnType", "vsip.PingReq.ConnType", FT_UINT8, BASE_HEX,
1810 VALS(EVsipConnectionType_vals), 0x0, NULL, HFILL } },
1811 { &hf_vsip_PingResp_DeviceIP,
1812 { "DeviceIP", "vsip.PingResp.DeviceIP", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1813 { &hf_vsip_PingResp_DevicePort,
1814 { "DevicePort", "vsip.PingResp.DevicePort", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1815 { &hf_vsip_PingResp_DeviceGUID,
1816 { "DeviceGUID", "vsip.PingResp.DeviceGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1817 { &hf_vsip_PingResp_VendorID,
1818 { "VendorID", "vsip.PingResp.VendorID", FT_UINT16, BASE_DEC,
1819 VALS(EVsipVendorID_vals), 0x0, NULL, HFILL } },
1820 { &hf_vsip_PingResp_ProductType,
1821 { "ProductType", "vsip.PingResp.ProductType", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1822 { &hf_vsip_PingResp_Status,
1823 { "Status", "vsip.PingResp.Status", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1824 { &hf_vsip_PingResp_SubtypeLen,
1825 { "SubtypeLen", "vsip.PingResp.SubtypeLen", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1826 { &hf_vsip_PingResp_Subtype,
1827 { "Subtype", "vsip.PingResp.Subtype", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1828 { &hf_vsip_PingResp_SuppConnTypes,
1829 { "SuppConnTypes", "vsip.PingResp.SuppConnTypes", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL } },
1830 { &hf_vsip_PingResp_SuppConnTypes_VOLATILE,
1831 { "VOLATILE", "vsip.PingResp_SuppConnTypes.VOLATILE", FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x80, NULL, HFILL } },
1832 { &hf_vsip_PingResp_SuppConnTypes_RTP,
1833 { "RTP", "vsip.PingResp_SuppConnTypes.RTP", FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x40, NULL, HFILL } },
1834 { &hf_vsip_PingResp_SuppConnTypes_SSL,
1835 { "SSL", "vsip.PingResp_SuppConnTypes.SSL", FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x20, NULL, HFILL } },
1836 { &hf_vsip_PingResp_SuppConnTypes_UDP_BROADCAST,
1837 { "UDP_BROADCAST", "vsip.PingResp_SuppConnTypes.UDP_BROADCAST", FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x10, NULL, HFILL } },
1838 { &hf_vsip_PingResp_SuppConnTypes_TCP_CLIENT,
1839 { "TCP_CLIENT", "vsip.PingResp_SuppConnTypes.TCP_CLIENT", FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x08, NULL, HFILL } },
1840 { &hf_vsip_PingResp_SuppConnTypes_TCP_SERVER,
1841 { "TCP_SERVER", "vsip.PingResp_SuppConnTypes.TCP_SERVER", FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x04, NULL, HFILL } },
1842 { &hf_vsip_PingResp_SuppConnTypes_UDP_MULTICAST,
1843 { "UDP_MULTICAST", "vsip.PingResp_SuppConnTypes.UDP_MULTICAST", FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x02, NULL, HFILL } },
1844 { &hf_vsip_PingResp_SuppConnTypes_UDP_UNICAST,
1845 { "UDP_UNICAST", "vsip.PingResp_SuppConnTypes.UDP_UNICAST", FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x01, NULL, HFILL } },
1846 { &hf_vsip_ContentTypeSwitchReq_ApplicationGUID,
1847 { "ApplicationGUID", "vsip.ContentTypeSwitchReq.ApplicationGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1848 { &hf_vsip_ContentTypeSwitchReq_ContentType,
1849 { "ContentType", "vsip.ContentTypeSwitchReq.ContentType", FT_UINT8, BASE_DEC,
1850 VALS(EVsipContentType_vals), 0x0, NULL, HFILL } },
1851 { &hf_vsip_ContentTypeSwitchReq_DeviceGUID,
1852 { "DeviceGUID", "vsip.ContentTypeSwitchReq.DeviceGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1853 { &hf_vsip_ContentTypeSwitchResp_DeviceGUID,
1854 { "DeviceGUID", "vsip.ContentTypeSwitchResp.DeviceGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1855 { &hf_vsip_ContentTypeSwitchResp_SwitchResult,
1856 { "SwitchResult", "vsip.ContentTypeSwitchResp.SwitchResult", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1857 { &hf_vsip_GetCapabilitiesReq_DisabledCapabilities,
1858 { "DisabledCapabilities", "vsip.GetCapabilitiesReq.DisabledCapabilities", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL } },
1859 { &hf_vsip_GetCapabilitiesResp_CapabilityArray_EntityType,
1860 { "EntityType", "vsip.GetCapabilitiesResp_CapabilityArray.EntityType", FT_UINT8, BASE_DEC,
1861 VALS(EVsipEntityType_vals), 0x0, NULL, HFILL } },
1862 { &hf_vsip_GetCapabilitiesResp_CapabilityArray_CapabilityGUID,
1863 { "CapabilityGUID", "vsip.GetCapabilitiesResp_CapabilityArray.CapabilityGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1864 { &hf_vsip_GetCapabilitiesResp_CapabilityArray_VendorID,
1865 { "VendorID", "vsip.GetCapabilitiesResp_CapabilityArray.VendorID", FT_UINT16, BASE_DEC,
1866 VALS(EVsipVendorID_vals), 0x0, NULL, HFILL } },
1867 { &hf_vsip_GetCapabilitiesResp_CapabilityArray_VersionNumber,
1868 { "VersionNumber", "vsip.GetCapabilitiesResp_CapabilityArray.VersionNumber", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1869 { &hf_vsip_GetCapabilitiesResp_CapabilityCount,
1870 { "CapabilityCount", "vsip.GetCapabilitiesResp.CapabilityCount", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1871 { &hf_vsip_StartDevice_CapabilityGUID,
1872 { "CapabilityGUID", "vsip.StartDevice.CapabilityGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1873 { &hf_vsip_StartDevice_TargetAddress,
1874 { "TargetAddress", "vsip.StartDevice.TargetAddress", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1875 { &hf_vsip_StartDevice_TargetPort,
1876 { "TargetPort", "vsip.StartDevice.TargetPort", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1877 { &hf_vsip_StartDevice_LocalPort,
1878 { "LocalPort", "vsip.StartDevice.LocalPort", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1879 { &hf_vsip_StartDevice_ConnectionType,
1880 { "ConnectionType", "vsip.StartDevice.ConnectionType", FT_UINT8, BASE_DEC,
1881 VALS(EVsipConnectionType_vals), 0x0, NULL, HFILL } },
1882 { &hf_vsip_StartDeviceEx_CapabilityGUID,
1883 { "CapabilityGUID", "vsip.StartDeviceEx.CapabilityGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1884 { &hf_vsip_StartDeviceEx_TargetAddress,
1885 { "TargetAddress", "vsip.StartDeviceEx.TargetAddress", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1886 { &hf_vsip_StartDeviceEx_TargetPort,
1887 { "TargetPort", "vsip.StartDeviceEx.TargetPort", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1888 { &hf_vsip_StartDeviceEx_LocalPort,
1889 { "LocalPort", "vsip.StartDeviceEx.LocalPort", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1890 { &hf_vsip_StartDeviceEx_ConnectionType,
1891 { "ConnectionType", "vsip.StartDeviceEx.ConnectionType", FT_UINT8, BASE_DEC,
1892 VALS(EVsipConnectionType_vals), 0x0, NULL, HFILL } },
1893 { &hf_vsip_StartDeviceEx_TargetGUID,
1894 { "TargetGUID", "vsip.StartDeviceEx.TargetGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1895 { &hf_vsip_StopDevice_CapabilityGUID,
1896 { "CapabilityGUID", "vsip.StopDevice.CapabilityGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1897 { &hf_vsip_StopDeviceEx_CapabilityGUID,
1898 { "CapabilityGUID", "vsip.StopDeviceEx.CapabilityGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1899 { &hf_vsip_StopDeviceEx_TargetGUID,
1900 { "TargetGUID", "vsip.StopDeviceEx.TargetGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1901 { &hf_vsip_SetConfigReq_ConfigItemArray_ConfigItemID,
1902 { "ConfigItemID", "vsip.SetConfigReq_ConfigItemArray.ConfigItemID", FT_UINT16, BASE_DEC|BASE_EXT_STRING,
1903 &EVsipConfigItem_vals_ext, 0x0, NULL, HFILL } },
1904 { &hf_vsip_SetConfigReq_ConfigItemArray_ValueType,
1905 { "ValueType", "vsip.SetConfigReq_ConfigItemArray.ValueType", FT_UINT8, BASE_DEC,
1906 VALS(EVsipValueType_vals), 0x0, NULL, HFILL } },
1907 { &hf_vsip_SetConfigReq_ConfigItemArray_Value_CharValue,
1908 { "CharValue", "vsip.SetConfigReq_ConfigItemArray.CharValue",
1909 FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1910 { &hf_vsip_SetConfigReq_ConfigItemArray_Value_ShortValue,
1911 { "ShortValue", "vsip.SetConfigReq_ConfigItemArray.ShortValue",
1912 FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1913 { &hf_vsip_SetConfigReq_ConfigItemArray_Value_IntValue,
1914 { "IntValue", "vsip.SetConfigReq_ConfigItemArray.IntValue", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1915 { &hf_vsip_SetConfigReq_ConfigItemArray_Value_StringValue,
1916 { "StringValue", "vsip.SetConfigReq_ConfigItemArray.StringValue", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1917 { &hf_vsip_SetConfigReq_ConfigItemArray_Value_UintValue,
1918 { "UintValue", "vsip.SetConfigReq_ConfigItemArray.UintValue", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1919 { &hf_vsip_SetConfigReq_ConfigItemArray_Value_GuidValue,
1920 { "GuidValue", "vsip.SetConfigReq_ConfigItemArray.GuidValue", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1921 { &hf_vsip_SetConfigReq_ConfigItemArray_Value_FloatValue,
1922 { "FloatValue", "vsip.SetConfigReq_ConfigItemArray.FloatValue", FT_FLOAT, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1923 { &hf_vsip_SetConfigReq_ConfigItemArray_Value_BinaryValue,
1924 { "BinaryValue", "vsip.SetConfigReq_ConfigItemArray.BinaryValue", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1925 { &hf_vsip_SetConfigReq_CapabilityGUID,
1926 { "CapabilityGUID", "vsip.SetConfigReq.CapabilityGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1927 { &hf_vsip_SetConfigReq_ConfigItemCount,
1928 { "ConfigItemCount", "vsip.SetConfigReq.ConfigItemCount", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1929 { &hf_vsip_GetConfigReq_ConfigItemArray_ConfigItemID,
1930 { "ConfigItemID", "vsip.GetConfigReq_ConfigItemArray.ConfigItemID", FT_UINT16, BASE_DEC|BASE_EXT_STRING,
1931 &EVsipConfigItem_vals_ext, 0x0, NULL, HFILL } },
1932 { &hf_vsip_GetConfigReq_CapabilityGUID,
1933 { "CapabilityGUID", "vsip.GetConfigReq.CapabilityGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1934 { &hf_vsip_GetConfigReq_ConfigItemCount,
1935 { "ConfigItemCount", "vsip.GetConfigReq.ConfigItemCount", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1936 { &hf_vsip_GetConfigResp_ConfigItemArray_ConfigItemID,
1937 { "ConfigItemID", "vsip.GetConfigResp_ConfigItemArray.ConfigItemID", FT_UINT16, BASE_DEC|BASE_EXT_STRING,
1938 &EVsipConfigItem_vals_ext, 0x0, NULL, HFILL } },
1939 { &hf_vsip_GetConfigResp_ConfigItemArray_ValueType,
1940 { "ValueType", "vsip.GetConfigResp_ConfigItemArray.ValueType", FT_UINT8, BASE_DEC,
1941 VALS(EVsipValueType_vals), 0x0, NULL, HFILL } },
1942 { &hf_vsip_GetConfigResp_ConfigItemArray_Value_CharValue,
1943 { "CharValue", "vsip.GetConfigResp_ConfigItemArray.CharValue", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1944 { &hf_vsip_GetConfigResp_ConfigItemArray_Value_ShortValue,
1945 { "ShortValue", "vsip.GetConfigResp_ConfigItemArray.ShortValue", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1946 { &hf_vsip_GetConfigResp_ConfigItemArray_Value_IntValue,
1947 { "IntValue", "vsip.GetConfigResp_ConfigItemArray.IntValue", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1948 { &hf_vsip_GetConfigResp_ConfigItemArray_Value_StringValue,
1949 { "StringValue", "vsip.GetConfigResp_ConfigItemArray.StringValue", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1950 { &hf_vsip_GetConfigResp_ConfigItemArray_Value_UintValue,
1951 { "UintValue", "vsip.GetConfigResp_ConfigItemArray.UintValue", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1952 { &hf_vsip_GetConfigResp_ConfigItemArray_Value_GuidValue,
1953 { "GuidValue", "vsip.GetConfigResp_ConfigItemArray.GuidValue", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1954 { &hf_vsip_GetConfigResp_ConfigItemArray_Value_FloatValue,
1955 { "FloatValue", "vsip.GetConfigResp_ConfigItemArray.FloatValue", FT_FLOAT, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1956 { &hf_vsip_GetConfigResp_ConfigItemArray_Value_BinaryValue,
1957 { "BinaryValue", "vsip.GetConfigResp_ConfigItemArray.BinaryValue", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1958 { &hf_vsip_GetConfigResp_CapabilityGUID,
1959 { "CapabilityGUID", "vsip.GetConfigResp.CapabilityGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1960 { &hf_vsip_GetConfigResp_ConfigItemCount,
1961 { "ConfigItemCount", "vsip.GetConfigResp.ConfigItemCount", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1962 { &hf_vsip_SendCommand_CapabilityGUID,
1963 { "CapabilityGUID", "vsip.SendCommand.CapabilityGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1964 { &hf_vsip_SendCommand_CommandCode,
1965 { "CommandCode", "vsip.SendCommand.CommandCode", FT_UINT8, BASE_DEC|BASE_EXT_STRING,
1966 &EVsipCommand_vals_ext, 0x0, NULL, HFILL } },
1967 { &hf_vsip_SendCommand_Arg1,
1968 { "Arg1", "vsip.SendCommand.Arg1", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1969 { &hf_vsip_SendCommand_Arg2,
1970 { "Arg2", "vsip.SendCommand.Arg2", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1971 { &hf_vsip_SendCommandEx_AddArgsArray_ValueType,
1972 { "ValueType", "vsip.SendCommandEx_AddArgsArray.ValueType", FT_UINT8, BASE_DEC,
1973 VALS(EVsipValueType_vals), 0x0, NULL, HFILL } },
1974 { &hf_vsip_SendCommandEx_AddArgsArray_Value_CharValue,
1975 { "CharValue", "vsip.SendCommandEx_AddArgsArray.CharValue", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1976 { &hf_vsip_SendCommandEx_AddArgsArray_Value_ShortValue,
1977 { "ShortValue", "vsip.SendCommandEx_AddArgsArray.ShortValue", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1978 { &hf_vsip_SendCommandEx_AddArgsArray_Value_IntValue,
1979 { "IntValue", "vsip.SendCommandEx_AddArgsArray.IntValue", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1980 { &hf_vsip_SendCommandEx_AddArgsArray_Value_StringValue,
1981 { "StringValue", "vsip.SendCommandEx_AddArgsArray.StringValue", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1982 { &hf_vsip_SendCommandEx_AddArgsArray_Value_UintValue,
1983 { "UintValue", "vsip.SendCommandEx_AddArgsArray.UintValue", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1984 { &hf_vsip_SendCommandEx_AddArgsArray_Value_GuidValue,
1985 { "GuidValue", "vsip.SendCommandEx_AddArgsArray.GuidValue", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1986 { &hf_vsip_SendCommandEx_AddArgsArray_Value_FloatValue,
1987 { "FloatValue", "vsip.SendCommandEx_AddArgsArray.FloatValue", FT_FLOAT, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1988 { &hf_vsip_SendCommandEx_AddArgsArray_Value_BinaryValue,
1989 { "BinaryValue", "vsip.SendCommandEx_AddArgsArray.BinaryValue", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1990 { &hf_vsip_SendCommandEx_CapabilityGUID,
1991 { "CapabilityGUID", "vsip.SendCommandEx.CapabilityGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
1992 { &hf_vsip_SendCommandEx_CommandCode,
1993 { "CommandCode", "vsip.SendCommandEx.CommandCode", FT_UINT8, BASE_DEC|BASE_EXT_STRING,
1994 &EVsipCommand_vals_ext, 0x0, NULL, HFILL } },
1995 { &hf_vsip_SendCommandEx_Arg1,
1996 { "Arg1", "vsip.SendCommandEx.Arg1", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1997 { &hf_vsip_SendCommandEx_Arg2,
1998 { "Arg2", "vsip.SendCommandEx.Arg2", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
1999 { &hf_vsip_SendCommandEx_NumAddArgs,
2000 { "NumAddArgs", "vsip.SendCommandEx.NumAddArgs", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
2001 { &hf_vsip_EventNotify_CapabilityGUID,
2002 { "CapabilityGUID", "vsip.EventNotify.CapabilityGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
2003 { &hf_vsip_EventNotify_EventType,
2004 { "EventType", "vsip.EventNotify.EventType", FT_UINT16, BASE_DEC,
2005 VALS(EVsipEventType_vals), 0x0, NULL, HFILL } },
2006 { &hf_vsip_EventNotify_EventArgument,
2007 { "EventArgument", "vsip.EventNotify.EventArgument", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
2008 { &hf_vsip_EventSubscribeReq_ReceiverAddress,
2009 { "ReceiverAddress", "vsip.EventSubscribeReq.ReceiverAddress", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL } },
2010 { &hf_vsip_EventSubscribeReq_ReceiverPort,
2011 { "ReceiverPort", "vsip.EventSubscribeReq.ReceiverPort", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
2012 { &hf_vsip_EventSubscribeReq_ConnectionType,
2013 { "ConnectionType", "vsip.EventSubscribeReq.ConnectionType", FT_UINT8, BASE_DEC,
2014 VALS(EVsipConnectionType_vals), 0x0, NULL, HFILL } },
2015 { &hf_vsip_EventSubscribeExReq_ReceiverAddress,
2016 { "ReceiverAddress", "vsip.EventSubscribeExReq.ReceiverAddress", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL } },
2017 { &hf_vsip_EventSubscribeExReq_ReceiverPort,
2018 { "ReceiverPort", "vsip.EventSubscribeExReq.ReceiverPort", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
2019 { &hf_vsip_EventSubscribeExReq_ConnectionType,
2020 { "ConnectionType", "vsip.EventSubscribeExReq.ConnectionType", FT_UINT8, BASE_DEC,
2021 VALS(EVsipConnectionType_vals), 0x0, NULL, HFILL } },
2022 { &hf_vsip_EventSubscribeExReq_DestinationGUID,
2023 { "DestinationGUID", "vsip.EventSubscribeExReq.DestinationGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
2024 { &hf_vsip_ErrorResponse_RequestMessageType,
2025 { "RequestMessageType", "vsip.ErrorResponse.RequestMessageType", FT_UINT8, BASE_DEC|BASE_EXT_STRING,
2026 &EVsipMessageType_vals_ext, 0x0, NULL, HFILL } },
2027 { &hf_vsip_ErrorResponse_StatusCode,
2028 { "StatusCode", "vsip.ErrorResponse.StatusCode", FT_UINT32, BASE_DEC|BASE_EXT_STRING,
2029 &EVsipErrorCode_vals_ext, 0x0, NULL, HFILL } },
2030 { &hf_vsip_ErrorVAResponse_AddArgsArray_ValueType,
2031 { "ValueType", "vsip.ErrorVAResponse_AddArgsArray.ValueType", FT_UINT8, BASE_DEC,
2032 VALS(EVsipValueType_vals), 0x0, NULL, HFILL } },
2033 { &hf_vsip_ErrorVAResponse_AddArgsArray_Value_CharValue,
2034 { "CharValue", "vsip.ErrorVAResponse_AddArgsArray.CharValue", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
2035 { &hf_vsip_ErrorVAResponse_AddArgsArray_Value_ShortValue,
2036 { "ShortValue", "vsip.ErrorVAResponse_AddArgsArray.ShortValue", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
2037 { &hf_vsip_ErrorVAResponse_AddArgsArray_Value_IntValue,
2038 { "IntValue", "vsip.ErrorVAResponse_AddArgsArray.IntValue", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
2039 { &hf_vsip_ErrorVAResponse_AddArgsArray_Value_StringValue,
2040 { "StringValue", "vsip.ErrorVAResponse_AddArgsArray.StringValue", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
2041 { &hf_vsip_ErrorVAResponse_AddArgsArray_Value_UintValue,
2042 { "UintValue", "vsip.ErrorVAResponse_AddArgsArray.UintValue", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
2043 { &hf_vsip_ErrorVAResponse_AddArgsArray_Value_GuidValue,
2044 { "GuidValue", "vsip.ErrorVAResponse_AddArgsArray.GuidValue", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
2045 { &hf_vsip_ErrorVAResponse_AddArgsArray_Value_FloatValue,
2046 { "FloatValue", "vsip.ErrorVAResponse_AddArgsArray.FloatValue", FT_FLOAT, BASE_NONE, NULL, 0x0, NULL, HFILL } },
2047 { &hf_vsip_ErrorVAResponse_AddArgsArray_Value_BinaryValue,
2048 { "BinaryValue", "vsip.ErrorVAResponse_AddArgsArray.BinaryValue", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } },
2049 { &hf_vsip_ErrorVAResponse_NumAddArgs,
2050 { "NumAddArgs", "vsip.ErrorVAResponse.NumAddArgs", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
2051 { &hf_vsip_Version,
2052 { "Version", "vsip.Version", FT_UINT16, BASE_CUSTOM,
2053 CF_FUNC(vsip_fmt_revision), 0x0, NULL, HFILL } },
2054 { &hf_vsip_Type,
2055 { "Type", "vsip.Type", FT_UINT8, BASE_DEC|BASE_EXT_STRING,
2056 &EVsipMessageType_vals_ext, 0x0, NULL, HFILL } },
2057 { &hf_vsip_TransacId,
2058 { "TransacId", "vsip.TransacId", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
2059 { &hf_vsip_PacketSize,
2060 { "PacketSize", "vsip.PacketSize", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
2063 proto_vsip = proto_register_protocol ( "Video Services over IP", "VSIP", "vsip");
2065 proto_register_subtree_array(ett, array_length(ett));
2066 proto_register_field_array(proto_vsip, hf, array_length(hf));
2067 vsip_handle = register_dissector("vsip", dissect_vsip, proto_vsip);
2070 void proto_reg_handoff_vsip(void)
2072 dissector_add_for_decode_as_with_preference("udp.port", vsip_handle);
2073 dissector_add_for_decode_as_with_preference("tcp.port", vsip_handle);
2077 * Editor modelines
2079 * Local Variables:
2080 * c-basic-offset: 4
2081 * tab-width: 8
2082 * indent-tabs-mode: nil
2083 * End:
2085 * ex: set shiftwidth=4 tabstop=8 expandtab:
2086 * :indentSize=4:tabSize=8:noTabs=true: