/*!
 * \file        sccp_enum.in
 * \brief       SCCP Enum Auto Source Generation
 * \author      Diederikd de Groot <dddegroot [at] users.sf.net>
 * \note        This program is free software and may be modified and distributed under the terms of the GNU Public License.
 *              See the LICENSE file at the top of the source tree.
 * \remarks     Used by ../tools/gen_sccp_enum.awk script as source to generate sccp_enum.h and sccp_enum.c automatically */
 */

namespace sccp {

/*
 * SCCP Channel State
 */
strenum channelstate {
	SCCP_CHANNELSTATE_DOWN,				= 0, 	"DOWN",
	SCCP_CHANNELSTATE_ONHOOK,			= 1, 	"ONHOOK",

	SCCP_CHANNELSTATE_OFFHOOK, 			= 10, 	"OFFHOOK",
	SCCP_CHANNELSTATE_GETDIGITS, 			= 11,	"GETDIGITS",
	SCCP_CHANNELSTATE_DIGITSFOLL, 			= 12,	"DIGITSFOLL",
	SCCP_CHANNELSTATE_SPEEDDIAL, 			= 13,	"SPEEDDIAL",
	SCCP_CHANNELSTATE_DIALING, 			= 14,	"DIALING",

	SCCP_CHANNELSTATE_RINGOUT, 			= 20,	"RINGOUT",
	SCCP_CHANNELSTATE_RINGOUT_ALERTING, 		= 21,	"RINGOUT_ALERTING",
	SCCP_CHANNELSTATE_RINGING, 			= 22,	"RINGING",
	SCCP_CHANNELSTATE_PROCEED, 			= 23,	"PROCEED",
	SCCP_CHANNELSTATE_PROGRESS, 			= 24,	"PROGRESS",

	SCCP_CHANNELSTATE_CONNECTED, 			= 30,	"CONNECTED",
	SCCP_CHANNELSTATE_CONNECTEDCONFERENCE, 		= 31,	"CONNECTEDCONFERENCE",
	SCCP_CHANNELSTATE_HOLD, 			= 32,	"HOLD	 ",
	SCCP_CHANNELSTATE_CALLWAITING, 			= 34,	"CALLWAITING",
	SCCP_CHANNELSTATE_CALLPARK, 			= 35,	"CALLPARK",
	SCCP_CHANNELSTATE_CALLREMOTEMULTILINE, 		= 36,	"CALLREMOTEMULTILINE",
	SCCP_CHANNELSTATE_CALLCONFERENCE,	 	= 37,	"CALLCONFERENCE",
	SCCP_CHANNELSTATE_CALLTRANSFER, 		= 38,	"CALLTRANSFER",
	SCCP_CHANNELSTATE_BLINDTRANSFER, 		= 39,	"BLINDTRANSFER",

	SCCP_CHANNELSTATE_DND, 				= 40,	"DND",
	SCCP_CHANNELSTATE_BUSY, 			= 41,	"BUSY	 ",
	SCCP_CHANNELSTATE_CONGESTION, 			= 42,	"CONGESTION",
	SCCP_CHANNELSTATE_INVALIDNUMBER, 		= 43,	"INVALIDNUMBER",
	SCCP_CHANNELSTATE_INVALIDCONFERENCE, 		= 44,	"INVALIDCONFERENCE",
	SCCP_CHANNELSTATE_ZOMBIE, 			= 45,	"ZOMBIE",
}

/*
 * \brief internal chan_sccp call state (c->callstate) (Enum)
 */
strenum channelstatereason {
	SCCP_CHANNELSTATEREASON_NORMAL,			=0,	"NORMAL",
	SCCP_CHANNELSTATEREASON_TRANSFER,		,	"TRANSFER",
        SCCP_CHANNELSTATEREASON_CALLFORWARD,		,	"CALLFORWARD",
        SCCP_CHANNELSTATEREASON_CONFERENCE,		,	"CONFERENCE",
}

strenum earlyrtp {
        SCCP_EARLYRTP_IMMEDIATE,			=0,	"Immediate",
        SCCP_EARLYRTP_OFFHOOK,				,	"OffHook",
        SCCP_EARLYRTP_DIALING,				,	"Dialing",
        SCCP_EARLYRTP_RINGOUT,				,	"Ringout",
        SCCP_EARLYRTP_PROGRESS,				,	"Progress",
        SCCP_EARLYRTP_NONE,				,	"None",
}												/*!< internal Chan_SCCP Call State c->callstate */

strenum devicestate {
        SCCP_DEVICESTATE_ONHOOK,			=0,	"On Hook"
        SCCP_DEVICESTATE_OFFHOOK,			,	"Off Hook"
        SCCP_DEVICESTATE_UNAVAILABLE,			,	"Unavailable"
        SCCP_DEVICESTATE_DND,				,	"Do Not Disturb",
        SCCP_DEVICESTATE_FWDALL,			,	"Forward All"
}

strenum callforward {
        SCCP_CFWD_NONE,					=0,	"None",
        SCCP_CFWD_ALL,					,	"All",
        SCCP_CFWD_BUSY,					,	"Busy",
        SCCP_CFWD_NOANSWER,				,	"NoAnswer",
}

/*!
 * \brief SCCP Dtmf Mode (ENUM)
 */
strenum dtmfmode {
	SCCP_DTMFMODE_AUTO,				=0,	"AUTO",
	SCCP_DTMFMODE_RFC2833,				,	"RFC2833",
	SCCP_DTMFMODE_SKINNY,				,	"SKINNY",
}

/*!
 * \brief SCCP Autoanswer (ENUM)
 */
enum autoanswer {
        SCCP_AUTOANSWER_NONE,				=0,	"AutoAnswer None",
        SCCP_AUTOANSWER_1W,				,	"AutoAnswer 1-Way",
        SCCP_AUTOANSWER_2W,				,	"AutoAnswer Both Ways",
}

/*!
 * \brief SCCP DNDMode (ENUM)
 */
strenum dndmode {
        SCCP_DNDMODE_OFF,				=0,	"Off",
        SCCP_DNDMODE_REJECT,				,	"Reject",
        SCCP_DNDMODE_SILENT,				,	"Silent",
        SCCP_DNDMODE_USERDEFINED,			,	"User",
}

strenum accessory {
        SCCP_ACCESSORY_NONE,				=0,	"None",
        SCCP_ACCESSORY_HEADSET,				,	"Headset",
        SCCP_ACCESSORY_HANDSET,				,	"Handset", 
        SCCP_ACCESSORY_SPEAKER,				,	"Speaker",
}

strenum accessorystate {
        SCCP_ACCESSORYSTATE_NONE,			=0,	"None",
        SCCP_ACCESSORYSTATE_OFFHOOK,			,	"Off Hook", 
        SCCP_ACCESSORYSTATE_ONHOOK,			,	"On Hook",
}

strenum config_buttontype {
        LINE,						=0,	"Line",
        SPEEDDIAL,					,	"Speeddial", 
        SERVICE,					,	"Service",
        FEATURE,					,	"Feature",
        EMPTY,						,	"Empty",
}

enum devstate_state {
        SCCP_DEVSTATE_IDLE,				=0,	"IDLE",
        SCCP_DEVSTATE_INUSE,				=1,	"INUSE",
}

strenum blindtransferindication {
        SCCP_BLINDTRANSFER_RING,			=0,	"RING",
        SCCP_BLINDTRANSFER_MOH,				,	"MOH",
}

strenum call_answer_order {
        SCCP_ANSWER_OLDEST_FIRST,			=0,	"OldestFirst",
        SCCP_ANSWER_LAST_FIRST,				,	"LastFirst",
}

strenum nat {
        SCCP_NAT_AUTO,					=0,	"Auto",
        SCCP_NAT_OFF,					,	"Off",
        SCCP_NAT_AUTO_OFF,				,	"(Auto)Off",
        SCCP_NAT_ON,					,	"On",
        SCCP_NAT_AUTO_ON,				,	"(Auto)On",
}

enum video_mode {
        SCCP_VIDEO_MODE_OFF,				=0,	"Off",
        SCCP_VIDEO_MODE_USER,				,	"User",
	SCCP_VIDEO_MODE_AUTO,				,	"Auto",
}

strenum event_type {
        SCCP_EVENT_NULL,				=0,	"Null Event / To be removed",
        SCCP_EVENT_LINE_CREATED,			=1<<0,	"Line Created",
        SCCP_EVENT_LINE_CHANGED,			,	"Line Changed",
        SCCP_EVENT_LINE_DELETED,			,	"Line Deleted",
        SCCP_EVENT_DEVICE_ATTACHED,			,	"Device Attached",
        SCCP_EVENT_DEVICE_DETACHED,			,	"Device Detached",
        SCCP_EVENT_DEVICE_PREREGISTERED,		,	"Device Preregistered",
        SCCP_EVENT_DEVICE_REGISTERED,			,	"Device Registered",
        SCCP_EVENT_DEVICE_UNREGISTERED,			,	"Device Unregistered",
        SCCP_EVENT_FEATURE_CHANGED,			,	"Feature Changed",
        SCCP_EVENT_LINESTATUS_CHANGED,			,	"LineStatus Changed",
#ifdef CS_TEST_FRAMEWORK
        SCCP_EVENT_TEST,				,	"Test Event",
#endif
}

enum parkresult {
	PARK_RESULT_FAIL,				=0,	"Park Failed", 
	PARK_RESULT_SUCCESS,				,	"Park Successfull", 
}

strenum callerid_presentation {
	CALLERID_PRESENTATION_FORBIDDEN,		=0,	"CalledId Presentation Forbidden",
	CALLERID_PRESENTATION_ALLOWED,			,	"CallerId Presentation Allowed",
}

enum rtp_status {
	SCCP_RTP_STATUS_INACTIVE, 			=0,	"Rtp Inactive",
	SCCP_RTP_STATUS_PROGRESS, 			=1<<0,	"Rtp In Progress",
	SCCP_RTP_STATUS_ACTIVE,				=1<<1,	"Rtp Active",
}

strenum rtp_type {
	SCCP_RTP_NULL,					=0,	"RTP NULL",
	SCCP_RTP_AUDIO,					=1<<0,	"Audio RTP",
	SCCP_RTP_VIDEO,					=1<<1,	"Video RTP",
	SCCP_RTP_TEXT,					=1<<2,	"Text RTP",
}

enum extension_status {
	SCCP_EXTENSION_NOTEXISTS, 			=0,	"Extension does not exist",
	SCCP_EXTENSION_MATCHMORE, 			,	"Matches more than one extension",
	SCCP_EXTENSION_EXACTMATCH, 			,	"Exact Extension Match",
}

enum channel_request_status {
	SCCP_REQUEST_STATUS_ERROR, 			=0,	"Request Status Error",
	SCCP_REQUEST_STATUS_LINEUNKNOWN,		,	"Request Line Unknown",
	SCCP_REQUEST_STATUS_LINEUNAVAIL,		,	"Request Line Unavailable",
	SCCP_REQUEST_STATUS_SUCCESS,			,	"Request Success",
}

enum message_priority {
	SCCP_MESSAGE_PRIORITY_IDLE,			=0,	"Message Priority Idle",
	SCCP_MESSAGE_PRIORITY_VOICEMAIL,		=1,	"Message Priority Voicemail",
	SCCP_MESSAGE_PRIORITY_MONITOR,			=2,	"Message Priority Monitor",
	SCCP_MESSAGE_PRIORITY_PRIVACY,			=2,	"Message Priority Privacy",
	SCCP_MESSAGE_PRIORITY_DND,			=4,	"Message Priority Do not disturb",
	SCCP_MESSAGE_PRIORITY_CFWD,			=4,	"Message Priority Call Forward",
	SCCP_MESSAGE_PRIORITY_TIMEOUT,			=5,	"Message Priority Timeout",
}

enum push_result {
	SCCP_PUSH_RESULT_FAIL,				=0,	"Push Failed",
	SCCP_PUSH_RESULT_NOT_SUPPORTED,			,	"Push Not Supported",
	SCCP_PUSH_RESULT_SUCCESS,			,	"Pushed Successfully",
}

strenum tokenstate {
	SCCP_TOKEN_STATE_NOTOKEN,			=0,	"None",
	SCCP_TOKEN_STATE_ACK,				,	"Ack",
	SCCP_TOKEN_STATE_REJ,				,	"Rej",
}

strenum softswitch {
	SCCP_SOFTSWITCH_DIAL,				=0,	"Softswitch Dial",
	SCCP_SOFTSWITCH_GETFORWARDEXTEN,		,	"Softswitch Get Forward Extension",
#ifdef CS_SCCP_PICKUP
	SCCP_SOFTSWITCH_GETPICKUPEXTEN,			,	"Softswitch Get Pickup Extension",
#endif
	SCCP_SOFTSWITCH_GETMEETMEROOM,			,	"Softswitch Get Meetme Room", 		
	SCCP_SOFTSWITCH_GETBARGEEXTEN,			,	"Softswitch Get Barge Extension", 		
	SCCP_SOFTSWITCH_GETCBARGEROOM,			,	"Softswitch Get CBarrge Room", 		
#ifdef CS_SCCP_CONFERENCE
	SCCP_SOFTSWITCH_GETCONFERENCEROOM,		,	"Softswitch Get Conference Room",
#endif
}

enum phonebook { 
	SCCP_PHONEBOOK_NONE,				=0,	"Phonebook None",
	SCCP_PHONEBOOK_MISSED,				,	"Phonebook Missed",
	SCCP_PHONEBOOK_RECEIVED,			,	"Phonebook Received",
	//SCCP_PHONEBOOK_PLACED,			,	"Phonebook Placed",
}

strenum feature_monitor_state {
	SCCP_FEATURE_MONITOR_STATE_DISABLED,		=0,	"Feature Monitor Disabled",
	SCCP_FEATURE_MONITOR_STATE_REQUESTED, 		=1<<1,	"Feature Monitor Requested",
	SCCP_FEATURE_MONITOR_STATE_ACTIVE,		=1<<2,	"Feature Monitor Active",
}

/*!
 * \brief Config Reading Type Enum
 */
enum readingtype {
	SCCP_CONFIG_READINITIAL,			=0,	"Read Initial Config",
	SCCP_CONFIG_READRELOAD,				,	"Reloading Config",
}

/*!
 * \brief Status of configuration change
 */
enum configurationchange {
	SCCP_CONFIG_NOUPDATENEEDED,		 	= 0,	"Config: No Update Needed",
	SCCP_CONFIG_NEEDDEVICERESET, 			= 1<<0,	"Config: Device Reset Needed",
	SCCP_CONFIG_WARNING, 				= 1<<1,	"Warning while reading Config",
	SCCP_CONFIG_ERROR, 				= 1<<2,	"Error while reading Config",
}

enum call_statistics_type {
	SCCP_CALLSTATISTIC_LAST,			=0,	"CallStatistics last Call",
	SCCP_CALLSTATISTIC_AVG,				,	"CallStatistics average",
}

enum rtp_info {
	SCCP_RTP_INFO_NORTP,				=0,	"RTP Info: None",
	SCCP_RTP_INFO_AVAILABLE,			=1<<0,	"RTP Info: Available",
	SCCP_RTP_INFO_ALLOW_DIRECTRTP,			=1<<1,	"RTP Info: Allow DirectMedia",
}

strenum feature_type
	SCCP_FEATURE_UNKNOWN,				=0,	"FEATURE_UNKNOWN",
	SCCP_FEATURE_CFWDNONE,				,	"cfwd off",
	SCCP_FEATURE_CFWDALL,				,	"cfwdall",
	SCCP_FEATURE_CFWDBUSY,				,	"cfwdbusy",
	SCCP_FEATURE_DND,				,	"dnd",
	SCCP_FEATURE_PRIVACY,				,	"privacy",
	SCCP_FEATURE_MONITOR,				,	"monitor",
	SCCP_FEATURE_HOLD,				,	"hold",
	SCCP_FEATURE_TRANSFER,				,	"transfer",
	SCCP_FEATURE_MULTIBLINK,			,	"multiblink",
	SCCP_FEATURE_MOBILITY,				,	"mobility",
	SCCP_FEATURE_CONFERENCE,			,	"conference",
	SCCP_FEATURE_DO_NOT_DISTURB,			,	"do not disturb",
	SCCP_FEATURE_CONF_LIST,				,	"ConfList",
	SCCP_FEATURE_REMOVE_LAST_PARTICIPANT,		,	"RemoveLastParticipant",
	SCCP_FEATURE_HLOG,				,	"Hunt Group Log-in/out",
	SCCP_FEATURE_QRT,				,	"QRT",
	SCCP_FEATURE_CALLBACK,				,	"CallBack",
	SCCP_FEATURE_OTHER_PICKUP,			,	"OtherPickup",
	SCCP_FEATURE_VIDEO_MODE,			,	"VideoMode",
	SCCP_FEATURE_NEW_CALL,				,	"NewCall",
	SCCP_FEATURE_END_CALL,				,	"EndCall",
	SCCP_FEATURE_PARKINGLOT,			,	"ParkingLot",				// TESTE
	SCCP_FEATURE_TESTF,				,	"FEATURE_TESTF",
	SCCP_FEATURE_TESTI,				,	"FEATURE_TESTI",
	SCCP_FEATURE_TESTG,				,	"Messages",
	SCCP_FEATURE_TESTH,				,	"Directory",
	SCCP_FEATURE_TESTJ,				,	"Application",
#ifdef CS_DEVSTATE_FEATURE
	SCCP_FEATURE_DEVSTATE,				,	"devstate",
#endif
	SCCP_FEATURE_PICKUP,				,	"pickup",
}

