2001-10-11 16:01:10 +00:00
|
|
|
/* packet-skinny.c
|
|
|
|
*
|
|
|
|
* Dissector for the Skinny Client Control Protocol
|
|
|
|
* (The "D-Channel"-Protocol for Cisco Systems' IP-Phones)
|
|
|
|
* Copyright 2001, Joerg Mayer (email: see AUTHORS file)
|
|
|
|
*
|
2002-08-28 21:04:11 +00:00
|
|
|
* Paul E. Erkkila (pee@erkkila.org) - fleshed out the decode
|
|
|
|
* skeleton to report values for most message/message fields.
|
2006-05-21 04:49:01 +00:00
|
|
|
* Much help from Guy Harris on figuring out the wireshark api.
|
2002-03-18 00:45:11 +00:00
|
|
|
*
|
2001-10-11 16:01:10 +00:00
|
|
|
* This file is based on packet-aim.c, which is
|
|
|
|
* Copyright 2000, Ralf Hoelzer <ralf@well.com>
|
|
|
|
*
|
2004-07-18 00:24:25 +00:00
|
|
|
* $Id$
|
2001-10-11 16:01:10 +00:00
|
|
|
*
|
2006-05-21 04:49:01 +00:00
|
|
|
* Wireshark - Network traffic analyzer
|
|
|
|
* By Gerald Combs <gerald@wireshark.org>
|
2001-10-11 16:01:10 +00:00
|
|
|
* Copyright 1998 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.
|
2002-08-28 21:04:11 +00:00
|
|
|
*
|
2001-10-11 16:01:10 +00:00
|
|
|
* 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.
|
2002-08-28 21:04:11 +00:00
|
|
|
*
|
2001-10-11 16:01:10 +00:00
|
|
|
* 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/* This implementation is based on a draft version of the 3.0
|
|
|
|
* specification
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifdef HAVE_CONFIG_H
|
|
|
|
# include "config.h"
|
|
|
|
#endif
|
|
|
|
|
2002-01-21 07:37:49 +00:00
|
|
|
#include <epan/packet.h>
|
2004-09-27 22:55:15 +00:00
|
|
|
#include <epan/prefs.h>
|
2009-01-30 21:25:52 +00:00
|
|
|
#include <epan/tap.h>
|
2002-03-19 06:31:16 +00:00
|
|
|
|
2004-07-17 09:02:03 +00:00
|
|
|
#include "packet-rtp.h"
|
Make a "tcp_dissect_pdus()" with the standard loop for a TCP segment,
extracting PDUs from it and possibly doing reassembly. Make the COPS,
DNS, DSI, Gryphon, and SCCP dissectors use it.
Add "set_actual_length()", "tcp_dissect_pdus()",
"decode_boolean_bitfield()", "decode_numeric_bitfield()", and
"decode_enumerated_bitfield()" to the list of routines available to
dissectors on platforms where routines in the main program aren't
available to dynamically-loaded code.
Declare routines in "to_str.h" as "extern"; as I remember, that's
necessary to allow the "decode_XXX_bitfield()" routines declared therein
to be made available to plugins as per the above.
Note that new exported routines should be added to the end of the table
if that's the only change being made to the table.
Create a new "plugin_api_decls.h" header file, used to declare both the
"p_" variables and the "p_" structure members in the routine-exporting
mechanism; this reduces the number of places you have to change to
change the list of exported routines.
svn path=/trunk/; revision=5394
2002-05-05 00:16:38 +00:00
|
|
|
#include "packet-tcp.h"
|
2011-03-14 07:49:05 +00:00
|
|
|
#include "packet-ssl.h"
|
2009-01-30 21:25:52 +00:00
|
|
|
#include "packet-skinny.h"
|
2001-10-11 16:01:10 +00:00
|
|
|
|
|
|
|
#define TCP_PORT_SKINNY 2000
|
2011-03-14 07:49:05 +00:00
|
|
|
#define SSL_PORT_SKINNY 2443 /* IANA assigned to PowerClient Central Storage Facility */
|
2001-10-11 16:01:10 +00:00
|
|
|
|
2002-03-19 11:26:23 +00:00
|
|
|
#define SKINNY_SOFTKEY0 0x01
|
|
|
|
#define SKINNY_SOFTKEY1 0x02
|
|
|
|
#define SKINNY_SOFTKEY2 0x04
|
|
|
|
#define SKINNY_SOFTKEY3 0x08
|
|
|
|
#define SKINNY_SOFTKEY4 0x10
|
|
|
|
#define SKINNY_SOFTKEY5 0x20
|
|
|
|
#define SKINNY_SOFTKEY6 0x40
|
|
|
|
#define SKINNY_SOFTKEY7 0x80
|
|
|
|
#define SKINNY_SOFTKEY8 0x100
|
|
|
|
#define SKINNY_SOFTKEY9 0x200
|
|
|
|
#define SKINNY_SOFTKEY10 0x400
|
|
|
|
#define SKINNY_SOFTKEY11 0x800
|
|
|
|
#define SKINNY_SOFTKEY12 0x1000
|
|
|
|
#define SKINNY_SOFTKEY13 0x2000
|
|
|
|
#define SKINNY_SOFTKEY14 0x4000
|
|
|
|
#define SKINNY_SOFTKEY15 0x8000
|
|
|
|
|
|
|
|
/* KeyMap Show/No Show */
|
|
|
|
static const true_false_string softKeyMapValues = {
|
|
|
|
"Show",
|
|
|
|
"Do Not Show"
|
|
|
|
};
|
|
|
|
|
2011-02-14 22:52:14 +00:00
|
|
|
#define BASIC_MSG_TYPE 0x00
|
|
|
|
#define CM7_MSG_TYPE_A 0x12
|
|
|
|
#define CM7_MSG_TYPE_B 0x11
|
|
|
|
|
|
|
|
static const value_string header_version[] = {
|
2011-04-14 06:07:42 +00:00
|
|
|
{ BASIC_MSG_TYPE, "Basic" },
|
|
|
|
{ CM7_MSG_TYPE_A, "CM7 type A" },
|
|
|
|
{ CM7_MSG_TYPE_B, "CM7 type B" },
|
2011-02-14 22:52:14 +00:00
|
|
|
{ 0 , NULL }
|
|
|
|
};
|
2002-03-19 11:26:23 +00:00
|
|
|
|
2001-10-11 16:01:10 +00:00
|
|
|
/* I will probably need this again when I change things
|
|
|
|
* to function pointers, but let me use the existing
|
|
|
|
* infrastructure for now
|
|
|
|
*
|
|
|
|
* typedef struct {
|
|
|
|
* guint32 id;
|
|
|
|
* char * name;
|
|
|
|
* } message_id_t;
|
|
|
|
*/
|
|
|
|
|
|
|
|
static const value_string message_id[] = {
|
|
|
|
|
|
|
|
/* Station -> Callmanager */
|
|
|
|
{0x0000, "KeepAliveMessage"},
|
|
|
|
{0x0001, "RegisterMessage"},
|
|
|
|
{0x0002, "IpPortMessage"},
|
|
|
|
{0x0003, "KeypadButtonMessage"},
|
|
|
|
{0x0004, "EnblocCallMessage"},
|
|
|
|
{0x0005, "StimulusMessage"},
|
|
|
|
{0x0006, "OffHookMessage"},
|
|
|
|
{0x0007, "OnHookMessage"},
|
|
|
|
{0x0008, "HookFlashMessage"},
|
|
|
|
{0x0009, "ForwardStatReqMessage"},
|
|
|
|
{0x000A, "SpeedDialStatReqMessage"},
|
|
|
|
{0x000B, "LineStatReqMessage"},
|
|
|
|
{0x000C, "ConfigStatReqMessage"},
|
|
|
|
{0x000D, "TimeDateReqMessage"},
|
|
|
|
{0x000E, "ButtonTemplateReqMessage"},
|
|
|
|
{0x000F, "VersionReqMessage"},
|
|
|
|
{0x0010, "CapabilitiesResMessage"},
|
|
|
|
{0x0011, "MediaPortListMessage"},
|
|
|
|
{0x0012, "ServerReqMessage"},
|
|
|
|
{0x0020, "AlarmMessage"},
|
|
|
|
{0x0021, "MulticastMediaReceptionAck"},
|
|
|
|
{0x0022, "OpenReceiveChannelAck"},
|
|
|
|
{0x0023, "ConnectionStatisticsRes"},
|
|
|
|
{0x0024, "OffHookWithCgpnMessage"},
|
|
|
|
{0x0025, "SoftKeySetReqMessage"},
|
|
|
|
{0x0026, "SoftKeyEventMessage"},
|
|
|
|
{0x0027, "UnregisterMessage"},
|
2002-03-19 11:26:23 +00:00
|
|
|
{0x0028, "SoftKeyTemplateReqMessage"},
|
2001-10-11 16:01:10 +00:00
|
|
|
{0x0029, "RegisterTokenReq"},
|
2004-02-20 21:25:16 +00:00
|
|
|
{0x002A, "MediaTransmissionFailure"},
|
|
|
|
{0x002B, "HeadsetStatusMessage"},
|
|
|
|
{0x002C, "MediaResourceNotification"},
|
|
|
|
{0x002D, "RegisterAvailableLinesMessage"},
|
|
|
|
{0x002E, "DeviceToUserDataMessage"},
|
|
|
|
{0x002F, "DeviceToUserDataResponseMessage"},
|
|
|
|
{0x0030, "UpdateCapabilitiesMessage"},
|
|
|
|
{0x0031, "OpenMultiMediaReceiveChannelAckMessage"},
|
|
|
|
{0x0032, "ClearConferenceMessage"},
|
|
|
|
{0x0033, "ServiceURLStatReqMessage"},
|
|
|
|
{0x0034, "FeatureStatReqMessage"},
|
|
|
|
{0x0035, "CreateConferenceResMessage"},
|
|
|
|
{0x0036, "DeleteConferenceResMessage"},
|
|
|
|
{0x0037, "ModifyConferenceResMessage"},
|
|
|
|
{0x0038, "AddParticipantResMessage"},
|
|
|
|
{0x0039, "AuditConferenceResMessage"},
|
|
|
|
{0x0040, "AuditParticipantResMessage"},
|
|
|
|
{0x0041, "DeviceToUserDataVersion1Message"},
|
|
|
|
{0x0042, "DeviceToUserDataResponseVersion1Message"},
|
2011-04-14 05:37:58 +00:00
|
|
|
{0x0048, "DialedPhoneBookMessage"},
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2001-10-11 16:01:10 +00:00
|
|
|
/* Callmanager -> Station */
|
|
|
|
/* 0x0000, 0x0003? */
|
|
|
|
{0x0081, "RegisterAckMessage"},
|
|
|
|
{0x0082, "StartToneMessage"},
|
|
|
|
{0x0083, "StopToneMessage"},
|
|
|
|
{0x0085, "SetRingerMessage"},
|
|
|
|
{0x0086, "SetLampMessage"},
|
|
|
|
{0x0087, "SetHkFDetectMessage"},
|
|
|
|
{0x0088, "SetSpeakerModeMessage"},
|
|
|
|
{0x0089, "SetMicroModeMessage"},
|
|
|
|
{0x008A, "StartMediaTransmission"},
|
|
|
|
{0x008B, "StopMediaTransmission"},
|
|
|
|
{0x008C, "StartMediaReception"},
|
|
|
|
{0x008D, "StopMediaReception"},
|
|
|
|
{0x008F, "CallInfoMessage"},
|
|
|
|
{0x0090, "ForwardStatMessage"},
|
|
|
|
{0x0091, "SpeedDialStatMessage"},
|
|
|
|
{0x0092, "LineStatMessage"},
|
|
|
|
{0x0093, "ConfigStatMessage"},
|
|
|
|
{0x0094, "DefineTimeDate"},
|
|
|
|
{0x0095, "StartSessionTransmission"},
|
|
|
|
{0x0096, "StopSessionTransmission"},
|
|
|
|
{0x0097, "ButtonTemplateMessage"},
|
|
|
|
{0x0098, "VersionMessage"},
|
|
|
|
{0x0099, "DisplayTextMessage"},
|
|
|
|
{0x009A, "ClearDisplay"},
|
|
|
|
{0x009B, "CapabilitiesReqMessage"},
|
|
|
|
{0x009C, "EnunciatorCommandMessage"},
|
|
|
|
{0x009D, "RegisterRejectMessage"},
|
|
|
|
{0x009E, "ServerResMessage"},
|
|
|
|
{0x009F, "Reset"},
|
|
|
|
{0x0100, "KeepAliveAckMessage"},
|
|
|
|
{0x0101, "StartMulticastMediaReception"},
|
|
|
|
{0x0102, "StartMulticastMediaTransmission"},
|
|
|
|
{0x0103, "StopMulticastMediaReception"},
|
|
|
|
{0x0104, "StopMulticastMediaTransmission"},
|
|
|
|
{0x0105, "OpenReceiveChannel"},
|
|
|
|
{0x0106, "CloseReceiveChannel"},
|
|
|
|
{0x0107, "ConnectionStatisticsReq"},
|
|
|
|
{0x0108, "SoftKeyTemplateResMessage"},
|
|
|
|
{0x0109, "SoftKeySetResMessage"},
|
|
|
|
{0x0110, "SelectSoftKeysMessage"},
|
|
|
|
{0x0111, "CallStateMessage"},
|
|
|
|
{0x0112, "DisplayPromptStatusMessage"},
|
|
|
|
{0x0113, "ClearPromptStatusMessage"},
|
|
|
|
{0x0114, "DisplayNotifyMessage"},
|
|
|
|
{0x0115, "ClearNotifyMessage"},
|
|
|
|
{0x0116, "ActivateCallPlaneMessage"},
|
|
|
|
{0x0117, "DeactivateCallPlaneMessage"},
|
|
|
|
{0x0118, "UnregisterAckMessage"},
|
|
|
|
{0x0119, "BackSpaceReqMessage"},
|
|
|
|
{0x011A, "RegisterTokenAck"},
|
|
|
|
{0x011B, "RegisterTokenReject"},
|
2004-02-20 21:25:16 +00:00
|
|
|
|
|
|
|
{0x011C, "StartMediaFailureDetection"},
|
|
|
|
{0x011D, "DialedNumberMessage"},
|
|
|
|
{0x011E, "UserToDeviceDataMessage"},
|
|
|
|
{0x011F, "FeatureStatMessage"},
|
|
|
|
{0x0120, "DisplayPriNotifyMessage"},
|
|
|
|
{0x0121, "ClearPriNotifyMessage"},
|
|
|
|
{0x0122, "StartAnnouncementMessage"},
|
|
|
|
{0x0123, "StopAnnouncementMessage"},
|
|
|
|
{0x0124, "AnnouncementFinishMessage"},
|
|
|
|
{0x0127, "NotifyDtmfToneMessage"},
|
|
|
|
{0x0128, "SendDtmfToneMessage"},
|
|
|
|
{0x0129, "SubscribeDtmfPayloadReqMessage"},
|
|
|
|
{0x012A, "SubscribeDtmfPayloadResMessage"},
|
|
|
|
{0x012B, "SubscribeDtmfPayloadErrMessage"},
|
|
|
|
{0x012C, "UnSubscribeDtmfPayloadReqMessage"},
|
|
|
|
{0x012D, "UnSubscribeDtmfPayloadResMessage"},
|
|
|
|
{0x012E, "UnSubscribeDtmfPayloadErrMessage"},
|
|
|
|
{0x012F, "ServiceURLStatMessage"},
|
|
|
|
{0x0130, "CallSelectStatMessage"},
|
|
|
|
{0x0131, "OpenMultiMediaChannelMessage"},
|
|
|
|
{0x0132, "StartMultiMediaTransmission"},
|
|
|
|
{0x0133, "StopMultiMediaTransmission"},
|
|
|
|
{0x0134, "MiscellaneousCommandMessage"},
|
|
|
|
{0x0135, "FlowControlCommandMessage"},
|
|
|
|
{0x0136, "CloseMultiMediaReceiveChannel"},
|
|
|
|
{0x0137, "CreateConferenceReqMessage"},
|
|
|
|
{0x0138, "DeleteConferenceReqMessage"},
|
|
|
|
{0x0139, "ModifyConferenceReqMessage"},
|
|
|
|
{0x013A, "AddParticipantReqMessage"},
|
|
|
|
{0x013B, "DropParticipantReqMessage"},
|
|
|
|
{0x013C, "AuditConferenceReqMessage"},
|
|
|
|
{0x013D, "AuditParticipantReqMessage"},
|
|
|
|
{0x013F, "UserToDeviceDataVersion1Message"},
|
2011-02-14 22:52:14 +00:00
|
|
|
{0x014A, "CM5CallInfoMessage"},
|
2011-04-14 05:37:58 +00:00
|
|
|
{0x0152, "DialedPhoneBookAckMessage"},
|
2010-12-20 07:49:56 +00:00
|
|
|
{0x015A, "XMLAlarmMessage"},
|
2001-10-11 16:01:10 +00:00
|
|
|
|
2002-03-19 11:26:23 +00:00
|
|
|
{0 , NULL} /* terminator */
|
|
|
|
};
|
2010-11-03 22:08:49 +00:00
|
|
|
static value_string_ext message_id_ext = VALUE_STRING_EXT_INIT(message_id);
|
2002-03-19 11:26:23 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Device type to text conversion table
|
|
|
|
*/
|
|
|
|
static const value_string deviceTypes[] = {
|
2002-03-20 21:01:21 +00:00
|
|
|
{1 , "30SPplus"},
|
|
|
|
{2 , "12SPplus"},
|
|
|
|
{3 , "12SP"},
|
|
|
|
{4 , "12"},
|
|
|
|
{5 , "30VIP"},
|
|
|
|
{6 , "Telecaster"},
|
|
|
|
{7 , "TelecasterMgr"},
|
|
|
|
{8 , "TelecasterBus"},
|
2009-01-30 21:25:52 +00:00
|
|
|
{9 , "Polycom"},
|
|
|
|
{10 , "VGC"},
|
|
|
|
{12 , "ATA"},
|
2002-03-20 21:01:21 +00:00
|
|
|
{20 , "Virtual30SPplus"},
|
|
|
|
{21 , "PhoneApplication"},
|
|
|
|
{30 , "AnalogAccess"},
|
|
|
|
{40 , "DigitalAccessPRI"},
|
|
|
|
{41 , "DigitalAccessT1"},
|
|
|
|
{42 , "DigitalAccessTitan2"},
|
2004-02-20 21:25:16 +00:00
|
|
|
{43 , "DigitalAccessLennon"},
|
2002-03-20 21:01:21 +00:00
|
|
|
{47 , "AnalogAccessElvis"},
|
|
|
|
{50 , "ConferenceBridge"},
|
|
|
|
{51 , "ConferenceBridgeYoko"},
|
2004-02-20 21:25:16 +00:00
|
|
|
{52 , "ConferenceBridgeDixieLand"},
|
|
|
|
{53 , "ConferenceBridgeSummit"},
|
2002-03-20 21:01:21 +00:00
|
|
|
{60 , "H225"},
|
|
|
|
{61 , "H323Phone"},
|
|
|
|
{62 , "H323Trunk"},
|
|
|
|
{70 , "MusicOnHold"},
|
|
|
|
{71 , "Pilot"},
|
|
|
|
{72 , "TapiPort"},
|
|
|
|
{73 , "TapiRoutePoint"},
|
|
|
|
{80 , "VoiceInBox"},
|
|
|
|
{81 , "VoiceInboxAdmin"},
|
|
|
|
{82 , "LineAnnunciator"},
|
2004-02-20 21:25:16 +00:00
|
|
|
{83 , "SoftwareMtpDixieLand"},
|
|
|
|
{84 , "CiscoMediaServer"},
|
2009-01-30 21:25:52 +00:00
|
|
|
{85 , "ConferenceBridgeFlint"},
|
2002-03-20 21:01:21 +00:00
|
|
|
{90 , "RouteList"},
|
|
|
|
{100, "LoadSimulator"},
|
|
|
|
{110, "MediaTerminationPoint"},
|
|
|
|
{111, "MediaTerminationPointYoko"},
|
2004-02-20 21:25:16 +00:00
|
|
|
{112, "MediaTerminationPointDixieLand"},
|
|
|
|
{113, "MediaTerminationPointSummit"},
|
2002-03-20 21:01:21 +00:00
|
|
|
{120, "MGCPStation"},
|
|
|
|
{121, "MGCPTrunk"},
|
|
|
|
{122, "RASProxy"},
|
2009-01-30 21:25:52 +00:00
|
|
|
{125, "Trunk"},
|
|
|
|
{126, "Annunciator"},
|
2004-02-20 21:25:16 +00:00
|
|
|
{127, "MonitorBridge"},
|
|
|
|
{128, "Recorder"},
|
|
|
|
{129, "MonitorBridgeYoko"},
|
|
|
|
{131, "SipTrunk"},
|
2009-01-30 21:25:52 +00:00
|
|
|
{254, "UnknownMGCPGateway"},
|
2002-03-20 21:01:21 +00:00
|
|
|
{255, "NotDefined"},
|
2002-03-19 11:26:23 +00:00
|
|
|
{ 0 , NULL}
|
|
|
|
};
|
2010-11-03 22:08:49 +00:00
|
|
|
static value_string_ext deviceTypes_ext = VALUE_STRING_EXT_INIT(deviceTypes);
|
2002-03-19 11:26:23 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* keypad button -> text conversion
|
|
|
|
*/
|
|
|
|
static const value_string keypadButtons[] = {
|
|
|
|
{0x0 , "Zero"},
|
|
|
|
{0x1 , "One"},
|
|
|
|
{0x2 , "Two"},
|
|
|
|
{0x3 , "Three"},
|
|
|
|
{0x4 , "Four"},
|
|
|
|
{0x5 , "Five"},
|
|
|
|
{0x6 , "Six"},
|
|
|
|
{0x7 , "Seven"},
|
|
|
|
{0x8 , "Eight"},
|
|
|
|
{0x9 , "Nine"},
|
|
|
|
{0xa , "A"},
|
|
|
|
{0xb , "B"},
|
|
|
|
{0xc , "C"},
|
|
|
|
{0xd , "D"},
|
|
|
|
{0xe , "Star"},
|
|
|
|
{0xf , "Pound"},
|
|
|
|
{0 , NULL}
|
|
|
|
};
|
2010-11-03 22:08:49 +00:00
|
|
|
static value_string_ext keypadButtons_ext = VALUE_STRING_EXT_INIT(keypadButtons);
|
2002-03-19 11:26:23 +00:00
|
|
|
|
|
|
|
static const value_string deviceStimuli[] = {
|
2009-01-30 21:25:52 +00:00
|
|
|
{0x1 , "LastNumberRedial"},
|
|
|
|
{0x2 , "SpeedDial"},
|
|
|
|
{0x3 , "Hold"},
|
|
|
|
{0x4 , "Transfer"},
|
|
|
|
{0x5 , "ForwardAll"},
|
|
|
|
{0x6 , "ForwardBusy"},
|
|
|
|
{0x7 , "ForwardNoAnswer"},
|
|
|
|
{0x8 , "Display"},
|
|
|
|
{0x9 , "Line"},
|
2002-03-20 21:01:21 +00:00
|
|
|
{0xa , "T120Chat"},
|
|
|
|
{0xb , "T120Whiteboard"},
|
|
|
|
{0xc , "T120ApplicationSharing"},
|
|
|
|
{0xd , "T120FileTransfer"},
|
|
|
|
{0xe , "Video"},
|
|
|
|
{0xf , "VoiceMail"},
|
2004-02-20 21:25:16 +00:00
|
|
|
{0x10 , "AutoAnswerRelease"},
|
2002-03-20 21:01:21 +00:00
|
|
|
{0x11 , "AutoAnswer"},
|
2009-01-30 21:25:52 +00:00
|
|
|
{0x12 , "Select"},
|
|
|
|
{0x13 , "Privacy"},
|
|
|
|
{0x14 , "ServiceURL"},
|
|
|
|
{0x1B , "MaliciousCall"},
|
2002-03-20 21:01:21 +00:00
|
|
|
{0x21 , "GenericAppB1"},
|
|
|
|
{0x22 , "GenericAppB2"},
|
|
|
|
{0x23 , "GenericAppB3"},
|
|
|
|
{0x24 , "GenericAppB4"},
|
|
|
|
{0x25 , "GenericAppB5"},
|
|
|
|
{0x7b , "MeetMeConference"},
|
2009-01-30 21:25:52 +00:00
|
|
|
{0x7d , "Conference"},
|
|
|
|
{0x7e , "CallPark"},
|
2002-03-20 21:01:21 +00:00
|
|
|
{0x7f , "CallPickup"},
|
2009-01-30 21:25:52 +00:00
|
|
|
{0x80 , "GroupCallPickup"},
|
2002-03-19 11:26:23 +00:00
|
|
|
{0,NULL}
|
|
|
|
};
|
2010-11-03 22:08:49 +00:00
|
|
|
static value_string_ext deviceStimuli_ext = VALUE_STRING_EXT_INIT(deviceStimuli);
|
2002-03-19 11:26:23 +00:00
|
|
|
|
|
|
|
|
|
|
|
/* Note i'm only using 7 later on cuz i'm lazy ;) */
|
|
|
|
#define DeviceMaxCapabilities 18 /* max capabilities allowed in Cap response message */
|
|
|
|
|
|
|
|
static const value_string mediaPayloads[] = {
|
2002-03-21 11:18:44 +00:00
|
|
|
{1 , "Non-standard codec"},
|
2002-03-21 11:08:39 +00:00
|
|
|
{2 , "G.711 A-law 64k"},
|
|
|
|
{3 , "G.711 A-law 56k"},
|
|
|
|
{4 , "G.711 u-law 64k"},
|
|
|
|
{5 , "G.711 u-law 56k"},
|
|
|
|
{6 , "G.722 64k"},
|
|
|
|
{7 , "G.722 56k"},
|
|
|
|
{8 , "G.722 48k"},
|
2002-03-21 11:18:44 +00:00
|
|
|
{9 , "G.723.1"},
|
2002-03-21 11:08:39 +00:00
|
|
|
{10 , "G.728"},
|
|
|
|
{11 , "G.729"},
|
2002-03-21 11:18:44 +00:00
|
|
|
{12 , "G.729 Annex A"},
|
|
|
|
{13 , "IS11172 AudioCap"}, /* IS11172 is an ISO MPEG standard */
|
|
|
|
{14 , "IS13818 AudioCap"}, /* IS13818 is an ISO MPEG standard */
|
2002-03-21 11:08:39 +00:00
|
|
|
{15 , "G.729 Annex B"},
|
|
|
|
{16 , "G.729 Annex A+Annex B"},
|
2002-03-21 11:18:44 +00:00
|
|
|
{18 , "GSM Full Rate"},
|
|
|
|
{19 , "GSM Half Rate"},
|
|
|
|
{20 , "GSM Enhanced Full Rate"},
|
|
|
|
{25 , "Wideband 256k"},
|
|
|
|
{32 , "Data 64k"},
|
|
|
|
{33 , "Data 56k"},
|
2002-03-20 21:01:21 +00:00
|
|
|
{80 , "GSM"},
|
|
|
|
{81 , "ActiveVoice"},
|
2002-03-21 11:08:39 +00:00
|
|
|
{82 , "G.726 32K"},
|
|
|
|
{83 , "G.726 24K"},
|
|
|
|
{84 , "G.726 16K"},
|
|
|
|
{85 , "G.729B"},
|
|
|
|
{86 , "G.729B Low Complexity"},
|
2009-01-30 21:25:52 +00:00
|
|
|
{100 , "H261"},
|
|
|
|
{101 , "H263"},
|
|
|
|
{102 , "Video"},
|
|
|
|
{105 , "T120"},
|
|
|
|
{106 , "H224"},
|
|
|
|
{257 , "RFC2833_DynPayload"},
|
2002-03-19 11:26:23 +00:00
|
|
|
{0 , NULL}
|
|
|
|
};
|
2010-11-03 22:08:49 +00:00
|
|
|
static value_string_ext mediaPayloads_ext = VALUE_STRING_EXT_INIT(mediaPayloads);
|
2002-03-19 11:26:23 +00:00
|
|
|
|
|
|
|
static const value_string alarmSeverities[] = {
|
2002-03-20 21:01:21 +00:00
|
|
|
{0 , "Critical"},
|
|
|
|
{1 , "Warning"},
|
|
|
|
{2 , "Informational"},
|
|
|
|
{4 , "Unknown"},
|
|
|
|
{7 , "Major"},
|
|
|
|
{8 , "Minor"},
|
|
|
|
{10 , "Marginal"},
|
|
|
|
{20 , "TraceInfo"},
|
2002-03-19 11:26:23 +00:00
|
|
|
{0 , NULL}
|
|
|
|
};
|
2010-11-03 22:08:49 +00:00
|
|
|
static value_string_ext alarmSeverities_ext = VALUE_STRING_EXT_INIT(alarmSeverities);
|
2002-03-19 11:26:23 +00:00
|
|
|
|
|
|
|
static const value_string multicastMediaReceptionStatus[] = {
|
2002-03-20 21:01:21 +00:00
|
|
|
{0 , "Ok"},
|
|
|
|
{1 , "Error"},
|
2002-03-19 11:26:23 +00:00
|
|
|
{0 , NULL}
|
|
|
|
};
|
|
|
|
|
|
|
|
static const value_string openReceiveChanStatus[] = {
|
|
|
|
{0 , "orcOk"},
|
|
|
|
{1 , "orcError"},
|
|
|
|
{0 , NULL}
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
static const value_string statsProcessingTypes[] = {
|
|
|
|
{0 , "clearStats"},
|
|
|
|
{1 , "doNotClearStats"},
|
|
|
|
{0 , NULL}
|
|
|
|
};
|
|
|
|
|
|
|
|
#define SkMaxSoftKeyCount 18 /* this value should be the same as the max soft key value */
|
|
|
|
static const value_string softKeyEvents[] = {
|
2002-03-20 21:01:21 +00:00
|
|
|
{1 , "Redial"},
|
|
|
|
{2 , "NewCall"},
|
|
|
|
{3 , "Hold"},
|
2009-01-30 21:25:52 +00:00
|
|
|
{4 , "Transfer"},
|
2002-03-20 21:01:21 +00:00
|
|
|
{5 , "CFwdAll"},
|
|
|
|
{6 , "CFwdBusy"},
|
|
|
|
{7 , "CFwdNoAnswer"},
|
|
|
|
{8 , "BackSpace"},
|
|
|
|
{9 , "EndCall"},
|
|
|
|
{10 , "Resume"},
|
|
|
|
{11 , "Answer"},
|
|
|
|
{12 , "Info"},
|
|
|
|
{13 , "Confrn"},
|
|
|
|
{14 , "Park"},
|
|
|
|
{15 , "Join"},
|
|
|
|
{16 , "MeetMeConfrn"},
|
|
|
|
{17 , "CallPickUp"},
|
|
|
|
{18 , "GrpCallPickUp"},
|
2002-03-19 11:26:23 +00:00
|
|
|
{0 , NULL}
|
|
|
|
};
|
2010-11-03 22:08:49 +00:00
|
|
|
static value_string_ext softKeyEvents_ext = VALUE_STRING_EXT_INIT(softKeyEvents);
|
2002-03-19 11:26:23 +00:00
|
|
|
|
|
|
|
/* Define info index for each softkey event for Telecaster station. */
|
|
|
|
static const value_string softKeyIndexes[] = {
|
2002-03-20 21:01:21 +00:00
|
|
|
{301 , "RedialInfoIndex"},
|
|
|
|
{302 , "NewCallInfoIndex"},
|
|
|
|
{303 , "HoldInfoIndex"},
|
|
|
|
{304 , "TrnsferInfoIndex"},
|
|
|
|
{305 , "CFwdAllInfoIndex"},
|
|
|
|
{306 , "CFwdBusyInfoIndex"}, /* not used yet */
|
|
|
|
{307 , "CFwdNoAnswerInfoIndex"}, /* not used yet */
|
|
|
|
{308 , "BackSpaceInfoIndex"},
|
|
|
|
{309 , "EndCallInfoIndex"},
|
|
|
|
{310 , "ResumeInfoIndex"},
|
|
|
|
{311 , "AnswerInfoIndex"},
|
|
|
|
{312 , "InfoInfoIndex"},
|
|
|
|
{313 , "ConfrnInfoIndex"},
|
|
|
|
{314 , "ParkInfoIndex"},
|
|
|
|
{315 , "JoinInfoIndex"},
|
|
|
|
{316 , "MeetMeConfrnInfoIndex"},
|
|
|
|
{317 , "CallPickUpInfoIndex"},
|
|
|
|
{318 , "GrpCallPickUpInfoIndex"},
|
2002-03-19 11:26:23 +00:00
|
|
|
{0 , NULL}
|
|
|
|
};
|
2010-11-03 22:08:49 +00:00
|
|
|
static value_string_ext softKeyIndexes_ext = VALUE_STRING_EXT_INIT(softKeyIndexes);
|
2002-03-19 11:26:23 +00:00
|
|
|
|
|
|
|
|
|
|
|
static const value_string buttonDefinitions[] = {
|
2009-01-30 21:25:52 +00:00
|
|
|
{0x1 , "LastNumberRedial"},
|
|
|
|
{0x2 , "SpeedDial"},
|
|
|
|
{0x3 , "Hold"},
|
|
|
|
{0x4 , "Transfer"},
|
|
|
|
{0x5 , "ForwardAll"},
|
|
|
|
{0x6 , "ForwardBusy"},
|
|
|
|
{0x7 , "ForwardNoAnswer"},
|
|
|
|
{0x8 , "Display"},
|
|
|
|
{0x9 , "Line"},
|
2002-03-20 21:01:21 +00:00
|
|
|
{0xa , "T120Chat"},
|
|
|
|
{0xb , "T120Whiteboard"},
|
|
|
|
{0xc , "T120ApplicationSharing"},
|
|
|
|
{0xd , "T120FileTransfer"},
|
|
|
|
{0xe , "Video"},
|
|
|
|
{0x10 , "AnswerRelease"},
|
|
|
|
{0xf0 , "Keypad"},
|
|
|
|
{0xfd , "AEC"},
|
|
|
|
{0xff , "Undefined"},
|
2002-03-19 11:26:23 +00:00
|
|
|
{0 , NULL}
|
|
|
|
};
|
2010-11-03 22:08:49 +00:00
|
|
|
static value_string_ext buttonDefinitions_ext = VALUE_STRING_EXT_INIT(buttonDefinitions);
|
2002-03-19 11:26:23 +00:00
|
|
|
|
|
|
|
#define StationTotalSoftKeySets 10 /* total number of the soft key sets */
|
|
|
|
static const value_string keySetNames[] = {
|
|
|
|
{0 , "OnHook"},
|
|
|
|
{1 , "Connected"},
|
|
|
|
{2 , "OnHold"},
|
|
|
|
{3 , "RingIn"},
|
|
|
|
{4 , "OffHook"},
|
|
|
|
{5 , "Connected with transfer"},
|
|
|
|
{6 , "Digits after dialing first digit"},
|
|
|
|
{7 , "Connected with conference"},
|
|
|
|
{8 , "RingOut"},
|
|
|
|
{9 , "OffHook with features"},
|
|
|
|
{0 , NULL}
|
2001-10-11 16:01:10 +00:00
|
|
|
};
|
2010-11-03 22:08:49 +00:00
|
|
|
static value_string_ext keySetNames_ext = VALUE_STRING_EXT_INIT(keySetNames);
|
2001-10-11 16:01:10 +00:00
|
|
|
|
2010-11-03 22:08:49 +00:00
|
|
|
#if 0
|
2002-03-19 11:26:23 +00:00
|
|
|
/* Define soft key labels for the Telecaster station */
|
2007-04-14 14:01:53 +00:00
|
|
|
static const value_string softKeyLabel[] _U_ = {
|
2002-03-19 11:26:23 +00:00
|
|
|
{0 , "undefined"},
|
|
|
|
{1 , "Redial"},
|
|
|
|
{2 , "NewCall"},
|
|
|
|
{3 , "Hold"},
|
|
|
|
{4 , "Trnsfer"},
|
|
|
|
{5 , "CFwdAll"},
|
|
|
|
{6 , "CFwdBusy"},
|
|
|
|
{7 , "CFwdNoAnswer"},
|
|
|
|
{8 , "<<"},
|
|
|
|
{9 , "EndCall"},
|
|
|
|
{10 , "Resume"},
|
|
|
|
{11 , "Answer"},
|
|
|
|
{12 , "Info"},
|
|
|
|
{13 , "Confrn"},
|
|
|
|
{14 , "Park"},
|
|
|
|
{15 , "Join"},
|
|
|
|
{16 , "MeetMe"},
|
|
|
|
{17 , "PickUp"},
|
|
|
|
{18 , "GPickUp"},
|
|
|
|
{0 , NULL}
|
2002-08-28 21:04:11 +00:00
|
|
|
};
|
2010-11-03 22:08:49 +00:00
|
|
|
#endif
|
2002-03-19 11:26:23 +00:00
|
|
|
|
2002-08-28 21:04:11 +00:00
|
|
|
/*
|
|
|
|
* define lamp modes;
|
|
|
|
* lamp cadence is defined as follows
|
|
|
|
* Wink (on 80%) = 448msec on / 64msec off
|
|
|
|
* Flash (fast flash) = 32msec on / 32msec off
|
|
|
|
* Blink (on 50%) = 512msec on / 512msec off
|
|
|
|
* On (on steady)
|
2002-03-19 11:26:23 +00:00
|
|
|
*/
|
|
|
|
static const value_string stationLampModes[] = {
|
|
|
|
{0 , "Undefined"},
|
2002-03-27 20:29:05 +00:00
|
|
|
{0x1 , "Off"},
|
|
|
|
{0x2 , "On"},
|
|
|
|
{0x3 , "Wink"},
|
|
|
|
{0x4 , "Flash"},
|
|
|
|
{0x5 , "Blink"},
|
2002-03-19 11:26:23 +00:00
|
|
|
{0 , NULL}
|
2002-08-28 21:04:11 +00:00
|
|
|
};
|
2010-11-03 22:08:49 +00:00
|
|
|
static value_string_ext stationLampModes_ext = VALUE_STRING_EXT_INIT(stationLampModes);
|
2002-03-19 11:26:23 +00:00
|
|
|
|
2002-08-28 21:04:11 +00:00
|
|
|
/* Defined the Call States to be sent to the Telecaste station.
|
|
|
|
* These are NOT the call states used in CM internally. Instead,
|
|
|
|
* they are the call states sent from CM and understood by the Telecaster station
|
2002-03-20 21:01:21 +00:00
|
|
|
*/
|
|
|
|
static const value_string skinny_stationCallStates[] = {
|
|
|
|
{1 , "OffHook"},
|
|
|
|
{2 , "OnHook"},
|
|
|
|
{3 , "RingOut"},
|
2002-08-28 21:04:11 +00:00
|
|
|
{4 , "RingIn"},
|
|
|
|
{5 , "Connected"},
|
|
|
|
{6 , "Busy"},
|
|
|
|
{7 , "Congestion"},
|
|
|
|
{8 , "Hold"},
|
|
|
|
{9 , "CallWaiting"},
|
|
|
|
{10 , "CallTransfer"},
|
|
|
|
{11 , "CallPark"},
|
|
|
|
{12 , "Proceed"},
|
|
|
|
{13 , "CallRemoteMultiline"},
|
|
|
|
{14 , "InvalidNumber"},
|
2002-03-20 21:01:21 +00:00
|
|
|
{0 , NULL}
|
|
|
|
};
|
2010-11-03 22:08:49 +00:00
|
|
|
static value_string_ext skinny_stationCallStates_ext = VALUE_STRING_EXT_INIT(skinny_stationCallStates);
|
2002-03-19 11:26:23 +00:00
|
|
|
|
2002-03-20 21:01:21 +00:00
|
|
|
/* Defined Call Type */
|
2002-08-28 21:04:11 +00:00
|
|
|
static const value_string skinny_callTypes[] = {
|
2002-03-27 20:29:05 +00:00
|
|
|
{1 , "InBoundCall"},
|
2002-08-28 21:04:11 +00:00
|
|
|
{2 , "OutBoundCall"},
|
|
|
|
{3 , "ForwardCall"},
|
2002-03-20 21:01:21 +00:00
|
|
|
{0 , NULL}
|
2002-08-28 21:04:11 +00:00
|
|
|
};
|
2002-03-20 21:01:21 +00:00
|
|
|
|
2002-08-28 21:04:11 +00:00
|
|
|
/*
|
|
|
|
* define station-playable tones;
|
|
|
|
* for tone definitions see SR-TSV-002275, "BOC Notes on the LEC Networks -- 1994"
|
2002-03-20 21:01:21 +00:00
|
|
|
*/
|
|
|
|
static const value_string skinny_deviceTones[] = {
|
2009-01-30 21:25:52 +00:00
|
|
|
{0x0 , "Silence"},
|
|
|
|
{0x1 , "Dtmf1"},
|
|
|
|
{0x2 , "Dtmf2"},
|
|
|
|
{0x3 , "Dtmf3"},
|
|
|
|
{0x4 , "Dtmf4"},
|
|
|
|
{0x5 , "Dtmf5"},
|
|
|
|
{0x6 , "Dtmf6"},
|
|
|
|
{0x7 , "Dtmf7"},
|
|
|
|
{0x8 , "Dtmf8"},
|
|
|
|
{0x9 , "Dtmf9"},
|
2002-03-27 20:29:05 +00:00
|
|
|
{0xa , "Dtmf0"},
|
|
|
|
{0xe , "DtmfStar"},
|
|
|
|
{0xf , "DtmfPound"},
|
|
|
|
{0x10 , "DtmfA"},
|
|
|
|
{0x11 , "DtmfB"},
|
|
|
|
{0x12 , "DtmfC"},
|
|
|
|
{0x13 , "DtmfD"},
|
|
|
|
{0x21 , "InsideDialTone"},
|
|
|
|
{0x22 , "OutsideDialTone"},
|
|
|
|
{0x23 , "LineBusyTone"},
|
|
|
|
{0x24 , "AlertingTone"},
|
|
|
|
{0x25 , "ReorderTone"},
|
|
|
|
{0x26 , "RecorderWarningTone"},
|
|
|
|
{0x27 , "RecorderDetectedTone"},
|
|
|
|
{0x28 , "RevertingTone"},
|
|
|
|
{0x29 , "ReceiverOffHookTone"},
|
|
|
|
{0x2a , "PartialDialTone"},
|
|
|
|
{0x2b , "NoSuchNumberTone"},
|
|
|
|
{0x2c , "BusyVerificationTone"},
|
|
|
|
{0x2d , "CallWaitingTone"},
|
|
|
|
{0x2e , "ConfirmationTone"},
|
|
|
|
{0x2f , "CampOnIndicationTone"},
|
|
|
|
{0x30 , "RecallDialTone"},
|
|
|
|
{0x31 , "ZipZip"},
|
|
|
|
{0x32 , "Zip"},
|
|
|
|
{0x33 , "BeepBonk"},
|
|
|
|
{0x34 , "MusicTone"},
|
|
|
|
{0x35 , "HoldTone"},
|
|
|
|
{0x36 , "TestTone"},
|
2009-01-30 21:25:52 +00:00
|
|
|
{0x37 , "DtMoniterWarningTone"},
|
2002-03-27 20:29:05 +00:00
|
|
|
{0x40 , "AddCallWaiting"},
|
|
|
|
{0x41 , "PriorityCallWait"},
|
|
|
|
{0x42 , "RecallDial"},
|
|
|
|
{0x43 , "BargIn"},
|
|
|
|
{0x44 , "DistinctAlert"},
|
|
|
|
{0x45 , "PriorityAlert"},
|
|
|
|
{0x46 , "ReminderRing"},
|
2004-02-20 21:25:16 +00:00
|
|
|
{0x47 , "PrecedenceRingBack"},
|
|
|
|
{0x48 , "PreemptionTone"},
|
2002-03-27 20:29:05 +00:00
|
|
|
{0x50 , "MF1"},
|
|
|
|
{0x51 , "MF2"},
|
|
|
|
{0x52 , "MF3"},
|
|
|
|
{0x53 , "MF4"},
|
|
|
|
{0x54 , "MF5"},
|
|
|
|
{0x55 , "MF6"},
|
|
|
|
{0x56 , "MF7"},
|
|
|
|
{0x57 , "MF8"},
|
|
|
|
{0x58 , "MF9"},
|
|
|
|
{0x59 , "MF0"},
|
|
|
|
{0x5a , "MFKP1"},
|
|
|
|
{0x5b , "MFST"},
|
|
|
|
{0x5c , "MFKP2"},
|
|
|
|
{0x5d , "MFSTP"},
|
|
|
|
{0x5e , "MFST3P"},
|
|
|
|
{0x5f , "MILLIWATT"},
|
|
|
|
{0x60 , "MILLIWATTTEST"},
|
|
|
|
{0x61 , "HIGHTONE"},
|
|
|
|
{0x62 , "FLASHOVERRIDE"},
|
|
|
|
{0x63 , "FLASH"},
|
|
|
|
{0x64 , "PRIORITY"},
|
|
|
|
{0x65 , "IMMEDIATE"},
|
|
|
|
{0x66 , "PREAMPWARN"},
|
|
|
|
{0x67 , "2105HZ"},
|
|
|
|
{0x68 , "2600HZ"},
|
|
|
|
{0x69 , "440HZ"},
|
|
|
|
{0x6a , "300HZ"},
|
2004-02-20 21:25:16 +00:00
|
|
|
{0x77 , "MLPP_PALA"},
|
|
|
|
{0x78 , "MLPP_ICA"},
|
|
|
|
{0x79 , "MLPP_VCA"},
|
|
|
|
{0x7A , "MLPP_BPA"},
|
|
|
|
{0x7B , "MLPP_BNEA"},
|
|
|
|
{0x7C , "MLPP_UPA"},
|
2002-03-27 20:29:05 +00:00
|
|
|
{0x7f , "NoTone"},
|
2002-03-20 21:01:21 +00:00
|
|
|
{0 , NULL}
|
|
|
|
};
|
2010-11-03 22:08:49 +00:00
|
|
|
static value_string_ext skinny_deviceTones_ext = VALUE_STRING_EXT_INIT(skinny_deviceTones);
|
2002-03-20 21:01:21 +00:00
|
|
|
|
|
|
|
/* define ring types */
|
|
|
|
static const value_string skinny_ringTypes[] = {
|
2002-03-27 20:29:05 +00:00
|
|
|
{0x1 , "RingOff"},
|
|
|
|
{0x2 , "InsideRing"},
|
|
|
|
{0x3 , "OutsideRing"},
|
|
|
|
{0x4 , "FeatureRing"},
|
2004-02-20 21:25:16 +00:00
|
|
|
{0x5 , "FlashOnly"},
|
|
|
|
{0x6 , "PrecedenceRing"},
|
2002-03-20 21:01:21 +00:00
|
|
|
{0 , NULL}
|
|
|
|
};
|
2010-11-03 22:08:49 +00:00
|
|
|
static value_string_ext skinny_ringTypes_ext = VALUE_STRING_EXT_INIT(skinny_ringTypes);
|
|
|
|
|
2010-05-06 19:16:45 +00:00
|
|
|
static const value_string skinny_ringModes[] = {
|
|
|
|
{0x1 , "RingForever"},
|
|
|
|
{0x2 , "RingOnce"},
|
|
|
|
{0 , NULL}
|
|
|
|
};
|
2002-03-20 21:01:21 +00:00
|
|
|
|
|
|
|
static const value_string skinny_speakerModes[] = {
|
2002-03-27 20:29:05 +00:00
|
|
|
{1 , "SpeakerOn"},
|
|
|
|
{2 , "SpeakerOff"},
|
2002-03-20 21:01:21 +00:00
|
|
|
{0 , NULL}
|
|
|
|
};
|
|
|
|
|
|
|
|
static const value_string skinny_silenceSuppressionModes[] = {
|
|
|
|
{0 , "Media_SilenceSuppression_Off"},
|
|
|
|
{1 , "Media_SilenceSuppression_On"},
|
|
|
|
{0 , NULL}
|
2002-08-28 21:04:11 +00:00
|
|
|
};
|
2002-03-20 21:01:21 +00:00
|
|
|
|
|
|
|
static const value_string skinny_g723BitRates[] = {
|
|
|
|
{1 , "Media_G723BRate_5_3"},
|
|
|
|
{2 , "Media_G723BRate_6_4"},
|
|
|
|
{0 , NULL}
|
|
|
|
};
|
|
|
|
|
|
|
|
/* define device reset types */
|
|
|
|
static const value_string skinny_deviceResetTypes[] = {
|
|
|
|
{1 , "DEVICE_RESET"},
|
|
|
|
{2 , "DEVICE_RESTART"},
|
|
|
|
{0 , NULL}
|
2002-08-28 21:04:11 +00:00
|
|
|
};
|
2002-03-20 21:01:21 +00:00
|
|
|
|
|
|
|
static const value_string skinny_echoCancelTypes[] = {
|
|
|
|
{0 , "Media_EchoCancellation_Off"},
|
|
|
|
{1 , "Media_EchoCancellation_On"},
|
|
|
|
{0 , NULL}
|
2002-08-28 21:04:11 +00:00
|
|
|
};
|
2002-03-20 21:01:21 +00:00
|
|
|
|
|
|
|
static const value_string skinny_deviceUnregisterStatusTypes[] = {
|
2002-03-27 20:29:05 +00:00
|
|
|
{0 , "Ok"},
|
|
|
|
{1 , "Error"},
|
|
|
|
{2 , "NAK"}, /* Unregister request is rejected for reaso n such as existence of a call */
|
2002-03-20 21:01:21 +00:00
|
|
|
{0 , NULL}
|
|
|
|
};
|
|
|
|
|
2004-02-20 21:25:16 +00:00
|
|
|
static const value_string skinny_createConfResults[] = {
|
|
|
|
{0 , "Ok"},
|
|
|
|
{1 , "ResourceNotAvailable"},
|
|
|
|
{2 , "ConferenceAlreadyExist"},
|
|
|
|
{3 , "SystemErr"},
|
|
|
|
{0 , NULL}
|
|
|
|
};
|
|
|
|
|
|
|
|
static const value_string skinny_modifyConfResults[] = {
|
|
|
|
{0 , "Ok"},
|
|
|
|
{1 , "ResourceNotAvailable"},
|
|
|
|
{2 , "ConferenceNotExist"},
|
|
|
|
{3 , "InvalidParameter"},
|
|
|
|
{4 , "MoreActiveCallsThanReserved"},
|
|
|
|
{5 , "InvalidResourceType"},
|
|
|
|
{6 , "SystemErr"},
|
|
|
|
{0 , NULL}
|
|
|
|
};
|
2010-11-03 22:08:49 +00:00
|
|
|
static value_string_ext skinny_modifyConfResults_ext = VALUE_STRING_EXT_INIT(skinny_modifyConfResults);
|
2004-02-20 21:25:16 +00:00
|
|
|
|
|
|
|
static const value_string skinny_deleteConfResults[] = {
|
|
|
|
{0 , "Ok"},
|
|
|
|
{1 , "ConferenceNotExist"},
|
|
|
|
{2 , "SystemErr"},
|
|
|
|
{0 , NULL}
|
|
|
|
};
|
|
|
|
|
|
|
|
static const value_string skinny_addParticipantResults[] = {
|
|
|
|
{0 , "Ok"},
|
|
|
|
{1 , "ResourceNotAvailable"},
|
|
|
|
{2 , "ConferenceNotExist"},
|
|
|
|
{3 , "DuplicateCallRef"},
|
|
|
|
{4 , "SystemErr"},
|
|
|
|
{0 , NULL}
|
|
|
|
};
|
2010-11-03 22:08:49 +00:00
|
|
|
static value_string_ext skinny_addParticipantResults_ext = VALUE_STRING_EXT_INIT(skinny_addParticipantResults);
|
2004-02-20 21:25:16 +00:00
|
|
|
|
|
|
|
static const value_string skinny_auditParticipantResults[] = {
|
|
|
|
{0 , "Ok"},
|
|
|
|
{1 , "ConferenceNotExist"},
|
|
|
|
{0 , NULL}
|
|
|
|
};
|
|
|
|
|
2002-03-20 21:01:21 +00:00
|
|
|
/* define hook flash detection mode */
|
|
|
|
static const value_string skinny_hookFlashDetectModes[] = {
|
2002-03-27 20:29:05 +00:00
|
|
|
{1 , "HookFlashOn"},
|
|
|
|
{2 , "HookFlashOff"},
|
2002-03-20 21:01:21 +00:00
|
|
|
{0 , NULL}
|
2002-08-28 21:04:11 +00:00
|
|
|
};
|
2002-03-20 21:01:21 +00:00
|
|
|
|
2004-02-20 21:25:16 +00:00
|
|
|
/* define headset mode */
|
|
|
|
static const value_string skinny_headsetModes[] = {
|
|
|
|
{1 , "HeadsetOn"},
|
|
|
|
{2 , "HeadsetOff"},
|
|
|
|
{0 , NULL}
|
|
|
|
};
|
|
|
|
|
2002-08-28 21:04:11 +00:00
|
|
|
/* define station microphone modes;
|
|
|
|
* Mic On - The speakerphone's microphone is turned on ONLY if the phone is in the "Speaker On (Off Hook)"
|
|
|
|
* state (see above).
|
|
|
|
* Mic Off - The microphone is turned off or, if it's not on, the command is ignored.
|
2002-03-20 21:01:21 +00:00
|
|
|
*/
|
|
|
|
static const value_string skinny_microphoneModes[] = {
|
2002-03-27 20:29:05 +00:00
|
|
|
{1 , "MicOn"},
|
2002-08-28 21:04:11 +00:00
|
|
|
{2 , "MicOff"},
|
2002-03-20 21:01:21 +00:00
|
|
|
{0 , NULL}
|
|
|
|
};
|
|
|
|
|
|
|
|
/* define the session request types */
|
|
|
|
static const value_string skinny_sessionTypes[] = {
|
|
|
|
{1 , "Chat"},
|
|
|
|
{2 , "Whiteboard"},
|
|
|
|
{4 , "ApplicationSharing"},
|
|
|
|
{8 , "FileTransfer"},
|
|
|
|
{10 , "Video"},
|
|
|
|
{0 , NULL}
|
|
|
|
};
|
2010-11-03 22:08:49 +00:00
|
|
|
static value_string_ext skinny_sessionTypes_ext = VALUE_STRING_EXT_INIT(skinny_sessionTypes);
|
2002-03-20 21:01:21 +00:00
|
|
|
|
|
|
|
static const value_string skinny_mediaEnunciationTypes[] = {
|
|
|
|
{1 , "None"},
|
|
|
|
{2 , "CallPark"},
|
|
|
|
{0 , NULL}
|
2002-08-28 21:04:11 +00:00
|
|
|
};
|
2002-03-19 11:26:23 +00:00
|
|
|
|
2004-02-20 21:25:16 +00:00
|
|
|
static const value_string skinny_resourceTypes[] = {
|
|
|
|
{1 , "Conference"},
|
|
|
|
{2 , "IVR"},
|
|
|
|
{0 , NULL}
|
|
|
|
};
|
|
|
|
|
|
|
|
static const value_string skinny_sequenceFlags[] = {
|
|
|
|
{0 , "StationSequenceFirst"},
|
|
|
|
{1 , "StationSequenceMore"},
|
|
|
|
{2 , "StationSequenceLast"},
|
|
|
|
{0 , NULL}
|
|
|
|
};
|
|
|
|
|
|
|
|
static const value_string skinny_Layouts[] = {
|
|
|
|
{0 , "NoLayout"},
|
|
|
|
{1 , "OneByOne"},
|
|
|
|
{2 , "OneByTwo"},
|
|
|
|
{3 , "TwoByTwo"},
|
|
|
|
{4 , "TwoByTwo3Alt1"},
|
|
|
|
{5 , "TwoByTwo3Alt2"},
|
|
|
|
{6 , "ThreeByThree"},
|
|
|
|
{7 , "ThreeByThree6Alt1"},
|
|
|
|
{8 , "ThreeByThree6Alt2"},
|
|
|
|
{9 , "ThreeByThree4Alt1"},
|
|
|
|
{10 , "ThreeByThree4Alt2"},
|
|
|
|
{0 , NULL}
|
|
|
|
};
|
2010-11-03 22:08:49 +00:00
|
|
|
static value_string_ext skinny_Layouts_ext = VALUE_STRING_EXT_INIT(skinny_Layouts);
|
2004-02-20 21:25:16 +00:00
|
|
|
|
|
|
|
static const value_string skinny_transmitOrReceive[] = {
|
|
|
|
{1 , "Station_Receive_only"},
|
|
|
|
{2 , "Station_Transmit_only"},
|
|
|
|
{3 , "Station_Receive_Transmit"},
|
|
|
|
{0 , NULL}
|
|
|
|
};
|
|
|
|
|
|
|
|
static const value_string skinny_endOfAnnAck[] = {
|
|
|
|
{0 , "NoAnnAckRequired"},
|
|
|
|
{1 , "AnnAckRequired"},
|
|
|
|
{0 , NULL}
|
|
|
|
};
|
|
|
|
|
|
|
|
static const value_string skinny_annPlayMode[] = {
|
|
|
|
{0 , "AnnXmlConfigMode"},
|
|
|
|
{1 , "AnnOneShotMode"},
|
|
|
|
{2 , "AnnContinuousMode"},
|
|
|
|
{0 , NULL}
|
|
|
|
};
|
|
|
|
|
|
|
|
static const value_string skinny_annPlayStatus[] = {
|
|
|
|
{0 , "PlayToneOK"},
|
|
|
|
{1 , "PlayToneErr"},
|
|
|
|
{0 , NULL}
|
|
|
|
};
|
|
|
|
|
|
|
|
static const value_string skinny_miscCommandType[] = {
|
|
|
|
{0 , "videoFreezePicture"},
|
|
|
|
{1 , "videoFastUpdatePicture"},
|
|
|
|
{2 , "videoFastUpdateGOB"},
|
|
|
|
{3 , "videoFastUpdateMB"},
|
|
|
|
{4 , "lostPicture"},
|
|
|
|
{5 , "lostPartialPicture"},
|
|
|
|
{6 , "recoveryReferencePicture"},
|
|
|
|
{7 , "temporalSpatialTradeOff"},
|
|
|
|
{0 , NULL}
|
|
|
|
};
|
2010-11-03 22:08:49 +00:00
|
|
|
static value_string_ext skinny_miscCommandType_ext = VALUE_STRING_EXT_INIT(skinny_miscCommandType);
|
2004-02-20 21:25:16 +00:00
|
|
|
|
|
|
|
static const value_string skinny_formatTypes[] = {
|
|
|
|
{1 , "sqcif (128x96)"},
|
|
|
|
{2 , "qcif (176x144)"},
|
|
|
|
{3 , "cif (352x288)"},
|
|
|
|
{4 , "4cif (704x576)"},
|
|
|
|
{5 , "16cif (1408x1152)"},
|
|
|
|
{6 , "custom_base"},
|
|
|
|
{0 , NULL}
|
|
|
|
};
|
2010-11-03 22:08:49 +00:00
|
|
|
static value_string_ext skinny_formatTypes_ext = VALUE_STRING_EXT_INIT(skinny_formatTypes);
|
2004-02-20 21:25:16 +00:00
|
|
|
|
|
|
|
static const value_string cast_callSecurityStatusTypes[] = {
|
|
|
|
{0 , "CallSecurityStatusUnknown"},
|
|
|
|
{1 , "CallSecurityStatusNotAuthenticated"},
|
|
|
|
{2 , "CallSecurityStatusAuthenticated"},
|
|
|
|
{0 , NULL}
|
|
|
|
};
|
|
|
|
|
2002-03-19 11:26:23 +00:00
|
|
|
#define StationMaxDirnumSize 24 /* max size of calling or called party dirnum */
|
|
|
|
#define StationMaxNameSize 40 /* max size of calling party's name */
|
2010-05-06 19:16:45 +00:00
|
|
|
#define StationMaxDisplayNameSize 44 /* max size of display name */
|
2002-03-19 11:26:23 +00:00
|
|
|
#define StationMaxDeviceNameSize 16 /* max size of station's IP name */
|
|
|
|
#define StationMaxSpeedDials 10 /* max number of speed dial numbers allowed on a station */
|
|
|
|
#define StationMaxVersionSize 16 /* max chars in version string */
|
2002-08-28 21:04:11 +00:00
|
|
|
#define StationMaxButtonTemplateSize 42 /* max button template size */
|
2002-03-19 11:26:23 +00:00
|
|
|
#define StationMaxDisplayTextSize 33 /* max text size in DisplayText message */
|
|
|
|
#define StationMaxPorts 10 /* max number of ports on one device */
|
|
|
|
#define StationDateTemplateSize 6 /* date template in the form M/D/Y, D/M/Y, ... */
|
|
|
|
#define StationMaxServerNameSize 48 /* max size of server name */
|
|
|
|
#define StationMaxServers 5 /* max servers */
|
|
|
|
#define StationMaxDeviceDirnums 1024 /* max dir numbers per SCM device */
|
|
|
|
#define StationMaxDirnums 64 /* max dir numbers per physical station (also used in db request msg); */
|
|
|
|
#define StationMaxSoftKeyLabelSize 16 /* max label size in the message */
|
|
|
|
#define StationMaxSoftKeyDefinition 32 /* max number of soft key definition in the message */
|
|
|
|
#define StationMaxSoftKeySetDefinition 16 /* max number of soft key set definition in the message */
|
|
|
|
#define StationMaxSoftKeyIndex 16 /* max number of soft key indices in a station soft key set */
|
|
|
|
#define StationMaxDisplayPromptStatusSize 32 /* max status text size in the display status message */
|
|
|
|
#define StationMaxDisplayNotifySize 32 /* max prompt text size in the display prompt message */
|
2002-03-27 20:29:05 +00:00
|
|
|
#define StationMaxAlarmMessageSize 80 /* max size for an alarm message */
|
2010-11-03 22:08:49 +00:00
|
|
|
#define StationMaxUserDeviceDataSize 2000 /* max size of user data between application and device */
|
|
|
|
#define StationMaxConference 32
|
|
|
|
#define AppConferenceIDSize 32
|
|
|
|
#define AppDataSize 24
|
|
|
|
#define MAX_CUSTOM_PICTURES 6
|
|
|
|
#define MAX_LAYOUT_WITH_SAME_SERVICE 5
|
|
|
|
#define MAX_SERVICE_TYPE 4
|
|
|
|
#define DeviceMaxCapabilities 18 /* max capabilities allowed in Cap response message */
|
2004-02-20 21:25:16 +00:00
|
|
|
#define StationMaxCapabilities DeviceMaxCapabilities
|
2010-11-03 22:08:49 +00:00
|
|
|
#define StationMaxVideoCapabilities 10
|
|
|
|
#define StationMaxDataCapabilities 5
|
|
|
|
#define MAX_LEVEL_PREFERENCE 4
|
|
|
|
#define MaxAnnouncementList 32
|
|
|
|
#define StationMaxMonitorParties 16 /* Max Monitor Bridge whisper matrix parties, rm, M&R in Parche */
|
|
|
|
#define StationMaxServiceURLSize 256 /* max number of service URLs length */
|
|
|
|
#define MAX_PICTURE_FORMAT 5
|
|
|
|
#define MAX_REFERENCE_PICTURE 4
|
2002-03-19 11:26:23 +00:00
|
|
|
|
2001-10-11 16:01:10 +00:00
|
|
|
/* Initialize the protocol and registered fields */
|
|
|
|
static int proto_skinny = -1;
|
|
|
|
static int hf_skinny_data_length = -1;
|
2011-02-14 22:52:14 +00:00
|
|
|
static int hf_skinny_hdr_version = -1;
|
2001-10-11 16:01:10 +00:00
|
|
|
static int hf_skinny_messageid = -1;
|
2002-03-19 11:26:23 +00:00
|
|
|
static int hf_skinny_deviceName = -1;
|
|
|
|
static int hf_skinny_stationUserId = -1;
|
|
|
|
static int hf_skinny_stationInstance = -1;
|
|
|
|
static int hf_skinny_deviceType = -1;
|
|
|
|
static int hf_skinny_maxStreams = -1;
|
|
|
|
static int hf_skinny_stationIpPort = -1;
|
|
|
|
static int hf_skinny_stationKeypadButton = -1;
|
2011-04-14 06:07:42 +00:00
|
|
|
static int hf_skinny_calledPartyNumber = -1;
|
2002-03-19 11:26:23 +00:00
|
|
|
static int hf_skinny_stimulus = -1;
|
|
|
|
static int hf_skinny_stimulusInstance = -1;
|
|
|
|
static int hf_skinny_lineNumber = -1;
|
|
|
|
static int hf_skinny_speedDialNumber = -1;
|
|
|
|
static int hf_skinny_capCount = -1;
|
|
|
|
static int hf_skinny_payloadCapability = -1;
|
|
|
|
static int hf_skinny_maxFramesPerPacket = -1;
|
|
|
|
static int hf_skinny_alarmSeverity = -1;
|
|
|
|
static int hf_skinny_alarmParam1 = -1;
|
|
|
|
static int hf_skinny_alarmParam2 = -1;
|
|
|
|
static int hf_skinny_receptionStatus = -1;
|
|
|
|
static int hf_skinny_passThruPartyID = -1;
|
|
|
|
static int hf_skinny_ORCStatus = -1;
|
|
|
|
static int hf_skinny_ipAddress = -1;
|
|
|
|
static int hf_skinny_portNumber = -1;
|
|
|
|
static int hf_skinny_statsProcessingType = -1;
|
2002-03-18 00:45:11 +00:00
|
|
|
static int hf_skinny_callIdentifier = -1;
|
|
|
|
static int hf_skinny_packetsSent = -1;
|
|
|
|
static int hf_skinny_octetsSent = -1;
|
|
|
|
static int hf_skinny_packetsRecv = -1;
|
|
|
|
static int hf_skinny_octetsRecv = -1;
|
|
|
|
static int hf_skinny_packetsLost = -1;
|
|
|
|
static int hf_skinny_latency = -1;
|
|
|
|
static int hf_skinny_jitter = -1;
|
2002-03-19 11:26:23 +00:00
|
|
|
static int hf_skinny_directoryNumber = -1;
|
|
|
|
static int hf_skinny_softKeyEvent = -1;
|
|
|
|
static int hf_skinny_lineInstance = -1;
|
|
|
|
static int hf_skinny_keepAliveInterval = -1;
|
|
|
|
static int hf_skinny_dateTemplate = -1;
|
|
|
|
static int hf_skinny_secondaryKeepAliveInterval = -1;
|
|
|
|
static int hf_skinny_buttonOffset = -1;
|
|
|
|
static int hf_skinny_buttonCount = -1;
|
|
|
|
static int hf_skinny_totalButtonCount = -1;
|
|
|
|
static int hf_skinny_buttonInstanceNumber = -1;
|
|
|
|
static int hf_skinny_buttonDefinition = -1;
|
|
|
|
static int hf_skinny_softKeyOffset = -1;
|
|
|
|
static int hf_skinny_softKeyCount = -1;
|
|
|
|
static int hf_skinny_totalSoftKeyCount = -1;
|
|
|
|
static int hf_skinny_softKeyLabel = -1;
|
|
|
|
static int hf_skinny_softKeySetOffset = -1;
|
|
|
|
static int hf_skinny_softKeySetCount = -1;
|
|
|
|
static int hf_skinny_totalSoftKeySetCount = -1;
|
|
|
|
static int hf_skinny_softKeyTemplateIndex = -1;
|
|
|
|
static int hf_skinny_softKeyInfoIndex = -1;
|
|
|
|
static int hf_skinny_softKeySetDescription = -1;
|
|
|
|
static int hf_skinny_softKeyMap = -1;
|
|
|
|
static int hf_skinny_softKey0 = -1;
|
|
|
|
static int hf_skinny_softKey1 = -1;
|
|
|
|
static int hf_skinny_softKey2 = -1;
|
|
|
|
static int hf_skinny_softKey3 = -1;
|
|
|
|
static int hf_skinny_softKey4 = -1;
|
|
|
|
static int hf_skinny_softKey5 = -1;
|
|
|
|
static int hf_skinny_softKey6 = -1;
|
|
|
|
static int hf_skinny_softKey7 = -1;
|
|
|
|
static int hf_skinny_softKey8 = -1;
|
|
|
|
static int hf_skinny_softKey9 = -1;
|
|
|
|
static int hf_skinny_softKey10 = -1;
|
|
|
|
static int hf_skinny_softKey11 = -1;
|
|
|
|
static int hf_skinny_softKey12 = -1;
|
|
|
|
static int hf_skinny_softKey13 = -1;
|
|
|
|
static int hf_skinny_softKey14 = -1;
|
|
|
|
static int hf_skinny_softKey15 = -1;
|
|
|
|
static int hf_skinny_lampMode = -1;
|
|
|
|
static int hf_skinny_messageTimeOutValue = -1;
|
2002-03-18 00:45:11 +00:00
|
|
|
static int hf_skinny_displayMessage = -1;
|
2002-03-19 11:26:23 +00:00
|
|
|
static int hf_skinny_lineDirNumber = -1;
|
|
|
|
static int hf_skinny_lineFullyQualifiedDisplayName = -1;
|
2010-05-06 19:16:45 +00:00
|
|
|
static int hf_skinny_lineDisplayName = -1;
|
2002-03-19 11:26:23 +00:00
|
|
|
static int hf_skinny_speedDialDirNumber = -1;
|
|
|
|
static int hf_skinny_speedDialDisplayName = -1;
|
2002-03-18 00:45:11 +00:00
|
|
|
static int hf_skinny_dateYear = -1;
|
|
|
|
static int hf_skinny_dateMonth = -1;
|
2002-03-19 11:26:23 +00:00
|
|
|
static int hf_skinny_dayOfWeek = -1;
|
2002-03-18 00:45:11 +00:00
|
|
|
static int hf_skinny_dateDay = -1;
|
|
|
|
static int hf_skinny_dateHour = -1;
|
|
|
|
static int hf_skinny_dateMinute = -1;
|
2002-03-19 11:26:23 +00:00
|
|
|
static int hf_skinny_dateSeconds = -1;
|
|
|
|
static int hf_skinny_dateMilliseconds = -1;
|
|
|
|
static int hf_skinny_timeStamp = -1;
|
2002-03-20 21:01:21 +00:00
|
|
|
static int hf_skinny_callState = -1;
|
|
|
|
static int hf_skinny_deviceTone = -1;
|
|
|
|
static int hf_skinny_callingPartyName = -1;
|
2011-04-14 06:07:42 +00:00
|
|
|
static int hf_skinny_callingPartyNumber = -1;
|
2002-03-20 21:01:21 +00:00
|
|
|
static int hf_skinny_calledPartyName = -1;
|
|
|
|
static int hf_skinny_callType = -1;
|
|
|
|
static int hf_skinny_originalCalledPartyName = -1;
|
|
|
|
static int hf_skinny_originalCalledParty = -1;
|
|
|
|
static int hf_skinny_ringType = -1;
|
2010-05-06 19:16:45 +00:00
|
|
|
static int hf_skinny_ringMode = -1;
|
2002-03-20 21:01:21 +00:00
|
|
|
static int hf_skinny_speakerMode = -1;
|
|
|
|
static int hf_skinny_remoteIpAddr = -1;
|
|
|
|
static int hf_skinny_remotePortNumber = -1;
|
|
|
|
static int hf_skinny_millisecondPacketSize = -1;
|
|
|
|
static int hf_skinny_precedenceValue = -1;
|
|
|
|
static int hf_skinny_silenceSuppression = -1;
|
|
|
|
static int hf_skinny_g723BitRate = -1;
|
|
|
|
static int hf_skinny_conferenceID = -1;
|
|
|
|
static int hf_skinny_deviceResetType = -1;
|
|
|
|
static int hf_skinny_echoCancelType = -1;
|
|
|
|
static int hf_skinny_deviceUnregisterStatus = -1;
|
|
|
|
static int hf_skinny_hookFlashDetectMode = -1;
|
|
|
|
static int hf_skinny_detectInterval = -1;
|
|
|
|
static int hf_skinny_microphoneMode = -1;
|
2004-02-20 21:25:16 +00:00
|
|
|
static int hf_skinny_headsetMode = -1;
|
2002-03-20 21:01:21 +00:00
|
|
|
static int hf_skinny_unknown = -1;
|
2011-04-14 05:37:58 +00:00
|
|
|
static int hf_skinny_rawData = -1;
|
2010-12-20 07:49:56 +00:00
|
|
|
static int hf_skinny_xmlData = -1;
|
2002-03-20 21:01:21 +00:00
|
|
|
static int hf_skinny_activeForward = -1;
|
|
|
|
static int hf_skinny_forwardAllActive = -1;
|
|
|
|
static int hf_skinny_forwardBusyActive = -1;
|
|
|
|
static int hf_skinny_forwardNoAnswerActive = -1;
|
|
|
|
static int hf_skinny_forwardNumber = -1;
|
|
|
|
static int hf_skinny_serverName = -1;
|
|
|
|
static int hf_skinny_numberLines = -1;
|
|
|
|
static int hf_skinny_numberSpeedDials = -1;
|
|
|
|
static int hf_skinny_userName = -1;
|
|
|
|
static int hf_skinny_sessionType = -1;
|
|
|
|
static int hf_skinny_version = -1;
|
|
|
|
static int hf_skinny_mediaEnunciationType = -1;
|
|
|
|
static int hf_skinny_serverIdentifier = -1;
|
|
|
|
static int hf_skinny_serverListenPort = -1;
|
|
|
|
static int hf_skinny_serverIpAddress = -1;
|
|
|
|
static int hf_skinny_multicastIpAddress = -1;
|
|
|
|
static int hf_skinny_multicastPort = -1;
|
|
|
|
static int hf_skinny_tokenRejWaitTime = -1;
|
2004-02-20 21:25:16 +00:00
|
|
|
static int hf_skinny_numberOfInServiceStreams = -1;
|
|
|
|
static int hf_skinny_maxStreamsPerConf = -1;
|
|
|
|
static int hf_skinny_numberOfOutOfServiceStreams = -1;
|
|
|
|
static int hf_skinny_applicationID = -1;
|
|
|
|
static int hf_skinny_serviceNum = -1;
|
|
|
|
static int hf_skinny_serviceURLIndex = -1;
|
|
|
|
static int hf_skinny_featureIndex = -1;
|
|
|
|
static int hf_skinny_createConfResults = -1;
|
|
|
|
static int hf_skinny_modifyConfResults = -1;
|
|
|
|
static int hf_skinny_deleteConfResults = -1;
|
|
|
|
static int hf_skinny_addParticipantResults = -1;
|
|
|
|
static int hf_skinny_passThruData = -1;
|
|
|
|
static int hf_skinny_last = -1;
|
|
|
|
static int hf_skinny_numberOfEntries = -1;
|
|
|
|
static int hf_skinny_auditParticipantResults = -1;
|
|
|
|
static int hf_skinny_participantEntry = -1;
|
|
|
|
static int hf_skinny_resourceTypes = -1;
|
|
|
|
static int hf_skinny_numberOfReservedParticipants = -1;
|
|
|
|
static int hf_skinny_numberOfActiveParticipants = -1;
|
|
|
|
static int hf_skinny_appID = -1;
|
|
|
|
static int hf_skinny_appData = -1;
|
|
|
|
static int hf_skinny_appConfID = -1;
|
|
|
|
static int hf_skinny_sequenceFlag = -1;
|
|
|
|
static int hf_skinny_displayPriority = -1;
|
|
|
|
static int hf_skinny_appInstanceID = -1;
|
|
|
|
static int hf_skinny_routingID = -1;
|
|
|
|
static int hf_skinny_audioCapCount = -1;
|
|
|
|
static int hf_skinny_videoCapCount = -1;
|
|
|
|
static int hf_skinny_dataCapCount = -1;
|
|
|
|
static int hf_skinny_RTPPayloadFormat = -1;
|
|
|
|
static int hf_skinny_customPictureFormatCount = -1;
|
|
|
|
static int hf_skinny_pictureWidth = -1;
|
|
|
|
static int hf_skinny_pictureHeight = -1;
|
|
|
|
static int hf_skinny_pixelAspectRatio = -1;
|
|
|
|
static int hf_skinny_clockConversionCode = -1;
|
|
|
|
static int hf_skinny_clockDivisor = -1;
|
|
|
|
static int hf_skinny_activeStreamsOnRegistration = -1;
|
|
|
|
static int hf_skinny_maxBW = -1;
|
|
|
|
static int hf_skinny_serviceResourceCount = -1;
|
|
|
|
static int hf_skinny_layoutCount = -1;
|
|
|
|
static int hf_skinny_layout = -1;
|
|
|
|
static int hf_skinny_maxConferences = -1;
|
|
|
|
static int hf_skinny_activeConferenceOnRegistration = -1;
|
|
|
|
static int hf_skinny_transmitOrReceive = -1;
|
|
|
|
static int hf_skinny_levelPreferenceCount = -1;
|
|
|
|
static int hf_skinny_transmitPreference = -1;
|
|
|
|
static int hf_skinny_format = -1;
|
|
|
|
static int hf_skinny_maxBitRate = -1;
|
|
|
|
static int hf_skinny_minBitRate = -1;
|
|
|
|
static int hf_skinny_MPI = -1;
|
|
|
|
static int hf_skinny_serviceNumber = -1;
|
|
|
|
static int hf_skinny_temporalSpatialTradeOffCapability = -1;
|
|
|
|
static int hf_skinny_stillImageTransmission = -1;
|
|
|
|
static int hf_skinny_h263_capability_bitfield = -1;
|
|
|
|
static int hf_skinny_annexNandWFutureUse = -1;
|
|
|
|
static int hf_skinny_modelNumber = -1;
|
|
|
|
static int hf_skinny_bandwidth = -1;
|
|
|
|
static int hf_skinny_protocolDependentData = -1;
|
|
|
|
static int hf_skinny_priority = -1;
|
|
|
|
static int hf_skinny_payloadDtmf = -1;
|
|
|
|
static int hf_skinny_featureID = -1;
|
|
|
|
static int hf_skinny_featureTextLabel = -1;
|
|
|
|
static int hf_skinny_featureStatus = -1;
|
|
|
|
static int hf_skinny_notify = -1;
|
|
|
|
static int hf_skinny_endOfAnnAck = -1;
|
|
|
|
static int hf_skinny_annPlayMode = -1;
|
|
|
|
static int hf_skinny_annPlayStatus = -1;
|
|
|
|
static int hf_skinny_locale = -1;
|
|
|
|
static int hf_skinny_country = -1;
|
|
|
|
static int hf_skinny_matrixConfPartyID = -1;
|
|
|
|
static int hf_skinny_hearingConfPartyMask = -1;
|
|
|
|
static int hf_skinny_serviceURL = -1;
|
|
|
|
static int hf_skinny_serviceURLDisplayName = -1;
|
|
|
|
static int hf_skinny_callSelectStat = -1;
|
|
|
|
static int hf_skinny_isConferenceCreator = -1;
|
|
|
|
static int hf_skinny_payload_rfc_number = -1;
|
|
|
|
static int hf_skinny_payloadType = -1;
|
|
|
|
static int hf_skinny_bitRate = -1;
|
|
|
|
static int hf_skinny_pictureFormatCount = -1;
|
|
|
|
static int hf_skinny_confServiceNum = -1;
|
|
|
|
static int hf_skinny_DSCPValue = -1;
|
|
|
|
static int hf_skinny_miscCommandType = -1;
|
|
|
|
static int hf_skinny_temporalSpatialTradeOff = -1;
|
|
|
|
static int hf_skinny_firstGOB = -1;
|
|
|
|
static int hf_skinny_numberOfGOBs = -1;
|
|
|
|
static int hf_skinny_firstMB = -1;
|
|
|
|
static int hf_skinny_numberOfMBs = -1;
|
|
|
|
static int hf_skinny_pictureNumber = -1;
|
|
|
|
static int hf_skinny_longTermPictureIndex = -1;
|
|
|
|
static int hf_skinny_recoveryReferencePictureCount = -1;
|
|
|
|
static int hf_skinny_transactionID = -1;
|
|
|
|
static int hf_cast_lastRedirectingPartyName = -1;
|
|
|
|
static int hf_cast_lastRedirectingParty = -1;
|
|
|
|
static int hf_cast_cgpnVoiceMailbox = -1;
|
|
|
|
static int hf_cast_cdpnVoiceMailbox = -1;
|
|
|
|
static int hf_cast_originalCdpnVoiceMailbox = -1;
|
|
|
|
static int hf_cast_lastRedirectingVoiceMailbox = -1;
|
|
|
|
static int hf_cast_originalCdpnRedirectReason = -1;
|
|
|
|
static int hf_cast_lastRedirectingReason = -1;
|
|
|
|
static int hf_cast_callInstance = -1;
|
|
|
|
static int hf_cast_callSecurityStatus = -1;
|
2011-04-14 05:37:58 +00:00
|
|
|
static int hf_skinny_directoryIndex = -1;
|
|
|
|
static int hf_skinny_directoryPhoneNumber = -1;
|
2002-03-19 11:26:23 +00:00
|
|
|
|
2010-12-20 07:49:56 +00:00
|
|
|
/* Skinny content type and internet media type used by other dissectors
|
|
|
|
* * are the same. List of media types from IANA at:
|
|
|
|
* * http://www.iana.org/assignments/media-types/index.html */
|
|
|
|
static dissector_table_t media_type_dissector_table;
|
2001-10-11 16:01:10 +00:00
|
|
|
|
|
|
|
/* Initialize the subtree pointers */
|
|
|
|
static gint ett_skinny = -1;
|
2004-02-20 21:25:16 +00:00
|
|
|
static gint ett_skinny_tree = -1;
|
2002-03-19 11:26:23 +00:00
|
|
|
static gint ett_skinny_softKeyMap = -1;
|
2001-10-11 16:01:10 +00:00
|
|
|
|
2002-03-19 06:31:16 +00:00
|
|
|
/* desegmentation of SCCP */
|
|
|
|
static gboolean skinny_desegment = TRUE;
|
|
|
|
|
2004-07-17 09:02:03 +00:00
|
|
|
static dissector_handle_t rtp_handle=NULL;
|
2001-11-25 22:19:25 +00:00
|
|
|
|
2009-01-30 21:25:52 +00:00
|
|
|
/* tap register id */
|
|
|
|
static int skinny_tap = -1;
|
|
|
|
|
|
|
|
/* skinny protocol tap info */
|
|
|
|
#define MAX_SKINNY_MESSAGES_IN_PACKET 10
|
|
|
|
static skinny_info_t pi_arr[MAX_SKINNY_MESSAGES_IN_PACKET];
|
|
|
|
static int pi_current = 0;
|
|
|
|
static skinny_info_t *si;
|
|
|
|
|
Make a "tcp_dissect_pdus()" with the standard loop for a TCP segment,
extracting PDUs from it and possibly doing reassembly. Make the COPS,
DNS, DSI, Gryphon, and SCCP dissectors use it.
Add "set_actual_length()", "tcp_dissect_pdus()",
"decode_boolean_bitfield()", "decode_numeric_bitfield()", and
"decode_enumerated_bitfield()" to the list of routines available to
dissectors on platforms where routines in the main program aren't
available to dynamically-loaded code.
Declare routines in "to_str.h" as "extern"; as I remember, that's
necessary to allow the "decode_XXX_bitfield()" routines declared therein
to be made available to plugins as per the above.
Note that new exported routines should be added to the end of the table
if that's the only change being made to the table.
Create a new "plugin_api_decls.h" header file, used to declare both the
"p_" variables and the "p_" structure members in the routine-exporting
mechanism; this reduces the number of places you have to change to
change the list of exported routines.
svn path=/trunk/; revision=5394
2002-05-05 00:16:38 +00:00
|
|
|
/* Get the length of a single SCCP PDU */
|
2006-10-31 09:29:07 +00:00
|
|
|
static guint get_skinny_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
|
Make a "tcp_dissect_pdus()" with the standard loop for a TCP segment,
extracting PDUs from it and possibly doing reassembly. Make the COPS,
DNS, DSI, Gryphon, and SCCP dissectors use it.
Add "set_actual_length()", "tcp_dissect_pdus()",
"decode_boolean_bitfield()", "decode_numeric_bitfield()", and
"decode_enumerated_bitfield()" to the list of routines available to
dissectors on platforms where routines in the main program aren't
available to dynamically-loaded code.
Declare routines in "to_str.h" as "extern"; as I remember, that's
necessary to allow the "decode_XXX_bitfield()" routines declared therein
to be made available to plugins as per the above.
Note that new exported routines should be added to the end of the table
if that's the only change being made to the table.
Create a new "plugin_api_decls.h" header file, used to declare both the
"p_" variables and the "p_" structure members in the routine-exporting
mechanism; this reduces the number of places you have to change to
change the list of exported routines.
svn path=/trunk/; revision=5394
2002-05-05 00:16:38 +00:00
|
|
|
{
|
|
|
|
guint32 hdr_data_length;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Get the length of the SCCP packet.
|
|
|
|
*/
|
|
|
|
hdr_data_length = tvb_get_letohl(tvb, offset);
|
|
|
|
|
|
|
|
/*
|
|
|
|
* That length doesn't include the length of the header itself;
|
|
|
|
* add that in.
|
|
|
|
*/
|
|
|
|
return hdr_data_length + 8;
|
|
|
|
}
|
|
|
|
|
2010-12-20 07:49:56 +00:00
|
|
|
static void
|
|
|
|
dissect_skinny_xml(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, const gint start, gint length)
|
|
|
|
{
|
|
|
|
proto_item *item = NULL;
|
|
|
|
proto_tree *subtree = NULL;
|
|
|
|
tvbuff_t *next_tvb;
|
|
|
|
dissector_handle_t handle;
|
|
|
|
|
|
|
|
item = proto_tree_add_item(tree, hf_skinny_xmlData, tvb, start, length, TRUE);
|
|
|
|
subtree = proto_item_add_subtree(item, 0);
|
|
|
|
next_tvb = tvb_new_subset(tvb, start, length, -1);
|
|
|
|
handle = dissector_get_string_handle(media_type_dissector_table, "text/xml");
|
|
|
|
if (handle != NULL) {
|
2011-06-19 18:47:35 +00:00
|
|
|
call_dissector(handle, next_tvb, pinfo, subtree);
|
2010-12-20 07:49:56 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2002-03-19 06:31:16 +00:00
|
|
|
/* Dissect a single SCCP PDU */
|
2005-12-11 22:53:25 +00:00
|
|
|
static void
|
|
|
|
dissect_skinny_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
2001-10-11 16:01:10 +00:00
|
|
|
{
|
2002-03-19 06:31:16 +00:00
|
|
|
int offset = 0;
|
2009-05-19 18:42:33 +00:00
|
|
|
gboolean is_video = FALSE; /* FIX ME: need to indicate video or not */
|
2001-10-11 16:01:10 +00:00
|
|
|
|
|
|
|
/* Header fields */
|
|
|
|
guint32 hdr_data_length;
|
2011-02-14 22:52:14 +00:00
|
|
|
guint32 hdr_version;
|
2001-10-11 16:01:10 +00:00
|
|
|
guint32 data_messageid;
|
2002-03-18 00:45:11 +00:00
|
|
|
/* guint32 data_size; */
|
2001-10-11 16:01:10 +00:00
|
|
|
|
2002-03-19 11:26:23 +00:00
|
|
|
guint i = 0;
|
2004-02-20 21:25:16 +00:00
|
|
|
guint t = 0;
|
2002-03-19 11:26:23 +00:00
|
|
|
int j = 0;
|
2004-02-20 23:09:51 +00:00
|
|
|
guint count;
|
2004-02-20 21:25:16 +00:00
|
|
|
int val;
|
2002-03-19 11:26:23 +00:00
|
|
|
|
|
|
|
guint32 capCount;
|
|
|
|
guint32 softKeyCount;
|
|
|
|
guint32 softKeySetCount;
|
|
|
|
guint16 validKeyMask;
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2002-03-18 00:45:11 +00:00
|
|
|
/* Set up structures we will need to add the protocol subtree and manage it */
|
|
|
|
proto_item *ti;
|
|
|
|
proto_tree *skinny_tree = NULL;
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_item *ti_sub;
|
|
|
|
proto_tree *skinny_sub_tree;
|
|
|
|
proto_tree *skinny_sub_tree_sav;
|
|
|
|
proto_tree *skinny_sub_tree_sav_sav;
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2002-03-19 11:26:23 +00:00
|
|
|
proto_item *skm = NULL;
|
|
|
|
proto_item *skm_tree = NULL;
|
|
|
|
|
2002-03-19 06:31:16 +00:00
|
|
|
hdr_data_length = tvb_get_letohl(tvb, offset);
|
2011-02-14 22:52:14 +00:00
|
|
|
hdr_version = tvb_get_letohl(tvb, offset+4);
|
2002-03-19 06:31:16 +00:00
|
|
|
data_messageid = tvb_get_letohl(tvb, offset+8);
|
|
|
|
|
2009-01-30 21:25:52 +00:00
|
|
|
/* Initialise stat info for passing to tap */
|
|
|
|
pi_current++;
|
|
|
|
if (pi_current == MAX_SKINNY_MESSAGES_IN_PACKET)
|
|
|
|
{
|
|
|
|
/* Overwrite info in first struct if run out of space... */
|
|
|
|
pi_current = 0;
|
|
|
|
}
|
|
|
|
si = &pi_arr[pi_current];
|
|
|
|
si->messId = data_messageid;
|
2010-11-03 22:08:49 +00:00
|
|
|
si->messageName = val_to_str_ext(data_messageid, &message_id_ext, "0x%08X (Unknown)");
|
2009-01-30 21:25:52 +00:00
|
|
|
si->callId = 0;
|
|
|
|
si->lineId = 0;
|
|
|
|
si->passThruId = 0;
|
|
|
|
si->callState = 0;
|
|
|
|
g_free(si->callingParty);
|
|
|
|
si->callingParty = NULL;
|
|
|
|
g_free(si->calledParty);
|
|
|
|
si->calledParty = NULL;
|
|
|
|
|
2002-03-19 06:31:16 +00:00
|
|
|
/* In the interest of speed, if "tree" is NULL, don't do any work not
|
|
|
|
* necessary to generate protocol tree items. */
|
|
|
|
if (tree) {
|
2002-08-28 21:04:11 +00:00
|
|
|
ti = proto_tree_add_item(tree, proto_skinny, tvb, offset, hdr_data_length+8, FALSE);
|
2002-03-19 06:31:16 +00:00
|
|
|
skinny_tree = proto_item_add_subtree(ti, ett_skinny);
|
2002-08-28 21:04:11 +00:00
|
|
|
proto_tree_add_uint(skinny_tree, hf_skinny_data_length, tvb, offset, 4, hdr_data_length);
|
2011-02-14 22:52:14 +00:00
|
|
|
proto_tree_add_uint(skinny_tree, hf_skinny_hdr_version, tvb, offset+4, 4, hdr_version);
|
2002-03-19 06:31:16 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (check_col(pinfo->cinfo, COL_INFO)) {
|
2009-01-30 21:25:52 +00:00
|
|
|
col_add_fstr(pinfo->cinfo, COL_INFO,"%s ", si->messageName);
|
2005-12-22 07:11:21 +00:00
|
|
|
col_set_fence(pinfo->cinfo, COL_INFO);
|
2002-03-19 06:31:16 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (tree) {
|
|
|
|
proto_tree_add_uint(skinny_tree, hf_skinny_messageid, tvb,offset+8, 4, data_messageid );
|
|
|
|
}
|
|
|
|
|
2011-02-14 22:52:14 +00:00
|
|
|
{
|
2002-03-19 06:31:16 +00:00
|
|
|
switch(data_messageid) {
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0000: /* KeepAliveMessage */
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0001: /* RegisterMessage */
|
2002-03-19 11:26:23 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_deviceName, tvb, offset+12, StationMaxDeviceNameSize, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_stationUserId, tvb, offset+28, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_stationInstance, tvb, offset+32, 4, TRUE);
|
2004-09-18 09:31:26 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_ipAddress, tvb, offset+36, 4, FALSE);
|
2002-03-19 11:26:23 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_deviceType, tvb, offset+40, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_maxStreams, tvb, offset+44, 4, TRUE);
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0002: /* IpPortMessage */
|
2002-03-19 11:26:23 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_stationIpPort, tvb, offset+12, 2, FALSE);
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0003: /* KeypadButtonMessage */
|
2002-03-19 11:26:23 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_stationKeypadButton, tvb, offset+12, 4, TRUE);
|
2010-05-06 19:16:45 +00:00
|
|
|
if (hdr_data_length > 8) {
|
2011-06-22 08:09:55 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineInstance, tvb, offset+16, 4, TRUE);
|
2010-05-06 19:16:45 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+20, 4, TRUE);
|
|
|
|
si->lineId = tvb_get_letohl(tvb, offset+16);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+20);
|
|
|
|
}
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0004: /* EnblocCallMessage -- This decode NOT verified*/
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_calledPartyNumber, tvb, offset+12, StationMaxDirnumSize, TRUE);
|
2002-03-19 11:26:23 +00:00
|
|
|
break;
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0005: /* StimulusMessage */
|
2002-03-19 11:26:23 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_stimulus, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_stimulusInstance, tvb, offset+16, 4, TRUE);
|
2010-05-06 19:16:45 +00:00
|
|
|
if (hdr_data_length > 12) {
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+20, 4, TRUE);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+20);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0006: /* OffHookMessage */
|
2010-05-06 19:16:45 +00:00
|
|
|
if (hdr_data_length > 4) {
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineInstance, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+16, 4, TRUE);
|
|
|
|
si->lineId = tvb_get_letohl(tvb, offset+12);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+16);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0007: /* OnHookMessage */
|
2010-05-06 19:16:45 +00:00
|
|
|
if (hdr_data_length > 4) {
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineInstance, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+16, 4, TRUE);
|
|
|
|
si->lineId = tvb_get_letohl(tvb, offset+12);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+16);
|
|
|
|
}
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0008: /* HookFlashMessage */
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 0x0009: /* ForwardStatReqMessage */
|
2002-03-19 11:26:23 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineNumber, tvb, offset+12, 4, TRUE);
|
|
|
|
break;
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x000a: /* SpeedDialStatReqMessage */
|
2002-03-19 11:26:23 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_speedDialNumber, tvb, offset+12, 4, TRUE);
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x000b: /* LineStatReqMessage */
|
2002-03-19 11:26:23 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineNumber, tvb, offset+12, 4, TRUE);
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x000c: /* ConfigStatReqMessage */
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 0x000d: /* TimeDateReqMessage */
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 0x000e: /* ButtonTemplateReqMessage */
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 0x000f: /* VersionReqMessage */
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 0x0010: /* CapabilitiesResMessage - VERIFIED AS IS */
|
2002-03-19 11:26:23 +00:00
|
|
|
/* FIXME -- we are only going to decode the first 7 protocol fields for now cuz that's all it sent me
|
|
|
|
* on the phone i was working with. I should probably skip the struct decode and use a more piece
|
|
|
|
* type method using the capCount definition to control the decode loop
|
|
|
|
*
|
|
|
|
* basically changing StationMaxCapabilities definition
|
|
|
|
*
|
2002-08-28 21:04:11 +00:00
|
|
|
*/
|
2002-03-19 11:26:23 +00:00
|
|
|
capCount = tvb_get_letohl(tvb, offset+12);
|
|
|
|
proto_tree_add_uint(skinny_tree, hf_skinny_capCount, tvb, offset+12, 4, capCount);
|
|
|
|
for (i = 0; i < capCount; i++) {
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_payloadCapability, tvb, offset+(i*16)+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_maxFramesPerPacket, tvb, offset+(i*16)+20, 2, TRUE);
|
|
|
|
/* FIXME -- decode the union under here as required, is always 0 on my equipment */
|
2002-03-19 11:26:23 +00:00
|
|
|
}
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0011: /* MediaPortListMessage */
|
2002-03-20 21:01:21 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0012: /* ServerReqMessage */
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 0x0020: /* AlarmMessage */
|
2002-03-19 11:26:23 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_alarmSeverity, tvb, offset+12, 4, TRUE);
|
2002-03-27 20:29:05 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_displayMessage, tvb, offset+16, StationMaxAlarmMessageSize, TRUE);
|
2002-03-19 11:26:23 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_alarmParam1, tvb, offset+96, 4, TRUE);
|
2004-09-18 09:31:26 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_alarmParam2, tvb, offset+100, 4, FALSE);
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0021: /* MulticastMediaReceptionAck - This decode NOT verified */
|
2002-03-19 11:26:23 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_receptionStatus, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+16, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+16);
|
2002-03-19 11:26:23 +00:00
|
|
|
break;
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0022: /* OpenReceiveChannelAck */
|
2011-02-14 22:52:14 +00:00
|
|
|
if (hdr_version == BASIC_MSG_TYPE) {
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_ORCStatus, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_ipAddress, tvb, offset+16, 4, FALSE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_portNumber, tvb, offset+20, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+24, 4, TRUE);
|
|
|
|
if (rtp_handle) {
|
|
|
|
address src_addr;
|
|
|
|
guint32 ipv4_address;
|
|
|
|
|
|
|
|
src_addr.type = AT_IPv4;
|
|
|
|
src_addr.len = 4;
|
|
|
|
src_addr.data = (guint8 *)&ipv4_address;
|
|
|
|
ipv4_address = tvb_get_ipv4(tvb, offset+16);
|
|
|
|
rtp_add_address(pinfo, &src_addr, tvb_get_letohl(tvb, offset+20), 0, "Skinny", pinfo->fd->num, is_video, NULL);
|
|
|
|
}
|
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+24);
|
|
|
|
} else if (hdr_version == CM7_MSG_TYPE_A || hdr_version == CM7_MSG_TYPE_B) {
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_ORCStatus, tvb, offset+12, 4, TRUE);
|
|
|
|
/* unknown uint32_t stuff */
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_ipAddress, tvb, offset+20, 4, FALSE);
|
|
|
|
/* 3x unknown uint32_t stuff, space for IPv6 maybe */
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_portNumber, tvb, offset+36, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+40, 4, TRUE);
|
|
|
|
if (rtp_handle) {
|
|
|
|
address src_addr;
|
|
|
|
guint32 ipv4_address;
|
|
|
|
|
|
|
|
src_addr.type = AT_IPv4;
|
|
|
|
src_addr.len = 4;
|
|
|
|
src_addr.data = (guint8 *)&ipv4_address;
|
|
|
|
ipv4_address = tvb_get_ipv4(tvb, offset+20);
|
|
|
|
rtp_add_address(pinfo, &src_addr, tvb_get_letohl(tvb, offset+36), 0, "Skinny", pinfo->fd->num, is_video, NULL);
|
|
|
|
}
|
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+40);
|
2004-07-17 09:02:03 +00:00
|
|
|
}
|
2002-08-28 21:04:11 +00:00
|
|
|
break;
|
2002-03-19 06:31:16 +00:00
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0023: /* ConnectionStatisticsRes */
|
2002-03-19 11:26:23 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_directoryNumber, tvb, offset+12, StationMaxDirnumSize, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+36, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_statsProcessingType, tvb, offset+40, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_packetsSent, tvb, offset+44, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_octetsSent, tvb, offset+48, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_packetsRecv, tvb, offset+52, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_octetsRecv, tvb, offset+56, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_packetsLost, tvb, offset+60, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_jitter, tvb, offset+64, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_latency, tvb, offset+68, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->callId = tvb_get_letohl(tvb, offset+36);
|
2002-03-19 11:26:23 +00:00
|
|
|
break;
|
2002-03-20 21:01:21 +00:00
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0024: /* OffHookWithCgpnMessage */
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_calledPartyNumber, tvb, offset+12,StationMaxDirnumSize, TRUE);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 0x0025: /* SoftKeySetReqMessage */
|
2002-03-20 21:01:21 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0026: /* SoftKeyEventMessage */
|
2002-03-19 11:26:23 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_softKeyEvent, tvb, offset+12, 4, TRUE);
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineInstance, tvb, offset+16, 4, TRUE);
|
2002-03-19 06:31:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+20, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->lineId = tvb_get_letohl(tvb, offset+16);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+20);
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0027: /* UnregisterMessage */
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 0x0028: /* softKeyTemplateRequest */
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 0x0029: /* RegisterTokenReq */
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_deviceName, tvb, offset+12, 4, TRUE);
|
|
|
|
i = offset+12+StationMaxDeviceNameSize;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_stationUserId, tvb, i, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_stationInstance, tvb, i+4, 4, TRUE);
|
2004-09-18 09:31:26 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_ipAddress, tvb, i+8, 4, FALSE);
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_deviceType, tvb, i+12, 4, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x002A: /* MediaTransmissionFailure */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+16, 4, TRUE);
|
2004-09-18 09:31:26 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_ipAddress, tvb, offset+20, 4, FALSE);
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_portNumber, tvb, offset+24, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+28, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+16);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+28);
|
2004-02-20 21:25:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x002B: /* HeadsetStatusMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_headsetMode, tvb, offset+12, 4, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x002C: /* MediaResourceNotification */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_deviceType, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_numberOfInServiceStreams, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_maxStreamsPerConf, tvb, offset+20, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_numberOfOutOfServiceStreams, tvb, offset+24, 4, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x002D: /* RegisterAvailableLinesMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_numberLines, tvb, offset+12, 4, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x002E: /* DeviceToUserDataMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_applicationID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineInstance, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+20, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_transactionID, tvb, offset+24, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_data_length, tvb, offset+28, 4, TRUE);
|
|
|
|
count = tvb_get_letohl( tvb, offset+28);
|
2010-12-20 07:49:56 +00:00
|
|
|
dissect_skinny_xml(skinny_tree, tvb, pinfo, offset+30, count);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->lineId = tvb_get_letohl(tvb, offset+16);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+20);
|
2004-02-20 21:25:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x002F: /* DeviceToUserDataResponseMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_applicationID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineInstance, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+20, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_transactionID, tvb, offset+24, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_data_length, tvb, offset+28, 4, TRUE);
|
|
|
|
count = tvb_get_letohl( tvb, offset+28);
|
2010-12-20 07:49:56 +00:00
|
|
|
dissect_skinny_xml(skinny_tree, tvb, pinfo, offset+30, count);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->lineId = tvb_get_letohl(tvb, offset+12);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+16);
|
2004-02-20 21:25:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0030: /* UpdateCapabilitiesMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
/* to do - this message is very large and will span multiple packets, it would be nice to someday */
|
|
|
|
/* find out a way to join the next packet and get the complete message to decode */
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_audioCapCount, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_videoCapCount, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_dataCapCount, tvb, offset+20, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_RTPPayloadFormat, tvb, offset+24, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_customPictureFormatCount, tvb, offset+28, 4, TRUE);
|
|
|
|
count = offset+32;
|
|
|
|
for ( i = 0; i < MAX_CUSTOM_PICTURES; i++ ) {
|
2004-08-30 10:03:54 +00:00
|
|
|
ti_sub = proto_tree_add_text(skinny_tree, tvb, offset, 20, "customPictureFormat[%d]", i);
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_pictureWidth, tvb, count, 4, TRUE);
|
|
|
|
count+= 4;
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_pictureHeight, tvb, count, 4, TRUE);
|
|
|
|
count+= 4;
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_pixelAspectRatio, tvb, count, 4, TRUE);
|
|
|
|
count+= 4;
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_clockConversionCode, tvb, count, 4, TRUE);
|
|
|
|
count+= 4;
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_clockDivisor, tvb, count, 4, TRUE);
|
|
|
|
count+= 4;
|
|
|
|
}
|
2004-08-30 10:03:54 +00:00
|
|
|
ti_sub = proto_tree_add_text(skinny_tree, tvb, offset, 8, "confResources");
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_activeStreamsOnRegistration, tvb, count, 4, TRUE);
|
|
|
|
count+= 4;
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_maxBW, tvb, count, 4, TRUE);
|
|
|
|
count+= 4;
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_serviceResourceCount, tvb, count, 4, TRUE);
|
|
|
|
count+= 4;
|
|
|
|
skinny_sub_tree_sav = skinny_sub_tree;
|
|
|
|
for ( i = 0; i < MAX_SERVICE_TYPE; i++ ) {
|
2004-08-30 10:03:54 +00:00
|
|
|
ti_sub = proto_tree_add_text(skinny_sub_tree_sav, tvb, offset, 20, "serviceResource[%d]", i);
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_layoutCount, tvb, count, 4, TRUE);
|
|
|
|
count+= 4;
|
|
|
|
skinny_sub_tree_sav_sav = skinny_sub_tree_sav;
|
|
|
|
for ( t = 0; t < MAX_LAYOUT_WITH_SAME_SERVICE; t++ ) {
|
2004-08-30 10:03:54 +00:00
|
|
|
ti_sub = proto_tree_add_text(skinny_sub_tree_sav, tvb, offset, 20, "layouts[%d]", t);
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_layout, tvb, count, 4, TRUE);
|
|
|
|
count+= 4;
|
|
|
|
}
|
|
|
|
skinny_sub_tree = skinny_sub_tree_sav_sav;
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_serviceNum, tvb, count, 4, TRUE);
|
|
|
|
count+= 4;
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_maxStreams, tvb, count, 4, TRUE);
|
|
|
|
count+= 4;
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_maxConferences, tvb, count, 4, TRUE);
|
|
|
|
count+= 4;
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_activeConferenceOnRegistration, tvb, count, 4, TRUE);
|
|
|
|
count+= 4;
|
|
|
|
}
|
|
|
|
for ( i = 0; i < StationMaxCapabilities; i++ ) {
|
2004-08-30 10:03:54 +00:00
|
|
|
ti_sub = proto_tree_add_text(skinny_tree, tvb, offset, 20, "audiocaps[%d]", i);
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_payloadCapability, tvb, count, 4, TRUE);
|
2004-02-20 21:25:16 +00:00
|
|
|
count+= 4;
|
2004-08-30 10:03:54 +00:00
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_maxFramesPerPacket, tvb, count, 2, TRUE);
|
2004-02-20 21:25:16 +00:00
|
|
|
count+= 4;
|
2004-02-20 23:03:16 +00:00
|
|
|
/* skip past union it is only for G723 */
|
2004-02-20 21:25:16 +00:00
|
|
|
count+= 8;
|
|
|
|
}
|
|
|
|
for ( i = 0; i < StationMaxVideoCapabilities; i++ ) {
|
2004-08-30 10:03:54 +00:00
|
|
|
ti_sub = proto_tree_add_text(skinny_tree, tvb, offset, 20, "vidCaps[%d]", i);
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_payloadCapability, tvb, count, 4, TRUE);
|
2004-02-20 21:25:16 +00:00
|
|
|
count+= 4;
|
2004-08-30 10:03:54 +00:00
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_transmitOrReceive, tvb, count, 4, TRUE);
|
2004-02-20 21:25:16 +00:00
|
|
|
count+= 4;
|
2004-08-30 10:03:54 +00:00
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_levelPreferenceCount, tvb, count, 4, TRUE);
|
2004-02-20 21:25:16 +00:00
|
|
|
count+= 4;
|
|
|
|
skinny_sub_tree_sav = skinny_sub_tree;
|
|
|
|
for ( t = 0; t < MAX_LEVEL_PREFERENCE; t++ ) {
|
2004-08-30 10:03:54 +00:00
|
|
|
ti_sub = proto_tree_add_text(skinny_sub_tree_sav, tvb, offset, 20, "levelPreference[%d]", t);
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_transmitPreference, tvb, count, 4, TRUE);
|
2004-02-20 21:25:16 +00:00
|
|
|
count+= 4;
|
2004-08-30 10:03:54 +00:00
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_format, tvb, count, 4, TRUE);
|
2004-02-20 21:25:16 +00:00
|
|
|
count+= 4;
|
2004-08-30 10:03:54 +00:00
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_maxBitRate, tvb, count, 4, TRUE);
|
2004-02-20 21:25:16 +00:00
|
|
|
count+= 4;
|
2004-08-30 10:03:54 +00:00
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_minBitRate, tvb, count, 4, TRUE);
|
2004-02-20 21:25:16 +00:00
|
|
|
count+= 4;
|
2004-08-30 10:03:54 +00:00
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_MPI, tvb, count, 4, TRUE);
|
2004-02-20 21:25:16 +00:00
|
|
|
count+= 4;
|
2004-08-30 10:03:54 +00:00
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_serviceNumber, tvb, count, 4, TRUE);
|
2004-02-20 21:25:16 +00:00
|
|
|
count+= 4;
|
|
|
|
}
|
|
|
|
val = count;
|
|
|
|
|
2004-02-20 23:03:16 +00:00
|
|
|
/* H.261 */
|
2004-08-30 10:03:54 +00:00
|
|
|
ti_sub = proto_tree_add_text(skinny_sub_tree_sav, tvb, offset, 8, "h261VideoCapability");
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_temporalSpatialTradeOffCapability, tvb, count, 4, TRUE);
|
2004-02-20 21:25:16 +00:00
|
|
|
count+= 4;
|
2004-08-30 10:03:54 +00:00
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_stillImageTransmission, tvb, count, 4, TRUE);
|
2004-02-20 21:25:16 +00:00
|
|
|
count+= 4;
|
|
|
|
|
2004-02-20 23:03:16 +00:00
|
|
|
/* H.263 */
|
2004-02-20 21:25:16 +00:00
|
|
|
count = val;
|
2004-08-30 10:03:54 +00:00
|
|
|
ti_sub = proto_tree_add_text(skinny_sub_tree_sav, tvb, offset, 8, "h263VideoCapability");
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_h263_capability_bitfield, tvb, count, 4, TRUE);
|
2004-02-20 21:25:16 +00:00
|
|
|
count+= 4;
|
2004-08-30 10:03:54 +00:00
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_annexNandWFutureUse, tvb, count, 4, TRUE);
|
2004-02-20 21:25:16 +00:00
|
|
|
count+= 4;
|
|
|
|
|
2004-02-20 23:03:16 +00:00
|
|
|
/* Video */
|
2004-02-20 21:25:16 +00:00
|
|
|
count = val;
|
2004-08-30 10:03:54 +00:00
|
|
|
ti_sub = proto_tree_add_text(skinny_sub_tree_sav, tvb, offset, 8, "vieoVideoCapability");
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_modelNumber, tvb, count, 4, TRUE);
|
2004-02-20 21:25:16 +00:00
|
|
|
count+= 4;
|
2004-08-30 10:03:54 +00:00
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_bandwidth, tvb, count, 4, TRUE);
|
2004-02-20 21:25:16 +00:00
|
|
|
count+= 4;
|
|
|
|
}
|
|
|
|
for ( i = 0; i < StationMaxDataCapabilities; i++ ) {
|
2004-08-30 10:03:54 +00:00
|
|
|
ti_sub = proto_tree_add_text(skinny_tree, tvb, offset, 20, "dataCaps[%d]", i);
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_payloadCapability, tvb, count, 4, TRUE);
|
2004-02-20 21:25:16 +00:00
|
|
|
count+= 4;
|
2004-08-30 10:03:54 +00:00
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_transmitOrReceive, tvb, count, 4, TRUE);
|
2004-02-20 21:25:16 +00:00
|
|
|
count+= 4;
|
2004-08-30 10:03:54 +00:00
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_protocolDependentData, tvb, count, 4, TRUE);
|
2004-02-20 21:25:16 +00:00
|
|
|
count+= 4;
|
2004-08-30 10:03:54 +00:00
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_maxBitRate, tvb, count, 4, TRUE);
|
2004-02-20 21:25:16 +00:00
|
|
|
count+= 4;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0031: /* OpenMultiMediaReceiveChannelAckMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_ORCStatus, tvb, offset+12, 4, TRUE);
|
2004-09-18 09:31:26 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_ipAddress, tvb, offset+16, 4, FALSE);
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_portNumber, tvb, offset+20, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+24, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+28, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+24);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+28);
|
2004-02-20 21:25:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0032: /* ClearConferenceMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_serviceNum, tvb, offset+16, 4, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0033: /* ServiceURLStatReqMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_serviceURLIndex, tvb, offset+12, 4, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0034: /* FeatureStatReqMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_featureIndex, tvb, offset+12, 4, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0035: /* CreateConferenceResMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_createConfResults, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_data_length, tvb, offset+20, 4, TRUE);
|
|
|
|
count = tvb_get_letohl( tvb, offset+20);
|
|
|
|
proto_tree_add_uint(skinny_tree, hf_skinny_passThruData, tvb, offset+24, 1, count);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0036: /* DeleteConferenceResMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_deleteConfResults, tvb, offset+16, 4, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0037: /* ModifyConferenceResMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
2011-06-22 12:30:07 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_modifyConfResults, tvb, offset+16, 4, TRUE);
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_data_length, tvb, offset+20, 4, TRUE);
|
|
|
|
count = tvb_get_letohl( tvb, offset+20);
|
|
|
|
proto_tree_add_uint(skinny_tree, hf_skinny_passThruData, tvb, offset+24, 1, count);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0038: /* AddParticipantResMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_addParticipantResults, tvb, offset+20, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->callId = tvb_get_letohl(tvb, offset+16);
|
2004-02-20 21:25:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0039: /* AuditConferenceResMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_last, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_numberOfEntries, tvb, offset+16, 4, TRUE);
|
|
|
|
count = offset+20;
|
|
|
|
for ( i = 0; i < StationMaxConference; i++ ) {
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, count, 4, TRUE);
|
|
|
|
count += 4;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_resourceTypes, tvb, count, 4, TRUE);
|
|
|
|
count += 4;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_numberOfReservedParticipants, tvb, count, 4, TRUE);
|
|
|
|
count += 4;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_numberOfActiveParticipants, tvb, count, 4, TRUE);
|
|
|
|
count += 4;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_appID, tvb, count, 4, TRUE);
|
|
|
|
count += 4;
|
|
|
|
proto_tree_add_uint(skinny_tree, hf_skinny_appConfID, tvb, count, 1, AppConferenceIDSize);
|
|
|
|
count += AppConferenceIDSize;
|
|
|
|
proto_tree_add_uint(skinny_tree, hf_skinny_appData, tvb, count, 1, AppDataSize);
|
|
|
|
count += AppDataSize;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0040: /* AuditParticipantResMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_auditParticipantResults, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_last, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+20, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_numberOfEntries, tvb, offset+24, 4, TRUE);
|
|
|
|
count = tvb_get_letohl( tvb, offset+24);
|
|
|
|
for ( i = 0; i < count; i++ ) {
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_participantEntry, tvb, offset+28+(i*4), 4, TRUE);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0041: /* DeviceToUserDataVersion1Message */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_applicationID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineInstance, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+20, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_transactionID, tvb, offset+24, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_data_length, tvb, offset+28, 4, TRUE);
|
|
|
|
count = tvb_get_letohl( tvb, offset+28);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_sequenceFlag, tvb, offset+30, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_displayPriority, tvb, offset+34, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+38, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_appInstanceID, tvb, offset+42, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_routingID, tvb, offset+46, 4, TRUE);
|
2010-12-20 07:49:56 +00:00
|
|
|
dissect_skinny_xml(skinny_tree, tvb, pinfo, offset+50, count);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->lineId = tvb_get_letohl(tvb, offset+16);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+20);
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0042: /* DeviceToUserDataResponseVersion1Message */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_applicationID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineInstance, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+20, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_transactionID, tvb, offset+24, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_data_length, tvb, offset+28, 4, TRUE);
|
|
|
|
count = tvb_get_letohl( tvb, offset+28);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_sequenceFlag, tvb, offset+30, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_displayPriority, tvb, offset+34, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+38, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_appInstanceID, tvb, offset+42, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_routingID, tvb, offset+46, 4, TRUE);
|
2010-12-20 07:49:56 +00:00
|
|
|
dissect_skinny_xml(skinny_tree, tvb, pinfo, offset+50, count);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->lineId = tvb_get_letohl(tvb, offset+16);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+20);
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0048: /* DialedPhoneBookMessage */
|
2011-04-14 05:37:58 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_directoryIndex, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineInstance, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_unknown, tvb, offset+20, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_directoryPhoneNumber, tvb, offset+24, 256, TRUE);
|
|
|
|
break;
|
|
|
|
|
2004-02-20 21:25:16 +00:00
|
|
|
|
2002-08-28 21:04:11 +00:00
|
|
|
/*
|
2002-03-19 11:26:23 +00:00
|
|
|
*
|
|
|
|
* Call manager -> client messages start here(ish)
|
|
|
|
*
|
|
|
|
*/
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0081: /* RegisterAckMessage */
|
2002-03-19 11:26:23 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_keepAliveInterval, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_dateTemplate, tvb, offset+16, StationDateTemplateSize, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_secondaryKeepAliveInterval, tvb, offset+24, 4, TRUE);
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0082: /* StartToneMessage */
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_deviceTone, tvb, offset+12, 4, TRUE);
|
2010-05-06 19:16:45 +00:00
|
|
|
/* offset 16 to 19: reserved */
|
|
|
|
if (hdr_data_length > 12) {
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineInstance, tvb, offset+20, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+24, 4, TRUE);
|
|
|
|
si->lineId = tvb_get_letohl(tvb, offset+20);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+24);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0083: /* StopToneMessage */
|
2010-05-06 19:16:45 +00:00
|
|
|
if (hdr_data_length > 4) {
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineInstance, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+16, 4, TRUE);
|
|
|
|
si->lineId = tvb_get_letohl(tvb, offset+12);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+16);
|
|
|
|
}
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0085: /* SetRingerMessage */
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_ringType, tvb, offset+12, 4, TRUE);
|
2010-05-06 19:16:45 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_ringMode, tvb, offset+16, 4, TRUE);
|
|
|
|
if (hdr_data_length > 12) {
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineInstance, tvb, offset+20, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+24, 4, TRUE);
|
|
|
|
si->lineId = tvb_get_letohl(tvb, offset+20);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+24);
|
|
|
|
}
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0086: /* SetLampMessage */
|
2002-03-19 11:26:23 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_stimulus, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_stimulusInstance, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lampMode, tvb, offset+20, 4, TRUE);
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0087: /* SetHookFlashDetectModeMessage */
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_hookFlashDetectMode, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_detectInterval, tvb, offset+16, 4, TRUE);
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
2002-03-20 21:01:21 +00:00
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0088: /* SetSpeakerModeMessage */
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_speakerMode, tvb, offset+12, 4, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0089: /* SetMicroModeMessage */
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_microphoneMode, tvb, offset+12, 4, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x008a: /* StartMediaTransmission */
|
2011-02-14 22:52:14 +00:00
|
|
|
if (hdr_version == BASIC_MSG_TYPE) {
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_remoteIpAddr, tvb, offset+20, 4, FALSE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_remotePortNumber, tvb, offset+24, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_millisecondPacketSize, tvb, offset+28, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_payloadCapability, tvb, offset+32, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_precedenceValue, tvb, offset+36, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_silenceSuppression, tvb, offset+40, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_maxFramesPerPacket, tvb, offset+44, 2, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_g723BitRate, tvb, offset+48, 4, TRUE);
|
|
|
|
if (rtp_handle) {
|
|
|
|
address src_addr;
|
|
|
|
guint32 ipv4_address;
|
|
|
|
|
|
|
|
src_addr.type = AT_IPv4;
|
|
|
|
src_addr.len = 4;
|
|
|
|
src_addr.data = (char *)&ipv4_address;
|
|
|
|
ipv4_address = tvb_get_ipv4(tvb, offset+20);
|
|
|
|
rtp_add_address(pinfo, &src_addr, tvb_get_letohl(tvb, offset+24), 0, "Skinny", pinfo->fd->num, is_video, NULL);
|
|
|
|
}
|
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+16);
|
|
|
|
}
|
|
|
|
else if (hdr_version == CM7_MSG_TYPE_A || hdr_version == CM7_MSG_TYPE_B)
|
|
|
|
{
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+16, 4, TRUE);
|
|
|
|
/* unknown uint32_t stuff */
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_remoteIpAddr, tvb, offset+24, 4, FALSE);
|
|
|
|
/* 3x unknown uint32_t stuff, space for IPv6 maybe */
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_remotePortNumber, tvb, offset+40, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_millisecondPacketSize, tvb, offset+44, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_payloadCapability, tvb, offset+48, 4, TRUE);
|
|
|
|
/* There is some more... */
|
|
|
|
/* proto_tree_add_item(skinny_tree, hf_skinny_precedenceValue, tvb, offset+52, 4, TRUE); */
|
|
|
|
/* proto_tree_add_item(skinny_tree, hf_skinny_silenceSuppression, tvb, offset+56, 4, TRUE); */
|
|
|
|
/* proto_tree_add_item(skinny_tree, hf_skinny_maxFramesPerPacket, tvb, offset+60, 2, TRUE); */
|
|
|
|
/* proto_tree_add_item(skinny_tree, hf_skinny_g723BitRate, tvb, offset+62, 4, TRUE); */
|
|
|
|
if (rtp_handle) {
|
|
|
|
address src_addr;
|
|
|
|
guint32 ipv4_address;
|
|
|
|
|
|
|
|
src_addr.type = AT_IPv4;
|
|
|
|
src_addr.len = 4;
|
|
|
|
src_addr.data = (char *)&ipv4_address;
|
|
|
|
ipv4_address = tvb_get_ipv4(tvb, offset+24);
|
|
|
|
rtp_add_address(pinfo, &src_addr, tvb_get_letohl(tvb, offset+40), 0, "Skinny", pinfo->fd->num, is_video, NULL);
|
|
|
|
}
|
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+16);
|
2004-07-17 09:02:03 +00:00
|
|
|
}
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x008b: /* StopMediaTransmission */
|
2002-08-28 21:04:11 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+16, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+16);
|
2002-03-20 21:01:21 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x008c: /* StartMediaReception */
|
2002-03-20 21:01:21 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x008d: /* StopMediaReception */
|
2002-03-20 21:01:21 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x008f: /* CallInfoMessage */
|
2002-03-20 21:01:21 +00:00
|
|
|
i = offset+12;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callingPartyName, tvb, i, StationMaxNameSize, TRUE);
|
2011-04-14 06:07:42 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callingPartyNumber, tvb, i, StationMaxDirnumSize, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
i += StationMaxNameSize;
|
|
|
|
si->callingParty = g_strdup(tvb_format_stringzpad(tvb, i, StationMaxDirnumSize));
|
2002-03-20 21:01:21 +00:00
|
|
|
i += StationMaxDirnumSize;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_calledPartyName, tvb, i, StationMaxNameSize, TRUE);
|
|
|
|
i += StationMaxNameSize;
|
2011-04-14 06:07:42 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_calledPartyNumber, tvb, i, StationMaxDirnumSize, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->calledParty = g_strdup(tvb_format_stringzpad(tvb, i, StationMaxDirnumSize));
|
2002-03-20 21:01:21 +00:00
|
|
|
i += StationMaxDirnumSize;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineInstance, tvb, i, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->lineId = tvb_get_letohl(tvb, i);
|
2002-03-20 21:01:21 +00:00
|
|
|
i += 4;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, i, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->callId = tvb_get_letohl(tvb, i);
|
2002-03-20 21:01:21 +00:00
|
|
|
i += 4;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callType, tvb, i, 4, TRUE);
|
|
|
|
i += 4;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_originalCalledPartyName, tvb, i, StationMaxNameSize, TRUE);
|
|
|
|
i += StationMaxNameSize;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_originalCalledParty, tvb, i, StationMaxDirnumSize, TRUE);
|
2004-02-20 21:25:16 +00:00
|
|
|
i += StationMaxDirnumSize;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_cast_lastRedirectingPartyName, tvb, i, StationMaxNameSize, TRUE);
|
|
|
|
i += StationMaxNameSize;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_cast_lastRedirectingParty, tvb, i, StationMaxDirnumSize, TRUE);
|
|
|
|
i += StationMaxDirnumSize;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_cast_originalCdpnRedirectReason, tvb, i, 4, TRUE);
|
|
|
|
i += 4;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_cast_lastRedirectingReason, tvb, i, 4, TRUE);
|
|
|
|
i += 4;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_cast_cgpnVoiceMailbox, tvb, i, StationMaxDirnumSize, TRUE);
|
|
|
|
i += StationMaxDirnumSize;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_cast_cdpnVoiceMailbox, tvb, i, StationMaxDirnumSize, TRUE);
|
|
|
|
i += StationMaxDirnumSize;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_cast_originalCdpnVoiceMailbox, tvb, i, StationMaxDirnumSize, TRUE);
|
|
|
|
i += StationMaxDirnumSize;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_cast_lastRedirectingVoiceMailbox, tvb, i, StationMaxDirnumSize, TRUE);
|
|
|
|
i += StationMaxDirnumSize;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_cast_callInstance, tvb, i, 4, TRUE);
|
|
|
|
i += 4;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_cast_callSecurityStatus, tvb, i, 4, TRUE);
|
|
|
|
i += 4;
|
|
|
|
val = tvb_get_letohl( tvb, i);
|
2009-01-30 21:25:52 +00:00
|
|
|
ti_sub = proto_tree_add_text(skinny_tree, tvb, i, 8, "partyPIRestrictionBits");
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
2008-10-31 15:34:00 +00:00
|
|
|
proto_tree_add_text(skinny_sub_tree, tvb, i, 4, "%s",
|
2004-02-20 21:25:16 +00:00
|
|
|
decode_boolean_bitfield( val, 0x01, 4*8, "Does RestrictCallingPartyName", "Doesn't RestrictCallingPartyName"));
|
2008-10-31 15:34:00 +00:00
|
|
|
proto_tree_add_text(skinny_sub_tree, tvb, i, 4, "%s",
|
2004-02-20 21:25:16 +00:00
|
|
|
decode_boolean_bitfield( val, 0x02, 4*8, "Does RestrictCallingPartyNumber", "Doesn't RestrictCallingPartyNumber"));
|
2008-10-31 15:34:00 +00:00
|
|
|
proto_tree_add_text(skinny_sub_tree, tvb, i, 4, "%s",
|
2004-02-20 21:25:16 +00:00
|
|
|
decode_boolean_bitfield( val, 0x04, 4*8, "Does RestrictCalledPartyName", "Doesn't RestrictCalledPartyName"));
|
2008-10-31 15:34:00 +00:00
|
|
|
proto_tree_add_text(skinny_sub_tree, tvb, i, 4, "%s",
|
2004-02-20 21:25:16 +00:00
|
|
|
decode_boolean_bitfield( val, 0x08, 4*8, "Does RestrictCalledPartyNumber", "Doesn't RestrictCalledPartyNumber"));
|
2008-10-31 15:34:00 +00:00
|
|
|
proto_tree_add_text(skinny_sub_tree, tvb, i, 4, "%s",
|
2004-02-20 21:25:16 +00:00
|
|
|
decode_boolean_bitfield( val, 0x10, 4*8, "Does RestrictOriginalCalledPartyName", "Doesn't RestrictOriginalCalledPartyName"));
|
2008-10-31 15:34:00 +00:00
|
|
|
proto_tree_add_text(skinny_sub_tree, tvb, i, 4, "%s",
|
2004-02-20 21:25:16 +00:00
|
|
|
decode_boolean_bitfield( val, 0x20, 4*8, "Does RestrictOriginalCalledPartyNumber", "Doesn't RestrictOriginalCalledPartyNumber"));
|
2008-10-31 15:34:00 +00:00
|
|
|
proto_tree_add_text(skinny_sub_tree, tvb, i, 4, "%s",
|
2004-02-20 21:25:16 +00:00
|
|
|
decode_boolean_bitfield( val, 0x40, 4*8, "Does RestrictLastRedirectPartyName", "Doesn't RestrictLastRedirectPartyName"));
|
2008-10-31 15:34:00 +00:00
|
|
|
proto_tree_add_text(skinny_sub_tree, tvb, i, 4, "%s",
|
2004-02-20 21:25:16 +00:00
|
|
|
decode_boolean_bitfield( val, 0x80, 4*8, "Does RestrictLastRedirectPartyNumber", "Doesn't RestrictLastRedirectPartyNumber"));
|
2002-03-20 21:01:21 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0090: /* ForwardStatMessage */
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_activeForward, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineNumber, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_forwardAllActive, tvb, offset+20, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_forwardNumber, tvb, offset+24, StationMaxDirnumSize, TRUE);
|
|
|
|
i = offset+24+StationMaxDirnumSize;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_forwardBusyActive, tvb, i, 4, TRUE);
|
|
|
|
i += 4;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_forwardNumber, tvb, i, StationMaxDirnumSize, TRUE);
|
|
|
|
i += StationMaxDirnumSize;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_forwardNoAnswerActive, tvb, i, 4, TRUE);
|
|
|
|
i += 4;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_forwardNumber, tvb, i, StationMaxDirnumSize, TRUE);
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0091: /* SpeedDialStatMessage */
|
2002-03-19 11:26:23 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_speedDialNumber, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_speedDialDirNumber, tvb, offset+16, StationMaxDirnumSize, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_speedDialDisplayName, tvb, offset+40, StationMaxNameSize, TRUE);
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0092: /* LineStatMessage */
|
2002-03-19 11:26:23 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineNumber, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineDirNumber, tvb, offset+16, StationMaxDirnumSize, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineFullyQualifiedDisplayName, tvb, offset+16+StationMaxDirnumSize, StationMaxNameSize, TRUE);
|
2010-05-06 19:16:45 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineDisplayName, tvb, offset+16+StationMaxDirnumSize+StationMaxNameSize, StationMaxDisplayNameSize, TRUE);
|
2002-03-19 11:26:23 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0093: /* ConfigStatMessage */
|
2002-09-21 03:14:10 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_deviceName, tvb, offset+12, StationMaxDeviceNameSize, TRUE);
|
2002-03-20 21:01:21 +00:00
|
|
|
i = offset+12+StationMaxDeviceNameSize;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_stationUserId, tvb, i, 4, TRUE);
|
|
|
|
i += 4;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_stationInstance, tvb, i, 4, TRUE);
|
|
|
|
i += 4;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_userName, tvb, i, StationMaxNameSize, TRUE);
|
|
|
|
i += StationMaxNameSize;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_serverName, tvb, i, StationMaxNameSize, TRUE);
|
|
|
|
i += StationMaxNameSize;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_numberLines, tvb, i, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_numberSpeedDials, tvb, i+4, 4, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0094: /* DefineTimeDate */
|
2002-03-19 11:26:23 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_dateYear, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_dateMonth, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_dayOfWeek, tvb, offset+20, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_dateDay, tvb, offset+24, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_dateHour, tvb, offset+28, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_dateMinute, tvb, offset+32, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_dateSeconds,tvb, offset+36, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_dateMilliseconds,tvb, offset+40, 4, TRUE);
|
2002-03-19 06:31:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_timeStamp, tvb, offset+44, 4, TRUE);
|
|
|
|
break;
|
2002-03-20 21:01:21 +00:00
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0095: /* StartSessionTransmission */
|
2004-09-18 09:31:26 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_remoteIpAddr, tvb, offset+12, 4, FALSE);
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_sessionType, tvb, offset+16, 4, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0096: /* StopSessionTransmission */
|
2004-09-18 09:31:26 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_remoteIpAddr, tvb, offset+12, 4, FALSE);
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_sessionType, tvb, offset+16, 4, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0097: /* ButtonTemplateMessage */
|
2002-03-19 11:26:23 +00:00
|
|
|
/*
|
|
|
|
* FIXME
|
|
|
|
* This decode prints out oogly subtree maybe? or something besides the VALS...
|
|
|
|
* note to self: uint8 != 4 kk thx info ^_^
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_buttonOffset, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_buttonCount, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_totalButtonCount, tvb, offset+20, 4, TRUE);
|
|
|
|
for (i = 0; i < StationMaxButtonTemplateSize; i++) {
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_buttonInstanceNumber, tvb, offset+(i*2)+24, 1, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_buttonDefinition, tvb, offset+(i*2)+25, 1, TRUE);
|
2002-03-19 11:26:23 +00:00
|
|
|
}
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0098: /* VersionMessage */
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_version, tvb, offset+12, StationMaxVersionSize, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0099: /* DisplayTextMessage */
|
2002-08-28 21:04:11 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_displayMessage, tvb, offset+12, StationMaxDisplayTextSize, TRUE);
|
2002-03-20 21:01:21 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x009a: /* ClearDisplay */
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 0x009b: /* CapabilitiesReqMessage */
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 0x009c: /* EnunciatorCommandMessage */
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_mediaEnunciationType, tvb, offset+12, 4, TRUE);
|
|
|
|
for (i = 0; i < StationMaxDirnumSize; i++) {
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_unknown, tvb, offset+16+(i*4), 4, TRUE);
|
2002-03-20 21:01:21 +00:00
|
|
|
}
|
|
|
|
i = offset+16+StationMaxDirnumSize;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_mediaEnunciationType, tvb, i, 4, TRUE);
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x009d: /* RegisterRejectMessage */
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_displayMessage, tvb, offset+12, StationMaxDisplayTextSize, TRUE);
|
2002-03-19 11:26:23 +00:00
|
|
|
break;
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x009e: /* ServerResMessage */
|
2002-03-20 21:01:21 +00:00
|
|
|
for (i = 0; i < StationMaxServers; i++) {
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_serverIdentifier, tvb, offset+12+(i*StationMaxServers), StationMaxServerNameSize, TRUE);
|
2002-03-20 21:01:21 +00:00
|
|
|
}
|
|
|
|
j = offset+12+(i*StationMaxServers);
|
|
|
|
for (i = 0; i < StationMaxServers; i++) {
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_serverListenPort, tvb, j+(i*4), 4, TRUE);
|
2002-03-20 21:01:21 +00:00
|
|
|
}
|
|
|
|
j = j+(i*4);
|
|
|
|
for (i = 0; i < StationMaxServers; i++) {
|
2004-09-18 09:31:26 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_serverIpAddress, tvb, j+(i*4), 4, FALSE);
|
2002-03-20 21:01:21 +00:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x009f: /* Reset */
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_deviceResetType, tvb, offset+12, 4, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0100: /* KeepAliveAckMessage */
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 0x0101: /* StartMulticastMediaReception */
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+16, 4, TRUE);
|
2004-09-18 09:31:26 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_multicastIpAddress, tvb, offset+20, 4, FALSE);
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_multicastPort, tvb, offset+24, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_millisecondPacketSize, tvb, offset+28, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_payloadCapability, tvb, offset+32, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_echoCancelType, tvb, offset+36, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_g723BitRate, tvb, offset+40, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+16);
|
2002-03-20 21:01:21 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0102: /* StartMulticastMediaTransmission */
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+16, 4, TRUE);
|
2004-09-18 09:31:26 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_multicastIpAddress, tvb, offset+20, 4, FALSE);
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_multicastPort, tvb, offset+24, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_millisecondPacketSize, tvb, offset+28, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_payloadCapability, tvb, offset+32, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_precedenceValue, tvb, offset+36, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_silenceSuppression, tvb, offset+40, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_maxFramesPerPacket, tvb, offset+44, 2, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_g723BitRate, tvb, offset+48, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+16);
|
2002-03-20 21:01:21 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0103: /* StopMulticastMediaReception */
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+16, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+16);
|
2002-03-20 21:01:21 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0104: /* StopMulticastMediaTransmission */
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+16, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+16);
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x105: /* OpenReceiveChannel */
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_millisecondPacketSize, tvb, offset+20, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_payloadCapability, tvb, offset+24, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_echoCancelType, tvb, offset+28, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_g723BitRate, tvb, offset+32, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+16);
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0106: /* CloseReceiveChannel */
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+16, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+16);
|
2002-03-19 11:26:23 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0107: /* ConnectionStatisticsReq */
|
2002-03-20 21:01:21 +00:00
|
|
|
|
|
|
|
i = 12;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_directoryNumber, tvb, i, StationMaxDirnumSize, TRUE);
|
|
|
|
i = 12 + StationMaxDirnumSize;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, i, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->callId = tvb_get_letohl(tvb, i);
|
2002-03-20 21:01:21 +00:00
|
|
|
i = i+4;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_statsProcessingType, tvb, i, 4, TRUE);
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0108: /* SoftKeyTemplateResMessage */
|
2002-03-19 11:26:23 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_softKeyOffset, tvb, offset+12, 4, TRUE);
|
|
|
|
softKeyCount = tvb_get_letohl(tvb, offset+16);
|
|
|
|
proto_tree_add_uint(skinny_tree, hf_skinny_softKeyCount, tvb, offset+16, 4, softKeyCount);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_totalSoftKeyCount, tvb, offset+20, 4, TRUE);
|
|
|
|
for (i = 0; ((i < StationMaxSoftKeyDefinition) && (i < softKeyCount)); i++){
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_softKeyLabel, tvb, offset+(i*20)+24, StationMaxSoftKeyLabelSize, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_softKeyEvent, tvb, offset+(i*20)+40, 4, TRUE);
|
2002-03-19 06:31:16 +00:00
|
|
|
}
|
2002-03-19 11:26:23 +00:00
|
|
|
/* there is more data here, but it doesn't make a whole lot of sense, I imagine
|
2002-08-28 21:04:11 +00:00
|
|
|
* it's just some not zero'd out stuff in the packet or...
|
2002-03-19 11:26:23 +00:00
|
|
|
*/
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0109: /* SoftKeySetResMessage */
|
2002-03-19 11:26:23 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_softKeySetOffset, tvb, offset+12, 4, TRUE);
|
|
|
|
softKeySetCount = tvb_get_letohl(tvb, offset+16);
|
|
|
|
proto_tree_add_uint(skinny_tree, hf_skinny_softKeySetCount, tvb, offset+16, 4, softKeySetCount);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_totalSoftKeySetCount, tvb, offset+20, 4, TRUE);
|
|
|
|
for (i = 0; ((i < StationMaxSoftKeySetDefinition) && (i < softKeySetCount)); i++) {
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_uint(skinny_tree, hf_skinny_softKeySetDescription, tvb, offset+24+(i*48) , 1, i);
|
|
|
|
for (j = 0; j < StationMaxSoftKeyIndex; j++) {
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_softKeyTemplateIndex, tvb, offset+24+(i*48)+j, 1, TRUE);
|
|
|
|
}
|
|
|
|
for (j = 0; j < StationMaxSoftKeyIndex; j++) {
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_softKeyInfoIndex, tvb, offset+24+(i*48)+StationMaxSoftKeyIndex+(j*2), 2, TRUE);
|
|
|
|
}
|
2002-03-19 11:26:23 +00:00
|
|
|
}
|
|
|
|
break;
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0110: /* SelectSoftKeysMessage */
|
2002-03-19 11:26:23 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineInstance, tvb, offset+12, 4, TRUE);
|
2002-03-19 06:31:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+16, 4, TRUE);
|
2002-03-19 11:26:23 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_softKeySetDescription, tvb, offset+20, 4, TRUE);
|
|
|
|
validKeyMask = tvb_get_letohs(tvb, offset + 24);
|
2009-01-30 21:25:52 +00:00
|
|
|
skm = proto_tree_add_uint(skinny_tree, hf_skinny_softKeyMap, tvb, offset + 24, 4, validKeyMask);
|
2002-03-19 11:26:23 +00:00
|
|
|
skm_tree = proto_item_add_subtree(skm, ett_skinny_softKeyMap);
|
2009-01-30 21:25:52 +00:00
|
|
|
proto_tree_add_boolean(skm_tree, hf_skinny_softKey0, tvb, offset + 24, 4, validKeyMask);
|
|
|
|
proto_tree_add_boolean(skm_tree, hf_skinny_softKey1, tvb, offset + 24, 4, validKeyMask);
|
|
|
|
proto_tree_add_boolean(skm_tree, hf_skinny_softKey2, tvb, offset + 24, 4, validKeyMask);
|
|
|
|
proto_tree_add_boolean(skm_tree, hf_skinny_softKey3, tvb, offset + 24, 4, validKeyMask);
|
|
|
|
proto_tree_add_boolean(skm_tree, hf_skinny_softKey4, tvb, offset + 24, 4, validKeyMask);
|
|
|
|
proto_tree_add_boolean(skm_tree, hf_skinny_softKey5, tvb, offset + 24, 4, validKeyMask);
|
|
|
|
proto_tree_add_boolean(skm_tree, hf_skinny_softKey6, tvb, offset + 24, 4, validKeyMask);
|
|
|
|
proto_tree_add_boolean(skm_tree, hf_skinny_softKey7, tvb, offset + 24, 4, validKeyMask);
|
|
|
|
proto_tree_add_boolean(skm_tree, hf_skinny_softKey8, tvb, offset + 24, 4, validKeyMask);
|
|
|
|
proto_tree_add_boolean(skm_tree, hf_skinny_softKey9, tvb, offset + 24, 4, validKeyMask);
|
|
|
|
proto_tree_add_boolean(skm_tree, hf_skinny_softKey10, tvb, offset + 24, 4, validKeyMask);
|
|
|
|
proto_tree_add_boolean(skm_tree, hf_skinny_softKey11, tvb, offset + 24, 4, validKeyMask);
|
|
|
|
proto_tree_add_boolean(skm_tree, hf_skinny_softKey12, tvb, offset + 24, 4, validKeyMask);
|
|
|
|
proto_tree_add_boolean(skm_tree, hf_skinny_softKey13, tvb, offset + 24, 4, validKeyMask);
|
|
|
|
proto_tree_add_boolean(skm_tree, hf_skinny_softKey14, tvb, offset + 24, 4, validKeyMask);
|
|
|
|
proto_tree_add_boolean(skm_tree, hf_skinny_softKey15, tvb, offset + 24, 4, validKeyMask);
|
|
|
|
si->lineId = tvb_get_letohl(tvb, offset+12);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+16);
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0111: /* CallStateMessage */
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callState, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineInstance, tvb, offset+16, 4, TRUE);
|
2002-03-19 11:26:23 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+20, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->lineId = tvb_get_letohl(tvb, offset+16);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+20);
|
|
|
|
si->callState = tvb_get_letohl(tvb, offset+12);
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0112: /* DisplayPromptStatusMessage */
|
2002-03-19 11:26:23 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_messageTimeOutValue, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_displayMessage, tvb, offset+16, StationMaxDisplayPromptStatusSize, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineInstance, tvb, offset+48, 4, TRUE);
|
2002-03-19 06:31:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+52, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->lineId = tvb_get_letohl(tvb, offset+48);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+52);
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0113: /* ClearPromptStatusMessage */
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineInstance , tvb, offset+12, 4, TRUE);
|
2002-03-19 06:31:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+16, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->lineId = tvb_get_letohl(tvb, offset+12);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+16);
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0114: /* DisplayNotifyMessage */
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_messageTimeOutValue, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_displayMessage, tvb, offset+16, StationMaxDisplayNotifySize , TRUE);
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0115: /* ClearNotifyMessage */
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 0x0116: /* ActivateCallPlaneMessage */
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineInstance, tvb, offset+12, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->lineId = tvb_get_letohl(tvb, offset+12);
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0117: /* DeactivateCallPlaneMessage */
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 0x0118: /* UnregisterAckMessage */
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_deviceUnregisterStatus, tvb, offset+12, 4, TRUE);
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0119: /* BackSpaceReqMessage */
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineInstance, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+16, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->lineId = tvb_get_letohl(tvb, offset+12);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+16);
|
2002-03-20 21:01:21 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x011a: /* RegisterTokenAck */
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 0x011B: /* RegisterTokenReject */
|
2002-03-20 21:01:21 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_tokenRejWaitTime, tvb, offset+12, 4, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x011C: /* StartMediaFailureDetection */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_millisecondPacketSize, tvb, offset+20, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_payloadCapability, tvb, offset+24, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_echoCancelType, tvb, offset+28, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_g723BitRate, tvb, offset+32, 4, TRUE);
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+34, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+16);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+34);
|
2004-02-20 21:25:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x011D: /* DialedNumberMessage */
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_calledPartyNumber, tvb, offset+12, StationMaxDirnumSize, TRUE);
|
2007-04-05 23:42:44 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineInstance, tvb, offset+12+StationMaxDirnumSize, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+12+StationMaxDirnumSize+4, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->lineId = tvb_get_letohl(tvb, offset+12+StationMaxDirnumSize);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+16+StationMaxDirnumSize);
|
2004-02-20 21:25:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x011E: /* UserToDeviceDataMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_applicationID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineInstance, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+20, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_transactionID, tvb, offset+24, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_data_length, tvb, offset+28, 4, TRUE);
|
|
|
|
count = tvb_get_letohl( tvb, offset+28);
|
2010-12-20 07:49:56 +00:00
|
|
|
dissect_skinny_xml(skinny_tree, tvb, pinfo, offset+30, count);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->lineId = tvb_get_letohl(tvb, offset+16);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+20);
|
2004-02-20 21:25:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x011F: /* FeatureStatMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_featureIndex, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_featureID, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_featureTextLabel, tvb, offset+20, StationMaxNameSize, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_featureStatus, tvb, offset+20+StationMaxNameSize, 4, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0120: /* DisplayPriNotifyMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_messageTimeOutValue, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_priority, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_notify, tvb, offset+16, StationMaxDisplayNotifySize, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0121: /* ClearPriNotifyMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_priority, tvb, offset+12, 4, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0122: /* StartAnnouncementMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
count = offset+12;
|
|
|
|
for ( i = 0; i < MaxAnnouncementList; i++ ) {
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_locale, tvb, count, 4, TRUE);
|
|
|
|
count += 4;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_country, tvb, count, 4, TRUE);
|
|
|
|
count += 4;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_deviceTone, tvb, count, 4, TRUE);
|
|
|
|
count += 4;
|
|
|
|
}
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_endOfAnnAck, tvb, count, 4, TRUE);
|
|
|
|
count += 4;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, count, 4, TRUE);
|
|
|
|
count += 4;
|
|
|
|
|
|
|
|
for ( i = 0; i < StationMaxMonitorParties; i++ ) {
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_matrixConfPartyID, tvb, count, 4, TRUE);
|
|
|
|
count += 4;
|
|
|
|
}
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_hearingConfPartyMask, tvb, count, 4, TRUE);
|
|
|
|
count += 4;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_annPlayMode, tvb, count, 4, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0123: /* StopAnnouncementMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0124: /* AnnouncementFinishMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_annPlayStatus, tvb, offset+16, 4, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0127: /* NotifyDtmfToneMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_deviceTone, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+20, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+20);
|
2004-02-20 21:25:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0128: /* SendDtmfToneMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_deviceTone, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+20, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+20);
|
2004-02-20 21:25:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0129: /* SubscribeDtmfPayloadReqMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_payloadDtmf, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+20, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+20);
|
2004-02-20 21:25:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x012A: /* SubscribeDtmfPayloadResMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_payloadDtmf, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+20, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+20);
|
2004-02-20 21:25:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x012B: /* SubscribeDtmfPayloadErrMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_payloadDtmf, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+20, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+20);
|
2004-02-20 21:25:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x012C: /* UnSubscribeDtmfPayloadReqMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_payloadDtmf, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+20, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+20);
|
2004-02-20 21:25:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x012D: /* UnSubscribeDtmfPayloadResMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_payloadDtmf, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+20, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+20);
|
2004-02-20 21:25:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x012E: /* UnSubscribeDtmfPayloadErrMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_payloadDtmf, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+20, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+20);
|
2004-02-20 21:25:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x012F: /* ServiceURLStatMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_serviceURLIndex, tvb, offset+12, 4, TRUE);
|
2011-04-27 15:23:20 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_serviceURL, tvb, offset+16, StationMaxServiceURLSize, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_serviceURLDisplayName, tvb, offset+16+StationMaxServiceURLSize, StationMaxNameSize, TRUE);
|
2004-02-20 21:25:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0130: /* CallSelectStatMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callSelectStat, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineInstance, tvb, offset+20, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->lineId = tvb_get_letohl(tvb, offset+16);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+20);
|
2004-02-20 21:25:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0131: /* OpenMultiMediaChannelMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_payloadCapability, tvb, offset+20, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineInstance, tvb, offset+24, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+28, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_payload_rfc_number, tvb, offset+32, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_payloadType, tvb, offset+36, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_isConferenceCreator, tvb, offset+40, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+16);
|
|
|
|
si->lineId = tvb_get_letohl(tvb, offset+24);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+28);
|
2004-02-20 21:25:16 +00:00
|
|
|
|
|
|
|
/* add audio part of union */
|
|
|
|
ti_sub = proto_tree_add_text(skinny_tree, tvb, offset, 12, "audioParameters");
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_millisecondPacketSize, tvb, offset+44, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_echoCancelType, tvb, offset+48, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_g723BitRate, tvb, offset+52, 4, TRUE);
|
|
|
|
|
|
|
|
/* add video part of union */
|
|
|
|
ti_sub = proto_tree_add_text(skinny_tree, tvb, offset, 30, "vidParameters");
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_bitRate, tvb, offset+44, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_pictureFormatCount, tvb, offset+48, 4, TRUE);
|
|
|
|
skinny_sub_tree_sav = skinny_sub_tree;
|
|
|
|
count = offset+52;
|
|
|
|
for ( i = 0; i < MAX_PICTURE_FORMAT; i++ ) {
|
|
|
|
ti_sub = proto_tree_add_text(skinny_sub_tree_sav, tvb, offset, 8 * MAX_PICTURE_FORMAT, "pictureFormat[%d]", i);
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_format, tvb, count, 4, TRUE);
|
|
|
|
count += 4;
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_MPI, tvb, count, 4, TRUE);
|
|
|
|
count += 4;
|
|
|
|
}
|
|
|
|
skinny_sub_tree = skinny_sub_tree_sav;
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_confServiceNum, tvb, count, 4, TRUE);
|
|
|
|
count += 4;
|
|
|
|
|
|
|
|
val = count;
|
|
|
|
/* add H261 part of union */
|
|
|
|
ti_sub = proto_tree_add_text(skinny_sub_tree_sav, tvb, offset, 8, "h261VideoCapability");
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_temporalSpatialTradeOffCapability, tvb, count, 4, TRUE);
|
|
|
|
count += 4;
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_stillImageTransmission, tvb, count, 4, TRUE);
|
|
|
|
|
|
|
|
/* add H263 part of union */
|
|
|
|
count = val;
|
|
|
|
ti_sub = proto_tree_add_text(skinny_sub_tree_sav, tvb, offset, 8, "h263VideoCapability");
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_h263_capability_bitfield, tvb, count, 4, TRUE);
|
|
|
|
count += 4;
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_annexNandWFutureUse, tvb, count, 4, TRUE);
|
|
|
|
|
|
|
|
/* add Vieo part of union */
|
|
|
|
count = val;
|
|
|
|
ti_sub = proto_tree_add_text(skinny_sub_tree_sav, tvb, offset, 8, "vieoVideoCapability");
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_modelNumber, tvb, count, 4, TRUE);
|
|
|
|
count += 4;
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_bandwidth, tvb, count, 4, TRUE);
|
|
|
|
|
|
|
|
/* add data part of union */
|
|
|
|
ti_sub = proto_tree_add_text(skinny_tree, tvb, offset, 8, "dataParameters");
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_protocolDependentData, tvb, offset+44, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_maxBitRate, tvb, offset+48, 4, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0132: /* StartMultiMediaTransmission */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_payloadCapability, tvb, offset+20, 4, TRUE);
|
2004-09-18 09:31:26 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_ipAddress, tvb, offset+24, 4, FALSE);
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_portNumber, tvb, offset+28, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+32, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_payload_rfc_number, tvb, offset+36, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_payloadType, tvb, offset+40, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_DSCPValue, tvb, offset+44, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+16);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+32);
|
2004-02-20 21:25:16 +00:00
|
|
|
|
|
|
|
/* add audio part of union */
|
|
|
|
ti_sub = proto_tree_add_text(skinny_tree, tvb, offset, 12, "audioParameters");
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_millisecondPacketSize, tvb, offset+48, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_echoCancelType, tvb, offset+52, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_g723BitRate, tvb, offset+56, 4, TRUE);
|
|
|
|
|
|
|
|
/* add video part of union */
|
|
|
|
ti_sub = proto_tree_add_text(skinny_tree, tvb, offset, 30, "vidParameters");
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_bitRate, tvb, offset+48, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_pictureFormatCount, tvb, offset+52, 4, TRUE);
|
|
|
|
skinny_sub_tree_sav = skinny_sub_tree;
|
|
|
|
count = offset+56;
|
|
|
|
for ( i = 0; i < MAX_PICTURE_FORMAT; i++ ) {
|
|
|
|
ti_sub = proto_tree_add_text(skinny_sub_tree_sav, tvb, offset, 8 * MAX_PICTURE_FORMAT, "pictureFormat[%d]", i);
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_format, tvb, count, 4, TRUE);
|
|
|
|
count += 4;
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_MPI, tvb, count, 4, TRUE);
|
|
|
|
count += 4;
|
|
|
|
}
|
|
|
|
skinny_sub_tree = skinny_sub_tree_sav;
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_confServiceNum, tvb, count, 4, TRUE);
|
|
|
|
count += 4;
|
|
|
|
|
|
|
|
val = count;
|
|
|
|
/* add H261 part of union */
|
|
|
|
ti_sub = proto_tree_add_text(skinny_sub_tree_sav, tvb, offset, 8, "h261VideoCapability");
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_temporalSpatialTradeOffCapability, tvb, count, 4, TRUE);
|
|
|
|
count += 4;
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_stillImageTransmission, tvb, count, 4, TRUE);
|
|
|
|
|
|
|
|
/* add H263 part of union */
|
|
|
|
count = val;
|
|
|
|
ti_sub = proto_tree_add_text(skinny_sub_tree_sav, tvb, offset, 8, "h263VideoCapability");
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_h263_capability_bitfield, tvb, count, 4, TRUE);
|
|
|
|
count += 4;
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_annexNandWFutureUse, tvb, count, 4, TRUE);
|
|
|
|
|
|
|
|
/* add Vieo part of union */
|
|
|
|
count = val;
|
|
|
|
ti_sub = proto_tree_add_text(skinny_sub_tree_sav, tvb, offset, 8, "vieoVideoCapability");
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_modelNumber, tvb, count, 4, TRUE);
|
|
|
|
count += 4;
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_bandwidth, tvb, count, 4, TRUE);
|
|
|
|
|
|
|
|
/* add data part of union */
|
|
|
|
ti_sub = proto_tree_add_text(skinny_tree, tvb, offset, 8, "dataParameters");
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_protocolDependentData, tvb, offset+48, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_maxBitRate, tvb, offset+52, 4, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0133: /* StopMultiMediaTransmission */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+20, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+16);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+20);
|
2004-02-20 21:25:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0134: /* MiscellaneousCommandMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+20, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_miscCommandType, tvb, offset+24, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+16);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+20);
|
2004-02-20 21:25:16 +00:00
|
|
|
|
|
|
|
/* show videoFreezePicture */
|
|
|
|
/* not sure of format */
|
|
|
|
|
|
|
|
/* show videoFastUpdatePicture */
|
|
|
|
/* not sure of format */
|
|
|
|
|
|
|
|
/* show videoFastUpdateGOB */
|
|
|
|
ti_sub = proto_tree_add_text(skinny_tree, tvb, offset, 8, "videoFastUpdateGOB");
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_firstGOB, tvb, offset+28, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_numberOfGOBs, tvb, offset+32, 4, TRUE);
|
|
|
|
|
|
|
|
/* show videoFastUpdateMB */
|
|
|
|
ti_sub = proto_tree_add_text(skinny_tree, tvb, offset, 8, "videoFastUpdateGOB");
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_firstGOB, tvb, offset+28, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_firstMB, tvb, offset+32, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_numberOfMBs, tvb, offset+36, 4, TRUE);
|
|
|
|
|
|
|
|
/* show lostPicture */
|
|
|
|
ti_sub = proto_tree_add_text(skinny_tree, tvb, offset, 8, "lostPicture");
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_pictureNumber, tvb, offset+28, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_longTermPictureIndex, tvb, offset+32, 4, TRUE);
|
|
|
|
|
|
|
|
/* show lostPartialPicture */
|
|
|
|
ti_sub = proto_tree_add_text(skinny_tree, tvb, offset, 8, "lostPartialPicture");
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_pictureNumber, tvb, offset+28, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_longTermPictureIndex, tvb, offset+32, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_firstMB, tvb, offset+36, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_numberOfMBs, tvb, offset+40, 4, TRUE);
|
|
|
|
|
|
|
|
/* show recoveryReferencePicture */
|
|
|
|
ti_sub = proto_tree_add_text(skinny_tree, tvb, offset, 8, "recoveryReferencePicture");
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_recoveryReferencePictureCount, tvb, offset+28, 4, TRUE);
|
|
|
|
skinny_sub_tree_sav = skinny_sub_tree;
|
|
|
|
for ( i = 0; i < MAX_REFERENCE_PICTURE; i++ ) {
|
|
|
|
ti_sub = proto_tree_add_text(skinny_sub_tree_sav, tvb, offset, 8, "recoveryReferencePicture[%d]", i);
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_pictureNumber, tvb, offset+32+(i*8), 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_longTermPictureIndex, tvb, offset+36+(i*8), 4, TRUE);
|
|
|
|
}
|
|
|
|
|
|
|
|
/* show temporalSpatialTradeOff */
|
|
|
|
ti_sub = proto_tree_add_text(skinny_tree, tvb, offset, 4, "temporalSpatialTradeOff");
|
|
|
|
skinny_sub_tree = proto_item_add_subtree(ti_sub, ett_skinny_tree);
|
|
|
|
proto_tree_add_item(skinny_sub_tree, hf_skinny_temporalSpatialTradeOff, tvb, offset+28, 4, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0135: /* FlowControlCommandMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+20, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_maxBitRate, tvb, offset+24, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+16);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+20);
|
2004-02-20 21:25:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0136: /* CloseMultiMediaReceiveChannel */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_passThruPartyID, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+20, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->passThruId = tvb_get_letohl(tvb, offset+16);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+20);
|
2004-02-20 21:25:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0137: /* CreateConferenceReqMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_numberOfReservedParticipants, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_resourceTypes, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_appID, tvb, offset+20, 4, TRUE);
|
|
|
|
count = offset+24;
|
|
|
|
proto_tree_add_uint(skinny_tree, hf_skinny_appConfID, tvb, count, 1, AppConferenceIDSize);
|
|
|
|
count += AppConferenceIDSize;
|
|
|
|
proto_tree_add_uint(skinny_tree, hf_skinny_appData, tvb, count, 1, AppDataSize);
|
|
|
|
count += AppDataSize;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_data_length, tvb, count, 4, TRUE);
|
|
|
|
val = tvb_get_letohl( tvb, count);
|
|
|
|
count += 4;
|
|
|
|
proto_tree_add_uint(skinny_tree, hf_skinny_passThruData, tvb, count, 1, val);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0138: /* DeleteConferenceReqMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0139: /* ModifyConferenceReqMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_numberOfReservedParticipants, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_appID, tvb, offset+20, 4, TRUE);
|
|
|
|
count = offset+24;
|
|
|
|
proto_tree_add_uint(skinny_tree, hf_skinny_appConfID, tvb, count, 1, AppConferenceIDSize);
|
|
|
|
count += AppConferenceIDSize;
|
|
|
|
proto_tree_add_uint(skinny_tree, hf_skinny_appData, tvb, count, 1, AppDataSize);
|
|
|
|
count += AppDataSize;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_data_length, tvb, count, 4, TRUE);
|
|
|
|
val = tvb_get_letohl( tvb, count);
|
|
|
|
count += 4;
|
|
|
|
proto_tree_add_uint(skinny_tree, hf_skinny_passThruData, tvb, count, 1, val);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x013A: /* AddParticipantReqMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+16, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->callId = tvb_get_letohl(tvb, offset+16);
|
2004-02-20 21:25:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x013B: /* DropParticipantReqMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+16, 4, TRUE);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->callId = tvb_get_letohl(tvb, offset+16);
|
2004-02-20 21:25:16 +00:00
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x013C: /* AuditConferenceReqMessage */
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 0x013D: /* AuditParticipantReqMessage */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+12, 4, TRUE);
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x013F: /* UserToDeviceDataVersion1Message */
|
2004-02-20 21:25:16 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_applicationID, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineInstance, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+20, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_transactionID, tvb, offset+24, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_data_length, tvb, offset+28, 4, TRUE);
|
|
|
|
count = tvb_get_letohl( tvb, offset+28);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_sequenceFlag, tvb, offset+30, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_displayPriority, tvb, offset+34, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_conferenceID, tvb, offset+38, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_appInstanceID, tvb, offset+42, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_routingID, tvb, offset+46, 4, TRUE);
|
2010-12-20 07:49:56 +00:00
|
|
|
dissect_skinny_xml(skinny_tree, tvb, pinfo, offset+50, count);
|
2009-01-30 21:25:52 +00:00
|
|
|
si->lineId = tvb_get_letohl(tvb, offset+16);
|
|
|
|
si->callId = tvb_get_letohl(tvb, offset+20);
|
2004-02-20 21:25:16 +00:00
|
|
|
break;
|
2002-03-20 21:01:21 +00:00
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x014A: /* CM5CallInfoMessage */
|
2011-06-22 08:09:55 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineInstance, tvb, offset+12, 4, TRUE);
|
2011-02-14 22:52:14 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callIdentifier, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callType, tvb, offset+20, 4, TRUE);
|
2011-06-22 08:09:55 +00:00
|
|
|
si->lineId = tvb_get_letohl(tvb, offset+12);
|
2011-02-14 22:52:14 +00:00
|
|
|
/* 5x unknown uint32_t stuff */
|
2011-06-22 08:09:55 +00:00
|
|
|
/* strings */
|
|
|
|
{
|
|
|
|
i = offset+44;
|
|
|
|
if(hdr_version == BASIC_MSG_TYPE)
|
|
|
|
{
|
|
|
|
/* 8x party numbers */
|
|
|
|
count = tvb_strnlen(tvb, i, -1)+1;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callingPartyNumber, tvb, i, count, TRUE);
|
|
|
|
i += count;
|
|
|
|
count = tvb_strnlen(tvb, i, -1)+1;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_calledPartyNumber, tvb, i, count, TRUE);
|
|
|
|
i += count;
|
|
|
|
count = tvb_strnlen(tvb, i, -1)+1;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_originalCalledParty, tvb, i, count, TRUE);
|
|
|
|
i += count;
|
|
|
|
count = tvb_strnlen(tvb, i, -1)+1;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_cast_lastRedirectingParty, tvb, i, count, TRUE);
|
|
|
|
i += count;
|
|
|
|
count = tvb_strnlen(tvb, i, -1)+1;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_cast_cgpnVoiceMailbox, tvb, i, count, TRUE);
|
|
|
|
i += count;
|
|
|
|
count = tvb_strnlen(tvb, i, -1)+1;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_cast_cdpnVoiceMailbox, tvb, i, count, TRUE);
|
|
|
|
i += count;
|
|
|
|
count = tvb_strnlen(tvb, i, -1)+1;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_cast_originalCdpnVoiceMailbox, tvb, i, count, TRUE);
|
|
|
|
i += count;
|
|
|
|
count = tvb_strnlen(tvb, i, -1)+1;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_cast_lastRedirectingVoiceMailbox, tvb, i, count, TRUE);
|
|
|
|
i += count;
|
|
|
|
/* 4x party names */
|
|
|
|
count = tvb_strnlen(tvb, i, -1)+1;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callingPartyName, tvb, i, count, TRUE);
|
|
|
|
i += count;
|
|
|
|
count = tvb_strnlen(tvb, i, -1)+1;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_calledPartyName, tvb, i, count, TRUE);
|
|
|
|
i += count;
|
|
|
|
count = tvb_strnlen(tvb, i, -1)+1;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_originalCalledPartyName, tvb, i, count, TRUE);
|
|
|
|
i += count;
|
|
|
|
count = tvb_strnlen(tvb, i, -1)+1;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_cast_lastRedirectingPartyName, tvb, i, count, TRUE);
|
|
|
|
}
|
|
|
|
else if(hdr_version == CM7_MSG_TYPE_B || hdr_version == CM7_MSG_TYPE_A)
|
|
|
|
{/* I'm not sure. Not enough examples. */
|
|
|
|
/* 8x party numbers */
|
|
|
|
count = tvb_strnlen(tvb, i, -1)+1;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callingPartyNumber, tvb, i, count, TRUE);
|
|
|
|
i += count;
|
|
|
|
count = tvb_strnlen(tvb, i, -1)+1;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_cast_cgpnVoiceMailbox, tvb, i, count, TRUE);
|
|
|
|
i += count;
|
|
|
|
count = tvb_strnlen(tvb, i, -1)+1;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_calledPartyNumber, tvb, i, count, TRUE);
|
|
|
|
i += count;
|
|
|
|
count = tvb_strnlen(tvb, i, -1)+1;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_originalCalledParty, tvb, i, count, TRUE);
|
|
|
|
i += count;
|
|
|
|
count = tvb_strnlen(tvb, i, -1)+1;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_cast_lastRedirectingParty, tvb, i, count, TRUE);
|
|
|
|
i += count;
|
|
|
|
count = tvb_strnlen(tvb, i, -1)+1;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_cast_cdpnVoiceMailbox, tvb, i, count, TRUE);
|
|
|
|
i += count;
|
|
|
|
count = tvb_strnlen(tvb, i, -1)+1;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_cast_originalCdpnVoiceMailbox, tvb, i, count, TRUE);
|
|
|
|
i += count;
|
|
|
|
count = tvb_strnlen(tvb, i, -1)+1;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_cast_lastRedirectingVoiceMailbox, tvb, i, count, TRUE);
|
|
|
|
i += count;
|
|
|
|
/* 4x party names */
|
|
|
|
count = tvb_strnlen(tvb, i, -1)+1;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_callingPartyName, tvb, i, count, TRUE);
|
|
|
|
i += count;
|
|
|
|
count = tvb_strnlen(tvb, i, -1)+1;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_calledPartyName, tvb, i, count, TRUE);
|
|
|
|
i += count;
|
|
|
|
count = tvb_strnlen(tvb, i, -1)+1;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_originalCalledPartyName, tvb, i, count, TRUE);
|
|
|
|
i += count;
|
|
|
|
count = tvb_strnlen(tvb, i, -1)+1;
|
|
|
|
proto_tree_add_item(skinny_tree, hf_cast_lastRedirectingPartyName, tvb, i, count, TRUE);
|
|
|
|
}
|
|
|
|
}
|
2011-02-14 22:52:14 +00:00
|
|
|
break;
|
2002-03-20 21:01:21 +00:00
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x0152: /* DialedPhoneBookAckMessage */
|
2011-04-14 05:37:58 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_directoryIndex, tvb, offset+12, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_lineInstance, tvb, offset+16, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_unknown, tvb, offset+20, 4, TRUE);
|
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_unknown, tvb, offset+24, 4, TRUE);
|
|
|
|
break;
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
case 0x015A: /* XMLAlarmMessage */
|
2011-04-14 05:37:58 +00:00
|
|
|
dissect_skinny_xml(skinny_tree, tvb, pinfo, offset+12, hdr_data_length-4);
|
|
|
|
break;
|
|
|
|
|
2002-03-19 06:31:16 +00:00
|
|
|
default:
|
2011-04-14 05:37:58 +00:00
|
|
|
proto_tree_add_item(skinny_tree, hf_skinny_rawData, tvb, offset+12, hdr_data_length-4, TRUE);
|
2002-03-19 06:31:16 +00:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
2009-01-30 21:25:52 +00:00
|
|
|
tap_queue_packet(skinny_tap, pinfo, si);
|
2002-03-19 06:31:16 +00:00
|
|
|
}
|
|
|
|
|
2009-01-30 21:25:52 +00:00
|
|
|
|
2002-03-19 06:31:16 +00:00
|
|
|
/* Code to actually dissect the packets */
|
2006-07-22 03:06:32 +00:00
|
|
|
static gboolean
|
2005-12-11 22:53:25 +00:00
|
|
|
dissect_skinny(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
2002-03-19 06:31:16 +00:00
|
|
|
{
|
|
|
|
/* The general structure of a packet: {IP-Header|TCP-Header|n*SKINNY}
|
|
|
|
* SKINNY-Packet: {Header(Size, Reserved)|Data(MessageID, Message-Data)}
|
|
|
|
*/
|
|
|
|
/* Header fields */
|
2009-01-18 12:43:37 +00:00
|
|
|
guint32 hdr_data_length;
|
|
|
|
guint32 hdr_version;
|
2002-03-19 06:31:16 +00:00
|
|
|
|
2002-03-18 00:45:11 +00:00
|
|
|
/* check, if this is really an SKINNY packet, they start with a length + 0 */
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2011-02-15 12:06:39 +00:00
|
|
|
if (tvb_length_remaining(tvb, 0) < 8)
|
|
|
|
{
|
|
|
|
return FALSE;
|
|
|
|
}
|
2002-03-18 00:45:11 +00:00
|
|
|
/* get relevant header information */
|
2001-10-11 16:01:10 +00:00
|
|
|
hdr_data_length = tvb_get_letohl(tvb, 0);
|
2009-01-18 12:43:37 +00:00
|
|
|
hdr_version = tvb_get_letohl(tvb, 4);
|
2002-03-18 00:45:11 +00:00
|
|
|
|
|
|
|
/* data_size = MIN(8+hdr_data_length, tvb_length(tvb)) - 0xC; */
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2011-02-14 22:52:14 +00:00
|
|
|
if ((hdr_data_length < 4) ||
|
|
|
|
((hdr_version != BASIC_MSG_TYPE) &&
|
|
|
|
(hdr_version != CM7_MSG_TYPE_A) &&
|
|
|
|
(hdr_version != CM7_MSG_TYPE_B))
|
2011-04-27 15:23:20 +00:00
|
|
|
)
|
2011-02-14 22:52:14 +00:00
|
|
|
{
|
|
|
|
/* Not an SKINNY packet, just happened to use the same port */
|
2006-07-22 03:06:32 +00:00
|
|
|
return FALSE;
|
2001-10-11 16:01:10 +00:00
|
|
|
}
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2001-10-11 16:01:10 +00:00
|
|
|
/* Make entries in Protocol column and Info column on summary display */
|
2009-08-09 07:59:51 +00:00
|
|
|
col_set_str(pinfo->cinfo, COL_PROTOCOL, "SKINNY");
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2009-08-09 07:59:51 +00:00
|
|
|
col_set_str(pinfo->cinfo, COL_INFO, "Skinny Client Control Protocol");
|
2002-08-28 21:04:11 +00:00
|
|
|
|
Make a "tcp_dissect_pdus()" with the standard loop for a TCP segment,
extracting PDUs from it and possibly doing reassembly. Make the COPS,
DNS, DSI, Gryphon, and SCCP dissectors use it.
Add "set_actual_length()", "tcp_dissect_pdus()",
"decode_boolean_bitfield()", "decode_numeric_bitfield()", and
"decode_enumerated_bitfield()" to the list of routines available to
dissectors on platforms where routines in the main program aren't
available to dynamically-loaded code.
Declare routines in "to_str.h" as "extern"; as I remember, that's
necessary to allow the "decode_XXX_bitfield()" routines declared therein
to be made available to plugins as per the above.
Note that new exported routines should be added to the end of the table
if that's the only change being made to the table.
Create a new "plugin_api_decls.h" header file, used to declare both the
"p_" variables and the "p_" structure members in the routine-exporting
mechanism; this reduces the number of places you have to change to
change the list of exported routines.
svn path=/trunk/; revision=5394
2002-05-05 00:16:38 +00:00
|
|
|
tcp_dissect_pdus(tvb, pinfo, tree, skinny_desegment, 4,
|
|
|
|
get_skinny_pdu_len, dissect_skinny_pdu);
|
2006-07-22 03:06:32 +00:00
|
|
|
|
|
|
|
return TRUE;
|
2001-10-11 16:01:10 +00:00
|
|
|
}
|
|
|
|
|
2006-05-21 04:49:01 +00:00
|
|
|
/* Register the protocol with Wireshark */
|
2002-08-28 21:04:11 +00:00
|
|
|
void
|
2001-10-11 16:01:10 +00:00
|
|
|
proto_register_skinny(void)
|
2002-08-28 21:04:11 +00:00
|
|
|
{
|
|
|
|
|
2002-03-18 00:45:11 +00:00
|
|
|
/* Setup list of header fields */
|
2001-10-11 16:01:10 +00:00
|
|
|
static hf_register_info hf[] = {
|
|
|
|
{ &hf_skinny_data_length,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Data length", "skinny.data_length",
|
2002-03-18 00:45:11 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"Number of bytes in the data portion.",
|
|
|
|
HFILL }
|
2001-10-11 16:01:10 +00:00
|
|
|
},
|
2011-02-14 22:52:14 +00:00
|
|
|
{ &hf_skinny_hdr_version,
|
|
|
|
{ "Header version", "skinny.hdr_version",
|
|
|
|
FT_UINT32, BASE_HEX, VALS(header_version), 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-18 00:45:11 +00:00
|
|
|
HFILL }
|
2001-10-11 16:01:10 +00:00
|
|
|
},
|
|
|
|
/* FIXME: Enable use of message name ??? */
|
|
|
|
{ &hf_skinny_messageid,
|
|
|
|
{ "Message ID", "skinny.messageid",
|
2010-11-03 22:08:49 +00:00
|
|
|
FT_UINT32, BASE_HEX|BASE_EXT_STRING, &message_id_ext, 0x0,
|
2002-03-18 00:45:11 +00:00
|
|
|
"The function requested/done with this message.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
2002-03-19 11:26:23 +00:00
|
|
|
{ &hf_skinny_deviceName,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Device name", "skinny.deviceName",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
|
|
|
"The device name of the phone.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_stationUserId,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Station user ID", "skinny.stationUserId",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_stationInstance,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Station instance", "skinny.stationInstance",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_deviceType,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Device type", "skinny.deviceType",
|
2010-11-03 22:08:49 +00:00
|
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &deviceTypes_ext, 0x0,
|
2002-03-19 11:26:23 +00:00
|
|
|
"DeviceType of the station.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_maxStreams,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Max streams", "skinny.maxStreams",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"32 bit unsigned integer indicating the maximum number of simultansous RTP duplex streams that the client can handle.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_stationIpPort,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Station ip port", "skinny.stationIpPort",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT16, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_stationKeypadButton,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Keypad button", "skinny.stationKeypadButton",
|
2010-11-03 22:08:49 +00:00
|
|
|
FT_UINT32, BASE_HEX|BASE_EXT_STRING, &keypadButtons_ext, 0x0,
|
2002-03-19 11:26:23 +00:00
|
|
|
"The button pressed on the phone.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
{ &hf_skinny_calledPartyNumber,
|
|
|
|
{ "Called party number", "skinny.calledParty",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
|
|
|
"The number called.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_stimulus,
|
|
|
|
{ "Stimulus", "skinny.stimulus",
|
2010-11-03 22:08:49 +00:00
|
|
|
FT_UINT32, BASE_HEX|BASE_EXT_STRING, &deviceStimuli_ext, 0x0,
|
2002-03-19 11:26:23 +00:00
|
|
|
"Reason for the device stimulus message.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_stimulusInstance,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Stimulus instance", "skinny.stimulusInstance",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_lineNumber,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Line number", "skinny.lineNumber",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_speedDialNumber,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Speed-dial number", "skinny.speedDialNumber",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"Which speed dial number",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_capCount,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Capabilities count", "skinny.capCount",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"How many capabilities",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_payloadCapability,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Payload capability", "skinny.payloadCapability",
|
2010-11-03 22:08:49 +00:00
|
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &mediaPayloads_ext, 0x0,
|
2002-03-19 11:26:23 +00:00
|
|
|
"The payload capability for this media capability structure.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_maxFramesPerPacket,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Max frames per packet", "skinny.maxFramesPerPacket",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_UINT16, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_alarmSeverity,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Alarm severity", "skinny.alarmSeverity",
|
2010-11-03 22:08:49 +00:00
|
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &alarmSeverities_ext, 0x0,
|
2002-03-19 11:26:23 +00:00
|
|
|
"The severity of the reported alarm.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_alarmParam1,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Alarm param 1", "skinny.alarmParam1",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_HEX, NULL, 0x0,
|
|
|
|
"An as yet undecoded param1 value from the alarm message",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_alarmParam2,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Alarm param 2", "skinny.alarmParam2",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_IPv4, BASE_NONE, NULL, 0x0,
|
|
|
|
"This is the second alarm parameter i think it's an ip address",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_receptionStatus,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Reception status", "skinny.receptionStatus",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(multicastMediaReceptionStatus), 0x0,
|
|
|
|
"The current status of the multicast media.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_passThruPartyID,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Pass-thru party ID", "skinny.passThruPartyID",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_ORCStatus,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Opened receive-channel status", "skinny.openReceiveChannelStatus",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(openReceiveChanStatus), 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_ipAddress,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "IP address", "skinny.ipAddress",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_IPv4, BASE_NONE, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_portNumber,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Port number", "skinny.portNumber",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_statsProcessingType,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Stats processing type", "skinny.statsProcessingType",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(statsProcessingTypes), 0x0,
|
|
|
|
"What do do after you send the stats.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
2002-03-18 00:45:11 +00:00
|
|
|
{ &hf_skinny_callIdentifier,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Call identifier", "skinny.callIdentifier",
|
2002-03-18 00:45:11 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-18 00:45:11 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_packetsSent,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Packets sent", "skinny.packetsSent",
|
2002-03-18 00:45:11 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-18 00:45:11 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_octetsSent,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Octets sent", "skinny.octetsSent",
|
2002-03-18 00:45:11 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-18 00:45:11 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_packetsRecv,
|
|
|
|
{ "Packets Received", "skinny.packetsRecv",
|
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-18 00:45:11 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_octetsRecv,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Octets received", "skinny.octetsRecv",
|
2002-03-18 00:45:11 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-18 00:45:11 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_packetsLost,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Packets lost", "skinny.packetsLost",
|
2002-03-18 00:45:11 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-18 00:45:11 +00:00
|
|
|
HFILL }
|
2001-10-11 16:01:10 +00:00
|
|
|
},
|
|
|
|
|
2002-03-18 00:45:11 +00:00
|
|
|
{ &hf_skinny_latency,
|
|
|
|
{ "Latency(ms)", "skinny.latency",
|
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"Average packet latency during the call.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_jitter,
|
|
|
|
{ "Jitter", "skinny.jitter",
|
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"Average jitter during the call.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
2002-03-19 11:26:23 +00:00
|
|
|
{ &hf_skinny_directoryNumber,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Directory number", "skinny.directoryNumber",
|
2002-03-18 00:45:11 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
2002-03-19 11:26:23 +00:00
|
|
|
"The number we are reporting statistics for.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_lineInstance,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Line instance", "skinny.lineInstance",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"The display call plane associated with this call.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_softKeyEvent,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Soft-key event", "skinny.softKeyEvent",
|
2010-11-03 22:08:49 +00:00
|
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &softKeyEvents_ext, 0x0,
|
2002-03-19 11:26:23 +00:00
|
|
|
"Which softkey event is being reported.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_keepAliveInterval,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Keep-alive interval", "skinny.keepAliveInterval",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"How often are keep alives exchanges between the client and the call manager.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_secondaryKeepAliveInterval,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Secondary keep-alive interval", "skinny.secondaryKeepAliveInterval",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"How often are keep alives exchanges between the client and the secondary call manager.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_dateTemplate,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Date template", "skinny.dateTemplate",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
|
|
|
"The display format for the date/time on the phone.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_buttonOffset,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Button offset", "skinny.buttonOffset",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"Offset is the number of the first button referenced by this message.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_buttonCount,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Buttons count", "skinny.buttonCount",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"Number of (VALID) button definitions in this message.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_totalButtonCount,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Total buttons count", "skinny.totalButtonCount",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"The total number of buttons defined for this phone.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_buttonInstanceNumber,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Instance number", "skinny.buttonInstanceNumber",
|
2010-11-03 22:08:49 +00:00
|
|
|
FT_UINT8, BASE_HEX|BASE_EXT_STRING, &keypadButtons_ext, 0x0,
|
2002-03-19 11:26:23 +00:00
|
|
|
"The button instance number for a button or the StationKeyPad value, repeats allowed.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_buttonDefinition,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Button definition", "skinny.buttonDefinition",
|
2010-11-03 22:08:49 +00:00
|
|
|
FT_UINT8, BASE_HEX|BASE_EXT_STRING, &buttonDefinitions_ext, 0x0,
|
2002-03-19 11:26:23 +00:00
|
|
|
"The button type for this instance (ie line, speed dial, ....",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_softKeyOffset,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Soft-Key offset", "skinny.softKeyOffset",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"The offset for the first soft key in this message.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_softKeyCount,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Soft-keys count", "skinny.softKeyCount",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"The number of valid softkeys in this message.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_totalSoftKeyCount,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Total soft-keys count", "skinny.totalSoftKeyCount",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"The total number of softkeys for this device.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_softKeyLabel,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Soft-key label", "skinny.softKeyLabel",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
|
|
|
"The text label for this soft key.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_softKeySetOffset,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Soft-key-set offset", "skinny.softKeySetOffset",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"The offset for the first soft key set in this message.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_softKeySetCount,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Soft-key-sets count", "skinny.softKeySetCount",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"The number of valid softkey sets in this message.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_totalSoftKeySetCount,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Total soft-key-sets count", "skinny.totalSoftKeySetCount",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"The total number of softkey sets for this device.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_softKeyTemplateIndex,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Soft-key template index", "skinny.softKeyTemplateIndex",
|
2010-11-03 22:08:49 +00:00
|
|
|
FT_UINT8, BASE_DEC|BASE_EXT_STRING, &softKeyEvents_ext, 0x0,
|
2002-03-19 11:26:23 +00:00
|
|
|
"Array of size 16 8-bit unsigned ints containing an index into the softKeyTemplate.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_softKeyInfoIndex,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Soft-key info index", "skinny.softKeyInfoIndex",
|
2010-11-03 22:08:49 +00:00
|
|
|
FT_UINT16, BASE_DEC|BASE_EXT_STRING, &softKeyIndexes_ext, 0x0,
|
2002-03-19 11:26:23 +00:00
|
|
|
"Array of size 16 16-bit unsigned integers containing an index into the soft key description information.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_softKeySetDescription,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Soft-key set description", "skinny.softKeySetDescription",
|
2010-11-03 22:08:49 +00:00
|
|
|
FT_UINT8, BASE_DEC|BASE_EXT_STRING, &keySetNames_ext, 0x0,
|
2002-03-19 11:26:23 +00:00
|
|
|
"A text description of what this softkey when this softkey set is displayed",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_softKeyMap,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Soft-key map","skinny.softKeyMap",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT16, BASE_HEX, NULL, 0x0,
|
From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero
svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2002-03-19 11:26:23 +00:00
|
|
|
{ &hf_skinny_softKey0,
|
2002-08-28 21:04:11 +00:00
|
|
|
{ "SoftKey0", "skinny.softKeyMap.0",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_BOOLEAN, 16, TFS(&softKeyMapValues), SKINNY_SOFTKEY0,
|
From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero
svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_softKey1,
|
2002-08-28 21:04:11 +00:00
|
|
|
{ "SoftKey1", "skinny.softKeyMap.1",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_BOOLEAN, 16, TFS(&softKeyMapValues), SKINNY_SOFTKEY1,
|
From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero
svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_softKey2,
|
2002-08-28 21:04:11 +00:00
|
|
|
{ "SoftKey2", "skinny.softKeyMap.2",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_BOOLEAN, 16, TFS(&softKeyMapValues), SKINNY_SOFTKEY2,
|
From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero
svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_softKey3,
|
|
|
|
{ "SoftKey3", "skinny.softKeyMap.3",
|
|
|
|
FT_BOOLEAN, 16, TFS(&softKeyMapValues), SKINNY_SOFTKEY3,
|
From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero
svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_softKey4,
|
2002-08-28 21:04:11 +00:00
|
|
|
{ "SoftKey4", "skinny.softKeyMap.4",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_BOOLEAN, 16, TFS(&softKeyMapValues), SKINNY_SOFTKEY4,
|
From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero
svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_softKey5,
|
2002-08-28 21:04:11 +00:00
|
|
|
{ "SoftKey5", "skinny.softKeyMap.5",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_BOOLEAN, 16, TFS(&softKeyMapValues), SKINNY_SOFTKEY5,
|
From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero
svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_softKey6,
|
2002-08-28 21:04:11 +00:00
|
|
|
{ "SoftKey6", "skinny.softKeyMap.6",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_BOOLEAN, 16, TFS(&softKeyMapValues), SKINNY_SOFTKEY6,
|
From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero
svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_softKey7,
|
2002-08-28 21:04:11 +00:00
|
|
|
{ "SoftKey7", "skinny.softKeyMap.7",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_BOOLEAN, 16, TFS(&softKeyMapValues), SKINNY_SOFTKEY7,
|
From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero
svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_softKey8,
|
2002-08-28 21:04:11 +00:00
|
|
|
{ "SoftKey8", "skinny.softKeyMap.8",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_BOOLEAN, 16, TFS(&softKeyMapValues), SKINNY_SOFTKEY8,
|
From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero
svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_softKey9,
|
2002-08-28 21:04:11 +00:00
|
|
|
{ "SoftKey9", "skinny.softKeyMap.9",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_BOOLEAN, 16, TFS(&softKeyMapValues), SKINNY_SOFTKEY9,
|
From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero
svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_softKey10,
|
2002-08-28 21:04:11 +00:00
|
|
|
{ "SoftKey10", "skinny.softKeyMap.10",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_BOOLEAN, 16, TFS(&softKeyMapValues), SKINNY_SOFTKEY10,
|
From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero
svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_softKey11,
|
2002-08-28 21:04:11 +00:00
|
|
|
{ "SoftKey11", "skinny.softKeyMap.11",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_BOOLEAN, 16, TFS(&softKeyMapValues), SKINNY_SOFTKEY11,
|
From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero
svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_softKey12,
|
2002-08-28 21:04:11 +00:00
|
|
|
{ "SoftKey12", "skinny.softKeyMap.12",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_BOOLEAN, 16, TFS(&softKeyMapValues), SKINNY_SOFTKEY12,
|
From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero
svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_softKey13,
|
2002-08-28 21:04:11 +00:00
|
|
|
{ "SoftKey13", "skinny.softKeyMap.13",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_BOOLEAN, 16, TFS(&softKeyMapValues), SKINNY_SOFTKEY13,
|
From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero
svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_softKey14,
|
2002-08-28 21:04:11 +00:00
|
|
|
{ "SoftKey14", "skinny.softKeyMap.14",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_BOOLEAN, 16, TFS(&softKeyMapValues), SKINNY_SOFTKEY14,
|
From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero
svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_softKey15,
|
2002-08-28 21:04:11 +00:00
|
|
|
{ "SoftKey15", "skinny.softKeyMap.15",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_BOOLEAN, 16, TFS(&softKeyMapValues), SKINNY_SOFTKEY15,
|
From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero
svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_lampMode,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Lamp mode", "skinny.lampMode",
|
2010-11-03 22:08:49 +00:00
|
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &stationLampModes_ext, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_messageTimeOutValue,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Message time-out", "skinny.messageTimeOutValue",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2002-08-28 21:04:11 +00:00
|
|
|
"The timeout in seconds for this message",
|
2002-03-18 00:45:11 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_displayMessage,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Display message", "skinny.displayMessage",
|
2002-03-18 00:45:11 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
|
|
|
"The message displayed on the phone.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
2002-03-19 11:26:23 +00:00
|
|
|
{ &hf_skinny_lineDirNumber,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Line directory number", "skinny.lineDirNumber",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
|
|
|
"The directory number for this line.",
|
2002-03-18 00:45:11 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
2002-03-19 11:26:23 +00:00
|
|
|
{ &hf_skinny_lineFullyQualifiedDisplayName,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Fully qualified display name", "skinny.fqdn",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
|
|
|
"The full display name for this line.",
|
2002-03-18 00:45:11 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
2002-03-19 11:26:23 +00:00
|
|
|
|
2010-05-06 19:16:45 +00:00
|
|
|
{ &hf_skinny_lineDisplayName,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Display name", "skinny.displayName",
|
2010-05-06 19:16:45 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
|
|
|
"The display name for this line.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
2002-03-19 11:26:23 +00:00
|
|
|
{ &hf_skinny_speedDialDirNumber,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Speed-dial number", "skinny.speedDialDirNum",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
|
|
|
"the number to dial for this speed dial.",
|
2002-03-18 00:45:11 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
2002-03-19 11:26:23 +00:00
|
|
|
{ &hf_skinny_speedDialDisplayName,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Speed-dial display", "skinny.speedDialDisplay",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
|
|
|
"The text to display for this speed dial.",
|
2002-03-18 00:45:11 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_dateYear,
|
|
|
|
{ "Year", "skinny.year",
|
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"The current year",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_dateMonth,
|
|
|
|
{ "Month", "skinny.month",
|
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"The current month",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
2002-03-19 11:26:23 +00:00
|
|
|
{ &hf_skinny_dayOfWeek,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Day of week", "skinny.dayOfWeek",
|
2002-03-19 11:26:23 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"The day of the week",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
2002-03-18 00:45:11 +00:00
|
|
|
{ &hf_skinny_dateDay,
|
|
|
|
{ "Day", "skinny.day",
|
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"The day of the current month",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_dateHour,
|
|
|
|
{ "Hour", "skinny.hour",
|
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"Hour of the day",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_dateMinute,
|
|
|
|
{ "Minute", "skinny.minute",
|
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero
svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
|
|
|
NULL,
|
2002-03-18 00:45:11 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
2002-03-19 11:26:23 +00:00
|
|
|
{ &hf_skinny_dateSeconds,
|
|
|
|
{ "Seconds", "skinny.dateSeconds",
|
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero
svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_dateMilliseconds,
|
|
|
|
{ "Milliseconds", "skinny.dateMilliseconds",
|
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero
svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_timeStamp,
|
|
|
|
{ "Timestamp", "skinny.timeStamp",
|
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"Time stamp for the call reference",
|
|
|
|
HFILL }
|
|
|
|
},
|
2002-03-20 21:01:21 +00:00
|
|
|
{ &hf_skinny_callState,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Call state", "skinny.callState",
|
2010-11-03 22:08:49 +00:00
|
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &skinny_stationCallStates_ext, 0x0,
|
2002-08-28 21:04:11 +00:00
|
|
|
"The D channel call state of the call",
|
2002-03-20 21:01:21 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
2002-03-19 11:26:23 +00:00
|
|
|
|
2002-03-20 21:01:21 +00:00
|
|
|
{ &hf_skinny_deviceTone,
|
2002-08-28 21:04:11 +00:00
|
|
|
{ "Tone", "skinny.deviceTone",
|
2010-11-03 22:08:49 +00:00
|
|
|
FT_UINT32, BASE_HEX|BASE_EXT_STRING, &skinny_deviceTones_ext, 0x0,
|
2002-08-28 21:04:11 +00:00
|
|
|
"Which tone to play",
|
2002-03-20 21:01:21 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
2002-03-19 11:26:23 +00:00
|
|
|
|
2002-03-20 21:01:21 +00:00
|
|
|
{ &hf_skinny_callingPartyName,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Calling party name", "skinny.callingPartyName",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
|
|
|
"The passed name of the calling party.",
|
|
|
|
HFILL }
|
|
|
|
},
|
2002-03-19 11:26:23 +00:00
|
|
|
|
2011-04-14 06:07:42 +00:00
|
|
|
{ &hf_skinny_callingPartyNumber,
|
|
|
|
{ "Calling party number", "skinny.callingParty",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
|
|
|
"The passed number of the calling party.",
|
|
|
|
HFILL }
|
|
|
|
},
|
2002-03-19 11:26:23 +00:00
|
|
|
|
2002-03-20 21:01:21 +00:00
|
|
|
{ &hf_skinny_calledPartyName,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Called party name", "skinny.calledPartyName",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
|
|
|
"The name of the party we are calling.",
|
|
|
|
HFILL }
|
|
|
|
},
|
2002-03-19 11:26:23 +00:00
|
|
|
|
2002-03-20 21:01:21 +00:00
|
|
|
{ &hf_skinny_callType,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Call type", "skinny.callType",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(skinny_callTypes), 0x0,
|
2002-08-28 21:04:11 +00:00
|
|
|
"What type of call, in/out/etc",
|
2002-03-20 21:01:21 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
2002-03-19 11:26:23 +00:00
|
|
|
|
2002-03-20 21:01:21 +00:00
|
|
|
{ &hf_skinny_originalCalledPartyName,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Original called party name", "skinny.originalCalledPartyName",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-20 21:01:21 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
2002-03-19 11:26:23 +00:00
|
|
|
|
2002-03-20 21:01:21 +00:00
|
|
|
{ &hf_skinny_originalCalledParty,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Original called party number", "skinny.originalCalledParty",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-20 21:01:21 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
2002-03-19 11:26:23 +00:00
|
|
|
|
2002-03-20 21:01:21 +00:00
|
|
|
{ &hf_skinny_ringType,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Ring type", "skinny.ringType",
|
2010-11-03 22:08:49 +00:00
|
|
|
FT_UINT32, BASE_HEX|BASE_EXT_STRING, &skinny_ringTypes_ext, 0x0,
|
2002-08-28 21:04:11 +00:00
|
|
|
"What type of ring to play",
|
2002-03-20 21:01:21 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
2002-03-19 11:26:23 +00:00
|
|
|
|
2010-05-06 19:16:45 +00:00
|
|
|
{ &hf_skinny_ringMode,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Ring mode", "skinny.ringMode",
|
2010-05-06 19:16:45 +00:00
|
|
|
FT_UINT32, BASE_HEX, VALS(skinny_ringModes), 0x0,
|
|
|
|
"What mode of ring to play",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
2002-03-20 21:01:21 +00:00
|
|
|
{ &hf_skinny_speakerMode,
|
2002-08-28 21:04:11 +00:00
|
|
|
{ "Speaker", "skinny.speakerMode",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_UINT32, BASE_HEX, VALS(skinny_speakerModes), 0x0,
|
2002-08-28 21:04:11 +00:00
|
|
|
"This message sets the speaker mode on/off",
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
2002-03-20 21:01:21 +00:00
|
|
|
{ &hf_skinny_remoteIpAddr,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Remote IP address", "skinny.remoteIpAddr",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_IPv4, BASE_NONE, NULL, 0x0,
|
|
|
|
"The remote end ip address for this stream",
|
|
|
|
HFILL }
|
|
|
|
},
|
2002-03-19 11:26:23 +00:00
|
|
|
|
2002-03-20 21:01:21 +00:00
|
|
|
{ &hf_skinny_remotePortNumber,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Remote port", "skinny.remotePortNumber",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"The remote port number listening for this stream",
|
|
|
|
HFILL }
|
|
|
|
},
|
2002-03-19 11:26:23 +00:00
|
|
|
|
2002-03-20 21:01:21 +00:00
|
|
|
{ &hf_skinny_millisecondPacketSize,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "MS/packet", "skinny.millisecondPacketSize",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"The number of milliseconds of conversation in each packet",
|
|
|
|
HFILL }
|
|
|
|
},
|
2002-03-19 11:26:23 +00:00
|
|
|
|
2002-03-20 21:01:21 +00:00
|
|
|
{ &hf_skinny_precedenceValue,
|
|
|
|
{ "Precedence", "skinny.precedenceValue",
|
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
2002-03-20 21:01:21 +00:00
|
|
|
|
|
|
|
{ &hf_skinny_silenceSuppression,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Silence suppression", "skinny.silenceSuppression",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_UINT32, BASE_HEX, VALS(skinny_silenceSuppressionModes), 0x0,
|
2002-08-28 21:04:11 +00:00
|
|
|
"Mode for silence suppression",
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
2002-03-20 21:01:21 +00:00
|
|
|
{ &hf_skinny_g723BitRate,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "G723 bitrate", "skinny.g723BitRate",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(skinny_g723BitRates), 0x0,
|
2002-08-28 21:04:11 +00:00
|
|
|
"The G723 bit rate for this stream/JUNK if not g723 stream",
|
2002-03-20 21:01:21 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_conferenceID,
|
|
|
|
{ "Conference ID", "skinny.conferenceID",
|
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-20 21:01:21 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_deviceResetType,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Reset type", "skinny.deviceResetType",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(skinny_deviceResetTypes), 0x0,
|
2002-08-28 21:04:11 +00:00
|
|
|
"How the devices it to be reset (reset/restart)",
|
2002-03-19 11:26:23 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
2002-03-20 21:01:21 +00:00
|
|
|
{ &hf_skinny_echoCancelType,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Echo-cancel type", "skinny.echoCancelType",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(skinny_echoCancelTypes), 0x0,
|
2002-08-28 21:04:11 +00:00
|
|
|
"Is echo cancelling enabled or not",
|
2002-03-20 21:01:21 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_deviceUnregisterStatus,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Unregister status", "skinny.deviceUnregisterStatus",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(skinny_deviceUnregisterStatusTypes), 0x0,
|
2002-08-28 21:04:11 +00:00
|
|
|
"The status of the device unregister request (*CAN* be refused)",
|
2002-03-20 21:01:21 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
2002-03-19 11:26:23 +00:00
|
|
|
|
2002-03-20 21:01:21 +00:00
|
|
|
{ &hf_skinny_hookFlashDetectMode,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Hook flash mode", "skinny.hookFlashDetectMode",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(skinny_hookFlashDetectModes), 0x0,
|
2002-08-28 21:04:11 +00:00
|
|
|
"Which method to use to detect that a hook flash has occured",
|
2002-03-20 21:01:21 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
2002-03-19 11:26:23 +00:00
|
|
|
|
2002-03-20 21:01:21 +00:00
|
|
|
{ &hf_skinny_detectInterval,
|
|
|
|
{ "HF Detect Interval", "skinny.detectInterval",
|
2002-03-18 00:45:11 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2002-03-20 21:01:21 +00:00
|
|
|
"The number of milliseconds that determines a hook flash has occured",
|
2002-03-18 00:45:11 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
2004-02-20 21:25:16 +00:00
|
|
|
{ &hf_skinny_headsetMode,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Headset mode", "skinny.headsetMode",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(skinny_headsetModes), 0x0,
|
|
|
|
"Turns on and off the headset on the set",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
2002-03-20 21:01:21 +00:00
|
|
|
{ &hf_skinny_microphoneMode,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Microphone mode", "skinny.microphoneMode",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(skinny_microphoneModes), 0x0,
|
2002-08-28 21:04:11 +00:00
|
|
|
"Turns on and off the microphone on the set",
|
2002-03-20 21:01:21 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_activeForward,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Active forward", "skinny.activeForward",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"This is non zero to indicate that a forward is active on the line",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_forwardAllActive,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Forward all", "skinny.forwardAllActive",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"Forward all calls",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_forwardBusyActive,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Forward busy", "skinny.forwardBusyActive",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"Forward calls when busy",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_forwardNoAnswerActive,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Forward no answer", "skinny.forwardNoAnswerActive",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"Forward only when no answer",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_forwardNumber,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Forward number", "skinny.forwardNumber",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
|
|
|
"The number to forward calls to.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_userName,
|
|
|
|
{ "Username", "skinny.userName",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
|
|
|
"Username for this device.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_serverName,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Server name", "skinny.serverName",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
|
|
|
"The server name for this device.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_numberLines,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Number of lines", "skinny.numberLines",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"How many lines this device has",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_numberSpeedDials,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Number of speed-dials", "skinny.numberSpeedDials",
|
2002-03-18 00:45:11 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2002-03-20 21:01:21 +00:00
|
|
|
"The number of speed dials this device has",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_sessionType,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Session type", "skinny.sessionType",
|
2010-11-03 22:08:49 +00:00
|
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &skinny_sessionTypes_ext, 0x0,
|
2002-08-28 21:04:11 +00:00
|
|
|
"The type of this session.",
|
2002-03-20 21:01:21 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_version,
|
|
|
|
{ "Version", "skinny.version",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-20 21:01:21 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_mediaEnunciationType,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Enunciation type", "skinny.mediaEnunciationType",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(skinny_mediaEnunciationTypes), 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-20 21:01:21 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_serverIdentifier,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Server identifier", "skinny.serverIdentifier",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-18 00:45:11 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
2002-03-20 21:01:21 +00:00
|
|
|
{ &hf_skinny_serverListenPort,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Server port", "skinny.serverListenPort",
|
2002-03-18 00:45:11 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-18 00:45:11 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
2002-03-20 21:01:21 +00:00
|
|
|
{ &hf_skinny_serverIpAddress,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Server IP address", "skinny.serverIpAddress",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_IPv4, BASE_NONE, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-20 21:01:21 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_multicastPort,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Multicast port", "skinny.multicastPort",
|
2002-03-18 00:45:11 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-20 21:01:21 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_multicastIpAddress,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Multicast IP address", "skinny.multicastIpAddress",
|
2002-03-20 21:01:21 +00:00
|
|
|
FT_IPv4, BASE_NONE, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-18 00:45:11 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
2002-03-20 21:01:21 +00:00
|
|
|
{ &hf_skinny_tokenRejWaitTime,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Retry wait time", "skinny.tokenRejWaitTime",
|
2002-03-18 00:45:11 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2002-03-18 00:45:11 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
2002-03-20 23:32:54 +00:00
|
|
|
{ &hf_skinny_unknown,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Unknown data", "skinny.unknown",
|
2002-03-20 23:32:54 +00:00
|
|
|
FT_UINT32, BASE_HEX, NULL, 0x0,
|
2002-08-28 21:04:11 +00:00
|
|
|
"Place holder for unknown data.",
|
2002-03-20 23:32:54 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
2002-03-20 21:01:21 +00:00
|
|
|
|
2011-04-14 05:37:58 +00:00
|
|
|
{ &hf_skinny_rawData,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Unknown raw data", "skinny.rawData",
|
2011-04-14 05:37:58 +00:00
|
|
|
FT_BYTES, BASE_NONE, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
"Place holder for unknown raw data.",
|
2011-04-14 05:37:58 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
2010-12-20 07:49:56 +00:00
|
|
|
{ &hf_skinny_xmlData,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "XML data", "skinny.xmlData",
|
2010-12-20 07:49:56 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
2011-04-14 05:37:58 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_numberOfInServiceStreams,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Number of in-service streams", "skinny.numberOfInServiceStreams",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_maxStreamsPerConf,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Max streams per conf", "skinny.maxStreamsPerConf",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_numberOfOutOfServiceStreams,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Number of out-of-service streams", "skinny.numberOfOutOfServiceStreams",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_applicationID,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Application ID", "skinny.applicationID",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"Application ID.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_transactionID,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Transaction ID", "skinny.transactionID",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_serviceNum,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Service number", "skinny.serviceNum",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_serviceURLIndex,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Service URL index", "skinny.serviceURLIndex",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_featureIndex,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Feature index", "skinny.featureIndex",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_createConfResults,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Create conf results", "skinny.createConfResults",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(skinny_createConfResults), 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_modifyConfResults,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Modify conf results", "skinny.modifyConfResults",
|
2010-11-03 22:08:49 +00:00
|
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &skinny_modifyConfResults_ext, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_deleteConfResults,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Delete conf results", "skinny.deleteConfResults",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(skinny_deleteConfResults), 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_addParticipantResults,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Add participant results", "skinny.addParticipantResults",
|
2010-11-03 22:08:49 +00:00
|
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &skinny_addParticipantResults_ext, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_passThruData,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Pass-thru data", "skinny.passThruData",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT8, BASE_HEX, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_auditParticipantResults,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Audit participant results", "skinny.auditParticipantResults",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(skinny_auditParticipantResults), 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_last,
|
|
|
|
{ "Last", "skinny.last",
|
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_numberOfEntries,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Number of entries", "skinny.numberOfEntries",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_participantEntry,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Participant entry", "skinny.participantEntry",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_resourceTypes,
|
|
|
|
{ "ResourceType", "skinny.resourceTypes",
|
|
|
|
FT_UINT32, BASE_DEC, VALS(skinny_resourceTypes), 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_numberOfReservedParticipants,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Number of reserved participants", "skinny.numberOfReservedParticipants",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_numberOfActiveParticipants,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Number of active participants", "skinny.numberOfActiveParticipants",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_appID,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Application ID", "skinny.appID",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_appData,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Application data", "skinny.appData",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT8, BASE_HEX, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_appConfID,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Application conf ID", "skinny.appConfID",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT8, BASE_HEX, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_sequenceFlag,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Sequence flag", "skinny.sequenceFlag",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(skinny_sequenceFlags), 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_displayPriority,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Display priority", "skinny.displayPriority",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_appInstanceID,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Application instance ID", "skinny.appInstanceID",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_routingID,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Routing ID", "skinny.routingID",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_audioCapCount,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Audio cap count", "skinny.audioCapCount",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_videoCapCount,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Video cap count", "skinny.videoCapCount",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_dataCapCount,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Data cap count", "skinny.dataCapCount",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_RTPPayloadFormat,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "RTP payload format", "skinny.RTPPayloadFormat",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_customPictureFormatCount,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Custom picture format count", "skinny.customPictureFormatCount",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_pictureWidth,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Picture width", "skinny.pictureWidth",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_pictureHeight,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Picture height", "skinny.pictureHeight",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_pixelAspectRatio,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Pixel aspect ratio", "skinny.pixelAspectRatio",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_clockConversionCode,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Clock conversion code", "skinny.clockConversionCode",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_clockDivisor,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Clock divisor", "skinny.clockDivisor",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_activeStreamsOnRegistration,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Active streams on registration", "skinny.activeStreamsOnRegistration",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_maxBW,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Max BW", "skinny.maxBW",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_serviceResourceCount,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Service resource count", "skinny.serviceResourceCount",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_layoutCount,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Layout count", "skinny.layoutCount",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_layout,
|
|
|
|
{ "Layout", "skinny.layout",
|
2010-11-03 22:08:49 +00:00
|
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &skinny_Layouts_ext, 0x0,
|
From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero
svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_maxConferences,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Max conferences", "skinny.maxConferences",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_activeConferenceOnRegistration,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Active conference on registration", "skinny.activeConferenceOnRegistration",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_transmitOrReceive,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Transmit or receive", "skinny.transmitOrReceive",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(skinny_transmitOrReceive), 0x0,
|
From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero
svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_levelPreferenceCount,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Level preference count", "skinny.levelPreferenceCount",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_transmitPreference,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Transmit preference", "skinny.transmitPreference",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_format,
|
|
|
|
{ "Format", "skinny.format",
|
2010-11-03 22:08:49 +00:00
|
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &skinny_formatTypes_ext, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_maxBitRate,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Max bitrate", "skinny.maxBitRate",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_minBitRate,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Min bitrate", "skinny.minBitRate",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_MPI,
|
|
|
|
{ "MPI", "skinny.MPI",
|
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_serviceNumber,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Service number", "skinny.serviceNumber",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_temporalSpatialTradeOffCapability,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Temporal spatial trade off capability", "skinny.temporalSpatialTradeOffCapability",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_stillImageTransmission,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Still image transmission", "skinny.stillImageTransmission",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_h263_capability_bitfield,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "H263 capability bitfield", "skinny.h263_capability_bitfield",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_annexNandWFutureUse,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Annex N and W future use", "skinny.annexNandWFutureUse",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_modelNumber,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Model number", "skinny.modelNumber",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_bandwidth,
|
|
|
|
{ "Bandwidth", "skinny.bandwidth",
|
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_protocolDependentData,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Protocol dependent data", "skinny.protocolDependentData",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_priority,
|
|
|
|
{ "Priority", "skinny.priority",
|
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_payloadDtmf,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Payload DTMF", "skinny.payloadDtmf",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"RTP payload type.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_featureID,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Feature ID", "skinny.featureID",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_featureTextLabel,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Feature text label", "skinny.featureTextLabel",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
"The feature label text that is displayed on the phone.",
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_featureStatus,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Feature status", "skinny.featureStatus",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_notify,
|
|
|
|
{ "Notify", "skinny.notify",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
|
|
|
"The message notify text that is displayed on the phone.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_endOfAnnAck,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "End of ann. ack", "skinny.endOfAnnAck",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(skinny_endOfAnnAck), 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
"End of announcement ack.",
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_annPlayMode,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Ann. play mode", "skinny.annPlayMode",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(skinny_annPlayMode), 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
"Announcement play mode.",
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_annPlayStatus,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Ann. play status", "skinny.annPlayStatus",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(skinny_annPlayStatus), 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
"Announcement play status.",
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_locale,
|
|
|
|
{ "Locale", "skinny.locale",
|
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"User locale ID.",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_country,
|
|
|
|
{ "Country", "skinny.country",
|
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"Country ID (Network locale).",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_matrixConfPartyID,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Matrix conf party ID", "skinny.matrixConfPartyID",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
"Existing conference parties.",
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_hearingConfPartyMask,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Hearing conf party mask", "skinny.hearingConfPartyMask",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
"Bit mask of conference parties to hear media received on this stream. Bit0 = matrixConfPartyID[0], Bit1 = matrixConfPartiID[1].",
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_serviceURL,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Service URL value", "skinny.serviceURL",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_serviceURLDisplayName,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Service URL display name", "skinny.serviceURLDisplayName",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_callSelectStat,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Call select stat", "skinny.callSelectStat",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_isConferenceCreator,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Is conference creator", "skinny.isConferenceCreator",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_payload_rfc_number,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Payload RFC number", "skinny.payload_rfc_number",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_payloadType,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Payload type", "skinny.payloadType",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_bitRate,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Bitrate", "skinny.bitRate",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_pictureFormatCount,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Picture format count", "skinny.pictureFormatCount",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_confServiceNum,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Conf service number", "skinny.confServiceNum",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
"Conference service number.",
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_DSCPValue,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "DSCP value", "skinny.DSCPValue",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_miscCommandType,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Misc command type", "skinny.miscCommandType",
|
2010-11-03 22:08:49 +00:00
|
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &skinny_miscCommandType_ext, 0x0,
|
From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero
svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_temporalSpatialTradeOff,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Temporal spatial trade-off", "skinny.temporalSpatialTradeOff",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_firstGOB,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "First GOB", "skinny.firstGOB",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_numberOfGOBs,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Number of GOBs", "skinny.numberOfGOBs",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_firstMB,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "First MB", "skinny.firstMB",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_numberOfMBs,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Number of MBs", "skinny.numberOfMBs",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_pictureNumber,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Picture number", "skinny.pictureNumber",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_longTermPictureIndex,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Long-term picture index", "skinny.longTermPictureIndex",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_recoveryReferencePictureCount,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Recovery-reference picture count", "skinny.recoveryReferencePictureCount",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_cast_lastRedirectingPartyName,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Last redirecting party name", "cast.lastRedirectingPartyName",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_cast_lastRedirectingParty,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Last redirecting party", "cast.lastRedirectingParty",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_cast_cgpnVoiceMailbox,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Calling party voice mailbox", "cast.cgpnVoiceMailbox",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_cast_cdpnVoiceMailbox,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Called party voice mailbox", "cast.cdpnVoiceMailbox",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_cast_originalCdpnVoiceMailbox,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Original called party voice mailbox", "cast.originalCdpnVoiceMailbox",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_cast_lastRedirectingVoiceMailbox,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Last redirecting voice mailbox", "cast.lastRedirectingVoiceMailbox",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_cast_originalCdpnRedirectReason,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Original called party redirect reason", "cast.originalCdpnRedirectReason",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_cast_lastRedirectingReason,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Last redirecting reason", "cast.lastRedirectingReason",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_cast_callInstance,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Call instance", "cast.callInstance",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_cast_callSecurityStatus,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Call security status", "cast.callSecurityStatus",
|
2004-02-20 21:25:16 +00:00
|
|
|
FT_UINT32, BASE_DEC, VALS(cast_callSecurityStatusTypes), 0x0,
|
2011-04-14 06:07:42 +00:00
|
|
|
NULL,
|
2004-02-20 21:25:16 +00:00
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
2011-04-14 05:37:58 +00:00
|
|
|
{ &hf_skinny_directoryIndex,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Directory index", "skinny.directoryIndex",
|
2011-04-14 05:37:58 +00:00
|
|
|
FT_UINT32, BASE_DEC, NULL, 0x0,
|
|
|
|
NULL,
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
|
|
|
{ &hf_skinny_directoryPhoneNumber,
|
2011-04-14 06:07:42 +00:00
|
|
|
{ "Directory phone number", "skinny.directoryPhoneNumber",
|
2011-04-14 05:37:58 +00:00
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
|
|
|
NULL,
|
|
|
|
HFILL }
|
|
|
|
},
|
|
|
|
|
2002-03-18 00:45:11 +00:00
|
|
|
};
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2002-03-18 00:45:11 +00:00
|
|
|
/* Setup protocol subtree array */
|
2001-10-11 16:01:10 +00:00
|
|
|
static gint *ett[] = {
|
|
|
|
&ett_skinny,
|
2004-02-20 21:25:16 +00:00
|
|
|
&ett_skinny_tree,
|
2002-03-19 11:26:23 +00:00
|
|
|
&ett_skinny_softKeyMap,
|
2001-10-11 16:01:10 +00:00
|
|
|
};
|
2002-03-19 06:31:16 +00:00
|
|
|
|
|
|
|
module_t *skinny_module;
|
|
|
|
|
2002-03-18 00:45:11 +00:00
|
|
|
/* Register the protocol name and description */
|
2001-10-11 16:01:10 +00:00
|
|
|
proto_skinny = proto_register_protocol("Skinny Client Control Protocol",
|
2002-03-18 00:45:11 +00:00
|
|
|
"SKINNY", "skinny");
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2002-03-18 00:45:11 +00:00
|
|
|
/* Required function calls to register the header fields and subtrees used */
|
2001-10-11 16:01:10 +00:00
|
|
|
proto_register_field_array(proto_skinny, hf, array_length(hf));
|
|
|
|
proto_register_subtree_array(ett, array_length(ett));
|
2002-03-19 06:31:16 +00:00
|
|
|
|
|
|
|
skinny_module = prefs_register_protocol(proto_skinny, NULL);
|
|
|
|
prefs_register_bool_preference(skinny_module, "desegment",
|
2004-08-21 09:02:52 +00:00
|
|
|
"Reassemble SCCP messages spanning multiple TCP segments",
|
|
|
|
"Whether the SCCP dissector should reassemble messages spanning multiple TCP segments."
|
|
|
|
" To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
|
2002-03-19 06:31:16 +00:00
|
|
|
&skinny_desegment);
|
2010-09-23 21:46:31 +00:00
|
|
|
|
2009-01-30 21:25:52 +00:00
|
|
|
skinny_tap = register_tap("skinny");
|
2002-05-30 08:34:19 +00:00
|
|
|
}
|
2001-10-11 16:01:10 +00:00
|
|
|
|
|
|
|
void
|
|
|
|
proto_reg_handoff_skinny(void)
|
|
|
|
{
|
2010-12-20 07:49:56 +00:00
|
|
|
static gboolean skinny_prefs_initialized = FALSE;
|
2001-12-03 04:00:26 +00:00
|
|
|
dissector_handle_t skinny_handle;
|
2011-04-27 15:23:20 +00:00
|
|
|
|
2010-12-20 07:49:56 +00:00
|
|
|
if (!skinny_prefs_initialized) {
|
|
|
|
rtp_handle = find_dissector("rtp");
|
|
|
|
/* Skinny content type and internet media type used by other dissectors are the same */
|
|
|
|
media_type_dissector_table = find_dissector_table("media_type");
|
|
|
|
skinny_handle = new_create_dissector_handle(dissect_skinny, proto_skinny);
|
|
|
|
dissector_add_uint("tcp.port", TCP_PORT_SKINNY, skinny_handle);
|
2011-03-14 07:49:05 +00:00
|
|
|
ssl_dissector_add(SSL_PORT_SKINNY, "skinny", TRUE);
|
2010-12-20 07:49:56 +00:00
|
|
|
skinny_prefs_initialized = TRUE;
|
|
|
|
}
|
2001-10-11 16:01:10 +00:00
|
|
|
}
|
2002-03-20 21:01:21 +00:00
|
|
|
|