wireshark/epan/dissectors/packet-vsip.c
Michael Mann 2eb7b05b8c Convert most UDP dissectors to use "auto" preferences.
Similar to the "tcp.port" changes in I99604f95d426ad345f4b494598d94178b886eb67,
convert dissectors that use "udp.port".

More cleanup done on dissectors that use both TCP and UDP dissector
tables, so that less preference callbacks exist.

Change-Id: If07be9b9e850c244336a7069599cd554ce312dd3
Reviewed-on: https://code.wireshark.org/review/18120
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-10-13 02:51:18 +00:00

2100 lines
87 KiB
C

/* packet-vsip.c
* Routines for VSIP packet disassembly
*
* Copyright (c) 2010 by Verint Canada Systems Inc.
*
* Original Author: Charles Nepveu <charles.nepveu at verint.com>
* Generated using the TSN.1 compiler from protomatics.
*
* Updated to current API usage to create "manual" version of
* dissector by Michael Mann
*
* Wireshark - Network traffic analyzer
* By Gerald Combs <gerald@wireshark.org>
* Copyright 1999 Gerald Combs
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "config.h"
#include <epan/packet.h>
void proto_register_vsip(void);
void proto_reg_handoff_vsip(void);
static const value_string EVsipMessageType_vals[] =
{
{ 1, "VSIP Ping Request"},
{ 2, "VSIP Ping Response"},
{ 3, "VSIP Get Capabilities Request"},
{ 4, "VSIP Get Capabilities Response"},
{ 5, "VSIP Start Device Request"},
{ 6, "VSIP Stop Device Request"},
{ 7, "VSIP Set Configuration Request"},
{ 8, "VSIP Get Configuration Request"},
{ 9, "VSIP Get Configuration Response"},
{10, "VSIP Send Command Request"},
{11, "VSIP Event Notify"},
{12, "VSIP Event Subscribe"},
{13, "VSIP Error Response"},
{19, "VSIP Content-Type Switch Request"},
{20, "VSIP Content-Type Switch Response"},
{21, "VSIP Start Device EX Request"},
{22, "VSIP Stop Device EX Request"},
{23, "VSIP Event Subscribe Extended"},
{24, "VSIP Send Command EX Request"},
{48, "VSIP Error Variable Arguments Response"},
{0, NULL}
};
value_string_ext EVsipMessageType_vals_ext = VALUE_STRING_EXT_INIT(EVsipMessageType_vals);
const value_string EVsipVendorID_vals[] =
{
{8192, "Unknown Vendor"},
{8193, "Verint"},
{8194, "DVTEL"},
{8195, "GENETEC"},
{8196, "RADIANT"},
{8197, "SILENT WITNESS"},
{8198, "EUROPLEX TECH"},
{8199, "JVC"},
{8200, "SAMSUNG"},
{0, NULL}
};
const value_string EVsipEntityType_vals[] =
{
{ 0, "Device"},
{ 1, "Video decoder"},
{ 2, "Video encoder"},
{ 3, "Audio decoder"},
{ 4, "Audio encoder"},
{ 5, "Serial port"},
{ 6, "Input pin"},
{ 7, "Output pin"},
{11, "Wireless connection"},
{12, "Ethernet connection"},
{13, "Motion detection"},
{17, "Video sensor"},
{18, "Content analyzer"},
{20, "Content analyzer view"},
{22, "Camera tampering detection"},
{0, NULL}
};
const value_string EVsipContentType_vals[] =
{
{0, "None"},
{1, "Command and Control"},
{2, "Stream -video, audio, serial-"},
{3, "SSL Command and Control Client"},
{4, "SSL Command and Control Server"},
{5, "SSL Stream -video, audio, serial- Client"},
{6, "SSL Stream -video, audio, serial- Server"},
{0, NULL}
};
const value_string EVsipValueType_vals[] =
{
{1, "Character - 8 bits"},
{2, "Short - 16 bits"},
{3, "Integer - 32 bits"},
{4, "VSIP String - Variable"},
{5, "Unsigned Integer - 32 bits"},
{6, "GUID - 128 bits"},
{7, "Float - 32 bits"},
{8, "Binary - Variable"},
{0, NULL}
};
const value_string EVsipConnectionType_vals[] =
{
{ 0, "VSIP_CONN_TYPE_NULL"},
{ 1, "VSIP_CONN_TYPE_UDP_UNICAST"},
{ 2, "VSIP_CONN_TYPE_UDP_MULTICAST"},
{ 3, "VSIP_CONN_TYPE_UDP"},
{ 7, "VSIP_CONN_TYPE_RTPSTANDARDH264_UDP"},
{ 11, "VSIP_CONN_TYPE_RTPSTANDARDH264_UDP_VOLATILE"},
{ 12, "VSIP_CONN_TYPE_TCP"},
{ 64, "VSIP_CONN_TYPE_RTP"},
{ 65, "VSIP_CONN_TYPE_RTPVERINT_UDP"},
{ 76, "VSIP_CONN_TYPE_RTPVERINT_TCP"},
{129, "VSIP_CONN_TYPE_UDP_VOLATILE"},
{140, "VSIP_CONN_TYPE_TCP_VOLATILE"},
{192, "VSIP_CONN_TYPE_RTPVERINT_UDP_VOLATILE"},
{204, "VSIP_CONN_TYPE_RTPVERINT_TCP_VOLATILE"},
{0, NULL}
};
const value_string EVsipCommand_vals[] =
{
{ 1, "Send Key Frame"},
{ 2, "VSIP Proprietary Command"},
{ 3, "Set TCP Connection As Vital"},
{ 4, "Reset Wireless Passkey"},
{ 5, "Remove Multicast Stream"},
{ 7, "Clear Statistics"},
{ 8, "Clear Logs"},
{ 9, "Ping Remote Host"},
{10, "VSIP_CA_COMMAND_ADD_VIEW"},
{11, "VSIP_CA_COMMAND_DEL_VIEW"},
{12, "VSIP_CA_COMMAND_FORCE_VIEW"},
{13, "VSIP_CA_COMMAND_GET_VIEW_SNAPSHOT"},
{14, "VSIP_CA_COMMAND_GET_LIVE_SNAPSHOT"},
{15, "VSIP_CA_COMMAND_ADD_RULE"},
{16, "VSIP_CA_COMMAND_DEL_RULE"},
{17, "VSIP_CA_COMMAND_SET_RULE"},
{18, "VSIP_CA_COMMAND_GET_RULES"},
{19, "VSIP_CA_COMMAND_RESET_INT_PARAMS"},
{32, "VSIP_CA_COMMAND_RESET_CA_CONFIG"},
{33, "Install License"},
{34, "Remove License"},
{49, "Reset Out-Of-Position View"},
{50, "Reset Out-Of-Position Params"},
{51, "Reset Out-Of-Focus Params"},
{64, "RTSP control over VSIP"},
{0, NULL}
};
value_string_ext EVsipCommand_vals_ext = VALUE_STRING_EXT_INIT(EVsipCommand_vals);
const value_string EVsipConfigItem_vals[] =
{
{ 1, "CONFIG_NETWORK_PORT/CONFIG_NETWORK_RX_PORT"},
{ 2, "CONFIG_NETWORK_CONNECTION_TYPE"},
{ 3, "CONFIG_NETWORK_SUPPORTED_CONNECTION_TYPE"},
{ 4, "CONFIG_NETWORK_SSL_PASSKEY"},
{ 5, "CONFIG_NETWORK_MAC_ADDRESS"},
{ 6, "CONFIG_NETWORK_TX_PORT"},
{ 7, "CONFIG_NETWORK_RX_PORT2"},
{ 8, "CONFIG_NETWORK_RX_PORT3"},
{ 9, "CONFIG_NETWORK_RX_PORT4"},
{ 10, "CONFIG_NETWORK_TX_PORT2"},
{ 11, "CONFIG_NETWORK_TX_PORT3"},
{ 12, "CONFIG_NETWORK_TX_PORT4"},
{ 13, "CONFIG_NETWORK_DESTINATION_GUID"},
{ 14, "CONFIG_NETWORK_DESTINATION_GUID2"},
{ 15, "CONFIG_NETWORK_DESTINATION_GUID3"},
{ 16, "CONFIG_NETWORK_DESTINATION_GUID4"},
{ 257, "CONFIG_CONTENT_ANALYZER_TARGET_FRAME_RATE"},
{ 258, "CONFIG_CONTENT_ANALYZER_CURRENT_STREAMING_STATE"},
{ 259, "CONFIG_CONTENT_ANALYZER_INITIAL_STREAMING_STATE"},
{ 260, "CONFIG_CONTENT_ANALYZER_TARGET_IP_ADDRESS"},
{ 261, "CONFIG_CONTENT_ANALYZER_TARGET_VSIP_GUID"},
{ 262, "CONFIG_CONTENT_ANALYZER_SUPPORTED_TYPE"},
{ 263, "CONFIG_CONTENT_ANALYZER_JPEG_ENCODING_STATE"},
{ 264, "CONFIG_CONTENT_ANALYZER_JPEG_FRAME_RATE"},
{ 265, "CONFIG_CONTENT_ANALYZER_JPEG_QUALITY"},
{ 266, "CONFIG_CONTENT_ANALYZER_SOURCE_INPUT_NUMBER"},
{ 267, "CONFIG_CONTENT_ANALYZER_ACTUAL_TYPE"},
{ 268, "CONFIG_CONTENT_ANALYZER_VERSION"},
{ 269, "CONFIG_CONTENT_ANALYZER_FORENSICS_METADATA_ENABLED"},
{ 270, "CONFIG_CONTENT_ANALYZER_POSSIBLE_SENSORS"},
{ 271, "CONFIG_CONTENT_ANALYZER_CONNECTION_MODE"},
{ 272, "CONFIG_CONTENT_ANALYZER_INTERNAL_PARAMETERS"},
{ 273, "CONFIG_CONTENT_ANALYZER_STATUS"},
{ 274, "CONFIG_CONTENT_ANALYZER_CURRENT_VIEW_ID"},
{ 275, "CONFIG_CONTENT_ANALYZER_SUPPORTED_FEATURES"},
{ 276, "CONFIG_CONTENT_ANALYZER_CURRENT_SENSOR"},
{ 277, "CONFIG_CONTENT_ANALYZER_AVAILABLE_SENSORS"},
{ 278, "CONFIG_CONTENT_ANALYZER_AUTO_DISABLE_SCHEDULES"},
{ 513, "CONFIG_NETWORK_QOS_TYPE"},
{ 514, "CONFIG_NETWORK_QOS_VIDEO_PRIORITY"},
{ 515, "CONFIG_NETWORK_QOS_AUDIO_PRIORITY"},
{ 516, "CONFIG_NETWORK_QOS_CONTROL_PRIORITY"},
{ 517, "CONFIG_NETWORK_QOS_TOS_VIDEO_PRIORITY"},
{ 518, "CONFIG_NETWORK_QOS_TOS_AUDIO_PRIORITY"},
{ 519, "CONFIG_NETWORK_QOS_TOS_CONTROL_PRIORITY"},
{ 769, "CONFIG_SYSTEM_MONITOR_MAX_FATAL_ERR_COUNT"},
{1025, "CONFIG_CONTENT_ANALYZER_VIEW_NAME"},
{1026, "CONFIG_CONTENT_ANALYZER_VIEW_IS_DEFINED"},
{1027, "CONFIG_CONTENT_ANALYZER_VIEW_SOURCE_INPUT_NUMBER"},
{1028, "CONFIG_CONTENT_ANALYZER_VIEW_SUPPORTED_FEATURES"},
{1281, "CONFIG_CAMALERT_PAINTOVER_MODE"},
{1282, "CONFIG_CAMALERT_PAINTOVER_SENSITIVITY_OFFSET"},
{1283, "CONFIG_CAMALERT_PAINTOVER_ALARM"},
{1284, "CONFIG_CAMALERT_PAINTOVER_ALARM_RESET"},
{1285, "CONFIG_CAMALERT_PAINTOVER_MEDIAN_THRES"},
{1286, "CONFIG_CAMALERT_PAINTOVER_STDDEV_THRES"},
{1287, "CONFIG_CAMALERT_PAINTOVER_MEDIAN"},
{1288, "CONFIG_CAMALERT_PAINTOVER_STDDEV"},
{1289, "CONFIG_CAMALERT_PAINTOVER_INPUT_NUMBER"},
{1290, "CONFIG_CAMALERT_PAINTOVER_ALARM_STATE"},
{1537, "CONFIG_CAMERA_TAMPERING_LIB_VERSION"},
{1538, "CONFIG_CAMERA_TAMPERING_INPUT_NUM"},
{1539, "CONFIG_CAMERA_TAMPERING_OOP_FRAME_RATE"},
{1540, "CONFIG_CAMERA_TAMPERING_OOP_ENABLE"},
{1541, "CONFIG_CAMERA_TAMPERING_OOP_SENSITIVITY_THRESHOLD"},
{1542, "CONFIG_CAMERA_TAMPERING_OOP_PERST_LEVEL"},
{1543, "CONFIG_CAMERA_TAMPERING_OOP_MASK"},
{1544, "CONFIG_CAMERA_TAMPERING_OOP_MASK_ENABLE"},
{1545, "CONFIG_CAMERA_TAMPERING_OOP_MASK_POLARITY"},
{1546, "CONFIG_CAMERA_TAMPERING_OOP_ALARM_STATUS"},
{1547, "CONFIG_CAMERA_TAMPERING_OOP_CURRENT_LEVEL"},
{1548, "CONFIG_CAMERA_TAMPERING_OOF_ENABLE"},
{1549, "CONFIG_CAMERA_TAMPERING_OOF_SENSITIVITY_THRESHOLD"},
{1550, "CONFIG_CAMERA_TAMPERING_OOF_PERST_LEVEL"},
{1551, "CONFIG_CAMERA_TAMPERING_OOF_MASK"},
{1552, "CONFIG_CAMERA_TAMPERING_OOF_MASK_ENABLE"},
{1553, "CONFIG_CAMERA_TAMPERING_OOF_MASK_POLARITY"},
{1554, "CONFIG_CAMERA_TAMPERING_OOF_ALARM_STATUS"},
{1555, "CONFIG_CAMERA_TAMPERING_OOF_CURRENT_LEVEL"},
{1556, "CONFIG_CAMERA_TAMPERING_OOF_FRAME_RATE"},
{1557, "CONFIG_CAMERA_TAMPERING_OOP_ILLUM_NORM"},
{4097, "CONFIG_VIDEO_ATTRIBUTE_BRIGHTNESS"},
{4098, "CONFIG_VIDEO_ATTRIBUTE_CONTRAST"},
{4099, "CONFIG_VIDEO_ATTRIBUTE_GAIN_U"},
{4100, "CONFIG_VIDEO_ATTRIBUTE_GAIN_V"},
{4101, "CONFIG_VIDEO_ATTRIBUTE_HUE"},
{4102, "CONFIG_VIDEO_ATTRIBUTE_MOTION_ENC"},
{4103, "CONFIG_VIDEO_ATTRIBUTE_SATURATION"},
{4104, "CONFIG_VIDEO_ATTRIBUTE_RECEIVER_MODE"},
{4105, "CONFIG_VIDEO_ATTRIBUTE_INPUT_OPTION"},
{4106, "CONFIG_VIDEO_ATTRIBUTE_H264_ENC"},
{4113, "CONFIG_VIDEO_COMPRESSION_DATA_FORMAT"},
{4114, "CONFIG_VIDEO_COMPRESSION_BLOCK_REFRESH"},
{4115, "CONFIG_VIDEO_COMPRESSION_FRAME_RATE"},
{4116, "CONFIG_VIDEO_COMPRESSION_OVERLAY_RATE"},
{4117, "CONFIG_VIDEO_COMPRESSION_QUANTIZATION"},
{4118, "CONFIG_VIDEO_COMPRESSION_BIT_RATE"},
{4119, "CONFIG_VIDEO_COMPRESSION_INTRA_INTERVAL"},
{4120, "CONFIG_VIDEO_COMPRESSION_QUANTIZATION_MIN"},
{4121, "CONFIG_VIDEO_COMPRESSION_MODE"},
{4122, "CONFIG_VIDEO_COMPRESSION_MODE_SUPPORTED"},
{4123, "CONFIG_VIDEO_COMPRESSION_FRAME_RATE_CONTROL"},
{4124, "CONFIG_VIDEO_COMPRESSION_TARGET_FILE_SIZE"},
{4125, "CONFIG_VIDEO_COMPRESSION_VFS_QUALITY"},
{4126, "CONFIG_VIDEO_ENHANCED_QUALITY_MODE"},
{4127, "CONFIG_VIDEO_COMPRESSION_FRAME_SKIPRATE"},
{4129, "CONFIG_VIDEO_INFO_ANALOG_FORMAT"},
{4130, "CONFIG_VIDEO_INFO_SUPPORTED_DATA_FORMAT"},
{4131, "CONFIG_VIDEO_INFO_SOURCE_INPUT"},
{4132, "CONFIG_VIDEO_INFO_ENCODER_NUMBER"},
{4133, "CONFIG_VIDEO_INFO_SINK_OUTPUT"},
{4134, "CONFIG_VIDEO_INFO_DECODER_NUMBER"},
{4135, "CONFIG_VIDEO_INFO_SECOND_CONNECTOR_STATE"},
{4136, "CONFIG_VIDEO_INFO_INPUT_STATE"},
{4137, "CONFIG_VIDEO_INFO_MAX_RESOLUTION"},
{4138, "CONFIG_VIDEO_INFO_SUPPORTED_MAX_RESOLUTION"},
{4139, "CONFIG_VIDEO_INFO_VIDEO_FORMAT_AUTODETECT"},
{4145, "CONFIG_VIDEO_STREAMING_STATE_CURRENT"},
{4146, "CONFIG_VIDEO_STREAMING_STATE_INITIAL"},
{4147, "CONFIG_VIDEO_STREAMING_TARGET_IP_ADDRESS"},
{4148, "CONFIG_VIDEO_STREAMING_TARGET_VSIP_GUID"},
{4149, "CONFIG_VIDEO_STREAMING_TRANSPORT_PROTOCOL"},
{4150, "CONFIG_VIDEO_STREAMING_RATE_CONTROL_MODE"},
{4151, "CONFIG_VIDEO_STREAMING_INPUT_FILTER_MODE"},
{4152, "CONFIG_VIDEO_STREAMING_ENCODER_MODE"},
{4153, "CONFIG_VIDEO_STREAMING_MAX_BIT_RATE"},
{4154, "CONFIG_VIDEO_STREAMING_DEFAULT_KEEP_ALIVE_ENABLE"},
{4160, "CONFIG_VIDEO_STREAMING_DYN_FILT_ENABLE"},
{4161, "CONFIG_VIDEO_DESTINATION_ADD"},
{4162, "CONFIG_VIDEO_DESTINATION_REMOVE"},
{4163, "CONFIG_VIDEO_STREAMING_RATE_CONTROL_MODE_SUPPORTED"},
{4176, "CONFIG_VIDEO_ENERGY_VECTOR_FREQUENCY"},
{4193, "CONFIG_VIDEO_WEB_MULTICAST_IP_ADDRESS"},
{4194, "CONFIG_VIDEO_WEB_MULTICAST_IP_PORT"},
{4208, "CONFIG_VIDEO_STREAMING_MAX_TX_SIZE"},
{4209, "CONFIG_VIDEO_STREAMING_NOISE_GEN_MODE"},
{4210, "CONFIG_VIDEO_STREAMING_NRF_MODE"},
{4211, "CONFIG_VIDEO_STREAMING_INTERLACED_MODE"},
{4212, "CONFIG_VIDEO_ROTATION_FILTER"},
{4213, "CONFIG_VIDEO_STARVING_MODE"},
{4214, "CONFIG_VIDEO_STARVING_DELAY"},
{4215, "CONFIG_VIDEO_DEBLOCKING_FILTER"},
{4216, "CONFIG_VIDEO_DEINTERLACING_MODE"},
{4217, "CONFIG_VIDEO_DECODER_QUAD_DISCOVERY_MODE"},
{4224, "CONFIG_VIDEO_ECODER_POWER"},
{4224, "CONFIG_VIDEO_ENCODER_POWER"},
{4225, "CONFIG_VIDEO_ENCODER_MAX_STREAMS"},
{4226, "CONFIG_VIDEO_ENCODER_MOTD_SUPPORTED"},
{4240, "CONFIG_VIDEO_COMPRESSION_H264_QUALITY"},
{4241, "CONFIG_VIDEO_COMPRESSION_H264_ADV_PROFILE"},
{4242, "CONFIG_VIDEO_COMPRESSION_H264_ADV_QUALITY"},
{4243, "CONFIG_VIDEO_COMPRESSION_H264_ADV_QUARTER_PEL"},
{4244, "CONFIG_VIDEO_COMPRESSION_H264_ADV_DEBLOCKING"},
{4245, "CONFIG_VIDEO_COMPRESSION_H264_ADV_DEBLOCK_LEVEL"},
{4246, "CONFIG_VIDEO_COMPRESSION_H264_ADV_CODING"},
{4247, "CONFIG_VIDEO_COMPRESSION_H264_ADV_MOTION_VECTOR_RANGE"},
{4248, "CONFIG_VIDEO_COMPRESSION_H264_MIN_QP"},
{4249, "CONFIG_VIDEO_COMPRESSION_H264_MAX_QP"},
{4250, "CONFIG_VIDEO_COMPRESSION_H264_RATE_CTRL"},
{4272, "CONFIG_VIDEO_LOW_RESOLUTION_MODE"},
{4273, "CONFIG_VIDEO_INPUT_STATE"},
{4304, "CONFIG_VIDEO_OUTPUT_MODE"},
{4305, "CONFIG_VIDEO_OUTPUT_MODE_SUPPORTED"},
{4306, "CONFIG_VIDEO_OUTPUT_FORMAT"},
{4307, "CONFIG_VIDEO_OUTPUT_FORMAT_SUPPORTED"},
{4314, "CONFIG_VIDEO_RTSP_RESOURCE_PATH"},
{4315, "CONFIG_VIDEO_RESOLUTION_RESOURCE_GROUP"},
{8193, "CONFIG_AUDIO_ATTRIBUTE_PITCH"},
{8194, "CONFIG_AUDIO_ATTRIBUTE_VOLUME"},
{8208, "CONFIG_AUDIO_INPUT_TYPE"},
{8209, "CONFIG_AUDIO_COMPRESSION_DATA_FORMAT"},
{8210, "CONFIG_AUDIO_SAMPLING_RATE"},
{8211, "CONFIG_AUDIO_COMPRESSION_CHANNEL"},
{8212, "CONFIG_AUDIO_COMPRESSION_GAIN"},
{8213, "CONFIG_AUDIO_COMPRESSION_SAMPLE_BITS"},
{8214, "CONFIG_AUDIO_SAMPLING_RATE_SUPPORTED"},
{8225, "CONFIG_AUDIO_INFO_SUPPORTED_DATA_FORMAT"},
{8226, "CONFIG_AUDIO_INFO_INPUT_NUMBER"},
{8227, "CONFIG_AUDIO_INFO_ENCODER_NUMBER"},
{8228, "CONFIG_AUDIO_INFO_SUPPORTED_INPUT_TYPE"},
{8240, "CONFIG_AUDIO_PLAYMODE"},
{8241, "CONFIG_AUDIO_GAIN_IN_DB"},
{8242, "CONFIG_AUDIO_GAIN_IN_DB_POSSIBLE_RANGE"},
{8243, "CONFIG_AUDIO_BIAS_STATE"},
{8244, "CONFIG_AUDIO_BIAS_IN_VOLT"},
{8245, "CONFIG_AUDIO_BIAS_IN_VOLT_POSSIBLE_RANGE"},
{8246, "CONFIG_AUDIO_GAIN_STATE"},
{8257, "CONFIG_AUDIO_STREAMING_STATE_INITIAL"},
{8258, "CONFIG_AUDIO_WEB_MULTICAST_IP_ADDRESS"},
{8259, "CONFIG_AUDIO_WEB_MULTICAST_IP_PORT"},
{8260, "CONFIG_AUDIO_STREAMING_TRANSPORT_PROTOCOL"},
{8261, "CONFIG_AUDIO_DESTINATION_ADD"},
{8262, "CONFIG_AUDIO_DESTINATION_REMOVE"},
{8263, "CONFIG_AUDIO_AUDIO_MODE"},
{8264, "CONFIG_AUDIO_STREAMING_DEFAULT_KEEP_ALIVE_ENABLE"},
{8272, "CONFIG_AUDIO_STREAMING_TARGET_IP_ADDRESS"},
{8273, "CONFIG_AUDIO_STREAMING_TARGET_VSIP_GUID"},
{8410, "CONFIG_AUDIO_RTSP_RESOURCE_PATH"},
{8411, "CONFIG_AUDIO_INPUT_RESOURCE_GROUP"},
{12289, "CONFIG_SERIAL_PORT_BAUD_RATE"},
{12290, "CONFIG_SERIAL_PORT_DATA_BITS"},
{12291, "CONFIG_SERIAL_PORT_PARITY"},
{12292, "CONFIG_SERIAL_PORT_STOP_BITS"},
{12293, "CONFIG_SERIAL_PORT_READ_ONCE"},
{12294, "CONFIG_SERIAL_PORT_WRITE_ONCE"},
{12295, "CONFIG_SERIAL_PORT_READ_INTERCHAR_TIMEOUT"},
{12296, "CONFIG_SERIAL_PORT_READ_TOTAL_TIMEOUT"},
{12297, "CONFIG_SERIAL_PORT_LINE_DRIVER"},
{12305, "CONFIG_SERIAL_HANDSHAKE"},
{12306, "CONFIG_SERIAL_FLOW_SOFTWARE"},
{12307, "CONFIG_SERIAL_FLOW_CTS"},
{12308, "CONFIG_SERIAL_FLOW_DSR"},
{12309, "CONFIG_SERIAL_CONTROL_RTS"},
{12310, "CONFIG_SERIAL_CONTROL_DTR"},
{12311, "CONFIG_SERIAL_CONTROL_SOFTWARE"},
{12321, "CONFIG_SERIAL_STREAMING_STATE_INITIAL"},
{12322, "CONFIG_SERIAL_STREAMING_TRANSPORT_PROTOCOL"},
{12337, "CONFIG_SERIAL_RS422_485_OPERATING_MODE"},
{12338, "CONFIG_SERIAL_STREAMING_TARGET_IP_ADDRESS"},
{12339, "CONFIG_SERIAL_STREAMING_TARGET_IP_ADDRESS2"},
{12340, "CONFIG_SERIAL_STREAMING_TARGET_IP_ADDRESS3"},
{12341, "CONFIG_SERIAL_STREAMING_TARGET_IP_ADDRESS4"},
{12342, "CONFIG_SERIAL_INFO_SUPPORTED_OPER_MODE"},
{16385, "CONFIG_IO_PIN_STATE"},
{20481, "CONFIG_SYSTEM_REBOOTREQUIRED"},
{20482, "CONFIG_SYSTEM_DEVICE_NAME"},
{20483, "CONFIG_SYSTEM_DEVICE_TYPE"},
{20484, "CONFIG_SYSTEM_UTC_DATETIME"},
{20485, "CONFIG_SYSTEM_GMT_OFFSET"},
{20486, "CONFIG_SYSTEM_COUNTRY_CODE"},
{20487, "CONFIG_SYSTEM_COUNTRY_CODE_CAP"},
{20488, "CONFIG_SYSTEM_NTP_RTP_SYNCHRO_PAIR"},
{20489, "CONFIG_SYSTEM_BOARD_TEMPERATURE"},
{20490, "CONFIG_SYSTEM_TIMEZONE"},
{20491, "CONFIG_SYSTEM_TIMEZONE_SUPPORTED_LIST"},
{20497, "CONFIG_SYSTEM_FIRMWARE_VERSION"},
{20498, "CONFIG_SYSTEM_UPTIME"},
{20499, "CONFIG_SYSTEM_IP_FIRMWARE_UPDATE_SUPPORT"},
{20500, "CONFIG_SYSTEM_FTP_FIRMWARE_UPDATE_SUPPORT"},
{20501, "CONFIG_SYSTEM_XML_REPORT_GENERATION"},
{20502, "CONFIG_SYSTEM_GLOBAL_SECURITY_PROFILE"},
{20503, "CONFIG_SYSTEM_TELNET_SESSION"},
{20504, "CONFIG_SYSTEM_IDENTIFY_STATUS"},
{20505, "CONFIG_SYSTEM_AUDIO_HARDWARE"},
{20512, "CONFIG_SYSTEM_FIRMWARE_METHOD_HTTP_SUPPORTED"},
{20529, "CONFIG_SYSTEM_TIME_NTP_SERVER_USAGE"},
{20530, "CONFIG_SYSTEM_TIME_NTP_SERVER_IP_ADDRESS"},
{20531, "CONFIG_SYSTEM_TIME_NTP_SERVER_IP_PORT"},
{20532, "CONFIG_SYSTEM_TIME_NTP_STATUS"},
{20533, "CONFIG_SYSTEM_DST_ENABLED"},
{20545, "CONFIG_SYSTEM_LOCAL_IP_ADDRESS"},
{20546, "CONFIG_SYSTEM_LOCAL_IP_NETMASK"},
{20547, "CONFIG_SYSTEM_GATEWAY"},
{20548, "CONFIG_SYSTEM_DHCP_STATE"},
{20549, "CONFIG_SYSTEM_HOST_NAME"},
{20560, "CONFIG_SYSTEM_VOLATILE_CONNECTIONS"},
{20561, "CONFIG_SYSTEM_MONITOR_SUPPORTED_FEATURES"},
{20562, "CONFIG_SYSTEM_SET_ID"},
{20563, "CONFIG_SYSTEM_HTTP_ACCESS_ENABLE"},
{20564, "CONFIG_SYSTEM_HTTP_ACCESS_SECURED_ENABLE"},
{20565, "CONFIG_SYSTEM_LED_STATE_ENABLE"},
{20566, "CONFIG_SYSTEM_RESET_BUTTON_STATE"},
{20576, "CONFIG_SYSTEM_LICENSING_SUPPORTED"},
{20577, "CONFIG_SYSTEM_LICENSE"},
{20578, "CONFIG_SYSTEM_LATEST_SUPPORTED_LICENSE_VERSION"},
{20579, "CONFIG_SYSTEM_LAST_REMOVAL_CODE"},
{20580, "CONFIG_SYSTEM_LICENSE_STATUS"},
{20581, "CONFIG_SYSTEM_LICENSE_USAGE"},
{20582, "CONFIG_SYSTEM_SERIAL_NUMBER"},
{20583, "CONFIG_SYSTEM_SERIAL_NUMBER_STAMPER"},
{20586, "CONFIG_SYSTEM_PERFORMANCE_OPTIONS_SUPP"},
{20587, "CONFIG_SYSTEM_PERFORMANCE_OPTIONS"},
{20592, "CONFIG_SYSTEM_SNMP_ENABLE"},
{20593, "CONFIG_SYSTEM_SNMP_SYSTEM_CONTACT"},
{20594, "CONFIG_SYSTEM_SNMP_SYSTEM_LOCATION"},
{20595, "CONFIG_SYSTEM_SNMP_RO_COMMUNITY_NAME"},
{20596, "CONFIG_SYSTEM_SNMP_RO_USER_NAME"},
{20597, "CONFIG_SYSTEM_SNMP_RO_USER_AUTH_TYPE"},
{20598, "CONFIG_SYSTEM_SNMP_RO_USER_AUTH_PASSWORD"},
{20599, "CONFIG_SYSTEM_SNMP_RO_USER_PRIVACY_PROTOCOL"},
{20600, "CONFIG_SYSTEM_SNMP_RO_USER_PRIVACY_PASSWORD"},
{20601, "CONFIG_SYSTEM_SNMP_TRAP_PRIMARY_DEST_ADDRESS"},
{20602, "CONFIG_SYSTEM_SNMP_TRAP_BACKUP_DEST_ADDRESS"},
{20608, "CONFIG_SYSTEM_PROPERTY_RTSP_SUPPORT"},
{24577, "CONFIG_IF_FILTER_ALLOW_MCAST_FWD"},
{32769, "CONFIG_WLS_MAC_ASSOCIATIONS_LIST_CLIENT"},
{32770, "CONFIG_WLS_MAC_ASSOCIATIONS_LIST_SLAVE"},
{32771, "CONFIG_WLS_MODE"},
{32772, "CONFIG_WLS_POSSIBLE_MODE"},
{32773, "CONFIG_WLS_BAND"},
{32774, "CONFIG_WLS_POSSIBLE_BAND"},
{32775, "CONFIG_WLS_CHANNEL"},
{32776, "CONFIG_WLS_POSSIBLE_CHANNEL"},
{32777, "CONFIG_WLS_BIT_RATE"},
{32778, "CONFIG_WLS_POSSIBLE_BIT_RATE"},
{32779, "CONFIG_WLS_PASS_KEY"},
{32780, "CONFIG_WLS_ENCRYPTION_TYPE"},
{32781, "CONFIG_WLS_POSSIBLE_ENCRYPTION_TYPE"},
{32782, "CONFIG_WLS_KEY_DISTRIBUTION"},
{32783, "CONFIG_WLS_POSSIBLE_KEY_DISTRIBUTION"},
{32784, "CONFIG_WLS_SSID"},
{32785, "CONFIG_WLS_RSSI"},
{32786, "CONFIG_WLS_ROLE"},
{32787, "CONFIG_WLS_POSSIBLE_ROLE"},
{32788, "CONFIG_WLS_FILTER_WLS_TO_WLS_MCAST"},
{32789, "CONFIG_WLS_CURRENT_TX_BIT_RATE"},
{32790, "CONFIG_WLS_CURRENT_SPCF_MASTER"},
{32791, "CONFIG_WLS_DIST_RANGE"},
{32792, "CONFIG_WLS_POSSIBLE_DIST_RANGE"},
{32793, "CONFIG_WLS_CURRENT_RX_BIT_RATE"},
{32794, "CONFIG_WLS_STARTING_ORDER"},
{32795, "CONFIG_WLS_TRANSMIT_POWER_SCALE"},
{32796, "CONFIG_WLS_OPERATING_MODE"},
{32797, "CONFIG_WLS_ANTENNA_GAIN"},
{32798, "CONFIG_WLS_SENSITIVITY_THRESHOLD"},
{32799, "CONFIG_WLS_LINK_INFO"},
{32800, "CONFIG_WLS_MIN_MARGIN"},
{32801, "CONFIG_WLS_CHANNEL_BW"},
{32802, "CONFIG_WLS_POSSIBLE_CHANNEL_BW"},
{32803, "CONFIG_WLS_WPA_AUTH_TYPE"},
{32804, "CONFIG_WLS_POSSIBLE_WPA_AUTH_TYPES"},
{32805, "CONFIG_WLS_WPA_NEGOTIATION_TIMEOUT"},
{32807, "CONFIG_WLS_WPA_PMK_LIFETIME"},
{32808, "CONFIG_WLS_WPA_EAP_LOGIN"},
{32809, "CONFIG_WLS_WPA_EAP_PASSWORD"},
{32810, "CONFIG_WLS_WPA_CA_CERTIFICATE"},
{32811, "CONFIG_WLS_WPA_UNIT_CERTIFICATE"},
{32812, "CONFIG_WLS_WPA_UNIT_PRIVATE_KEY"},
{32813, "CONFIG_WLS_WPA_PRIVATE_KEY_PASSPHRASE"},
{32814, "CONFIG_WLS_ANTENNA_SELECTION"},
{32815, "CONFIG_WLS_INTERCHANNEL_INTERFERENCE"},
{32816, "CONFIG_WLS_SPCF_MAX_FRAME_PER_BURST"},
{32817, "CONFIG_WLS_SPCF_MAX_POLLING_LATENCY"},
{36865, "CONFIG_CAPABILITY_NAME"},
{36866, "CONFIG_CAPABILITY_INSTANCE"},
{36867, "CONFIG_CAPABILITY_EOD_STATS_SUPPORTED"},
{36868, "CONFIG_CAPABILITY_LICENSABLE"},
{36869, "CONFIG_CAPABILITY_LICENSING_STATUS"},
{36870, "CONFIG_CAPABILITY_ENABLED"},
{40961, "CONFIG_MOTD_UPPER_THRESHOLD"},
{40962, "CONFIG_MOTD_LOWER_THRESHOLD"},
{40963, "CONFIG_MOTD_NB_FRAMES"},
{40964, "CONFIG_MOTD_VECT_LENGTH"},
{40965, "CONFIG_MOTD_LEFT_TO_RIGHT"},
{40966, "CONFIG_MOTD_RIGHT_TO_LEFT"},
{40967, "CONFIG_MOTD_TOP_TO_BOTTOM"},
{40968, "CONFIG_MOTD_BOTTOM_TO_TOP"},
{40969, "CONFIG_MOTD_MASK_STRING"},
{40970, "CONFIG_MOTD_MASK_ENABLED"},
{40971, "CONFIG_MOTD_STATE"},
{40972, "CONFIG_MOTD_INPUT_INDEX"},
{40973, "CONFIG_MOTD_ALARM_STATE"},
{45057, "CONFIG_PREA_MEMSPACE"},
{45058, "CONFIG_PREA_STATE"},
{45059, "CONFIG_PREA_RECORDING_STATE"},
{45060, "CONFIG_PREA_INPUT_INDEX"},
{49153, "CONFIG_PREPOST_CURRENT_STATE"},
{49154, "CONFIG_PREPOST_INITIAL_STATE"},
{49155, "CONFIG_PREPOST_OPERATIONAL_MODE"},
{49156, "CONFIG_PREPOST_CR_IP"},
{49157, "CONFIG_PREPOST_CR_PORT"},
{49158, "CONFIG_PREPOST_CR_USERNAME"},
{49159, "CONFIG_PREPOST_CR_PASSWORD"},
{49160, "CONFIG_PREPOST_CR_CLIP_DIRECTORY"},
{49161, "CONFIG_PREPOST_TRIGGER_IP"},
{49162, "CONFIG_PREPOST_TRIGGER_PORT"},
{49163, "CONFIG_PREPOST_TRIGGER_USERNAME"},
{49164, "CONFIG_PREPOST_TRIGGER_PASSWORD"},
{49165, "CONFIG_PREPOST_TRIGGER_CLIP_DIRECTORY"},
{49166, "CONFIG_PREPOST_PRE_LENGTH"},
{49167, "CONFIG_PREPOST_POST_LENGTH"},
{49168, "CONFIG_PREPOST_FALLING_RISING"},
{49169, "CONFIG_PREPOST_CR_CLIP_LENGTH"},
{53249, "CONFIG_VSIP_PROTOCOL_PORT_NUMBER"},
{53250, "CONFIG_VSIP_PROTOCOL_MULTICAST_IP_ADDRESS"},
{53251, "CONFIG_VSIP_PROTOCOL_DISCOVERY_IP_ADDRESS"},
{53252, "CONFIG_VSIP_TCP_HEARTBEAT_STATE"},
{53253, "CONFIG_VSIP_EVENT_MONITOR_IP_ADDRESS"},
{53254, "CONFIG_VSIP_EVENT_MONITOR_TCP_STATE"},
{53255, "CONFIG_VSIP_EVENT_MAX_REPEAT_COUNT"},
{57345, "CONFIG_OSD_DISPLAY_LOGO"},
{57346, "CONFIG_OSD_TX_DEVICE_NAME"},
{57347, "CONFIG_OSD_EVENT_DESCRIPTION"},
{57348, "CONFIG_OSD_DISPLAY_CUSTOM_ITEM"},
{57349, "CONFIG_OSD_FONT_HEIGHT"},
{57350, "CONFIG_OSD_CUSTOM_MODE"},
{57351, "CONFIG_OSD_SHOW_TRANSMITTER_NAME"},
{57352, "CONFIG_OSD_DECODER_STARVE"},
{57353, "CONFIG_OSD_DISPLAY_OPTION"},
{57354, "CONFIG_OSD_DISPLAY_STARTUP_INFO"},
{57355, "CONFIG_OSD_TRANSPARENCY"},
{57356, "CONFIG_OSD_DISPLAY_CUSTOM_ITEM_SUPPORTED"},
{57357, "CONFIG_OSD_DECODER_STARVE_SUPPORTED"},
{61441, "CONFIG_VIDEO_SENSOR_SOURCE_TYPE"},
{61442, "CONFIG_VIDEO_SENSOR_PRESET"},
{61443, "CONFIG_VIDEO_SENSOR_WHITE_BALANCE_BIAS"},
{61444, "CONFIG_VIDEO_SENSOR_BACKLIGHT_ENABLE"},
{61445, "CONFIG_VIDEO_SENSOR_GAMMA_MODE"},
{61446, "CONFIG_VIDEO_SENSOR_GAMMA_VALUE"},
{61447, "CONFIG_VIDEO_SENSOR_LENS_TYPE"},
{61448, "CONFIG_VIDEO_SENSOR_NORMAL_ZONE_MODE"},
{61449, "CONFIG_VIDEO_SENSOR_BACKLIGHT_ZONE_MODE"},
{61450, "CONFIG_VIDEO_SENSOR_WHITE_BALANCE_BIAS_MIN"},
{61451, "CONFIG_VIDEO_SENSOR_WHITE_BALANCE_BIAS_MAX"},
{61452, "CONFIG_VIDEO_SENSOR_WHITE_BALANCE_BIAS_STEP"},
{61453, "CONFIG_VIDEO_SENSOR_GAMMA_MIN"},
{61454, "CONFIG_VIDEO_SENSOR_GAMMA_MAX"},
{61455, "CONFIG_VIDEO_SENSOR_GAMMA_STEP"},
{61456, "CONFIG_VIDEO_SENSOR_NORMAL_ZONE_CUSTOM_STRING"},
{61457, "CONFIG_VIDEO_SENSOR_BACKLIGHT_ZONE_CUSTOM_STRING"},
{61458, "CONFIG_VIDEO_SENSOR_SAVE_USER_SETTINGS"},
{61459, "CONFIG_VIDEO_SENSOR_VERSION"},
{61460, "CONFIG_VIDEO_SENSOR_GAMMA_POSSIBLE_RANGE"},
{61461, "CONFIG_VIDEO_SENSOR_WHITE_BIAS_POSSIBLE_RANGE"},
{61462, "CONFIG_VIDEO_SENSOR_DAYNIGHT_CONTROL"},
{61463, "CONFIG_VIDEO_SENSOR_DAYNIGHT_COLOR_MODE"},
{61464, "CONFIG_VIDEO_SENSOR_DAYNIGHT_GAIN_LIMIT"},
{61465, "CONFIG_VIDEO_SENSOR_DAYNIGHT_THRES_IN_GAIN"},
{61466, "CONFIG_VIDEO_SENSOR_DAYNIGHT_THRES_OUT_GAIN"},
{61467, "CONFIG_VIDEO_SENSOR_DAYNIGHT_GAIN_BOOST"},
{61468, "CONFIG_VIDEO_SENSOR_DAYNIGHT_GAIN_LIMIT_MIN"},
{61469, "CONFIG_VIDEO_SENSOR_DAYNIGHT_GAIN_LIMIT_MAX"},
{61470, "CONFIG_VIDEO_SENSOR_DAYNIGHT_GAIN_LIMIT_STEP"},
{61471, "CONFIG_VIDEO_SENSOR_DAYNIGHT_THRES_IN_MIN"},
{61472, "CONFIG_VIDEO_SENSOR_DAYNIGHT_THRES_IN_MAX"},
{61473, "CONFIG_VIDEO_SENSOR_DAYNIGHT_THRES_IN_STEP"},
{61474, "CONFIG_VIDEO_SENSOR_DAYNIGHT_THRES_OUT_MIN"},
{61475, "CONFIG_VIDEO_SENSOR_DAYNIGHT_THRES_OUT_MAX"},
{61476, "CONFIG_VIDEO_SENSOR_DAYNIGHT_THRES_OUT_STEP"},
{61477, "CONFIG_VIDEO_SENSOR_STATUS_DAYNIGHT"},
{61478, "CONFIG_VIDEO_SENSOR_MODULE_TYPE"},
{61479, "CONFIG_VIDEO_SENSOR_FIRMWARE_REVISION"},
{61480, "CONFIG_VIDEO_SENSOR_DYNAMO_REVISION"},
{61481, "CONFIG_VIDEO_SENSOR_DYNAMITE_REVISION"},
{61483, "CONFIG_VIDEO_SENSOR_STATUS_ORIENTATION_ANGLE"},
{61484, "CONFIG_VIDEO_SENSOR_DAYNIGHT_GAIN_LIMIT_POSSIBLE_RANGE"},
{61485, "CONFIG_VIDEO_SENSOR_DAYNIGHT_THRES_IN_POSSIBLE_RANGE"},
{61486, "CONFIG_VIDEO_SENSOR_DAYNIGHT_THRES_OUT_POSSIBLE_RANGE"},
{61487, "CONFIG_VIDEO_SENSOR_LOAD_FACTORY_DEFAULT"},
{61488, "CONFIG_VIDEO_SENSOR_NTSC_50HZ_ENVIRONMENT"},
{61489, "CONFIG_VIDEO_SENSOR_MAX_SLOW_SHUTTER_SPEED_LIMIT"},
{61490, "CONFIG_VIDEO_SENSOR_DAYNIGHT_METER_DELAY"},
{61491, "CONFIG_VIDEO_SENSOR_DAYNIGHT_VALIDATE_DELAY"},
{61504, "CONFIG_VIDEO_SENSOR_C215_PRESET_POS_SELECT"},
{61505, "CONFIG_VIDEO_SENSOR_C215_WHITE_BAL_MODE"},
{61506, "CONFIG_VIDEO_SENSOR_C215_AGC_MODE"},
{61507, "CONFIG_VIDEO_SENSOR_C215_BACKLIGHT_COMP_MODE"},
{61508, "CONFIG_VIDEO_SENSOR_C215_BW_MODE"},
{61509, "CONFIG_VIDEO_SENSOR_C215_ZOOM_POSITION"},
{61510, "CONFIG_VIDEO_SENSOR_C215_FOCUS_POSITION"},
{61511, "CONFIG_VIDEO_SENSOR_C215_FOCUS_FAR"},
{61512, "CONFIG_VIDEO_SENSOR_C215_FOCUS_NEAR"},
{61513, "CONFIG_VIDEO_SENSOR_C215_FOCUS_STOP"},
{61514, "CONFIG_VIDEO_SENSOR_C215_ZOOM_TELE"},
{61515, "CONFIG_VIDEO_SENSOR_C215_ZOOM_WIDE"},
{61516, "CONFIG_VIDEO_SENSOR_C215_ZOOM_STOP"},
{61517, "CONFIG_VIDEO_SENSOR_C215_ALL_STOP"},
{61518, "CONFIG_VIDEO_SENSOR_C215_ENTER_MEMORY"},
{61519, "CONFIG_VIDEO_SENSOR_C215_SAVE_AS_POSITION"},
{61520, "CONFIG_VIDEO_SENSOR_C215_EXTEND_POSITION_CLEAR"},
{61521, "CONFIG_VIDEO_SENSOR_C215_ALL_CLEAR"},
{61522, "CONFIG_VIDEO_SENSOR_C215_MANUAL_WHITE_BALANCE"},
{61523, "CONFIG_VIDEO_SENSOR_C215_SHUTTER_SPEED"},
{0, NULL}
};
value_string_ext EVsipConfigItem_vals_ext = VALUE_STRING_EXT_INIT(EVsipConfigItem_vals);
const value_string EVsipEventType_vals[] =
{
{ 1, "Input Pin State Change"},
{ 2, "Analog Video Input State Change"},
{ 3, "Motion Detection State Change"},
{ 4, "Device Temperature Critical"},
{ 5, "Device Temperature Above Normal"},
{ 8, "Video Decoder Packet Loss"},
{ 9, "Video Decoder State"},
{10, "Fatal Message Logged"},
{12, "Last Event Repeated"},
{16, "Camera Tampering Detection"},
{0, NULL}
};
const value_string EVsipErrorCode_vals[] =
{
{ 0, "VSIP_ERROR_CODE_SUCCESS"},
{ 1, "VSIP_ERROR_CODE_FAILURE"},
{ 3, "VSIP_ERROR_CODE_UNKNOWNCAPABILITY"},
{4096, "VSIP_ERROR_CODE_ALREADY_EXISTS"},
{4097, "VSIP_ERROR_CODE_DOESNT_EXIST"},
{4098, "VSIP_ERROR_CODE_INVALID_ARGUMENTS"},
{4099, "VSIP_ERROR_CODE_MAXIMUM_REACHED"},
{4100, "VSIP_ERROR_CODE_ALREADY_REMOVED"},
{4101, "VSIP_ERROR_CODE_WRONG_DEVICE"},
{8192, "VSIP_ERROR_CODE_CA_STATUS_BAD_SIGNAL"},
{8193, "VSIP_ERROR_CODE_CA_STATUS_SEARCHING"},
{8194, "VSIP_ERROR_CODE_CA_STATUS_KNOWN_VIEW"},
{8195, "VSIP_ERROR_CODE_CA_STATUS_UNKNOWN_VIEW"},
{8197, "VSIP_ERROR_CODE_CA_DISABLED"},
{8198, "VSIP_ERROR_CODE_CA_NOT_STARTED"},
{8208, "VSIP_ERROR_CODE_VIEW_NAME_ALREADY_EXISTS"},
{8209, "VSIP_ERROR_CODE_CANNOT_DELETE_LAST_VIEW"},
{8210, "VSIP_ERROR_CODE_RULE_NOT_SUPPORTED"},
{8224, "VSIP_ERROR_CODE_XML_INVALID_FORMAT"},
{8226, "VSIP_ERROR_CODE_XML_MISSING_ELEMENT"},
{8227, "VSIP_ERROR_CODE_XML_INVALID_VALUE"},
{12288, "VSIP_ERROR_CODE_FEATURE_NOT_SUPPORTED"},
{0, NULL}
};
value_string_ext EVsipErrorCode_vals_ext = VALUE_STRING_EXT_INIT(EVsipErrorCode_vals);
/* Global module variables. */
static int proto_vsip = -1;
static int hf_vsip_ValueTypeString_Size = -1;
static int hf_vsip_ValueTypeBinary_Size = -1;
static int hf_vsip_PingReq_ReplyAddress = -1;
static int hf_vsip_PingReq_ReplyPort = -1;
static int hf_vsip_PingReq_ConnType = -1;
static int hf_vsip_PingResp_SuppConnTypes_VOLATILE = -1;
static int hf_vsip_PingResp_SuppConnTypes_RTP = -1;
static int hf_vsip_PingResp_SuppConnTypes_SSL = -1;
static int hf_vsip_PingResp_SuppConnTypes_UDP_BROADCAST = -1;
static int hf_vsip_PingResp_SuppConnTypes_TCP_CLIENT = -1;
static int hf_vsip_PingResp_SuppConnTypes_TCP_SERVER = -1;
static int hf_vsip_PingResp_SuppConnTypes_UDP_MULTICAST = -1;
static int hf_vsip_PingResp_SuppConnTypes_UDP_UNICAST = -1;
static int hf_vsip_PingResp_DeviceIP = -1;
static int hf_vsip_PingResp_DevicePort = -1;
static int hf_vsip_PingResp_SuppConnTypes = -1;
static int hf_vsip_ContentTypeSwitchReq_DeviceGUID = -1;
static int hf_vsip_PingResp_DeviceGUID = -1;
static int hf_vsip_PingResp_VendorID = -1;
static int hf_vsip_PingResp_ProductType = -1;
static int hf_vsip_PingResp_Status = -1;
static int hf_vsip_PingResp_SubtypeLen = -1;
static int hf_vsip_PingResp_Subtype = -1;
static int hf_vsip_ContentTypeSwitchReq_ApplicationGUID = -1;
static int hf_vsip_ContentTypeSwitchReq_ContentType = -1;
static int hf_vsip_ContentTypeSwitchResp_DeviceGUID = -1;
static int hf_vsip_ContentTypeSwitchResp_SwitchResult = -1;
static int hf_vsip_GetCapabilitiesReq_DisabledCapabilities = -1;
static int hf_vsip_GetCapabilitiesResp_CapabilityArray_EntityType = -1;
static int hf_vsip_GetCapabilitiesResp_CapabilityArray_CapabilityGUID = -1;
static int hf_vsip_GetCapabilitiesResp_CapabilityArray_VendorID = -1;
static int hf_vsip_GetCapabilitiesResp_CapabilityArray_VersionNumber = -1;
static int hf_vsip_GetCapabilitiesResp_CapabilityCount = -1;
static int hf_vsip_StartDevice_CapabilityGUID = -1;
static int hf_vsip_StartDevice_TargetAddress = -1;
static int hf_vsip_StartDevice_TargetPort = -1;
static int hf_vsip_StartDevice_LocalPort = -1;
static int hf_vsip_StartDevice_ConnectionType = -1;
static int hf_vsip_StartDeviceEx_CapabilityGUID = -1;
static int hf_vsip_StartDeviceEx_TargetAddress = -1;
static int hf_vsip_StartDeviceEx_TargetPort = -1;
static int hf_vsip_StartDeviceEx_LocalPort = -1;
static int hf_vsip_StartDeviceEx_ConnectionType = -1;
static int hf_vsip_StartDeviceEx_TargetGUID = -1;
static int hf_vsip_StopDevice_CapabilityGUID = -1;
static int hf_vsip_StopDeviceEx_CapabilityGUID = -1;
static int hf_vsip_StopDeviceEx_TargetGUID = -1;
static int hf_vsip_SetConfigReq_ConfigItemArray_Value_ShortValue = -1;
static int hf_vsip_SetConfigReq_ConfigItemArray_ValueType = -1;
static int hf_vsip_SetConfigReq_ConfigItemArray_ConfigItemID = -1;
static int hf_vsip_SetConfigReq_ConfigItemArray_Value_IntValue = -1;
static int hf_vsip_SetConfigReq_ConfigItemArray_Value_StringValue = -1;
static int hf_vsip_SetConfigReq_ConfigItemArray_Value_UintValue = -1;
static int hf_vsip_SetConfigReq_ConfigItemArray_Value_GuidValue = -1;
static int hf_vsip_SetConfigReq_ConfigItemArray_Value_FloatValue = -1;
static int hf_vsip_SetConfigReq_ConfigItemArray_Value_BinaryValue = -1;
static int hf_vsip_SetConfigReq_CapabilityGUID = -1;
static int hf_vsip_SetConfigReq_ConfigItemCount = -1;
static int hf_vsip_GetConfigReq_ConfigItemArray_ConfigItemID = -1;
static int hf_vsip_GetConfigReq_CapabilityGUID = -1;
static int hf_vsip_GetConfigReq_ConfigItemCount = -1;
static int hf_vsip_GetConfigResp_ConfigItemArray_ConfigItemID = -1;
static int hf_vsip_GetConfigResp_ConfigItemArray_ValueType = -1;
static int hf_vsip_GetConfigResp_ConfigItemArray_Value_CharValue = -1;
static int hf_vsip_GetConfigResp_ConfigItemArray_Value_ShortValue = -1;
static int hf_vsip_GetConfigResp_ConfigItemArray_Value_IntValue = -1;
static int hf_vsip_GetConfigResp_ConfigItemArray_Value_StringValue = -1;
static int hf_vsip_GetConfigResp_ConfigItemArray_Value_UintValue = -1;
static int hf_vsip_GetConfigResp_ConfigItemArray_Value_GuidValue = -1;
static int hf_vsip_GetConfigResp_ConfigItemArray_Value_FloatValue = -1;
static int hf_vsip_GetConfigResp_ConfigItemArray_Value_BinaryValue = -1;
static int hf_vsip_SetConfigReq_ConfigItemArray_Value_CharValue = -1;
static int hf_vsip_GetConfigResp_CapabilityGUID = -1;
static int hf_vsip_GetConfigResp_ConfigItemCount = -1;
static int hf_vsip_SendCommand_CapabilityGUID = -1;
static int hf_vsip_SendCommand_CommandCode = -1;
static int hf_vsip_SendCommand_Arg1 = -1;
static int hf_vsip_SendCommand_Arg2 = -1;
static int hf_vsip_SendCommandEx_AddArgsArray_ValueType = -1;
static int hf_vsip_SendCommandEx_AddArgsArray_Value_CharValue = -1;
static int hf_vsip_SendCommandEx_AddArgsArray_Value_ShortValue = -1;
static int hf_vsip_SendCommandEx_AddArgsArray_Value_IntValue = -1;
static int hf_vsip_SendCommandEx_AddArgsArray_Value_StringValue = -1;
static int hf_vsip_SendCommandEx_AddArgsArray_Value_UintValue = -1;
static int hf_vsip_SendCommandEx_AddArgsArray_Value_GuidValue = -1;
static int hf_vsip_SendCommandEx_AddArgsArray_Value_FloatValue = -1;
static int hf_vsip_SendCommandEx_AddArgsArray_Value_BinaryValue = -1;
static int hf_vsip_SendCommandEx_CapabilityGUID = -1;
static int hf_vsip_SendCommandEx_CommandCode = -1;
static int hf_vsip_SendCommandEx_Arg1 = -1;
static int hf_vsip_SendCommandEx_Arg2 = -1;
static int hf_vsip_SendCommandEx_NumAddArgs = -1;
static int hf_vsip_EventNotify_CapabilityGUID = -1;
static int hf_vsip_EventNotify_EventType = -1;
static int hf_vsip_EventNotify_EventArgument = -1;
static int hf_vsip_EventSubscribeReq_ReceiverAddress = -1;
static int hf_vsip_EventSubscribeReq_ReceiverPort = -1;
static int hf_vsip_EventSubscribeReq_ConnectionType = -1;
static int hf_vsip_EventSubscribeExReq_ReceiverAddress = -1;
static int hf_vsip_EventSubscribeExReq_ReceiverPort = -1;
static int hf_vsip_EventSubscribeExReq_ConnectionType = -1;
static int hf_vsip_EventSubscribeExReq_DestinationGUID = -1;
static int hf_vsip_ErrorResponse_RequestMessageType = -1;
static int hf_vsip_ErrorResponse_StatusCode = -1;
static int hf_vsip_ErrorVAResponse_AddArgsArray_ValueType = -1;
static int hf_vsip_ErrorVAResponse_AddArgsArray_Value_CharValue = -1;
static int hf_vsip_ErrorVAResponse_AddArgsArray_Value_ShortValue = -1;
static int hf_vsip_ErrorVAResponse_AddArgsArray_Value_IntValue = -1;
static int hf_vsip_ErrorVAResponse_AddArgsArray_Value_StringValue = -1;
static int hf_vsip_ErrorVAResponse_AddArgsArray_Value_UintValue = -1;
static int hf_vsip_ErrorVAResponse_AddArgsArray_Value_GuidValue = -1;
static int hf_vsip_ErrorVAResponse_AddArgsArray_Value_FloatValue = -1;
static int hf_vsip_ErrorVAResponse_AddArgsArray_Value_BinaryValue = -1;
static int hf_vsip_ErrorVAResponse_NumAddArgs = -1;
static int hf_vsip_Version = -1;
static int hf_vsip_Type = -1;
static int hf_vsip_TransacId = -1;
static int hf_vsip_PacketSize = -1;
static int ett_vsipValueTypeString = -1;
static int ett_vsipValueTypeBinary = -1;
static int ett_vsipPingReq = -1;
static int ett_vsipPingResp_SuppConnTypes = -1;
static int ett_vsipPingResp = -1;
static int ett_vsipContentTypeSwitchReq = -1;
static int ett_vsipContentTypeSwitchResp = -1;
static int ett_vsipGetCapabilitiesReq = -1;
static int ett_vsipGetCapabilitiesResp_CapabilityArray = -1;
static int ett_vsipGetCapabilitiesResp = -1;
static int ett_vsipStartDevice = -1;
static int ett_vsipStartDeviceEx = -1;
static int ett_vsipStopDevice = -1;
static int ett_vsipStopDeviceEx = -1;
static int ett_vsipSetConfigReq_ConfigItemArray = -1;
static int ett_vsipSetConfigReq = -1;
static int ett_vsipGetConfigReq_ConfigItemArray = -1;
static int ett_vsipGetConfigReq = -1;
static int ett_vsipGetConfigResp_ConfigItemArray = -1;
static int ett_vsipGetConfigResp = -1;
static int ett_vsipSendCommand = -1;
static int ett_vsipSendCommandEx_AddArgsArray = -1;
static int ett_vsipSendCommandEx = -1;
static int ett_vsipEventNotify = -1;
static int ett_vsipEventSubscribeReq = -1;
static int ett_vsipEventSubscribeExReq = -1;
static int ett_vsipErrorResponse = -1;
static int ett_vsipErrorVAResponse_AddArgsArray = -1;
static int ett_vsipErrorVAResponse = -1;
static int ett_vsip = -1;
static guint32 vsip_ValueTypeString(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset, int hf_string)
{
int soffset = offset;
guint16 length;
proto_item *ti;
tree = proto_tree_add_subtree(tree, tvb, offset, 2, ett_vsipValueTypeString, &ti, "ValueTypeString");
length = tvb_get_ntohs(tvb, offset);
proto_tree_add_item(tree, hf_vsip_ValueTypeString_Size, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
if (length > 0)
{
proto_tree_add_item(tree, hf_string, tvb, offset, length, ENC_ASCII|ENC_NA);
offset += length;
}
proto_item_set_len(ti, offset - soffset);
return offset - soffset;
}
static guint32 vsip_ValueTypeBinary(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset, int hf_bin)
{
int soffset = offset;
guint32 length;
proto_item *ti;
tree = proto_tree_add_subtree(tree, tvb, offset, 4, ett_vsipValueTypeBinary, &ti, "Binary");
length = tvb_get_ntohl(tvb, offset);
proto_tree_add_item(tree, hf_vsip_ValueTypeBinary_Size, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
if (length > 0)
{
proto_tree_add_item(tree, hf_bin, tvb, offset, length, ENC_NA);
offset += length;
}
proto_item_set_len(ti, offset - soffset);
return offset - soffset;
}
static guint32 vsip_PingReq(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
{
int soffset = offset;
tree = proto_tree_add_subtree(tree, tvb, offset, 7, ett_vsipPingReq, NULL, "PingReq");
proto_tree_add_item(tree, hf_vsip_PingReq_ReplyAddress, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
proto_tree_add_item(tree, hf_vsip_PingReq_ReplyPort, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
proto_tree_add_item(tree, hf_vsip_PingReq_ConnType, tvb, offset, 1, ENC_BIG_ENDIAN);
offset += 1;
return offset - soffset;
}
static guint32 vsip_PingResp(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
{
int soffset = offset;
guint16 len;
proto_item *ti;
const int *supp_conn_types[] = {
&hf_vsip_PingResp_SuppConnTypes_VOLATILE,
&hf_vsip_PingResp_SuppConnTypes_RTP,
&hf_vsip_PingResp_SuppConnTypes_SSL,
&hf_vsip_PingResp_SuppConnTypes_UDP_BROADCAST,
&hf_vsip_PingResp_SuppConnTypes_TCP_CLIENT,
&hf_vsip_PingResp_SuppConnTypes_TCP_SERVER,
&hf_vsip_PingResp_SuppConnTypes_UDP_MULTICAST,
&hf_vsip_PingResp_SuppConnTypes_UDP_UNICAST,
NULL
};
tree = proto_tree_add_subtree(tree, tvb, offset, 30, ett_vsipPingResp, &ti, "PingResp");
proto_tree_add_item(tree, hf_vsip_PingResp_DeviceIP, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
proto_tree_add_item(tree, hf_vsip_PingResp_DevicePort, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
proto_tree_add_bitmask(tree, tvb, offset, hf_vsip_PingResp_SuppConnTypes, ett_vsipPingResp_SuppConnTypes, supp_conn_types, ENC_NA);
offset += 1;
proto_tree_add_item(tree, hf_vsip_PingResp_DeviceGUID, tvb, offset, 16, ENC_NA);
offset += 16;
proto_tree_add_item(tree, hf_vsip_PingResp_VendorID, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
proto_tree_add_item(tree, hf_vsip_PingResp_ProductType, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
proto_tree_add_item(tree, hf_vsip_PingResp_Status, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 1;
len = tvb_get_ntohs(tvb, offset);
proto_tree_add_uint(tree, hf_vsip_PingResp_SubtypeLen, tvb, offset, 2, len);
offset += 2;
if (len > 0)
{
proto_tree_add_item(tree, hf_vsip_PingResp_Subtype, tvb, offset, len, ENC_ASCII|ENC_NA);
offset += len;
}
proto_item_set_len(ti, offset - soffset);
return offset - soffset;
}
static guint32 vsip_ContentTypeSwitchReq(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
{
int soffset = offset;
tree = proto_tree_add_subtree(tree, tvb, offset, 33, ett_vsipContentTypeSwitchReq, NULL, "ContentTypeSwitchReq");
proto_tree_add_item(tree, hf_vsip_ContentTypeSwitchReq_ApplicationGUID, tvb, offset, 16, ENC_NA);
offset += 16;
proto_tree_add_item(tree, hf_vsip_ContentTypeSwitchReq_ContentType, tvb, offset, 1, ENC_NA);
offset++;
proto_tree_add_item(tree, hf_vsip_ContentTypeSwitchReq_DeviceGUID, tvb, offset, 16, ENC_NA);
offset += 16;
return offset - soffset;
}
static guint32 vsip_ContentTypeSwitchResp(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
{
int soffset = offset;
tree = proto_tree_add_subtree(tree, tvb, offset, 17, ett_vsipContentTypeSwitchResp, NULL, "ContentTypeSwitchResp");
proto_tree_add_item(tree, hf_vsip_ContentTypeSwitchResp_DeviceGUID, tvb, offset, 16, ENC_NA);
offset += 16;
proto_tree_add_item(tree, hf_vsip_ContentTypeSwitchResp_SwitchResult, tvb, offset, 1, ENC_NA);
return offset - soffset;
}
static guint32 vsip_GetCapabilitiesReq(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
{
int soffset = offset;
tree = proto_tree_add_subtree(tree, tvb, offset, 1, ett_vsipGetCapabilitiesReq, NULL, "GetCapabilitiesReq");
proto_tree_add_item(tree, hf_vsip_GetCapabilitiesReq_DisabledCapabilities, tvb, offset, 1, ENC_NA);
offset++;
return offset - soffset;
}
static guint32 vsip_GetCapabilitiesResp_CapabilityArray(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
{
int soffset = offset;
tree = proto_tree_add_subtree(tree, tvb, offset, 21, ett_vsipGetCapabilitiesResp_CapabilityArray, NULL, "CapabilityArray");
proto_tree_add_item(tree, hf_vsip_GetCapabilitiesResp_CapabilityArray_EntityType, tvb, offset, 1, ENC_NA);
offset++;
proto_tree_add_item(tree, hf_vsip_GetCapabilitiesResp_CapabilityArray_CapabilityGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
offset += 16;
proto_tree_add_item(tree, hf_vsip_GetCapabilitiesResp_CapabilityArray_VendorID, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
proto_tree_add_item(tree, hf_vsip_GetCapabilitiesResp_CapabilityArray_VersionNumber, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
return offset - soffset;
}
static guint32 vsip_GetCapabilitiesResp(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, int offset)
{
int soffset = offset;
guint16 count;
guint32 i;
proto_item *ti;
tree = proto_tree_add_subtree(tree, tvb, offset, 2, ett_vsipGetCapabilitiesResp, &ti, "GetCapabilitiesResp");
count = tvb_get_ntohs(tvb, offset);
proto_tree_add_uint(tree, hf_vsip_GetCapabilitiesResp_CapabilityCount, tvb, offset, 2, count);
offset += 2;
for(i = 0; i < count; ++i)
{
offset += vsip_GetCapabilitiesResp_CapabilityArray(tree, pinfo, tvb, offset);
}
proto_item_set_len(ti, offset - soffset);
return offset - soffset;
}
static guint32 vsip_StartDevice(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
{
int soffset = offset;
tree = proto_tree_add_subtree(tree, tvb, offset, 25, ett_vsipStartDevice, NULL, "StartDevice");
proto_tree_add_item(tree, hf_vsip_StartDevice_CapabilityGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
offset += 16;
proto_tree_add_item(tree, hf_vsip_StartDevice_TargetAddress, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
proto_tree_add_item(tree, hf_vsip_StartDevice_TargetPort, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
proto_tree_add_item(tree, hf_vsip_StartDevice_LocalPort, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
proto_tree_add_item(tree, hf_vsip_StartDevice_ConnectionType, tvb, offset, 1, ENC_BIG_ENDIAN);
offset += 1;
return offset - soffset;
}
static guint32 vsip_StartDeviceEx(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
{
int soffset = offset;
tree = proto_tree_add_subtree(tree, tvb, offset, 41, ett_vsipStartDeviceEx, NULL, "StartDeviceEx");
proto_tree_add_item(tree, hf_vsip_StartDeviceEx_CapabilityGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
offset += 16;
proto_tree_add_item(tree, hf_vsip_StartDeviceEx_TargetAddress, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
proto_tree_add_item(tree, hf_vsip_StartDeviceEx_TargetPort, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
proto_tree_add_item(tree, hf_vsip_StartDeviceEx_LocalPort, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
proto_tree_add_item(tree, hf_vsip_StartDeviceEx_ConnectionType, tvb, offset, 1, ENC_BIG_ENDIAN);
offset++;
proto_tree_add_item(tree, hf_vsip_StartDeviceEx_TargetGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
offset += 16;
return offset - soffset;
}
static guint32 vsip_StopDevice(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
{
int soffset = offset;
tree = proto_tree_add_subtree(tree, tvb, offset, 16, ett_vsipStopDevice, NULL, "StopDevice");
proto_tree_add_item(tree, hf_vsip_StopDevice_CapabilityGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
offset += 16;
return offset - soffset;
}
static guint32 vsip_StopDeviceEx(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
{
int soffset = offset;
tree = proto_tree_add_subtree(tree, tvb, offset, 32, ett_vsipStopDeviceEx, NULL, "StopDeviceEx");
proto_tree_add_item(tree, hf_vsip_StopDeviceEx_CapabilityGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
offset += 16;
proto_tree_add_item(tree, hf_vsip_StopDeviceEx_TargetGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
offset += 16;
return offset - soffset;
}
static guint32 vsip_SetConfigReq_ConfigItemArray(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, int offset)
{
int soffset = offset;
guint8 type;
proto_item *ti;
tree = proto_tree_add_subtree(tree, tvb, offset, 3, ett_vsipSetConfigReq_ConfigItemArray, &ti, "ConfigItemArray");
proto_tree_add_item(tree, hf_vsip_SetConfigReq_ConfigItemArray_ConfigItemID, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
type = tvb_get_guint8(tvb, offset);
proto_tree_add_item(tree, hf_vsip_SetConfigReq_ConfigItemArray_ValueType, tvb, offset, 1, ENC_BIG_ENDIAN);
offset++;
switch(type)
{
case 1:
proto_tree_add_item(tree, hf_vsip_SetConfigReq_ConfigItemArray_Value_CharValue, tvb, offset, 1, ENC_NA);
offset++;
break;
case 2:
proto_tree_add_item(tree, hf_vsip_SetConfigReq_ConfigItemArray_Value_ShortValue, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
break;
case 3:
proto_tree_add_item(tree, hf_vsip_SetConfigReq_ConfigItemArray_Value_IntValue, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
break;
case 4:
offset += vsip_ValueTypeString(tree, pinfo, tvb, offset, hf_vsip_SetConfigReq_ConfigItemArray_Value_StringValue);
break;
case 5:
proto_tree_add_item(tree, hf_vsip_SetConfigReq_ConfigItemArray_Value_UintValue, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
break;
case 6:
proto_tree_add_item(tree, hf_vsip_SetConfigReq_ConfigItemArray_Value_GuidValue, tvb, offset, 16, ENC_BIG_ENDIAN);
offset += 16;
break;
case 7:
proto_tree_add_item(tree, hf_vsip_SetConfigReq_ConfigItemArray_Value_FloatValue, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
break;
case 8:
offset += vsip_ValueTypeBinary(tree, pinfo, tvb, offset, hf_vsip_SetConfigReq_ConfigItemArray_Value_BinaryValue);
break;
default:
break;
}
proto_item_set_len(ti, offset - soffset);
return offset - soffset;
}
static guint32 vsip_SetConfigReq(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, int offset)
{
int soffset = offset;
guint16 count;
guint32 i;
proto_item *ti;
tree = proto_tree_add_subtree(tree, tvb, offset, 18, ett_vsipSetConfigReq, &ti, "SetConfigReq");
proto_tree_add_item(tree, hf_vsip_SetConfigReq_CapabilityGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
offset += 16;
count = tvb_get_ntohs(tvb, offset);
proto_tree_add_item(tree, hf_vsip_SetConfigReq_ConfigItemCount, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
for(i = 0; i < count; ++i)
{
offset += vsip_SetConfigReq_ConfigItemArray(tree, pinfo, tvb, offset);
}
proto_item_set_len(ti, offset - soffset);
return offset - soffset;
}
static guint32 vsip_GetConfigReq_ConfigItemArray(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
{
int soffset = offset;
tree = proto_tree_add_subtree(tree, tvb, offset, 2, ett_vsipGetConfigReq_ConfigItemArray, NULL, "ConfigItemArray");
proto_tree_add_item(tree, hf_vsip_GetConfigReq_ConfigItemArray_ConfigItemID, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
return offset - soffset;
}
static guint32 vsip_GetConfigReq(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, int offset)
{
int soffset = offset;
guint16 count;
guint32 i;
proto_item *ti;
tree = proto_tree_add_subtree(tree, tvb, offset, 18, ett_vsipGetConfigReq, &ti, "GetConfigReq");
proto_tree_add_item(tree, hf_vsip_GetConfigReq_CapabilityGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
offset += 16;
count = tvb_get_ntohs(tvb, offset);
proto_tree_add_item(tree, hf_vsip_GetConfigReq_ConfigItemCount, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
for(i = 0; i < count; ++i)
{
offset += vsip_GetConfigReq_ConfigItemArray(tree, pinfo, tvb, offset);
}
proto_item_set_len(ti, offset - soffset);
return offset - soffset;
}
static guint32 vsip_GetConfigResp_ConfigItemArray(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, int offset)
{
int soffset = offset;
guint8 type;
proto_item *ti;
tree = proto_tree_add_subtree(tree, tvb, offset, 1, ett_vsipGetConfigResp_ConfigItemArray, &ti, "ConfigItemArray");
proto_tree_add_item(tree, hf_vsip_GetConfigResp_ConfigItemArray_ConfigItemID, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
type = tvb_get_guint8(tvb, offset);
proto_tree_add_item(tree, hf_vsip_GetConfigResp_ConfigItemArray_ValueType, tvb, offset, 1, ENC_NA);
offset++;
switch(type)
{
case 1:
proto_tree_add_item(tree, hf_vsip_GetConfigResp_ConfigItemArray_Value_CharValue, tvb, offset, 1, ENC_NA);
offset++;
break;
case 2:
proto_tree_add_item(tree, hf_vsip_GetConfigResp_ConfigItemArray_Value_ShortValue, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
break;
case 3:
proto_tree_add_item(tree, hf_vsip_GetConfigResp_ConfigItemArray_Value_IntValue, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
break;
case 4:
offset += vsip_ValueTypeString(tree, pinfo, tvb, offset, hf_vsip_GetConfigResp_ConfigItemArray_Value_StringValue);
break;
case 5:
proto_tree_add_item(tree, hf_vsip_GetConfigResp_ConfigItemArray_Value_UintValue, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
break;
case 6:
proto_tree_add_item(tree, hf_vsip_GetConfigResp_ConfigItemArray_Value_GuidValue, tvb, offset, 16, ENC_BIG_ENDIAN);
offset += 16;
break;
case 7:
proto_tree_add_item(tree, hf_vsip_GetConfigResp_ConfigItemArray_Value_FloatValue, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
break;
case 8:
offset += vsip_ValueTypeBinary(tree, pinfo, tvb, offset, hf_vsip_GetConfigResp_ConfigItemArray_Value_BinaryValue);
break;
default:
break;
}
proto_item_set_len(ti, offset - soffset);
return offset - soffset;
}
static guint32 vsip_GetConfigResp(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, int offset)
{
int soffset = offset;
guint16 count;
guint32 i;
proto_item *ti;
tree = proto_tree_add_subtree(tree, tvb, offset, 18, ett_vsipGetConfigResp, &ti, "GetConfigResp");
proto_tree_add_item(tree, hf_vsip_GetConfigResp_CapabilityGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
offset += 16;
count = tvb_get_ntohs(tvb, offset);
proto_tree_add_uint(tree, hf_vsip_GetConfigResp_ConfigItemCount, tvb, offset, 2, count);
offset += 2;
for(i = 0; i < count; ++i)
{
offset += vsip_GetConfigResp_ConfigItemArray(tree, pinfo, tvb, offset);
}
proto_item_set_len(ti, offset - soffset);
return offset - soffset;
}
static guint32 vsip_SendCommand(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
{
int soffset = offset;
proto_item *ti;
tree = proto_tree_add_subtree(tree, tvb, offset, 25, ett_vsipSendCommand, &ti, "SendCommand");
proto_tree_add_item(tree, hf_vsip_SendCommand_CapabilityGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
offset += 16;
proto_tree_add_item(tree, hf_vsip_SendCommand_CommandCode, tvb, offset, 1, ENC_NA);
offset++;
proto_tree_add_item(tree, hf_vsip_SendCommand_Arg1, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
proto_tree_add_item(tree, hf_vsip_SendCommand_Arg2, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
return offset - soffset;
}
static guint32 vsip_SendCommandEx_AddArgsArray(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, int offset)
{
int soffset = offset;
guint8 type;
proto_item *ti;
tree = proto_tree_add_subtree(tree, tvb, offset, 3, ett_vsipSendCommandEx_AddArgsArray, &ti, "AddArgsArray");
type = tvb_get_guint8(tvb, offset);
proto_tree_add_item(tree, hf_vsip_SendCommandEx_AddArgsArray_ValueType, tvb, offset, 1, ENC_NA);
offset++;
switch(type)
{
case 1:
proto_tree_add_item(tree, hf_vsip_SendCommandEx_AddArgsArray_Value_CharValue, tvb, offset, 1, ENC_NA);
offset++;
break;
case 2:
proto_tree_add_item(tree, hf_vsip_SendCommandEx_AddArgsArray_Value_ShortValue, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
break;
case 3:
proto_tree_add_item(tree, hf_vsip_SendCommandEx_AddArgsArray_Value_IntValue, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
break;
case 4:
offset += vsip_ValueTypeString(tree, pinfo, tvb, offset, hf_vsip_SendCommandEx_AddArgsArray_Value_StringValue);
break;
case 5:
proto_tree_add_item(tree, hf_vsip_SendCommandEx_AddArgsArray_Value_UintValue, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
break;
case 6:
proto_tree_add_item(tree, hf_vsip_SendCommandEx_AddArgsArray_Value_GuidValue, tvb, offset, 16, ENC_BIG_ENDIAN);
offset += 16;
break;
case 7:
proto_tree_add_item(tree, hf_vsip_SendCommandEx_AddArgsArray_Value_FloatValue, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
break;
case 8:
offset += vsip_ValueTypeBinary(tree, pinfo, tvb, offset, hf_vsip_SendCommandEx_AddArgsArray_Value_BinaryValue);
break;
default:
break;
}
proto_item_set_len(ti, offset - soffset);
return offset - soffset;
}
static guint32 vsip_SendCommandEx(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, int offset)
{
int soffset = offset;
guint16 count;
guint32 i;
proto_item *ti;
tree = proto_tree_add_subtree(tree, tvb, offset, 27, ett_vsipSendCommandEx, &ti, "SendCommandEx");
proto_tree_add_item(tree, hf_vsip_SendCommandEx_CapabilityGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
offset += 16;
proto_tree_add_item(tree, hf_vsip_SendCommandEx_CommandCode, tvb, offset, 1, ENC_NA);
offset++;
proto_tree_add_item(tree, hf_vsip_SendCommandEx_Arg1, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
proto_tree_add_item(tree, hf_vsip_SendCommandEx_Arg2, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
count = tvb_get_ntohs(tvb, offset);
proto_tree_add_uint(tree, hf_vsip_SendCommandEx_NumAddArgs, tvb, offset, 2, count);
offset += 2;
for(i = 0; i < count; ++i)
{
offset += vsip_SendCommandEx_AddArgsArray(tree, pinfo, tvb, offset);
}
proto_item_set_len(ti, offset - soffset);
return offset - soffset;
}
static guint32 vsip_EventNotify(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
{
int soffset = offset;
tree = proto_tree_add_subtree(tree, tvb, offset, 22, ett_vsipEventNotify, NULL, "EventNotify");
proto_tree_add_item(tree, hf_vsip_EventNotify_CapabilityGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
offset += 16;
proto_tree_add_item(tree, hf_vsip_EventNotify_EventType, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
proto_tree_add_item(tree, hf_vsip_EventNotify_EventArgument, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
return offset - soffset;
}
static guint32 vsip_EventSubscribeReq(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
{
int soffset = offset;
tree = proto_tree_add_subtree(tree, tvb, offset, 7, ett_vsipEventSubscribeReq, NULL, "EventSubscribeReq");
proto_tree_add_item(tree, hf_vsip_EventSubscribeReq_ReceiverAddress, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
proto_tree_add_item(tree, hf_vsip_EventSubscribeReq_ReceiverPort, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
proto_tree_add_item(tree, hf_vsip_EventSubscribeReq_ConnectionType, tvb, offset, 1, ENC_BIG_ENDIAN);
offset++;
return offset - soffset;
}
static guint32 vsip_EventSubscribeExReq(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
{
int soffset = offset;
tree = proto_tree_add_subtree(tree, tvb, offset, 23, ett_vsipEventSubscribeExReq, NULL, "EventSubscribeExReq");
proto_tree_add_item(tree, hf_vsip_EventSubscribeExReq_ReceiverAddress, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
proto_tree_add_item(tree, hf_vsip_EventSubscribeExReq_ReceiverPort, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
proto_tree_add_item(tree, hf_vsip_EventSubscribeExReq_ConnectionType, tvb, offset, 1, ENC_BIG_ENDIAN);
offset++;
proto_tree_add_item(tree, hf_vsip_EventSubscribeExReq_DestinationGUID, tvb, offset, 16, ENC_BIG_ENDIAN);
offset += 16;
return offset - soffset;
}
static guint32 vsip_ErrorResponse(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
{
int soffset = offset;
tree = proto_tree_add_subtree(tree, tvb, offset, 5, ett_vsipErrorResponse, NULL, "ErrorResponse");
proto_tree_add_item(tree, hf_vsip_ErrorResponse_RequestMessageType, tvb, offset, 1, ENC_NA);
offset++;
proto_tree_add_item(tree, hf_vsip_ErrorResponse_StatusCode, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
return offset - soffset;
}
static guint32 vsip_ErrorVAResponse_AddArgsArray(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, int offset)
{
int soffset = offset;
guint8 type;
proto_item* ti;
tree = proto_tree_add_subtree(tree, tvb, offset, 1, ett_vsipErrorVAResponse_AddArgsArray, &ti, "AddArgsArray");
type = tvb_get_guint8(tvb, offset);
proto_tree_add_item(tree, hf_vsip_ErrorVAResponse_AddArgsArray_ValueType, tvb, offset, 1, ENC_NA);
offset++;
switch(type)
{
case 1:
proto_tree_add_item(tree, hf_vsip_ErrorVAResponse_AddArgsArray_Value_CharValue, tvb, offset, 1, ENC_NA);
offset++;
break;
case 2:
proto_tree_add_item(tree, hf_vsip_ErrorVAResponse_AddArgsArray_Value_ShortValue, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
break;
case 3:
proto_tree_add_item(tree, hf_vsip_ErrorVAResponse_AddArgsArray_Value_IntValue, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
break;
case 4:
offset += vsip_ValueTypeString(tree, pinfo, tvb, offset, hf_vsip_ErrorVAResponse_AddArgsArray_Value_StringValue);
break;
case 5:
proto_tree_add_item(tree, hf_vsip_ErrorVAResponse_AddArgsArray_Value_UintValue, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
break;
case 6:
proto_tree_add_item(tree, hf_vsip_ErrorVAResponse_AddArgsArray_Value_GuidValue, tvb, offset, 16, ENC_BIG_ENDIAN);
offset += 16;
break;
case 7:
proto_tree_add_item(tree, hf_vsip_ErrorVAResponse_AddArgsArray_Value_FloatValue, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
break;
case 8:
offset += vsip_ValueTypeBinary(tree, pinfo, tvb, offset, hf_vsip_ErrorVAResponse_AddArgsArray_Value_BinaryValue);
break;
default:
break;
}
proto_item_set_len(ti, offset - soffset);
return offset - soffset;
}
static guint32 vsip_ErrorVAResponse(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, int offset)
{
int soffset = offset;
guint16 count;
guint32 i;
proto_item *ti;
tree = proto_tree_add_subtree(tree, tvb, offset, 0, ett_vsipErrorVAResponse, &ti, "ErrorVAResponse");
offset += vsip_ErrorResponse(tree, pinfo, tvb, offset);
count = tvb_get_ntohs(tvb, offset);
proto_tree_add_uint(tree, hf_vsip_ErrorVAResponse_NumAddArgs, tvb, offset, 2, count);
offset += 2;
for(i = 0; i < count; ++i)
{
offset += vsip_ErrorVAResponse_AddArgsArray(tree, pinfo, tvb, offset);
}
proto_item_set_len(ti, offset - soffset);
return offset - soffset;
}
static guint32 vsip_dissect_pdu(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
int soffset = offset;
guint16 version;
guint8 type;
proto_item *ti;
version = tvb_get_ntohs(tvb, offset);
proto_tree_add_item(tree, hf_vsip_Version, tvb, offset, 2, version);
offset += 2;
type = tvb_get_guint8(tvb, offset);
proto_tree_add_uint(tree, hf_vsip_Type, tvb, offset, 1, type);
col_add_str(pinfo->cinfo, COL_INFO, val_to_str_ext_const(type, &EVsipMessageType_vals_ext, "Unknown") );
offset++;
proto_tree_add_item(tree, hf_vsip_TransacId, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
if (version == 257)
{
proto_tree_add_item(tree, hf_vsip_PacketSize, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
}
else if(version == 256)
{
proto_tree_add_item(tree, hf_vsip_PacketSize, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
}
switch(type)
{
case 1:
offset += vsip_PingReq(tree, pinfo, tvb, offset);
break;
case 2:
offset += vsip_PingResp(tree, pinfo, tvb, offset);
break;
case 19:
offset += vsip_ContentTypeSwitchReq(tree, pinfo, tvb, offset);
break;
case 20:
offset += vsip_ContentTypeSwitchResp(tree, pinfo, tvb, offset);
break;
case 3:
offset += vsip_GetCapabilitiesReq(tree, pinfo, tvb, offset);
break;
case 4:
offset += vsip_GetCapabilitiesResp(tree, pinfo, tvb, offset);
break;
case 5:
offset += vsip_StartDevice(tree, pinfo, tvb, offset);
break;
case 21:
offset += vsip_StartDeviceEx(tree, pinfo, tvb, offset);
break;
case 6:
offset += vsip_StopDevice(tree, pinfo, tvb, offset);
break;
case 22:
offset += vsip_StopDeviceEx(tree, pinfo, tvb, offset);
break;
case 7:
offset += vsip_SetConfigReq(tree, pinfo, tvb, offset);
break;
case 8:
offset += vsip_GetConfigReq(tree, pinfo, tvb, offset);
break;
case 9:
offset += vsip_GetConfigResp(tree, pinfo, tvb, offset);
break;
case 10:
offset += vsip_SendCommand(tree, pinfo, tvb, offset);
break;
case 24:
offset += vsip_SendCommandEx(tree, pinfo, tvb, offset);
break;
case 11:
offset += vsip_EventNotify(tree, pinfo, tvb, offset);
break;
case 12:
offset += vsip_EventSubscribeReq(tree, pinfo, tvb, offset);
break;
case 23:
offset += vsip_EventSubscribeExReq(tree, pinfo, tvb, offset);
break;
case 13:
offset += vsip_ErrorResponse(tree, pinfo, tvb, offset);
break;
case 48:
offset += vsip_ErrorVAResponse(tree, pinfo, tvb, offset);
break;
default:
break;
}
ti = proto_tree_get_parent(tree);
proto_item_set_len(ti, offset - soffset);
return offset - soffset;
}
static int dissect_vsip(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
{
proto_item *ti;
guint16 version;
/* Make sure we have a supported version */
version = tvb_get_ntohs(tvb, 0);
if ((version != 0x0100) && (version != 0x0101))
return 0;
col_set_str(pinfo->cinfo, COL_PROTOCOL, "VSIP");
col_clear(pinfo->cinfo, COL_INFO);
ti = proto_tree_add_item(tree, proto_vsip, tvb, 0, -1, ENC_NA);
tree = proto_item_add_subtree(ti, ett_vsip);
/* call the tsnc generated dissect function. */
return vsip_dissect_pdu(tvb, 0, pinfo, tree);
}
static void
vsip_fmt_revision( gchar *result, guint32 revision )
{
g_snprintf( result, ITEM_LABEL_LENGTH, "%d.%02d", (guint8)(( revision & 0xFF00 ) >> 8), (guint8)(revision & 0xFF) );
}
void proto_register_vsip(void)
{
/* Setup protocol subtree array */
static int *ett[] = {
&ett_vsipValueTypeString,
&ett_vsipValueTypeBinary,
&ett_vsipPingReq,
&ett_vsipPingResp_SuppConnTypes,
&ett_vsipPingResp,
&ett_vsipContentTypeSwitchReq,
&ett_vsipContentTypeSwitchResp,
&ett_vsipGetCapabilitiesReq,
&ett_vsipGetCapabilitiesResp_CapabilityArray,
&ett_vsipGetCapabilitiesResp,
&ett_vsipStartDevice,
&ett_vsipStartDeviceEx,
&ett_vsipStopDevice,
&ett_vsipStopDeviceEx,
&ett_vsipSetConfigReq_ConfigItemArray,
&ett_vsipSetConfigReq,
&ett_vsipGetConfigReq_ConfigItemArray,
&ett_vsipGetConfigReq,
&ett_vsipGetConfigResp_ConfigItemArray,
&ett_vsipGetConfigResp,
&ett_vsipSendCommand,
&ett_vsipSendCommandEx_AddArgsArray,
&ett_vsipSendCommandEx,
&ett_vsipEventNotify,
&ett_vsipEventSubscribeReq,
&ett_vsipEventSubscribeExReq,
&ett_vsipErrorResponse,
&ett_vsipErrorVAResponse_AddArgsArray,
&ett_vsipErrorVAResponse,
&ett_vsip
};
static hf_register_info hf[] = {
{ &hf_vsip_ValueTypeBinary_Size,
{ "Size", "vsip.ValueTypeBinary.Size", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_ValueTypeString_Size,
{ "Size", "vsip.ValueTypeString.Size", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_PingReq_ReplyAddress,
{ "ReplyAddress", "vsip.PingReq.ReplyAddress", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_PingReq_ReplyPort,
{ "ReplyPort", "vsip.PingReq.ReplyPort", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_PingReq_ConnType,
{ "ConnType", "vsip.PingReq.ConnType", FT_UINT8, BASE_HEX,
VALS(EVsipConnectionType_vals), 0x0, NULL, HFILL } },
{ &hf_vsip_PingResp_DeviceIP,
{ "DeviceIP", "vsip.PingResp.DeviceIP", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_PingResp_DevicePort,
{ "DevicePort", "vsip.PingResp.DevicePort", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_PingResp_DeviceGUID,
{ "DeviceGUID", "vsip.PingResp.DeviceGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_PingResp_VendorID,
{ "VendorID", "vsip.PingResp.VendorID", FT_UINT16, BASE_DEC,
VALS(EVsipVendorID_vals), 0x0, NULL, HFILL } },
{ &hf_vsip_PingResp_ProductType,
{ "ProductType", "vsip.PingResp.ProductType", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_PingResp_Status,
{ "Status", "vsip.PingResp.Status", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_PingResp_SubtypeLen,
{ "SubtypeLen", "vsip.PingResp.SubtypeLen", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_PingResp_Subtype,
{ "Subtype", "vsip.PingResp.Subtype", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_PingResp_SuppConnTypes,
{ "SuppConnTypes", "vsip.PingResp.SuppConnTypes", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_PingResp_SuppConnTypes_VOLATILE,
{ "VOLATILE", "vsip.PingResp_SuppConnTypes.VOLATILE", FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x80, NULL, HFILL } },
{ &hf_vsip_PingResp_SuppConnTypes_RTP,
{ "RTP", "vsip.PingResp_SuppConnTypes.RTP", FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x40, NULL, HFILL } },
{ &hf_vsip_PingResp_SuppConnTypes_SSL,
{ "SSL", "vsip.PingResp_SuppConnTypes.SSL", FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x20, NULL, HFILL } },
{ &hf_vsip_PingResp_SuppConnTypes_UDP_BROADCAST,
{ "UDP_BROADCAST", "vsip.PingResp_SuppConnTypes.UDP_BROADCAST", FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x10, NULL, HFILL } },
{ &hf_vsip_PingResp_SuppConnTypes_TCP_CLIENT,
{ "TCP_CLIENT", "vsip.PingResp_SuppConnTypes.TCP_CLIENT", FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x08, NULL, HFILL } },
{ &hf_vsip_PingResp_SuppConnTypes_TCP_SERVER,
{ "TCP_SERVER", "vsip.PingResp_SuppConnTypes.TCP_SERVER", FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x04, NULL, HFILL } },
{ &hf_vsip_PingResp_SuppConnTypes_UDP_MULTICAST,
{ "UDP_MULTICAST", "vsip.PingResp_SuppConnTypes.UDP_MULTICAST", FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x02, NULL, HFILL } },
{ &hf_vsip_PingResp_SuppConnTypes_UDP_UNICAST,
{ "UDP_UNICAST", "vsip.PingResp_SuppConnTypes.UDP_UNICAST", FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x01, NULL, HFILL } },
{ &hf_vsip_ContentTypeSwitchReq_ApplicationGUID,
{ "ApplicationGUID", "vsip.ContentTypeSwitchReq.ApplicationGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_ContentTypeSwitchReq_ContentType,
{ "ContentType", "vsip.ContentTypeSwitchReq.ContentType", FT_UINT8, BASE_DEC,
VALS(EVsipContentType_vals), 0x0, NULL, HFILL } },
{ &hf_vsip_ContentTypeSwitchReq_DeviceGUID,
{ "DeviceGUID", "vsip.ContentTypeSwitchReq.DeviceGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_ContentTypeSwitchResp_DeviceGUID,
{ "DeviceGUID", "vsip.ContentTypeSwitchResp.DeviceGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_ContentTypeSwitchResp_SwitchResult,
{ "SwitchResult", "vsip.ContentTypeSwitchResp.SwitchResult", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_GetCapabilitiesReq_DisabledCapabilities,
{ "DisabledCapabilities", "vsip.GetCapabilitiesReq.DisabledCapabilities", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_GetCapabilitiesResp_CapabilityArray_EntityType,
{ "EntityType", "vsip.GetCapabilitiesResp_CapabilityArray.EntityType", FT_UINT8, BASE_DEC,
VALS(EVsipEntityType_vals), 0x0, NULL, HFILL } },
{ &hf_vsip_GetCapabilitiesResp_CapabilityArray_CapabilityGUID,
{ "CapabilityGUID", "vsip.GetCapabilitiesResp_CapabilityArray.CapabilityGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_GetCapabilitiesResp_CapabilityArray_VendorID,
{ "VendorID", "vsip.GetCapabilitiesResp_CapabilityArray.VendorID", FT_UINT16, BASE_DEC,
VALS(EVsipVendorID_vals), 0x0, NULL, HFILL } },
{ &hf_vsip_GetCapabilitiesResp_CapabilityArray_VersionNumber,
{ "VersionNumber", "vsip.GetCapabilitiesResp_CapabilityArray.VersionNumber", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_GetCapabilitiesResp_CapabilityCount,
{ "CapabilityCount", "vsip.GetCapabilitiesResp.CapabilityCount", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_StartDevice_CapabilityGUID,
{ "CapabilityGUID", "vsip.StartDevice.CapabilityGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_StartDevice_TargetAddress,
{ "TargetAddress", "vsip.StartDevice.TargetAddress", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_StartDevice_TargetPort,
{ "TargetPort", "vsip.StartDevice.TargetPort", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_StartDevice_LocalPort,
{ "LocalPort", "vsip.StartDevice.LocalPort", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_StartDevice_ConnectionType,
{ "ConnectionType", "vsip.StartDevice.ConnectionType", FT_UINT8, BASE_DEC,
VALS(EVsipConnectionType_vals), 0x0, NULL, HFILL } },
{ &hf_vsip_StartDeviceEx_CapabilityGUID,
{ "CapabilityGUID", "vsip.StartDeviceEx.CapabilityGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_StartDeviceEx_TargetAddress,
{ "TargetAddress", "vsip.StartDeviceEx.TargetAddress", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_StartDeviceEx_TargetPort,
{ "TargetPort", "vsip.StartDeviceEx.TargetPort", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_StartDeviceEx_LocalPort,
{ "LocalPort", "vsip.StartDeviceEx.LocalPort", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_StartDeviceEx_ConnectionType,
{ "ConnectionType", "vsip.StartDeviceEx.ConnectionType", FT_UINT8, BASE_DEC,
VALS(EVsipConnectionType_vals), 0x0, NULL, HFILL } },
{ &hf_vsip_StartDeviceEx_TargetGUID,
{ "TargetGUID", "vsip.StartDeviceEx.TargetGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_StopDevice_CapabilityGUID,
{ "CapabilityGUID", "vsip.StopDevice.CapabilityGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_StopDeviceEx_CapabilityGUID,
{ "CapabilityGUID", "vsip.StopDeviceEx.CapabilityGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_StopDeviceEx_TargetGUID,
{ "TargetGUID", "vsip.StopDeviceEx.TargetGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_SetConfigReq_ConfigItemArray_ConfigItemID,
{ "ConfigItemID", "vsip.SetConfigReq_ConfigItemArray.ConfigItemID", FT_UINT16, BASE_DEC|BASE_EXT_STRING,
&EVsipConfigItem_vals_ext, 0x0, NULL, HFILL } },
{ &hf_vsip_SetConfigReq_ConfigItemArray_ValueType,
{ "ValueType", "vsip.SetConfigReq_ConfigItemArray.ValueType", FT_UINT8, BASE_DEC,
VALS(EVsipValueType_vals), 0x0, NULL, HFILL } },
{ &hf_vsip_SetConfigReq_ConfigItemArray_Value_CharValue,
{ "CharValue", "vsip.SetConfigReq_ConfigItemArray.CharValue",
FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_SetConfigReq_ConfigItemArray_Value_ShortValue,
{ "ShortValue", "vsip.SetConfigReq_ConfigItemArray.ShortValue",
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_SetConfigReq_ConfigItemArray_Value_IntValue,
{ "IntValue", "vsip.SetConfigReq_ConfigItemArray.IntValue", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_SetConfigReq_ConfigItemArray_Value_StringValue,
{ "StringValue", "vsip.SetConfigReq_ConfigItemArray.StringValue", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_SetConfigReq_ConfigItemArray_Value_UintValue,
{ "UintValue", "vsip.SetConfigReq_ConfigItemArray.UintValue", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_SetConfigReq_ConfigItemArray_Value_GuidValue,
{ "GuidValue", "vsip.SetConfigReq_ConfigItemArray.GuidValue", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_SetConfigReq_ConfigItemArray_Value_FloatValue,
{ "FloatValue", "vsip.SetConfigReq_ConfigItemArray.FloatValue", FT_FLOAT, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_SetConfigReq_ConfigItemArray_Value_BinaryValue,
{ "BinaryValue", "vsip.SetConfigReq_ConfigItemArray.BinaryValue", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_SetConfigReq_CapabilityGUID,
{ "CapabilityGUID", "vsip.SetConfigReq.CapabilityGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_SetConfigReq_ConfigItemCount,
{ "ConfigItemCount", "vsip.SetConfigReq.ConfigItemCount", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_GetConfigReq_ConfigItemArray_ConfigItemID,
{ "ConfigItemID", "vsip.GetConfigReq_ConfigItemArray.ConfigItemID", FT_UINT16, BASE_DEC|BASE_EXT_STRING,
&EVsipConfigItem_vals_ext, 0x0, NULL, HFILL } },
{ &hf_vsip_GetConfigReq_CapabilityGUID,
{ "CapabilityGUID", "vsip.GetConfigReq.CapabilityGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_GetConfigReq_ConfigItemCount,
{ "ConfigItemCount", "vsip.GetConfigReq.ConfigItemCount", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_GetConfigResp_ConfigItemArray_ConfigItemID,
{ "ConfigItemID", "vsip.GetConfigResp_ConfigItemArray.ConfigItemID", FT_UINT16, BASE_DEC|BASE_EXT_STRING,
&EVsipConfigItem_vals_ext, 0x0, NULL, HFILL } },
{ &hf_vsip_GetConfigResp_ConfigItemArray_ValueType,
{ "ValueType", "vsip.GetConfigResp_ConfigItemArray.ValueType", FT_UINT8, BASE_DEC,
VALS(EVsipValueType_vals), 0x0, NULL, HFILL } },
{ &hf_vsip_GetConfigResp_ConfigItemArray_Value_CharValue,
{ "CharValue", "vsip.GetConfigResp_ConfigItemArray.CharValue", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_GetConfigResp_ConfigItemArray_Value_ShortValue,
{ "ShortValue", "vsip.GetConfigResp_ConfigItemArray.ShortValue", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_GetConfigResp_ConfigItemArray_Value_IntValue,
{ "IntValue", "vsip.GetConfigResp_ConfigItemArray.IntValue", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_GetConfigResp_ConfigItemArray_Value_StringValue,
{ "StringValue", "vsip.GetConfigResp_ConfigItemArray.StringValue", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_GetConfigResp_ConfigItemArray_Value_UintValue,
{ "UintValue", "vsip.GetConfigResp_ConfigItemArray.UintValue", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_GetConfigResp_ConfigItemArray_Value_GuidValue,
{ "GuidValue", "vsip.GetConfigResp_ConfigItemArray.GuidValue", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_GetConfigResp_ConfigItemArray_Value_FloatValue,
{ "FloatValue", "vsip.GetConfigResp_ConfigItemArray.FloatValue", FT_FLOAT, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_GetConfigResp_ConfigItemArray_Value_BinaryValue,
{ "BinaryValue", "vsip.GetConfigResp_ConfigItemArray.BinaryValue", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_GetConfigResp_CapabilityGUID,
{ "CapabilityGUID", "vsip.GetConfigResp.CapabilityGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_GetConfigResp_ConfigItemCount,
{ "ConfigItemCount", "vsip.GetConfigResp.ConfigItemCount", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_SendCommand_CapabilityGUID,
{ "CapabilityGUID", "vsip.SendCommand.CapabilityGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_SendCommand_CommandCode,
{ "CommandCode", "vsip.SendCommand.CommandCode", FT_UINT8, BASE_DEC|BASE_EXT_STRING,
&EVsipCommand_vals_ext, 0x0, NULL, HFILL } },
{ &hf_vsip_SendCommand_Arg1,
{ "Arg1", "vsip.SendCommand.Arg1", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_SendCommand_Arg2,
{ "Arg2", "vsip.SendCommand.Arg2", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_SendCommandEx_AddArgsArray_ValueType,
{ "ValueType", "vsip.SendCommandEx_AddArgsArray.ValueType", FT_UINT8, BASE_DEC,
VALS(EVsipValueType_vals), 0x0, NULL, HFILL } },
{ &hf_vsip_SendCommandEx_AddArgsArray_Value_CharValue,
{ "CharValue", "vsip.SendCommandEx_AddArgsArray.CharValue", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_SendCommandEx_AddArgsArray_Value_ShortValue,
{ "ShortValue", "vsip.SendCommandEx_AddArgsArray.ShortValue", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_SendCommandEx_AddArgsArray_Value_IntValue,
{ "IntValue", "vsip.SendCommandEx_AddArgsArray.IntValue", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_SendCommandEx_AddArgsArray_Value_StringValue,
{ "StringValue", "vsip.SendCommandEx_AddArgsArray.StringValue", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_SendCommandEx_AddArgsArray_Value_UintValue,
{ "UintValue", "vsip.SendCommandEx_AddArgsArray.UintValue", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_SendCommandEx_AddArgsArray_Value_GuidValue,
{ "GuidValue", "vsip.SendCommandEx_AddArgsArray.GuidValue", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_SendCommandEx_AddArgsArray_Value_FloatValue,
{ "FloatValue", "vsip.SendCommandEx_AddArgsArray.FloatValue", FT_FLOAT, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_SendCommandEx_AddArgsArray_Value_BinaryValue,
{ "BinaryValue", "vsip.SendCommandEx_AddArgsArray.BinaryValue", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_SendCommandEx_CapabilityGUID,
{ "CapabilityGUID", "vsip.SendCommandEx.CapabilityGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_SendCommandEx_CommandCode,
{ "CommandCode", "vsip.SendCommandEx.CommandCode", FT_UINT8, BASE_DEC|BASE_EXT_STRING,
&EVsipCommand_vals_ext, 0x0, NULL, HFILL } },
{ &hf_vsip_SendCommandEx_Arg1,
{ "Arg1", "vsip.SendCommandEx.Arg1", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_SendCommandEx_Arg2,
{ "Arg2", "vsip.SendCommandEx.Arg2", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_SendCommandEx_NumAddArgs,
{ "NumAddArgs", "vsip.SendCommandEx.NumAddArgs", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_EventNotify_CapabilityGUID,
{ "CapabilityGUID", "vsip.EventNotify.CapabilityGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_EventNotify_EventType,
{ "EventType", "vsip.EventNotify.EventType", FT_UINT16, BASE_DEC,
VALS(EVsipEventType_vals), 0x0, NULL, HFILL } },
{ &hf_vsip_EventNotify_EventArgument,
{ "EventArgument", "vsip.EventNotify.EventArgument", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_EventSubscribeReq_ReceiverAddress,
{ "ReceiverAddress", "vsip.EventSubscribeReq.ReceiverAddress", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_EventSubscribeReq_ReceiverPort,
{ "ReceiverPort", "vsip.EventSubscribeReq.ReceiverPort", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_EventSubscribeReq_ConnectionType,
{ "ConnectionType", "vsip.EventSubscribeReq.ConnectionType", FT_UINT8, BASE_DEC,
VALS(EVsipConnectionType_vals), 0x0, NULL, HFILL } },
{ &hf_vsip_EventSubscribeExReq_ReceiverAddress,
{ "ReceiverAddress", "vsip.EventSubscribeExReq.ReceiverAddress", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_EventSubscribeExReq_ReceiverPort,
{ "ReceiverPort", "vsip.EventSubscribeExReq.ReceiverPort", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_EventSubscribeExReq_ConnectionType,
{ "ConnectionType", "vsip.EventSubscribeExReq.ConnectionType", FT_UINT8, BASE_DEC,
VALS(EVsipConnectionType_vals), 0x0, NULL, HFILL } },
{ &hf_vsip_EventSubscribeExReq_DestinationGUID,
{ "DestinationGUID", "vsip.EventSubscribeExReq.DestinationGUID", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_ErrorResponse_RequestMessageType,
{ "RequestMessageType", "vsip.ErrorResponse.RequestMessageType", FT_UINT8, BASE_DEC|BASE_EXT_STRING,
&EVsipMessageType_vals_ext, 0x0, NULL, HFILL } },
{ &hf_vsip_ErrorResponse_StatusCode,
{ "StatusCode", "vsip.ErrorResponse.StatusCode", FT_UINT32, BASE_DEC|BASE_EXT_STRING,
&EVsipErrorCode_vals_ext, 0x0, NULL, HFILL } },
{ &hf_vsip_ErrorVAResponse_AddArgsArray_ValueType,
{ "ValueType", "vsip.ErrorVAResponse_AddArgsArray.ValueType", FT_UINT8, BASE_DEC,
VALS(EVsipValueType_vals), 0x0, NULL, HFILL } },
{ &hf_vsip_ErrorVAResponse_AddArgsArray_Value_CharValue,
{ "CharValue", "vsip.ErrorVAResponse_AddArgsArray.CharValue", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_ErrorVAResponse_AddArgsArray_Value_ShortValue,
{ "ShortValue", "vsip.ErrorVAResponse_AddArgsArray.ShortValue", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_ErrorVAResponse_AddArgsArray_Value_IntValue,
{ "IntValue", "vsip.ErrorVAResponse_AddArgsArray.IntValue", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_ErrorVAResponse_AddArgsArray_Value_StringValue,
{ "StringValue", "vsip.ErrorVAResponse_AddArgsArray.StringValue", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_ErrorVAResponse_AddArgsArray_Value_UintValue,
{ "UintValue", "vsip.ErrorVAResponse_AddArgsArray.UintValue", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_ErrorVAResponse_AddArgsArray_Value_GuidValue,
{ "GuidValue", "vsip.ErrorVAResponse_AddArgsArray.GuidValue", FT_GUID, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_ErrorVAResponse_AddArgsArray_Value_FloatValue,
{ "FloatValue", "vsip.ErrorVAResponse_AddArgsArray.FloatValue", FT_FLOAT, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_ErrorVAResponse_AddArgsArray_Value_BinaryValue,
{ "BinaryValue", "vsip.ErrorVAResponse_AddArgsArray.BinaryValue", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_ErrorVAResponse_NumAddArgs,
{ "NumAddArgs", "vsip.ErrorVAResponse.NumAddArgs", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_Version,
{ "Version", "vsip.Version", FT_UINT16, BASE_CUSTOM,
CF_FUNC(vsip_fmt_revision), 0x0, NULL, HFILL } },
{ &hf_vsip_Type,
{ "Type", "vsip.Type", FT_UINT8, BASE_DEC|BASE_EXT_STRING,
&EVsipMessageType_vals_ext, 0x0, NULL, HFILL } },
{ &hf_vsip_TransacId,
{ "TransacId", "vsip.TransacId", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
{ &hf_vsip_PacketSize,
{ "PacketSize", "vsip.PacketSize", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
};
proto_vsip = proto_register_protocol ( "Video Services over IP", "VSIP", "vsip");
proto_register_subtree_array(ett, array_length(ett));
proto_register_field_array(proto_vsip, hf, array_length(hf));
}
void proto_reg_handoff_vsip(void)
{
dissector_handle_t vsip_handle;
vsip_handle = create_dissector_handle(dissect_vsip, proto_vsip);
dissector_add_for_decode_as_with_preference("udp.port", vsip_handle);
dissector_add_for_decode_as_with_preference("tcp.port", vsip_handle);
}
/*
* Editor modelines
*
* Local Variables:
* c-basic-offset: 4
* tab-width: 8
* indent-tabs-mode: nil
* End:
*
* ex: set shiftwidth=4 tabstop=8 expandtab:
* :indentSize=4:tabSize=8:noTabs=true:
*/