strenum callinfo_key {
	SCCP_CALLINFO_NONE,				= 0,	"none",
	SCCP_CALLINFO_CALLEDPARTY_NAME	,		,	"calledparty name",
	SCCP_CALLINFO_CALLEDPARTY_NUMBER,		,	"calledparty number",
	SCCP_CALLINFO_CALLEDPARTY_VOICEMAIL,		,	"calledparty voicemail",
	
	SCCP_CALLINFO_CALLINGPARTY_NAME,		,	"callingparty name",
	SCCP_CALLINFO_CALLINGPARTY_NUMBER,		,	"callingparty number",
	SCCP_CALLINFO_CALLINGPARTY_VOICEMAIL,		,	"callingparty voicemail",
	
	SCCP_CALLINFO_ORIG_CALLEDPARTY_NAME,		,	"orig_calledparty name",
	SCCP_CALLINFO_ORIG_CALLEDPARTY_NUMBER,		,	"orig_calledparty number",
	SCCP_CALLINFO_ORIG_CALLEDPARTY_VOICEMAIL,	,	"orig_calledparty voicemail",
	
	SCCP_CALLINFO_ORIG_CALLINGPARTY_NAME,		,	"orig_callingparty name",
	SCCP_CALLINFO_ORIG_CALLINGPARTY_NUMBER,		,	"orig_callingparty number",

	SCCP_CALLINFO_LAST_REDIRECTINGPARTY_NAME,	,	"last_redirectingparty name",
	SCCP_CALLINFO_LAST_REDIRECTINGPARTY_NUMBER,	,	"last_redirectingparty number",
	SCCP_CALLINFO_LAST_REDIRECTINGPARTY_VOICEMAIL,	,	"last_redirectingparty voicemail",

	SCCP_CALLINFO_HUNT_PILOT_NAME,			,	"hunt pilot name",
	SCCP_CALLINFO_HUNT_PILOT_NUMBER,		,	"hunt pilor number",
	
	SCCP_CALLINFO_ORIG_CALLEDPARTY_REDIRECT_REASON,	,	"orig_calledparty_redirect reason",
	SCCP_CALLINFO_LAST_REDIRECT_REASON,		,	"last_redirect reason",
	SCCP_CALLINFO_PRESENTATION,			,	"presentation",
};

} /* NAMESPACE sccp */

namespace skinny {

/*!
 * \brief Skinny Lamp Mode (ENUM)
 */
strenum lampmode {
	SKINNY_LAMP_OFF,				=1,	"Off",
	SKINNY_LAMP_ON,					,	"On",
	SKINNY_LAMP_WINK,				,	"Wink",
	SKINNY_LAMP_FLASH,				,	"Flash",
	SKINNY_LAMP_BLINK,				,	"Blink",
}

/*!
 * \brief Skinny Protocol Call Type (ENUM)
 */
strenum calltype {
	SKINNY_CALLTYPE_INBOUND,			=1,	"Inbound",
	SKINNY_CALLTYPE_OUTBOUND,			,	"Outbound", 
	SKINNY_CALLTYPE_FORWARD,			,	"Forward",
}

/*!
 * \brief Skinny Protocol Call Type (ENUM)
 */
strenum callstate {
	SKINNY_CALLSTATE_OFFHOOK,			=1,	"offhook",
	SKINNY_CALLSTATE_ONHOOK,			,	"onhook",
	SKINNY_CALLSTATE_RINGOUT,			,	"ring-out",
	SKINNY_CALLSTATE_RINGIN,			,	"ring-in",
	SKINNY_CALLSTATE_CONNECTED,			,	"connected",
	SKINNY_CALLSTATE_BUSY,				,	"busy",
	SKINNY_CALLSTATE_CONGESTION,			,	"congestion",
	SKINNY_CALLSTATE_HOLD,				,	"hold",
	SKINNY_CALLSTATE_CALLWAITING,			,	"call waiting",
	SKINNY_CALLSTATE_CALLTRANSFER,			,	"call transfer",
	SKINNY_CALLSTATE_CALLPARK,			,	"call park",
	SKINNY_CALLSTATE_PROCEED,			,	"proceed",
	SKINNY_CALLSTATE_CALLREMOTEMULTILINE,		,	"call remote multiline",
	SKINNY_CALLSTATE_INVALIDNUMBER,			,	"invalid number",
	SKINNY_CALLSTATE_HOLDYELLOW,			,	"hold yellow",		/* Hold Revert*/
	SKINNY_CALLSTATE_INTERCOMONEWAY,		,	"intercom one-way",	/* Whisper */
	SKINNY_CALLSTATE_HOLDRED,			,	"hold red",		/* RemoteHold */
}

/*!
 * \brief Skinny Protocol Call Priority (ENUM)
 */
enum callpriority {
	SKINNY_CALLPRIORITY_HIGHEST,			=0,	"highest priority",
	SKINNY_CALLPRIORITY_HIGH,			,	"high priority",
	SKINNY_CALLPRIORITY_MEDIUM,			,	"medium priority",
	SKINNY_CALLPRIORITY_LOW,			,	"low priority",
	SKINNY_CALLPRIORITY_NORMAL,			,	"normal priority",
}

/*!
 * \brief Skinny Protocol CallInfo Visibility (ENUM)
 */
strenum callinfo_visibility {
	SKINNY_CALLINFO_VISIBILITY_DEFAULT,		=0,	"default",		/* None */
	SKINNY_CALLINFO_VISIBILITY_COLLAPSED,		,	"collapsed",		/* Limited */
	SKINNY_CALLINFO_VISIBILITY_HIDDEN,		,	"hidden",		/* Full */
}

/*!
 * \brief Skinny Protocol Call Security State (ENUM)
 */
enum callsecuritystate {
	SKINNY_CALLSECURITYSTATE_UNKNOWN,		=0,	"unknown",
	SKINNY_CALLSECURITYSTATE_NOTAUTHENTICATED,	,	"not authenticated",
	SKINNY_CALLSECURITYSTATE_AUTHENTICATED,		,	"authenticated",
}

/*!
 * \brief Skinny Busy Lamp Field Status (ENUM)
 */
strenum busylampfield_state {
	SKINNY_BLF_STATUS_UNKNOWN,			=0,	"Unknown",
	SKINNY_BLF_STATUS_IDLE,				,	"Not-in-use",
	SKINNY_BLF_STATUS_INUSE,			,	"In-use",
	SKINNY_BLF_STATUS_DND,				,	"DND",
	SKINNY_BLF_STATUS_ALERTING,			,	"Alerting",
}

/*!
 * \brief Skinny Busy Lamp Field Status (ENUM)
 */
strenum alarm {
	SKINNY_ALARM_CRITICAL,				=0,	"Critical",
	SKINNY_ALARM_WARNING,				=1,	"Warning",
	SKINNY_ALARM_INFORMATIONAL,			=2,	"Informational",
	SKINNY_ALARM_UNKNOWN,				=4,	"Unknown",
	SKINNY_ALARM_MAJOR,				=7,	"Major",
	SKINNY_ALARM_MINOR,				=8,	"Minor",
	SKINNY_ALARM_MARGINAL,				=10,	"Marginal", 
	SKINNY_ALARM_TRACEINFO,				=20,	"TraceInfo",
}

/*!
 * \brief Skinny Tone (ENUM)
 */
strenum tone {
	SKINNY_TONE_SILENCE,				=0x00,	"Silence",
	SKINNY_TONE_DTMF1,				=0x01,	"DTMF 1",
	SKINNY_TONE_DTMF2,				=0x02,	"DTMF 2",
	SKINNY_TONE_DTMF3,				=0x03,	"DTMF 3",
	SKINNY_TONE_DTMF4,				=0x04,	"DTMF 4",
	SKINNY_TONE_DTMF5,				=0x05,	"DTMF 5",
	SKINNY_TONE_DTMF6,				=0x06,	"DTMF 6",
	SKINNY_TONE_DTMF7,				=0x07,	"DTMF 7",
	SKINNY_TONE_DTMF8,				=0x08,	"DTMF 8",
	SKINNY_TONE_DTMF9,				=0x09,	"DTMF 9",
	SKINNY_TONE_DTMF0,				=0x0A,	"DTMF 0",
	SKINNY_TONE_DTMFSTAR,				=0x0E,	"DTMF Star",
	SKINNY_TONE_DTMFPOUND,				=0x0F,	"DTMF Pound",
	SKINNY_TONE_DTMFA,				=0x10,	"DTMF A",
	SKINNY_TONE_DTMFB,				=0x11,	"DTMF B",
	SKINNY_TONE_DTMFC,				=0x12,	"DTMF C",
	SKINNY_TONE_DTMFD,				=0x13,	"DTMF D",
	SKINNY_TONE_INSIDEDIALTONE,			=0x21,	"Inside Dial Tone",
	SKINNY_TONE_OUTSIDEDIALTONE,			=0x22,	"Outside Dial Tone",
	SKINNY_TONE_LINEBUSYTONE,			=0x23,	"Line Busy Tone",
	SKINNY_TONE_ALERTINGTONE,			=0x24,	"Alerting Tone",
	SKINNY_TONE_REORDERTONE,			=0x25,	"Reorder Tone",
	SKINNY_TONE_RECORDERWARNINGTONE,		=0x26,	"Recorder Warning Tone",
	SKINNY_TONE_RECORDERDETECTEDTONE,		=0x27,	"Recorder Detected Tone",
	SKINNY_TONE_REVERTINGTONE,			=0x28,	"Reverting Tone",
	SKINNY_TONE_RECEIVEROFFHOOKTONE,		=0x29,	"Receiver OffHook Tone",
	SKINNY_TONE_PARTIALDIALTONE,			=0x2A,	"Partial Dial Tone",
	SKINNY_TONE_NOSUCHNUMBERTONE,			=0x2B,	"No Such Number Tone",
	SKINNY_TONE_BUSYVERIFICATIONTONE,		=0x2C,	"Busy Verification Tone",
	SKINNY_TONE_CALLWAITINGTONE,			=0x2D,	"Call Waiting Tone",
	SKINNY_TONE_CONFIRMATIONTONE,			=0x2E,	"Confirmation Tone",
	SKINNY_TONE_CAMPONINDICATIONTONE,		=0x2F,	"Camp On Indication Tone",
	SKINNY_TONE_RECALLDIALTONE,			=0x30,	"Recall Dial Tone",
	SKINNY_TONE_ZIPZIP,				=0x31,	"Zip Zip",
	SKINNY_TONE_ZIP,				=0x32,	"Zip",
	SKINNY_TONE_BEEPBONK,				=0x33,	"Beep Bonk",
	SKINNY_TONE_MUSICTONE,				=0x34,	"Music Tone",
	SKINNY_TONE_HOLDTONE,				=0x35,	"Hold Tone",
	SKINNY_TONE_TESTTONE,				=0x36,	"Test Tone",
	SKINNY_TONE_DTMONITORWARNINGTONE,		=0x37,	"DT Monitor Warning Tone",
	SKINNY_TONE_ADDCALLWAITING,			=0x40,	"Add Call Waiting",
	SKINNY_TONE_PRIORITYCALLWAIT,			=0x41,	"Priority Call Wait",
	SKINNY_TONE_RECALLDIAL,				=0x42,	"Recall Dial",
	SKINNY_TONE_BARGIN,				=0x43,	"Barg In",
	SKINNY_TONE_DISTINCTALERT,			=0x44,	"Distinct Alert",
	SKINNY_TONE_PRIORITYALERT,			=0x45,	"Priority Alert",
	SKINNY_TONE_REMINDERRING,			=0x46,	"Reminder Ring",
	SKINNY_TONE_PRECEDENCE_RINGBACK,		=0x47,	"Precedence RingBank",
	SKINNY_TONE_PREEMPTIONTONE,			=0x48,	"Pre-EmptionTone",
	SKINNY_TONE_MF1,				=0x50,	"MF1",
	SKINNY_TONE_MF2,				=0x51,	"MF2",
	SKINNY_TONE_MF3,				=0x52,	"MF3",
	SKINNY_TONE_MF4,				=0x53,	"MF4",
	SKINNY_TONE_MF5,				=0x54,	"MF5",
	SKINNY_TONE_MF6,				=0x55,	"MF6",
	SKINNY_TONE_MF7,				=0x56,	"MF7",
	SKINNY_TONE_MF8,				=0x57,	"MF8",
	SKINNY_TONE_MF9,				=0x58,	"MF9",
	SKINNY_TONE_MF0,				=0x59,	"MF0",
	SKINNY_TONE_MFKP1,				=0x5A,	"MFKP1",
	SKINNY_TONE_MFST,				=0x5B,	"MFST",
	SKINNY_TONE_MFKP2,				=0x5C,	"MFKP2",
	SKINNY_TONE_MFSTP,				=0x5D,	"MFSTP",
	SKINNY_TONE_MFST3P,				=0x5E,	"MFST3P",
	SKINNY_TONE_MILLIWATT,				=0x5F,	"MILLIWATT",
	SKINNY_TONE_MILLIWATTTEST,			=0x60,	"MILLIWATT TEST",
	SKINNY_TONE_HIGHTONE,				=0x61,	"HIGH TONE",
	SKINNY_TONE_FLASHOVERRIDE,			=0x62,	"FLASH OVERRIDE",
	SKINNY_TONE_FLASH,				=0x63,	"FLASH",
	SKINNY_TONE_PRIORITY,				=0x64,	"PRIORITY",
	SKINNY_TONE_IMMEDIATE,				=0x65,	"IMMEDIATE",
	SKINNY_TONE_PREAMPWARN,				=0x66,	"PRE-AMP WARN",
	SKINNY_TONE_2105HZ,				=0x67,	"2105 HZ",
	SKINNY_TONE_2600HZ,				=0x68,	"2600 HZ",
	SKINNY_TONE_440HZ,				=0x69,	"440 HZ",
	SKINNY_TONE_300HZ,				=0x6A,	"300 HZ",
	SKINNY_TONE_MLPP_PALA,				=0x77,	"MLPP Pala",
	SKINNY_TONE_MLPP_ICA,				=0x78,	"MLPP Ica",
	SKINNY_TONE_MLPP_VCA,				=0x79,	"MLPP Vca",
	SKINNY_TONE_MLPP_BPA,				=0x7A,	"MLPP Bpa",
	SKINNY_TONE_MLPP_BNEA,				=0x7B,	"MLPP Bnea",
	SKINNY_TONE_MLPP_UPA,				=0x7C,	"MLPP Upa", 
	SKINNY_TONE_NOTONE,				=0x7F,	"No Tone",
	SKINNY_TONE_MEETME_GREETING,			=0x80,	"Meetme Greeting Tone",
	SKINNY_TONE_MEETME_NUMBER_INVALID,		=0x81,	"Meetme Number Invalid Tone",
	SKINNY_TONE_MEETME_NUMBER_FAILED,		=0x82,	"Meetme Number Failed Tone",
	SKINNY_TONE_MEETME_ENTER_PIN,			=0x83,	"Meetme Enter Pin Tone",
	SKINNY_TONE_MEETME_INVALID_PIN,			=0x84,	"Meetme Invalid Pin Tone",
	SKINNY_TONE_MEETME_FAILED_PIN,			=0x85,	"Meetme Failed Pin Tone",
	SKINNY_TONE_MEETME_CFB_FAILED,			=0x86,	"Meetme CFB Failed Tone",
	SKINNY_TONE_MEETME_ENTER_ACCESS_CODE,		=0x87,	"Meetme Enter Access Code Tone",
	SKINNY_TONE_MEETME_ACCESS_CODE_INVALID,		=0x88,	"Meetme Access Code Invalid Tone",
	SKINNY_TONE_MEETME_ACCESS_CODE_FAILED,		=0x89,	"Meetme Access Code Failed Tone",
}

/*!
 * \brief Skinny Video Format (ENUM)
 */
strenum videoformat {
	SKINNY_VIDEOFORMAT_UNDEFINED,			=0,	"undefined", 
	SKINNY_VIDEOFORMAT_SQCIF,			=1,	"sqcif (128x96)", 
	SKINNY_VIDEOFORMAT_QCIF,			=2,	"qcif (176x144)", 
	SKINNY_VIDEOFORMAT_CIF,				=3,	"cif (352x288)", 
	SKINNY_VIDEOFORMAT_4CIF,			=4,	"4cif (704x576)", 
	SKINNY_VIDEOFORMAT_16CIF,			=5,	"16cif (1408x1152)", 
	SKINNY_VIDEOFORMAT_CUSTOM,			=6,	"custom_base", 
	SKINNY_VIDEOFORMAT_UNKNOWN,			=232,	"unknown",			// Cisco 7985 under protocol version 5 (Robert: SEP00506003273B)
}

/*!
 * \brief Skinny Ringtype Format (ENUM)
 */
strenum ringtype {
	SKINNY_RINGTYPE_OFF,				=1,	"Ring Off",
	SKINNY_RINGTYPE_INSIDE,				,	"Inside",
	SKINNY_RINGTYPE_OUTSIDE,			,	"Outside",
	SKINNY_RINGTYPE_FEATURE,			,	"Feature",
	SKINNY_RINGTYPE_SILENT,				,	"Silent", 
	SKINNY_RINGTYPE_URGENT,				,	"Urgent",
	SKINNY_RINGTYPE_BELLCORE_1,			,	"Bellcore1",
	SKINNY_RINGTYPE_BELLCORE_2,			,	"Bellcore2",
	SKINNY_RINGTYPE_BELLCORE_3,			,	"Bellcore3",
	SKINNY_RINGTYPE_BELLCORE_4,			,	"Bellcore4",
	SKINNY_RINGTYPE_BELLCORE_5,			,	"Bellcore5",
}

/*!
 * \brief Skinny Station Receive/Transmit (ENUM)
 */
enum receivetransmit {
	SKINNY_TRANSMITRECEIVE_NONE,			=0,	"None",
	SKINNY_TRANSMITRECEIVE_RECEIVE,			=1,	"Receive",
	SKINNY_TRANSMITRECEIVE_TRANSMIT,		=2,	"Transmit",
	SKINNY_TRANSMITRECEIVE_BOTH,			=3,	"Transmit & Receive",
}

/*!
 * \brief Skinny KeyMode (ENUM)
 */
strenum keymode {
	KEYMODE_ONHOOK,					=0,	"ONHOOK",
	KEYMODE_CONNECTED,				,	"CONNECTED",
	KEYMODE_ONHOLD,					,	"ONHOLD",
	KEYMODE_RINGIN,					,	"RINGIN",
	KEYMODE_OFFHOOK,				,	"OFFHOOK",
	KEYMODE_CONNTRANS,				,	"CONNTRANS",
	KEYMODE_DIGITSFOLL,				,	"DIGITSFOLL",
	KEYMODE_CONNCONF,				,	"CONNCONF",
	KEYMODE_RINGOUT,				,	"RINGOUT",
	KEYMODE_OFFHOOKFEAT,				,	"OFFHOOKFEAT",
	KEYMODE_INUSEHINT,				,	"INUSEHINT",
	KEYMODE_ONHOOKSTEALABLE,			,	"ONHOOKSTEALABLE",
	KEYMODE_HOLDCONF,				,	"HOLDCONF",
	KEYMODE_EMPTY,					,	"",
}

/*!
 * \brief Skinny Device Registration (ENUM)
 */
strenum registrationstate {
	SKINNY_DEVICE_RS_FAILED,			=0,	"Failed",
	SKINNY_DEVICE_RS_TIMEOUT,			,	"Time Out",
	SKINNY_DEVICE_RS_CLEANING,			,	"Cleaning", 
	SKINNY_DEVICE_RS_NONE,				,	"None",
	SKINNY_DEVICE_RS_TOKEN,				,	"Token",
	SKINNY_DEVICE_RS_PROGRESS,			,	"Progress",
	SKINNY_DEVICE_RS_OK,				,	"OK", 
}

/*!
 * \brief Skinny Media Status (Enum)
 */
strenum mediastatus {
	SKINNY_MEDIASTATUS_Ok,				=0,	"Media Status: OK", 
	SKINNY_MEDIASTATUS_Unknown,			,	"Media Error: Unknown", 
	SKINNY_MEDIASTATUS_OutOfChannels,		,	"Media Error: Out of Channels", 
	SKINNY_MEDIASTATUS_CodecTooComplex,		,	"Media Error: Codec Too Complex", 
	SKINNY_MEDIASTATUS_InvalidPartyId,		,	"Media Error: Invalid Party ID", 
	SKINNY_MEDIASTATUS_InvalidCallReference,	,	"Media Error: Invalid Call Reference", 
	SKINNY_MEDIASTATUS_InvalidCodec,		,	"Media Error: Invalid Codec", 
	SKINNY_MEDIASTATUS_InvalidPacketSize,		,	"Media Error: Invalid Packet Size", 
	SKINNY_MEDIASTATUS_OutOfSockets,		,	"Media Error: Out of Sockets", 
	SKINNY_MEDIASTATUS_EncoderOrDecoderFailed,	,	"Media Error: Encoder Or Decoder Failed", 
	SKINNY_MEDIASTATUS_InvalidDynPayloadType,	,	"Media Error: Invalid Dynamic Payload Type", 
	SKINNY_MEDIASTATUS_RequestedIpAddrTypeUnavailable, 	,	"Media Error: Requested IP Address Type if not available", 
	SKINNY_MEDIASTATUS_DeviceOnHook,		,	"Media Error: Device is on hook", 
}

/*!
 * \brief Skinny Stimulus (ENUM)
 * Almost the same as Skinny buttontype !!
 */
strenum stimulus {
	SKINNY_STIMULUS_UNUSED,				=0x00,	"Unused",
	SKINNY_STIMULUS_LASTNUMBERREDIAL,		=0x01,	"Last Number Redial",
	SKINNY_STIMULUS_SPEEDDIAL,			=0x02,	"SpeedDial",
	SKINNY_STIMULUS_HOLD,				=0x03,	"Hold",
	SKINNY_STIMULUS_TRANSFER,			=0x04,	"Transfer",
	SKINNY_STIMULUS_FORWARDALL,			=0x05,	"Forward All",
	SKINNY_STIMULUS_FORWARDBUSY,			=0x06,	"Forward Busy",
	SKINNY_STIMULUS_FORWARDNOANSWER,		=0x07,	"Forward No Answer",
	SKINNY_STIMULUS_DISPLAY,			=0x08,	"Display",
	SKINNY_STIMULUS_LINE,				=0x09,	"Line",
	SKINNY_STIMULUS_T120CHAT,			=0x0A,	"T120 Chat",
	SKINNY_STIMULUS_T120WHITEBOARD,			=0x0B,	"T120 Whiteboard",
	SKINNY_STIMULUS_T120APPLICATIONSHARING,		=0x0C,	"T120 Application Sharing",
	SKINNY_STIMULUS_T120FILETRANSFER,		=0x0D,	"T120 File Transfer",
	SKINNY_STIMULUS_VIDEO,				=0x0E,	"Video",
	SKINNY_STIMULUS_VOICEMAIL,			=0x0F,	"Voicemail",
	SKINNY_STIMULUS_ANSWERRELEASE,			=0x10,	"Answer Release",
	SKINNY_STIMULUS_AUTOANSWER,			=0x11,	"Auto Answer",
	SKINNY_STIMULUS_SELECT,				=0x12,	"Select",
	SKINNY_STIMULUS_FEATURE,			=0x13,	"Feature",
	SKINNY_STIMULUS_SERVICEURL,			=0x14,	"ServiceURL",
	SKINNY_STIMULUS_BLFSPEEDDIAL,			=0x15,	"BusyLampField Speeddial",
	SKINNY_STIMULUS_MALICIOUSCALL,			=0x1B,	"Malicious Call",
	SKINNY_STIMULUS_GENERICAPPB1,			=0x21,	"Generic App B1",
	SKINNY_STIMULUS_GENERICAPPB2,			=0x22,	"Generic App B2",
	SKINNY_STIMULUS_GENERICAPPB3,			=0x23,	"Generic App B3",
	SKINNY_STIMULUS_GENERICAPPB4,			=0x24,	"Generic App B4",
	SKINNY_STIMULUS_GENERICAPPB5,			=0x25,	"Generic App B5",
	SKINNY_STIMULUS_MULTIBLINKFEATURE,		=0x26,	"Monitor/Multiblink",
	SKINNY_STIMULUS_MEETMECONFERENCE,		=0x7B,	"Meet Me Conference",
	SKINNY_STIMULUS_CONFERENCE,			=0x7D,	"Conference",
	SKINNY_STIMULUS_CALLPARK,			=0x7E,	"Call Park",
	SKINNY_STIMULUS_CALLPICKUP,			=0x7F,	"Call Pickup",
	SKINNY_STIMULUS_GROUPCALLPICKUP,		=0x80,	"Group Call Pickup",
	SKINNY_STIMULUS_MOBILITY,			=0x81,	"Mobility",
	SKINNY_STIMULUS_DO_NOT_DISTURB,			=0x82,	"DoNotDisturb",
	SKINNY_STIMULUS_CONF_LIST,			=0x83,	"ConfList",
	SKINNY_STIMULUS_REMOVE_LAST_PARTICIPANT,	=0x84,	"RemoveLastParticipant",
	SKINNY_STIMULUS_QRT,				=0x85,	"QRT",
	SKINNY_STIMULUS_CALLBACK,			=0x86,	"CallBack",
	SKINNY_STIMULUS_OTHER_PICKUP,			=0x87,	"OtherPickup",
	SKINNY_STIMULUS_VIDEO_MODE,			=0x88,	"VideoMode",
	SKINNY_STIMULUS_NEW_CALL,			=0x89,	"NewCall",
	SKINNY_STIMULUS_END_CALL,			=0x8A,	"EndCall",
	SKINNY_STIMULUS_HLOG,				=0x8B,	"HLog",
	SKINNY_STIMULUS_QUEUING,			=0x8F,	"Queuing",
	SKINNY_STIMULUS_PARKINGLOT,			=0xC0,	"ParkingLot",	/* Test E */
	SKINNY_STIMULUS_TESTF,				=0xC1,	"Test F",
	SKINNY_STIMULUS_TESTI,				=0xC4,	"Test I",
	SKINNY_STIMULUS_MESSAGES,			=0xC2,	"Messages",
	SKINNY_STIMULUS_DIRECTORY,			=0xC3,	"Directory",
	SKINNY_STIMULUS_APPLICATION,			=0xC5,	"Application",
	SKINNY_STIMULUS_HEADSET,			=0xC6,	"Headset",
	SKINNY_STIMULUS_KEYPAD,				=0xF0,	"Keypad",
	SKINNY_STIMULUS_AEC,				=0xFD,	"Aec",
	SKINNY_STIMULUS_UNDEFINED,			=0xFF,	"Undefined",
}

/*!
 * \brief Skinny ButtonType (ENUM)
 * Almost the same as Skinny Stimulus !!
 */
strenum buttontype {
	SKINNY_BUTTONTYPE_UNUSED,			=0x00,	"Unused",
	SKINNY_BUTTONTYPE_LASTNUMBERREDIAL,		=0x01,	"Last Number Redial",
	SKINNY_BUTTONTYPE_SPEEDDIAL,			=0x02,	"SpeedDial",
	SKINNY_BUTTONTYPE_HOLD,				=0x03,	"Hold",
	SKINNY_BUTTONTYPE_TRANSFER,			=0x04,	"Transfer",
	SKINNY_BUTTONTYPE_FORWARDALL,			=0x05,	"Forward All",
	SKINNY_BUTTONTYPE_FORWARDBUSY,			=0x06,	"Forward Busy",
	SKINNY_BUTTONTYPE_FORWARDNOANSWER,		=0x07,	"Forward No Answer",
	SKINNY_BUTTONTYPE_DISPLAY,			=0x08,	"Display",
	SKINNY_BUTTONTYPE_LINE,				=0x09,	"Line",
	SKINNY_BUTTONTYPE_T120CHAT,			=0x0A,	"T120 Chat",
	SKINNY_BUTTONTYPE_T120WHITEBOARD,		=0x0B,	"T120 Whiteboard",
	SKINNY_BUTTONTYPE_T120APPLICATIONSHARING,	=0x0C,	"T120 Application Sharing",
	SKINNY_BUTTONTYPE_T120FILETRANSFER,		=0x0D,	"T120 File Transfer",
	SKINNY_BUTTONTYPE_VIDEO,			=0x0E,	"Video",
	SKINNY_BUTTONTYPE_VOICEMAIL,			=0x0F,	"Voicemail",
	SKINNY_BUTTONTYPE_ANSWERRELEASE,		=0x10,	"Answer Release",
	SKINNY_BUTTONTYPE_AUTOANSWER,			=0x11,	"Auto Answer",
//	SKINNY_BUTTONTYPE_SELECT,			=0x12,	"Select",		// only in stimulus
	SKINNY_BUTTONTYPE_FEATURE,			=0x13,	"Feature",
	SKINNY_BUTTONTYPE_SERVICEURL,			=0x14,	"ServiceURL",
	SKINNY_BUTTONTYPE_BLFSPEEDDIAL,			=0x15,	"BusyLampField Speeddial",
//	SKINNY_BUTTONTYPE_MALICIOUSCALL,		=0x1B,	"Malicious Call",	// only in stimulus
	SKINNY_BUTTONTYPE_GENERICAPPB1,			=0x21,	"Generic App B1",
	SKINNY_BUTTONTYPE_GENERICAPPB2,			=0x22,	"Generic App B2",
	SKINNY_BUTTONTYPE_GENERICAPPB3,			=0x23,	"Generic App B3",
	SKINNY_BUTTONTYPE_GENERICAPPB4,			=0x24,	"Generic App B4",
	SKINNY_BUTTONTYPE_GENERICAPPB5,			=0x25,	"Generic App B5",
	SKINNY_BUTTONTYPE_MULTIBLINKFEATURE,		=0x26,	"Monitor/Multiblink",
	SKINNY_BUTTONTYPE_MEETMECONFERENCE,		=0x7B,	"Meet Me Conference",
	SKINNY_BUTTONTYPE_CONFERENCE,			=0x7D,	"Conference",
	SKINNY_BUTTONTYPE_CALLPARK,			=0x7E,	"Call Park",
	SKINNY_BUTTONTYPE_CALLPICKUP,			=0x7F,	"Call Pickup",
	SKINNY_BUTTONTYPE_GROUPCALLPICKUP,		=0x80,	"Group Call Pickup",
	SKINNY_BUTTONTYPE_MOBILITY,			=0x81,	"Mobility",
	SKINNY_BUTTONTYPE_DO_NOT_DISTURB,		=0x82,	"DoNotDisturb",
	SKINNY_BUTTONTYPE_CONF_LIST,			=0x83,	"ConfList",
	SKINNY_BUTTONTYPE_REMOVE_LAST_PARTICIPANT,	=0x84,	"RemoveLastParticipant",
	SKINNY_BUTTONTYPE_QRT,				=0x85,	"QRT",
	SKINNY_BUTTONTYPE_CALLBACK,			=0x86,	"CallBack",
	SKINNY_BUTTONTYPE_OTHER_PICKUP,			=0x87,	"OtherPickup",
	SKINNY_BUTTONTYPE_VIDEO_MODE,			=0x88,	"VideoMode",
	SKINNY_BUTTONTYPE_NEW_CALL,			=0x89,	"NewCall",
	SKINNY_BUTTONTYPE_END_CALL,			=0x8A,	"EndCall",
	SKINNY_BUTTONTYPE_HLOG,				=0x8B,	"HLog",
	SKINNY_BUTTONTYPE_QUEUING,			=0x8F,	"Queuing",
	SKINNY_BUTTONTYPE_PARKINGLOT,			=0xC0,	"ParkingLot",			// TEST E
	SKINNY_BUTTONTYPE_TESTF,			=0xC1,	"Test F",
	SKINNY_BUTTONTYPE_TESTI,			=0xC4,	"Test I",
	SKINNY_BUTTONTYPE_MESSAGES,			=0xC2,	"Messages",
	SKINNY_BUTTONTYPE_DIRECTORY,			=0xC3,	"Directory",
	SKINNY_BUTTONTYPE_APPLICATION,			=0xC5,	"Application",
	SKINNY_BUTTONTYPE_HEADSET,			=0xC6,	"Headset",
	SKINNY_BUTTONTYPE_KEYPAD,			=0xF0,	"Keypad",
	SKINNY_BUTTONTYPE_PLACEHOLDER_MULTI,		=0xF1,	"Placeholder Multi",		// Stand in for SCCP_BUTTONTYPE_MULTI
	SKINNY_BUTTONTYPE_PLACEHOLDER_LINE,		=0xF2,	"Placeholder Line",		// Stand in for SCCP_BUTTONTYPE_LINE
	SKINNY_BUTTONTYPE_PLACEHOLDER_SPEEDIAL,		=0xF3,	"Placeholder Speeddial",	// Stand in for SCCP_BUTTONTYPE_SPEEDDIAL
	SKINNY_BUTTONTYPE_PLACEHOLDER_HINT,		=0xF4,	"Placeholder Hint",		// Stand in for SCCP_BUTTONTYPE_HINT
	SKINNY_BUTTONTYPE_PLACEHOLDER_ABBRDIAL,		=0xF5,	"Placeholder Abbreviated Dial",	// Stand in for SCCP_BUTTONTYPE_ABBRDIAL
	SKINNY_BUTTONTYPE_AEC,				=0xFD,	"Aec",
	SKINNY_BUTTONTYPE_UNDEFINED,			=0xFF,	"Undefined",
}

/*!
 * \brief Skinny DeviceType (ENUM)
 */
strenum devicetype {
	/* SCCP Devices */
	SKINNY_DEVICETYPE_UNDEFINED,			=00,	"Undefined: Maybe you forgot the devicetype in your config",
//      SKINNY_DEVICETYPE_TELECASTER,			=06,	"Telecaster",
//      SKINNY_DEVICETYPE_TELECASTER_MGR,		=07,	"Telecaster Manager",
//      SKINNY_DEVICETYPE_TELECASTER_BUS,		=08,	"Telecaster Bus",
//      SKINNY_DEVICETYPE_POLYCOM,			=09,	"Polycom",
	SKINNY_DEVICETYPE_VGC,				=10,	"VGC",
	SKINNY_DEVICETYPE_ATA186,			=12,	"Cisco Ata 186",
	SKINNY_DEVICETYPE_ATA188,			=13,	"Cisco Ata 188",		// previous value 12 (assumed 13)
	SKINNY_DEVICETYPE_VIRTUAL30SPPLUS,		=20,	"Virtual 30SP plus",
	SKINNY_DEVICETYPE_PHONEAPPLICATION,		=21,	"Phone Application",
	SKINNY_DEVICETYPE_ANALOGACCESS,			=30,	"Analog Access",
	SKINNY_DEVICETYPE_DIGITALACCESSPRI,		=40,	"Digital Access PRI",
	SKINNY_DEVICETYPE_DIGITALACCESST1,		=41,	"Digital Access T1",
	SKINNY_DEVICETYPE_DIGITALACCESSTITAN2,		=42,	"Digital Access Titan2",
	SKINNY_DEVICETYPE_ANALOGACCESSELVIS,		=43,	"Analog Access Elvis",
	SKINNY_DEVICETYPE_DIGITALACCESSLENNON,		=47,	"Digital Access Lennon",
	SKINNY_DEVICETYPE_CONFERENCEBRIDGE,		=50,	"Conference Bridge",
	SKINNY_DEVICETYPE_CONFERENCEBRIDGEYOKO,		=51,	"Conference Bridge Yoko",
	SKINNY_DEVICETYPE_CONFERENCEBRIDGEDIXIELAND,	=52,	"Conference Bridge Dixieland",
	SKINNY_DEVICETYPE_CONFERENCEBRIDGESUMMIT,	=53,	"Conference Bridge Summit",
	SKINNY_DEVICETYPE_H225,				=60,	"H225",
	SKINNY_DEVICETYPE_H323PHONE,			=61,	"H323 Phone",
	SKINNY_DEVICETYPE_H323TRUNK,			=62,	"H323 Trunk",
	SKINNY_DEVICETYPE_MUSICONHOLD,			=70,	"Music On Hold",
	SKINNY_DEVICETYPE_PILOT,			=71,	"Pilot",
	SKINNY_DEVICETYPE_TAPIPORT,			=72,	"Tapi Port",
	SKINNY_DEVICETYPE_TAPIROUTEPOINT,		=73,	"Tapi Route Point",
	SKINNY_DEVICETYPE_VOICEINBOX,			=80,	"Voice In Box",
	SKINNY_DEVICETYPE_VOICEINBOXADMIN,		=81,	"Voice Inbox Admin",
	SKINNY_DEVICETYPE_LINEANNUNCIATOR,		=82,	"Line Annunciator",
	SKINNY_DEVICETYPE_SOFTWAREMTPDIXIELAND,		=83,	"Line Annunciator",
	SKINNY_DEVICETYPE_CISCOMEDIASERVER,		=84,	"Line Annunciator",
	SKINNY_DEVICETYPE_CONFERENCEBRIDGEFLINT,	=85,	"Line Annunciator",
	SKINNY_DEVICETYPE_ROUTELIST,			=90,	"Route List",
	SKINNY_DEVICETYPE_LOADSIMULATOR,		=100,	"Load Simulator",
	SKINNY_DEVICETYPE_MEDIA_TERM_POINT,		=110,	"Media Termination Point",
	SKINNY_DEVICETYPE_MEDIA_TERM_POINTYOKO,		=111,	"Media Termination Point Yoko",
	SKINNY_DEVICETYPE_MEDIA_TERM_POINTDIXIELAND,	=112,	"Media Termination Point Dixieland",
	SKINNY_DEVICETYPE_MEDIA_TERM_POINTSUMMIT,	=113,	"Media Termination Point Summit",
	SKINNY_DEVICETYPE_MGCPSTATION,			=120,	"MGCP Station",
	SKINNY_DEVICETYPE_MGCPTRUNK,			=121,	"MGCP Trunk",
	SKINNY_DEVICETYPE_RASPROXY,			=122,	"RAS Proxy",
	SKINNY_DEVICETYPE_TRUNK,			=125,	"Trunk",
	SKINNY_DEVICETYPE_ANNUNCIATOR,			=126,	"Annuciator",
	SKINNY_DEVICETYPE_MONITORBRIDGE,		=127,	"Monitor Bridge",
	SKINNY_DEVICETYPE_RECORDER,			=128,	"Recorder",
	SKINNY_DEVICETYPE_MONITORBRIDGEYOKO,		=129,	"Monitor Bridge Yoko",
	SKINNY_DEVICETYPE_SIPTRUNK,			=131,	"Sip Trunk",
	SKINNY_DEVICETYPE_ANALOG_GATEWAY,		=30027,	"Analog Gateway",
	SKINNY_DEVICETYPE_BRI_GATEWAY,			=30028,	"BRI Gateway",
	/* SCCP Phones */
	SKINNY_DEVICETYPE_30SPPLUS,			=1,	"30SP plus",
	SKINNY_DEVICETYPE_12SPPLUS,			=2,	"12SP plus",
	SKINNY_DEVICETYPE_12SP,				=3,	"12SP",
	SKINNY_DEVICETYPE_12,				=4,	"12",
	SKINNY_DEVICETYPE_30VIP,			=5,	"30 VIP",
	SKINNY_DEVICETYPE_CISCO7902			,=30008,"Cisco 7902",
	SKINNY_DEVICETYPE_CISCO7905			,=20000,"Cisco 7905",
	SKINNY_DEVICETYPE_CISCO7906,			=369,	"Cisco 7906",
	SKINNY_DEVICETYPE_CISCO7910,			=6,	"Cisco 7910",
	SKINNY_DEVICETYPE_CISCO7911,			=307,	"Cisco 7911",
	SKINNY_DEVICETYPE_CISCO7912 			,=30007,"Cisco 7912",
	SKINNY_DEVICETYPE_CISCO7920 			,=30002,"Cisco 7920",
	SKINNY_DEVICETYPE_CISCO7921,			=365,	"Cisco 7921",
	SKINNY_DEVICETYPE_CISCO7925,			=484,	"Cisco 7925",
	SKINNY_DEVICETYPE_CISCO7926,			=577,	"Cisco 7926",
	SKINNY_DEVICETYPE_CISCO7931,			=348,	"Cisco 7931",
	SKINNY_DEVICETYPE_CISCO7935,			=9,	"Cisco 7935",
	SKINNY_DEVICETYPE_CISCO7936 			,=30019,"Cisco 7936 Conference",
	SKINNY_DEVICETYPE_CISCO7937,			=431,	"Cisco 7937 Conference",
	SKINNY_DEVICETYPE_CISCO7940,			=8,	"Cisco 7940",
	SKINNY_DEVICETYPE_CISCO7941,			=115,	"Cisco 7941",
	SKINNY_DEVICETYPE_CISCO7941GE,			=309,	"Cisco 7941 GE",
	SKINNY_DEVICETYPE_CISCO7942,			=434,	"Cisco 7942",
	SKINNY_DEVICETYPE_CISCO7945,			=435,	"Cisco 7945",
	SKINNY_DEVICETYPE_CISCO7960,			=7,	"Cisco 7960",
	SKINNY_DEVICETYPE_CISCO7961 			,=30018,"Cisco 7961",
	SKINNY_DEVICETYPE_CISCO7961GE,			=308,	"Cisco 7961 GE",
	SKINNY_DEVICETYPE_CISCO7962,			=404,	"Cisco 7962",
	SKINNY_DEVICETYPE_CISCO7965,			=436,	"Cisco 7965",
	SKINNY_DEVICETYPE_CISCO7970 			,=30006,"Cisco 7970",
	SKINNY_DEVICETYPE_CISCO7971,			=119,	"Cisco 7971",
	SKINNY_DEVICETYPE_CISCO7975,			=437,	"Cisco 7975",
	SKINNY_DEVICETYPE_CISCO7985,			=302,	"Cisco 7985",
	SKINNY_DEVICETYPE_NOKIA_E_SERIES,		=275,	"Nokia E Series",
	SKINNY_DEVICETYPE_CISCO_IP_COMMUNICATOR		,=30016,"Cisco IP Communicator",
	SKINNY_DEVICETYPE_NOKIA_ICC,			=376,	"Nokia ICC client",
	SKINNY_DEVICETYPE_CISCO6901,			=547,	"Cisco 6901",
	SKINNY_DEVICETYPE_CISCO6911,			=548,	"Cisco 6911",
	SKINNY_DEVICETYPE_CISCO6921,			=495,	"Cisco 6921",
	SKINNY_DEVICETYPE_CISCO6941,			=496,	"Cisco 6941",
	SKINNY_DEVICETYPE_CISCO6945,			=564,	"Cisco 6945",
	SKINNY_DEVICETYPE_CISCO6961,			=497,	"Cisco 6961",
	SKINNY_DEVICETYPE_CISCO8941,			=586,	"Cisco 8941",
	SKINNY_DEVICETYPE_CISCO8945,			=585,	"Cisco 8945",
//	SKINNY_DEVICETYPE_CISCO8961,			=,	"Cisco 8961",

	/* SPCP/SPA Phones */
//	SKINNY_DEVICETYPE_SPA_302G,			=?????,"Cisco SPA 302D",		// 1 line  / Dect
	SKINNY_DEVICETYPE_SPA_303G,			=80011,"Cisco SPA 303G",		// 1 line
//	SKINNY_DEVICETYPE_SPA_502G,			=?????,"Cisco SPA 501G",		// 8 lines
	SKINNY_DEVICETYPE_SPA_502G,			=80003,"Cisco SPA 502G",		// 1 lines
	SKINNY_DEVICETYPE_SPA_504G,			=80004,"Cisco SPA 504G",		// 4 lines
//	SKINNY_DEVICETYPE_SPA_508G,			=?????,"Cisco SPA 508G",		// 8 lines
	SKINNY_DEVICETYPE_SPA_509G,			=80007,"Cisco SPA 509G",		// 12 lines
	SKINNY_DEVICETYPE_SPA_512G,			=80012,"Cisco SPA 512G",		// 1 line  / 1Gb
	SKINNY_DEVICETYPE_SPA_514G,			=80013,"Cisco SPA 514G",		// 4 lines / 1Gb
	SKINNY_DEVICETYPE_SPA_521S,			=80000,"Cisco SPA 521S",
	SKINNY_DEVICETYPE_SPA_524SG,			=80001,"Cisco SPA 524SG",		// 4 lines
	SKINNY_DEVICETYPE_SPA_525G,			=80005,"Cisco SPA 525G",		// 5 lines / color / wifi / bluetooth
	SKINNY_DEVICETYPE_SPA_525G2, 			=80009,"Cisco SPA 525G2",		// 5 lines / color / wifi / bluetooth

	/* Extension Modules */
	SKINNY_DEVICETYPE_CISCO_ADDON_7914,		=124,	"Cisco 7914 AddOn",
	SKINNY_DEVICETYPE_CISCO_ADDON_7915_12BUTTON,	=227,	"Cisco 7915 AddOn (12 Buttons)",
	SKINNY_DEVICETYPE_CISCO_ADDON_7915_24BUTTON,	=228,	"Cisco 7915 AddOn (24 Buttons)",
	SKINNY_DEVICETYPE_CISCO_ADDON_7916_12BUTTON,	=229,	"Cisco 7916 AddOn (12 Buttons)",
	SKINNY_DEVICETYPE_CISCO_ADDON_7916_24BUTTON,	=230,	"Cisco 7916 AddOn (24 Buttons)",
	SKINNY_DEVICETYPE_CISCO_ADDON_SPA500S,		=99991,"Cisco SPA500DS (32 Buttons)",	// paper / fake id
	SKINNY_DEVICETYPE_CISCO_ADDON_SPA500DS,		=99992,"Cisco SPA500DS (32 Buttons)",	// monochrome / fake id
	SKINNY_DEVICETYPE_CISCO_ADDON_SPA932DS,		=99993,"Cisco SPA932DS (32 Buttons)",	// color / SPA525 / fake id
	(SKINNY_DEVICETYPE_NOTDEFINED,			=99999, "Not Defined",
}

/*!
 * \brief Skinny Device Registration (ENUM)
 */
enum encryptionMethod {
	SKINNY_ENCRYPTIONMETHOD_NONE,			=0x0,	"No Encryption",
	SKINNY_ENCRYPTIONMETHOD_AES_128_HMAC_SHA1_32,	=0x1,	"AES128 SHA1 32",
	SKINNY_ENCRYPTIONMETHOD_AES_128_HMAC_SHA1_80,	=0x2,	"AES128 SHA1 80",
	SKINNY_ENCRYPTIONMETHOD_F8_128_HMAC_SHA1_32,	=0x3,	"HMAC_SHA1_32",
	SKINNY_ENCRYPTIONMETHOD_F8_128_HMAC_SHA1_80,	=0x4,	"HMAC_SHA1_80",
	SKINNY_ENCRYPTIONMETHOD_AEAD_AES_128_GCM,	=0x5,	"AES 128 GCM",
	SKINNY_ENCRYPTIONMETHOD_AEAD_AES_256_GCM,	=0x6,	"AES 256 GCM",
}

/*!
 * \brief Skinny Miscellaneous Command Type (Enum)
 */
enum miscCommandType {
	SKINNY_MISCCOMMANDTYPE_VIDEOFREEZEPICTURE,	=0x0,	"videoFreezePicture", 
	SKINNY_MISCCOMMANDTYPE_VIDEOFASTUPDATEPICTURE,	=0x1,	"videoFastUpdatePicture", 
	SKINNY_MISCCOMMANDTYPE_VIDEOFASTUPDATEGOB,	=0x2,	"videoFastUpdateGOB", 
	SKINNY_MISCCOMMANDTYPE_VIDEOFASTUPDATEMB,	=0x3,	"videoFastUpdateMB", 
	SKINNY_MISCCOMMANDTYPE_LOSTPICTURE,		=0x4,	"lostPicture", 
	SKINNY_MISCCOMMANDTYPE_LOSTPARTIALPICTURE,	=0x5,	"lostPartialPicture", 
	SKINNY_MISCCOMMANDTYPE_RECOVERYREFERENCEPICTURE,=0x6,	"recoveryReferencePicture", 
	SKINNY_MISCCOMMANDTYPE_TEMPORALSPATIALTRADEOFF,	=0x7,	"temporalSpatialTradeOff", 
}

/*!
 * \brief Skinny MediaTransportType
 */
enum mediaTransportType {
	SKINNY_MEDIA_TRANSPORT_TYPE_RTP,		=0x1,	"Rtp", 
	SKINNY_MEDIA_TRANSPORT_TYPE_UDP,		,	"Udp", 
	SKINNY_MEDIA_TRANSPORT_TYPE_TCP,		,	"Tcp", 
}

/*!
 * \brief Skinny MediaType
 */
strenum mediaType {
	SKINNY_MEDIA_TYPE_INVALID,			=0,	"Invalid", 
	SKINNY_MEDIA_TYPE_AUDIO,			,	"Audio", 
	SKINNY_MEDIA_TYPE_MAIN_VIDEO,			,	"Main Video", 
	SKINNY_MEDIA_TYPE_FECC,				,	"FECC", 
	SKINNY_MEDIA_TYPE_PRESENTATION_VIDEO,		,	"Presentation Video", 
	SKINNY_MEDIA_TYPE_DATA_APP_BFCP,		,	"DataApp_BFCP", 
	SKINNY_MEDIA_TYPE_DATA_APP_IXCHANNEL,		,	"DataApp_IxChannel", 
	SKINNY_MEDIA_TYPE_T38,				,	"T38", 
}

/*!
 * \brief Skinny Call History Disposition
 */
strenum callHistoryDisposition {
	SKINNY_CALL_HISTORY_DISPOSITION_IGNORE,		=0x0,	"Ignore",
	SKINNY_CALL_HISTORY_DISPOSITION_PLACED_CALLS,	,	"Placed Calls",
	SKINNY_CALL_HISTORY_DISPOSITION_RECEIVED_CALLS,	,	"Received Calls",
	SKINNY_CALL_HISTORY_DISPOSITION_MISSED_CALLS,	,	"Missed Calls",
	SKINNY_CALL_HISTORY_DISPOSITION_UNKNOWN,	=0xfffffffe,	"Unknown",		// should have been 0xffffffff, use SENTINEL instead (gen_sccp_enum.awk issue)
}

/*!
 * \brief Skinny Tone Direction
 */
strenum toneDirection {
	SKINNY_TONEDIRECTION_USER,			=0,	"User",
	SKINNY_TONEDIRECTION_NETWORK,			=0x1,	"Network",
	SKINNY_TONEDIRECTION_BOTH,			=0x2,	"Both",
}

} /* NAMESPACE skinny */

// kate: indent-width 8; replace-tabs off; indent-mode cstyle; auto-insert-doxygen on; line-numbers on; tab-indents on; keep-extra-spaces off; auto-brackets off;
