1/*!
2 * \file	sccp_enum.in
3 * \brief	SCCP Enum Auto Source Generation
4 * \author	Diederik de Groot <dddegroot [at] users.sf.net>
5 * \note	This program is free software and may be modified and distributed under the terms of the GNU Public License.
6 *		See the LICENSE file at the top of the source tree.
7 * \remarks	Used by ../tools/gen_sccp_enum.awk script as source to generate sccp_enum.h and sccp_enum.c automatically */
8 */
9
10namespace sccp {
11
12/*
13 * SCCP Channel State
14 */
15strenum channelstate {
16	SCCP_CHANNELSTATE_DOWN,				= 0, 	"DOWN",
17	SCCP_CHANNELSTATE_ONHOOK,			= 1, 	"ONHOOK",
18
19	SCCP_CHANNELSTATE_OFFHOOK, 			= 10, 	"OFFHOOK",
20	SCCP_CHANNELSTATE_GETDIGITS, 			= 11,	"GETDIGITS",
21	SCCP_CHANNELSTATE_DIGITSFOLL, 			= 12,	"DIGITSFOLL",
22	SCCP_CHANNELSTATE_SPEEDDIAL, 			= 13,	"SPEEDDIAL",
23	SCCP_CHANNELSTATE_DIALING, 			= 14,	"DIALING",
24
25	SCCP_CHANNELSTATE_RINGOUT, 			= 20,	"RINGOUT",
26	SCCP_CHANNELSTATE_RINGOUT_ALERTING, 		= 21,	"RINGOUT_ALERTING",
27	SCCP_CHANNELSTATE_RINGING, 			= 22,	"RINGING",
28	SCCP_CHANNELSTATE_PROCEED, 			= 23,	"PROCEED",
29	SCCP_CHANNELSTATE_PROGRESS, 			= 24,	"PROGRESS",
30
31	SCCP_CHANNELSTATE_CONNECTED, 			= 30,	"CONNECTED",
32	SCCP_CHANNELSTATE_CONNECTEDCONFERENCE, 		= 31,	"CONNECTEDCONFERENCE",
33	SCCP_CHANNELSTATE_HOLD, 			= 32,	"HOLD	 ",
34	SCCP_CHANNELSTATE_CALLWAITING, 			= 34,	"CALLWAITING",
35	SCCP_CHANNELSTATE_CALLPARK, 			= 35,	"CALLPARK",
36	SCCP_CHANNELSTATE_CALLREMOTEMULTILINE, 		= 36,	"CALLREMOTEMULTILINE",
37	SCCP_CHANNELSTATE_CALLCONFERENCE,	 	= 37,	"CALLCONFERENCE",
38	SCCP_CHANNELSTATE_CALLTRANSFER, 		= 38,	"CALLTRANSFER",
39	SCCP_CHANNELSTATE_BLINDTRANSFER, 		= 39,	"BLINDTRANSFER",
40
41	SCCP_CHANNELSTATE_DND, 				= 40,	"DND",
42	SCCP_CHANNELSTATE_BUSY, 			= 41,	"BUSY	 ",
43	SCCP_CHANNELSTATE_CONGESTION, 			= 42,	"CONGESTION",
44	SCCP_CHANNELSTATE_INVALIDNUMBER, 		= 43,	"INVALIDNUMBER",
45	SCCP_CHANNELSTATE_INVALIDCONFERENCE, 		= 44,	"INVALIDCONFERENCE",
46	SCCP_CHANNELSTATE_ZOMBIE, 			= 45,	"ZOMBIE",
47}
48
49/*
50 * \brief internal chan_sccp call state (c->callstate) (Enum)
51 */
52strenum channelstatereason {
53	SCCP_CHANNELSTATEREASON_NORMAL,			=0,	"NORMAL",
54	SCCP_CHANNELSTATEREASON_TRANSFER,		,	"TRANSFER",
55	SCCP_CHANNELSTATEREASON_CALLFORWARD,		,	"CALLFORWARD",
56	SCCP_CHANNELSTATEREASON_CONFERENCE,		,	"CONFERENCE",
57	SCCP_CHANNELSTATEREASON_BARGE,			,	"BARGE",
58}
59
60strenum devicestate {
61	SCCP_DEVICESTATE_ONHOOK,			=0,	"On Hook"
62	SCCP_DEVICESTATE_OFFHOOK,			,	"Off Hook"
63	SCCP_DEVICESTATE_UNAVAILABLE,			,	"Unavailable"
64	SCCP_DEVICESTATE_DND,				,	"Do Not Disturb",
65	SCCP_DEVICESTATE_FWDALL,			,	"Forward All"
66}
67
68strenum cfwd {
69	SCCP_CFWD_NONE,					=0,	"None",
70	SCCP_CFWD_ALL,					,	"All",
71	SCCP_CFWD_BUSY,					,	"Busy",
72	SCCP_CFWD_NOANSWER,				,	"NoAnswer",
73}
74
75/*!
76 * \brief SCCP Dtmf Mode (ENUM)
77 */
78strenum dtmfmode {
79	SCCP_DTMFMODE_AUTO,				=0,	"AUTO",
80	SCCP_DTMFMODE_RFC2833,				,	"RFC2833",
81	SCCP_DTMFMODE_SKINNY,				,	"SKINNY",
82}
83
84/*!
85 * \brief SCCP Autoanswer (ENUM)
86 */
87enum autoanswer {
88	SCCP_AUTOANSWER_NONE,				=0,	"AutoAnswer None",
89	SCCP_AUTOANSWER_1W,				,	"AutoAnswer 1-Way",
90	SCCP_AUTOANSWER_2W,				,	"AutoAnswer Both Ways",
91}
92
93/*!
94 * \brief SCCP DNDMode (ENUM)
95 */
96strenum dndmode {
97	SCCP_DNDMODE_OFF,				=0,	"Off",
98	SCCP_DNDMODE_REJECT,				,	"Reject",
99	SCCP_DNDMODE_SILENT,				,	"Silent",
100	SCCP_DNDMODE_USERDEFINED,			,	"User",
101}
102
103strenum accessory {
104	SCCP_ACCESSORY_NONE,				=0,	"None",
105	SCCP_ACCESSORY_HEADSET,				,	"Headset",
106	SCCP_ACCESSORY_HANDSET,				,	"Handset",
107	SCCP_ACCESSORY_SPEAKER,				,	"Speaker",
108}
109
110strenum accessorystate {
111	SCCP_ACCESSORYSTATE_NONE,			=0,	"None",
112	SCCP_ACCESSORYSTATE_OFFHOOK,			,	"Off Hook",
113	SCCP_ACCESSORYSTATE_ONHOOK,			,	"On Hook",
114}
115
116strenum config_buttontype {
117	LINE,						=0,	"Line",
118	SPEEDDIAL,					,	"Speeddial",
119	SERVICE,					,	"Service",
120	FEATURE,					,	"Feature",
121	EMPTY,						,	"Empty",
122}
123
124enum devstate_state {
125	SCCP_DEVSTATE_IDLE,				=0,	"IDLE",
126	SCCP_DEVSTATE_INUSE,				=1,	"INUSE",
127}
128
129strenum blindtransferindication {
130	SCCP_BLINDTRANSFER_RING,			=0,	"RING",
131	SCCP_BLINDTRANSFER_MOH,				,	"MOH",
132}
133
134strenum call_answer_order {
135	SCCP_ANSWER_OLDEST_FIRST,			=0,	"OldestFirst",
136	SCCP_ANSWER_LAST_FIRST,				,	"LastFirst",
137}
138
139strenum nat {
140	SCCP_NAT_AUTO,					=0,	"Auto",
141	SCCP_NAT_OFF,					,	"Off",
142	SCCP_NAT_AUTO_OFF,				,	"(Auto)Off",
143	SCCP_NAT_ON,					,	"On",
144	SCCP_NAT_AUTO_ON,				,	"(Auto)On",
145}
146
147strenum video_mode {
148	SCCP_VIDEO_MODE_OFF,				=0,	"Off",
149	SCCP_VIDEO_MODE_USER,				,	"User",
150	SCCP_VIDEO_MODE_AUTO,				,	"Auto",
151}
152
153strenum event_type {
154	SCCP_EVENT_NULL,				=0,	"Null Event / To be removed",
155	SCCP_EVENT_LINEINSTANCE_CREATED,		=1<<0,	"Line Created",		/*! multiple events can be registered to one subscriber */
156	SCCP_EVENT_LINEINSTANCE_DESTROYED,		,	"Line Destroyed",
157	SCCP_EVENT_DEVICE_ATTACHED,			,	"Device Attached",
158	SCCP_EVENT_DEVICE_DETACHED,			,	"Device Detached",
159	SCCP_EVENT_DEVICE_PREREGISTERED,		,	"Device Preregistered",
160	SCCP_EVENT_DEVICE_REGISTERED,			,	"Device Registered",
161	SCCP_EVENT_DEVICE_UNREGISTERED,			,	"Device Unregistered",
162	SCCP_EVENT_FEATURE_CHANGED,			,	"Feature Changed",
163	SCCP_EVENT_LINESTATUS_CHANGED,			,	"LineStatus Changed",
164#ifdef CS_TEST_FRAMEWORK
165	SCCP_EVENT_TEST,				,	"Test Event",
166#endif
167}
168
169enum parkresult {
170	PARK_RESULT_FAIL,				=0,	"Park Failed",
171	PARK_RESULT_SUCCESS,				,	"Park Successfull",
172}
173
174strenum callerid_presentation {
175	CALLERID_PRESENTATION_FORBIDDEN,		=0,	"CalledId Presentation Forbidden",
176	CALLERID_PRESENTATION_ALLOWED,			,	"CallerId Presentation Allowed",
177}
178
179enum rtp_status {
180	SCCP_RTP_STATUS_INACTIVE, 			=0,		"Rtp Inactive",
181	SCCP_RTP_STATUS_PROGRESS, 			=1<<0,	"Rtp In Progress",
182	SCCP_RTP_STATUS_ACTIVE,				=1<<1,	"Rtp Active",
183	SCCP_RTP_STATUS_ERROR,				=1<<2,	"Rtp Error",
184}
185
186strenum rtp_type {
187	SCCP_RTP_NULL,					=0,	"RTP NULL",
188	SCCP_RTP_AUDIO,					=1<<0,	"Audio RTP",
189	SCCP_RTP_VIDEO,					=1<<1,	"Video RTP",
190	SCCP_RTP_TEXT,					=1<<2,	"Text RTP",
191}
192
193strenum rtp_dir {
194	SCCP_RTP_RECEPTION,				=0,	"RTP Reception"
195	SCCP_RTP_TRANSMISSION,				=1,	"RTP Transmission"
196}
197
198enum extension_status {
199	SCCP_EXTENSION_NOTEXISTS, 			=0,	"Extension does not exist",
200	SCCP_EXTENSION_MATCHMORE, 			,	"Matches more than one extension",
201	SCCP_EXTENSION_EXACTMATCH, 			,	"Exact Extension Match",
202}
203
204enum channel_request_status {
205	SCCP_REQUEST_STATUS_ERROR, 			=0,	"Request Status Error",
206	SCCP_REQUEST_STATUS_LINEUNKNOWN,		,	"Request Line Unknown",
207	SCCP_REQUEST_STATUS_LINEUNAVAIL,		,	"Request Line Unavailable",
208	SCCP_REQUEST_STATUS_SUCCESS,			,	"Request Success",
209}
210
211enum message_priority {
212	SCCP_MESSAGE_PRIORITY_IDLE,			=0,	"Message Priority Idle",
213	SCCP_MESSAGE_PRIORITY_VOICEMAIL,		=1,	"Message Priority Voicemail",
214	SCCP_MESSAGE_PRIORITY_MONITOR,			=2,	"Message Priority Monitor",
215	SCCP_MESSAGE_PRIORITY_PRIVACY,			=3,	"Message Priority Privacy",
216	SCCP_MESSAGE_PRIORITY_DND,			=4,	"Message Priority Do not disturb",
217	SCCP_MESSAGE_PRIORITY_CFWD,			=5,	"Message Priority Call Forward",
218	SCCP_MESSAGE_PRIORITY_TIMEOUT,			=6,	"Message Priority Timeout",
219}
220
221enum push_result {
222	SCCP_PUSH_RESULT_FAIL,				=0,	"Push Failed",
223	SCCP_PUSH_RESULT_NOT_SUPPORTED,			,	"Push Not Supported",
224	SCCP_PUSH_RESULT_SUCCESS,			,	"Pushed Successfully",
225}
226
227strenum tokenstate {
228	SCCP_TOKEN_STATE_NOTOKEN,			=0,	"None",
229	SCCP_TOKEN_STATE_ACK,				,	"Ack",
230	SCCP_TOKEN_STATE_REJ,				,	"Rej",
231}
232
233strenum softswitch {
234	SCCP_SOFTSWITCH_DIAL,				=0,	"Softswitch Dial",
235	SCCP_SOFTSWITCH_GETFORWARDEXTEN,		,	"Softswitch Get Forward Extension",
236	SCCP_SOFTSWITCH_ENDCALLFORWARD	,		,	"Softswitch End Call Forward",
237#ifdef CS_SCCP_PICKUP
238	SCCP_SOFTSWITCH_GETPICKUPEXTEN,			,	"Softswitch Get Pickup Extension",
239#endif
240	SCCP_SOFTSWITCH_GETMEETMEROOM,			,	"Softswitch Get Meetme Room",
241	SCCP_SOFTSWITCH_GETBARGEEXTEN,			,	"Softswitch Get Barge Extension",
242	SCCP_SOFTSWITCH_GETCBARGEROOM,			,	"Softswitch Get CBarrge Room",
243#ifdef CS_SCCP_CONFERENCE
244	SCCP_SOFTSWITCH_GETCONFERENCEROOM,		,	"Softswitch Get Conference Room",
245#endif
246}
247
248enum phonebook {
249	SCCP_PHONEBOOK_NONE,				=0,	"Phonebook None",
250	SCCP_PHONEBOOK_MISSED,				,	"Phonebook Missed",
251	SCCP_PHONEBOOK_RECEIVED,			,	"Phonebook Received",
252	//SCCP_PHONEBOOK_PLACED,			,	"Phonebook Placed",
253}
254
255strenum feature_monitor_state {
256	SCCP_FEATURE_MONITOR_STATE_DISABLED,		=0,	"Feature Monitor Disabled",
257	SCCP_FEATURE_MONITOR_STATE_REQUESTED, 		=1<<1,	"Feature Monitor Requested",
258	SCCP_FEATURE_MONITOR_STATE_ACTIVE,		=1<<2,	"Feature Monitor Active",
259}
260
261/*!
262 * \brief Config Reading Type Enum
263 */
264enum readingtype {
265	SCCP_CONFIG_READINITIAL,			=0,	"Read Initial Config",
266	SCCP_CONFIG_READRELOAD,				,	"Reloading Config",
267}
268
269/*!
270 * \brief Status of configuration change
271 */
272enum configurationchange {
273	SCCP_CONFIG_NOUPDATENEEDED,		 	= 0,	"Config: No Update Needed",
274	SCCP_CONFIG_NEEDDEVICERESET, 			= 1<<0,	"Config: Device Reset Needed",
275	SCCP_CONFIG_WARNING, 				= 1<<1,	"Warning while reading Config",
276	SCCP_CONFIG_ERROR, 				= 1<<2,	"Error while reading Config",
277}
278
279enum call_statistics_type {
280	SCCP_CALLSTATISTIC_LAST,			=0,	"CallStatistics last Call",
281	SCCP_CALLSTATISTIC_AVG,				,	"CallStatistics average",
282}
283
284enum rtp_info {
285	SCCP_RTP_INFO_NORTP,				=0,	"RTP Info: None",
286	SCCP_RTP_INFO_AVAILABLE,			=1<<0,	"RTP Info: Available",
287	SCCP_RTP_INFO_ALLOW_DIRECTRTP,			=1<<1,	"RTP Info: Allow DirectMedia",
288}
289
290strenum feature_type
291	SCCP_FEATURE_UNKNOWN,				=0,	"FEATURE_UNKNOWN",
292	SCCP_FEATURE_CFWDNONE,				,	"cfwd off",
293	SCCP_FEATURE_CFWDALL,				,	"cfwdall",
294	SCCP_FEATURE_CFWDBUSY,				,	"cfwdbusy",
295	SCCP_FEATURE_CFWDNOANSWER,			,	"cfwdnoanswer",
296	SCCP_FEATURE_DND,				,	"dnd",
297	SCCP_FEATURE_PRIVACY,				,	"privacy",
298	SCCP_FEATURE_MONITOR,				,	"monitor",
299	SCCP_FEATURE_HOLD,				,	"hold",
300	SCCP_FEATURE_TRANSFER,				,	"transfer",
301	SCCP_FEATURE_MULTIBLINK,			,	"multiblink",
302	SCCP_FEATURE_MOBILITY,				,	"mobility",
303	SCCP_FEATURE_CONFERENCE,			,	"conference",
304	SCCP_FEATURE_DO_NOT_DISTURB,			,	"do not disturb",
305	SCCP_FEATURE_CONF_LIST,				,	"ConfList",
306	SCCP_FEATURE_REMOVE_LAST_PARTICIPANT,		,	"RemoveLastParticipant",
307	SCCP_FEATURE_HUNT_GROUP_LOG_IN_OUT,		,	"Hunt Group Log-in/out",
308	SCCP_FEATURE_QUALITY_REPORT_TOOL,		,	"Quality Reporting Tool",
309	SCCP_FEATURE_CALLBACK,				,	"CallBack",
310	SCCP_FEATURE_OTHER_PICKUP,			,	"OtherPickup",
311	SCCP_FEATURE_VIDEO_MODE,			,	"VideoMode",
312	SCCP_FEATURE_NEW_CALL,				,	"NewCall",
313	SCCP_FEATURE_END_CALL,				,	"EndCall",
314	SCCP_FEATURE_PARKINGLOT,			,	"ParkingLot",				// TESTE
315	SCCP_FEATURE_TESTF,				,	"FEATURE_TESTF",
316	SCCP_FEATURE_TESTI,				,	"FEATURE_TESTI",
317	SCCP_FEATURE_TESTG,				,	"Messages",
318	SCCP_FEATURE_TESTH,				,	"Directory",
319	SCCP_FEATURE_TESTJ,				,	"Application",
320#ifdef CS_DEVSTATE_FEATURE
321	SCCP_FEATURE_DEVSTATE,				,	"devstate",
322#endif
323	SCCP_FEATURE_PICKUP,				,	"pickup",
324}
325
326strenum callinfo_key {
327	SCCP_CALLINFO_NONE,				= 0,	"none",
328	SCCP_CALLINFO_CALLEDPARTY_NAME	,		,	"calledparty name",
329	SCCP_CALLINFO_CALLEDPARTY_NUMBER,		,	"calledparty number",
330	SCCP_CALLINFO_CALLEDPARTY_VOICEMAIL,		,	"calledparty voicemail",
331
332	SCCP_CALLINFO_CALLINGPARTY_NAME,		,	"callingparty name",
333	SCCP_CALLINFO_CALLINGPARTY_NUMBER,		,	"callingparty number",
334	SCCP_CALLINFO_CALLINGPARTY_VOICEMAIL,		,	"callingparty voicemail",
335
336	SCCP_CALLINFO_ORIG_CALLEDPARTY_NAME,		,	"orig_calledparty name",
337	SCCP_CALLINFO_ORIG_CALLEDPARTY_NUMBER,		,	"orig_calledparty number",
338	SCCP_CALLINFO_ORIG_CALLEDPARTY_VOICEMAIL,	,	"orig_calledparty voicemail",
339
340	SCCP_CALLINFO_ORIG_CALLINGPARTY_NAME,		,	"orig_callingparty name",
341	SCCP_CALLINFO_ORIG_CALLINGPARTY_NUMBER,		,	"orig_callingparty number",
342
343	SCCP_CALLINFO_LAST_REDIRECTINGPARTY_NAME,	,	"last_redirectingparty name",
344	SCCP_CALLINFO_LAST_REDIRECTINGPARTY_NUMBER,	,	"last_redirectingparty number",
345	SCCP_CALLINFO_LAST_REDIRECTINGPARTY_VOICEMAIL,	,	"last_redirectingparty voicemail",
346
347	SCCP_CALLINFO_HUNT_PILOT_NAME,			,	"hunt pilot name",
348	SCCP_CALLINFO_HUNT_PILOT_NUMBER,		,	"hunt pilor number",
349
350	SCCP_CALLINFO_ORIG_CALLEDPARTY_REDIRECT_REASON,	,	"orig_calledparty_redirect reason",
351	SCCP_CALLINFO_LAST_REDIRECT_REASON,		,	"last_redirect reason",
352	SCCP_CALLINFO_PRESENTATION,			,	"presentation",
353};
354
355strenum xml_outputfmt {
356	SCCP_XML_OUTPUTFMT_NULL,			= 0,	"",
357	SCCP_XML_OUTPUTFMT_HTML,			,	"html",
358	SCCP_XML_OUTPUTFMT_XHTML,			,	"html",
359	SCCP_XML_OUTPUTFMT_XML,				,	"xml",
360	SCCP_XML_OUTPUTFMT_CXML,			,	"cxml",
361	SCCP_XML_OUTPUTFMT_AJAX,			,	"ajax",
362	SCCP_XML_OUTPUTFMT_JSON,			,	"json",
363	SCCP_XML_OUTPUTFMT_TXT,				,	"txt",
364};
365
366} /* NAMESPACE sccp */
367
368namespace skinny {
369
370/*!
371 * \brief Skinny Lamp Mode (ENUM)
372 */
373strenum lampmode {
374	SKINNY_LAMP_OFF,				=1,	"Off",
375	SKINNY_LAMP_ON,					,	"On",
376	SKINNY_LAMP_WINK,				,	"Wink",
377	SKINNY_LAMP_FLASH,				,	"Flash",
378	SKINNY_LAMP_BLINK,				,	"Blink",
379	/* new 2019 */
380	SKINNY_LAMP_HOLD,				,	"Hold",
381	SKINNY_LAMP_RING,				,	"Ring",
382	SKINNY_LAMP_CUSTOM1,				,	"Custom1",
383	SKINNY_LAMP_CUSTOM2,				,	"Custom2",
384}
385
386/*!
387 * \brief Skinny Protocol Call Type (ENUM)
388 */
389strenum calltype {
390	SKINNY_CALLTYPE_INBOUND,			=1,	"Inbound",
391	SKINNY_CALLTYPE_OUTBOUND,			,	"Outbound",
392	SKINNY_CALLTYPE_FORWARD,			,	"Forward",
393}
394
395/*!
396 * \brief Skinny Protocol Call Type (ENUM)
397 */
398strenum callstate {
399	SKINNY_CALLSTATE_OFFHOOK,			=1,	"offhook",
400	SKINNY_CALLSTATE_ONHOOK,			,	"onhook",
401	SKINNY_CALLSTATE_RINGOUT,			,	"ring-out",
402	SKINNY_CALLSTATE_RINGIN,			,	"ring-in",
403	SKINNY_CALLSTATE_CONNECTED,			,	"connected",
404	SKINNY_CALLSTATE_BUSY,				,	"busy",
405	SKINNY_CALLSTATE_CONGESTION,		,	"congestion",
406	SKINNY_CALLSTATE_HOLD,				,	"hold",						/* normal hold : green flashing*/
407	SKINNY_CALLSTATE_CALLWAITING,		,	"call waiting",
408	SKINNY_CALLSTATE_CALLTRANSFER,		,	"call transfer",
409	SKINNY_CALLSTATE_CALLPARK,			,	"call park",
410	SKINNY_CALLSTATE_PROCEED,			,	"proceed",
411	SKINNY_CALLSTATE_CALLREMOTEMULTILINE,,	"call remote multiline",	/* Remote Multiline: steady red / Do-not-disturb */
412	SKINNY_CALLSTATE_INVALIDNUMBER,		,	"invalid number",
413	SKINNY_CALLSTATE_HOLDYELLOW,		,	"hold yellow",				/* Hold: yellow flashing, Incoming Call /  Reverting Call*/
414	SKINNY_CALLSTATE_INTERCOMONEWAY,	,	"intercom one-way",			/* Whisper: steady yellow */
415	SKINNY_CALLSTATE_HOLDRED,			,	"hold red",					/* RemoteHold: red flashing */
416}
417
418/*!
419 * \brief Skinny Protocol Call Priority (ENUM)
420 */
421enum callpriority {
422	SKINNY_CALLPRIORITY_HIGHEST,			=0,	"highest priority",
423	SKINNY_CALLPRIORITY_HIGH,			,	"high priority",
424	SKINNY_CALLPRIORITY_MEDIUM,			,	"medium priority",
425	SKINNY_CALLPRIORITY_LOW,			,	"low priority",
426	SKINNY_CALLPRIORITY_NORMAL,			,	"normal priority",
427}
428
429/*!
430 * \brief Skinny Protocol CallInfo Visibility (ENUM)
431 */
432strenum callinfo_visibility {
433	SKINNY_CALLINFO_VISIBILITY_DEFAULT,		=0,	"default",		/* None */
434	SKINNY_CALLINFO_VISIBILITY_COLLAPSED,		,	"collapsed",		/* Limited */
435	SKINNY_CALLINFO_VISIBILITY_HIDDEN,		,	"hidden",		/* Full */
436}
437
438/*!
439 * \brief Skinny Protocol Call Security State (ENUM)
440 */
441enum callsecuritystate {
442	SKINNY_CALLSECURITYSTATE_UNKNOWN,		=0,	"unknown",
443	SKINNY_CALLSECURITYSTATE_NOTAUTHENTICATED,	,	"not authenticated",
444	SKINNY_CALLSECURITYSTATE_AUTHENTICATED,		,	"authenticated",
445}
446
447/*!
448 * \brief Skinny Busy Lamp Field Status (ENUM)
449 */
450strenum busylampfield_state {
451	SKINNY_BLF_STATUS_UNKNOWN,			=0,	"Unknown",
452	SKINNY_BLF_STATUS_IDLE,				,	"Not-in-use",
453	SKINNY_BLF_STATUS_INUSE,			,	"In-use",
454	SKINNY_BLF_STATUS_DND,				,	"DND",
455	SKINNY_BLF_STATUS_ALERTING,			,	"Alerting",
456}
457
458/*!
459 * \brief Skinny Busy Lamp Field Status (ENUM)
460 */
461strenum alarm {
462	SKINNY_ALARM_CRITICAL,				=0,	"Critical",
463	SKINNY_ALARM_WARNING,				=1,	"Warning",
464	SKINNY_ALARM_INFORMATIONAL,			=2,	"Informational",
465	SKINNY_ALARM_UNKNOWN,				=4,	"Unknown",
466	SKINNY_ALARM_MAJOR,				=7,	"Major",
467	SKINNY_ALARM_MINOR,				=8,	"Minor",
468	SKINNY_ALARM_MARGINAL,				=10,	"Marginal",
469	SKINNY_ALARM_TRACEINFO,				=20,	"TraceInfo",
470}
471
472/*!
473 * \brief Skinny Tone (ENUM)
474 */
475strenum tone {
476	SKINNY_TONE_SILENCE,				=0x00,	"Silence",
477	SKINNY_TONE_DTMF1,				=0x01,	"DTMF 1",
478	SKINNY_TONE_DTMF2,				=0x02,	"DTMF 2",
479	SKINNY_TONE_DTMF3,				=0x03,	"DTMF 3",
480	SKINNY_TONE_DTMF4,				=0x04,	"DTMF 4",
481	SKINNY_TONE_DTMF5,				=0x05,	"DTMF 5",
482	SKINNY_TONE_DTMF6,				=0x06,	"DTMF 6",
483	SKINNY_TONE_DTMF7,				=0x07,	"DTMF 7",
484	SKINNY_TONE_DTMF8,				=0x08,	"DTMF 8",
485	SKINNY_TONE_DTMF9,				=0x09,	"DTMF 9",
486	SKINNY_TONE_DTMF0,				=0x0A,	"DTMF 0",
487	SKINNY_TONE_DTMFSTAR,				=0x0E,	"DTMF Star",
488	SKINNY_TONE_DTMFPOUND,				=0x0F,	"DTMF Pound",
489	SKINNY_TONE_DTMFA,				=0x10,	"DTMF A",
490	SKINNY_TONE_DTMFB,				=0x11,	"DTMF B",
491	SKINNY_TONE_DTMFC,				=0x12,	"DTMF C",
492	SKINNY_TONE_DTMFD,				=0x13,	"DTMF D",
493	SKINNY_TONE_INSIDEDIALTONE,			=0x21,	"Inside Dial Tone",
494	SKINNY_TONE_OUTSIDEDIALTONE,			=0x22,	"Outside Dial Tone",
495	SKINNY_TONE_LINEBUSYTONE,			=0x23,	"Line Busy Tone",
496	SKINNY_TONE_ALERTINGTONE,			=0x24,	"Alerting Tone",
497	SKINNY_TONE_REORDERTONE,			=0x25,	"Reorder Tone",
498	SKINNY_TONE_RECORDERWARNINGTONE,		=0x26,	"Recorder Warning Tone",
499	SKINNY_TONE_RECORDERDETECTEDTONE,		=0x27,	"Recorder Detected Tone",
500	SKINNY_TONE_REVERTINGTONE,			=0x28,	"Reverting Tone",
501	SKINNY_TONE_RECEIVEROFFHOOKTONE,		=0x29,	"Receiver OffHook Tone",
502	SKINNY_TONE_PARTIALDIALTONE,			=0x2A,	"Partial Dial Tone",
503	SKINNY_TONE_NOSUCHNUMBERTONE,			=0x2B,	"No Such Number Tone",
504	SKINNY_TONE_BUSYVERIFICATIONTONE,		=0x2C,	"Busy Verification Tone",
505	SKINNY_TONE_CALLWAITINGTONE,			=0x2D,	"Call Waiting Tone",
506	SKINNY_TONE_CONFIRMATIONTONE,			=0x2E,	"Confirmation Tone",
507	SKINNY_TONE_CAMPONINDICATIONTONE,		=0x2F,	"Camp On Indication Tone",
508	SKINNY_TONE_RECALLDIALTONE,			=0x30,	"Recall Dial Tone",
509	SKINNY_TONE_ZIPZIP,				=0x31,	"Zip Zip",
510	SKINNY_TONE_ZIP,				=0x32,	"Zip",
511	SKINNY_TONE_BEEPBONK,				=0x33,	"Beep Bonk",
512	SKINNY_TONE_MUSICTONE,				=0x34,	"Music Tone",
513	SKINNY_TONE_HOLDTONE,				=0x35,	"Hold Tone",
514	SKINNY_TONE_TESTTONE,				=0x36,	"Test Tone",
515	SKINNY_TONE_DTMONITORWARNINGTONE,		=0x37,	"DT Monitor Warning Tone",
516	SKINNY_TONE_ADDCALLWAITING,			=0x40,	"Add Call Waiting",
517	SKINNY_TONE_PRIORITYCALLWAIT,			=0x41,	"Priority Call Wait",
518	SKINNY_TONE_RECALLDIAL,				=0x42,	"Recall Dial",
519	SKINNY_TONE_BARGIN,				=0x43,	"Barg In",
520	SKINNY_TONE_DISTINCTALERT,			=0x44,	"Distinct Alert",
521	SKINNY_TONE_PRIORITYALERT,			=0x45,	"Priority Alert",
522	SKINNY_TONE_REMINDERRING,			=0x46,	"Reminder Ring",
523	SKINNY_TONE_PRECEDENCE_RINGBACK,		=0x47,	"Precedence RingBank",
524	SKINNY_TONE_PREEMPTIONTONE,			=0x48,	"Pre-EmptionTone",
525	SKINNY_TONE_MF1,				=0x50,	"MF1",
526	SKINNY_TONE_MF2,				=0x51,	"MF2",
527	SKINNY_TONE_MF3,				=0x52,	"MF3",
528	SKINNY_TONE_MF4,				=0x53,	"MF4",
529	SKINNY_TONE_MF5,				=0x54,	"MF5",
530	SKINNY_TONE_MF6,				=0x55,	"MF6",
531	SKINNY_TONE_MF7,				=0x56,	"MF7",
532	SKINNY_TONE_MF8,				=0x57,	"MF8",
533	SKINNY_TONE_MF9,				=0x58,	"MF9",
534	SKINNY_TONE_MF0,				=0x59,	"MF0",
535	SKINNY_TONE_MFKP1,				=0x5A,	"MFKP1",
536	SKINNY_TONE_MFST,				=0x5B,	"MFST",
537	SKINNY_TONE_MFKP2,				=0x5C,	"MFKP2",
538	SKINNY_TONE_MFSTP,				=0x5D,	"MFSTP",
539	SKINNY_TONE_MFST3P,				=0x5E,	"MFST3P",
540	SKINNY_TONE_MILLIWATT,				=0x5F,	"MILLIWATT",
541	SKINNY_TONE_MILLIWATTTEST,			=0x60,	"MILLIWATT TEST",
542	SKINNY_TONE_HIGHTONE,				=0x61,	"HIGH TONE",
543	SKINNY_TONE_FLASHOVERRIDE,			=0x62,	"FLASH OVERRIDE",
544	SKINNY_TONE_FLASH,				=0x63,	"FLASH",
545	SKINNY_TONE_PRIORITY,				=0x64,	"PRIORITY",
546	SKINNY_TONE_IMMEDIATE,				=0x65,	"IMMEDIATE",
547	SKINNY_TONE_PREAMPWARN,				=0x66,	"PRE-AMP WARN",
548	SKINNY_TONE_2105HZ,				=0x67,	"2105 HZ",
549	SKINNY_TONE_2600HZ,				=0x68,	"2600 HZ",
550	SKINNY_TONE_440HZ,				=0x69,	"440 HZ",
551	SKINNY_TONE_300HZ,				=0x6A,	"300 HZ",
552	SKINNY_TONE_MLPP_PALA,				=0x77,	"MLPP Pala",
553	SKINNY_TONE_MLPP_ICA,				=0x78,	"MLPP Ica",
554	SKINNY_TONE_MLPP_VCA,				=0x79,	"MLPP Vca",
555	SKINNY_TONE_MLPP_BPA,				=0x7A,	"MLPP Bpa",
556	SKINNY_TONE_MLPP_BNEA,				=0x7B,	"MLPP Bnea",
557	SKINNY_TONE_MLPP_UPA,				=0x7C,	"MLPP Upa",
558	SKINNY_TONE_NOTONE,				=0x7F,	"No Tone",
559	SKINNY_TONE_MEETME_GREETING,			=0x80,	"Meetme Greeting Tone",
560	SKINNY_TONE_MEETME_NUMBER_INVALID,		=0x81,	"Meetme Number Invalid Tone",
561	SKINNY_TONE_MEETME_NUMBER_FAILED,		=0x82,	"Meetme Number Failed Tone",
562	SKINNY_TONE_MEETME_ENTER_PIN,			=0x83,	"Meetme Enter Pin Tone",
563	SKINNY_TONE_MEETME_INVALID_PIN,			=0x84,	"Meetme Invalid Pin Tone",
564	SKINNY_TONE_MEETME_FAILED_PIN,			=0x85,	"Meetme Failed Pin Tone",
565	SKINNY_TONE_MEETME_CFB_FAILED,			=0x86,	"Meetme CFB Failed Tone",
566	SKINNY_TONE_MEETME_ENTER_ACCESS_CODE,		=0x87,	"Meetme Enter Access Code Tone",
567	SKINNY_TONE_MEETME_ACCESS_CODE_INVALID,		=0x88,	"Meetme Access Code Invalid Tone",
568	SKINNY_TONE_MEETME_ACCESS_CODE_FAILED,		=0x89,	"Meetme Access Code Failed Tone",
569}
570
571/*!
572 * \brief Skinny Video Format (ENUM)
573 */
574strenum videoformat {
575	SKINNY_VIDEOFORMAT_UNDEFINED,			=0,	"undefined",
576	SKINNY_VIDEOFORMAT_SQCIF,			=1,	"sqcif (128x96)",
577	SKINNY_VIDEOFORMAT_QCIF,			=2,	"qcif (176x144)",
578	SKINNY_VIDEOFORMAT_CIF,				=3,	"cif (352x288)",
579	SKINNY_VIDEOFORMAT_4CIF,			=4,	"4cif (704x576)",
580	SKINNY_VIDEOFORMAT_16CIF,			=5,	"16cif (1408x1152)",
581	SKINNY_VIDEOFORMAT_CUSTOM,			=6,	"custom_base",
582	SKINNY_VIDEOFORMAT_UNKNOWN,			=232,	"unknown",			// Cisco 7985 under protocol version 5 (Robert: SEP00506003273B)
583}
584
585/*!
586 * \brief Skinny Ringtype Format (ENUM)
587 */
588strenum ringtype {
589	SKINNY_RINGTYPE_OFF,				=1,	"Off",
590	SKINNY_RINGTYPE_INSIDE,				,	"Inside",
591	SKINNY_RINGTYPE_OUTSIDE,			,	"Outside",
592	SKINNY_RINGTYPE_FEATURE,			,	"Feature",
593	SKINNY_RINGTYPE_SILENT,				,	"Silent",
594	SKINNY_RINGTYPE_URGENT,				,	"Urgent",
595	SKINNY_RINGTYPE_BELLCORE_1,			,	"Bellcore1",
596	SKINNY_RINGTYPE_BELLCORE_2,			,	"Bellcore2",
597	SKINNY_RINGTYPE_BELLCORE_3,			,	"Bellcore3",
598	SKINNY_RINGTYPE_BELLCORE_4,			,	"Bellcore4",
599	SKINNY_RINGTYPE_BELLCORE_5,			,	"Bellcore5",
600}
601
602/*!
603 * \brief Skinny Ringduration Format (ENUM)
604 */
605strenum ringduration {
606	SKINNY_RINGDURATION_NORMAL,				=1,	"Off",
607	SKINNY_RINGDURATION_SINGLE,				,	"Inside",
608}
609
610/*!
611 * \brief Skinny Station Receive/Transmit (ENUM)
612 */
613enum receivetransmit {
614	SKINNY_TRANSMITRECEIVE_NONE,			=0,	"None",
615	SKINNY_TRANSMITRECEIVE_RECEIVE,			=1,	"Receive",
616	SKINNY_TRANSMITRECEIVE_TRANSMIT,		=2,	"Transmit",
617	SKINNY_TRANSMITRECEIVE_BOTH,			=3,	"Transmit & Receive",
618}
619
620/*!
621 * \brief Skinny KeyMode (ENUM)
622 */
623strenum keymode {
624	KEYMODE_ONHOOK,					=0,	"ONHOOK",
625	KEYMODE_CONNECTED,				,	"CONNECTED",
626	KEYMODE_ONHOLD,					,	"ONHOLD",
627	KEYMODE_RINGIN,					,	"RINGIN",
628	KEYMODE_OFFHOOK,				,	"OFFHOOK",
629	KEYMODE_CONNTRANS,				,	"CONNTRANS",
630	KEYMODE_DIGITSFOLL,				,	"DIGITSFOLL",
631	KEYMODE_CONNCONF,				,	"CONNCONF",
632	KEYMODE_RINGOUT,				,	"RINGOUT",
633	KEYMODE_OFFHOOKFEAT,				,	"OFFHOOKFEAT",
634	KEYMODE_INUSEHINT,				,	"INUSEHINT",
635	KEYMODE_ONHOOKSTEALABLE,			,	"ONHOOKSTEALABLE",
636	KEYMODE_HOLDCONF,				,	"HOLDCONF",
637	KEYMODE_EMPTY,					,	"",
638}
639
640/*!
641 * \brief Skinny Device Registration (ENUM)
642 */
643strenum registrationstate {
644	SKINNY_DEVICE_RS_FAILED,			=0,	"Failed",
645	SKINNY_DEVICE_RS_TIMEOUT,			,	"Time Out",
646	SKINNY_DEVICE_RS_CLEANING,			,	"Cleaning",
647	SKINNY_DEVICE_RS_NONE,				,	"None",
648	SKINNY_DEVICE_RS_TOKEN,				,	"Token",
649	SKINNY_DEVICE_RS_PROGRESS,			,	"Progress",
650	SKINNY_DEVICE_RS_OK,				,	"OK",
651}
652
653/*!
654 * \brief Skinny Media Status (Enum)
655 */
656strenum mediastatus {
657	SKINNY_MEDIASTATUS_Ok,				=0,	"Media Status: OK",
658	SKINNY_MEDIASTATUS_Unknown,			,	"Media Error: Unknown",
659	SKINNY_MEDIASTATUS_OutOfChannels,		,	"Media Error: Out of Channels",
660	SKINNY_MEDIASTATUS_CodecTooComplex,		,	"Media Error: Codec Too Complex",
661	SKINNY_MEDIASTATUS_InvalidPartyId,		,	"Media Error: Invalid Party ID",
662	SKINNY_MEDIASTATUS_InvalidCallReference,	,	"Media Error: Invalid Call Reference",
663	SKINNY_MEDIASTATUS_InvalidCodec,		,	"Media Error: Invalid Codec",
664	SKINNY_MEDIASTATUS_InvalidPacketSize,		,	"Media Error: Invalid Packet Size",
665	SKINNY_MEDIASTATUS_OutOfSockets,		,	"Media Error: Out of Sockets",
666	SKINNY_MEDIASTATUS_EncoderOrDecoderFailed,	,	"Media Error: Encoder Or Decoder Failed",
667	SKINNY_MEDIASTATUS_InvalidDynPayloadType,	,	"Media Error: Invalid Dynamic Payload Type",
668	SKINNY_MEDIASTATUS_RequestedIpAddrTypeUnavailable, 	,	"Media Error: Requested IP Address Type if not available",
669	SKINNY_MEDIASTATUS_DeviceOnHook,		,	"Media Error: Device is on hook",
670}
671
672/*!
673 * \brief Skinny Stimulus (ENUM)
674 * Almost the same as Skinny buttontype !!
675 */
676strenum stimulus {
677	SKINNY_STIMULUS_UNUSED,				=0x00,	"Unused",
678	SKINNY_STIMULUS_LASTNUMBERREDIAL,		=0x01,	"Last Number Redial",
679	SKINNY_STIMULUS_SPEEDDIAL,			=0x02,	"SpeedDial",
680	SKINNY_STIMULUS_HOLD,				=0x03,	"Hold",
681	SKINNY_STIMULUS_TRANSFER,			=0x04,	"Transfer",
682	SKINNY_STIMULUS_FORWARDALL,			=0x05,	"Forward All",
683	SKINNY_STIMULUS_FORWARDBUSY,			=0x06,	"Forward Busy",
684	SKINNY_STIMULUS_FORWARDNOANSWER,		=0x07,	"Forward No Answer",
685	SKINNY_STIMULUS_DISPLAY,			=0x08,	"Display",
686	SKINNY_STIMULUS_LINE,				=0x09,	"Line",
687	SKINNY_STIMULUS_T120CHAT,			=0x0A,	"T120 Chat",
688	SKINNY_STIMULUS_T120WHITEBOARD,			=0x0B,	"T120 Whiteboard",
689	SKINNY_STIMULUS_T120APPLICATIONSHARING,		=0x0C,	"T120 Application Sharing",
690	SKINNY_STIMULUS_T120FILETRANSFER,		=0x0D,	"T120 File Transfer",
691	SKINNY_STIMULUS_VIDEO,				=0x0E,	"Video",
692	SKINNY_STIMULUS_VOICEMAIL,			=0x0F,	"Voicemail",
693	SKINNY_STIMULUS_ANSWERRELEASE,			=0x10,	"Answer Release",
694	SKINNY_STIMULUS_AUTOANSWER,			=0x11,	"Auto Answer",
695	SKINNY_STIMULUS_SELECT,				=0x12,	"Select",
696	SKINNY_STIMULUS_FEATURE,			=0x13,	"Feature",
697	SKINNY_STIMULUS_SERVICEURL,			=0x14,	"ServiceURL",
698	SKINNY_STIMULUS_BLFSPEEDDIAL,			=0x15,	"BusyLampField Speeddial",
699	SKINNY_STIMULUS_MALICIOUSCALL,			=0x1B,	"Malicious Call",
700	SKINNY_STIMULUS_GENERICAPPB1,			=0x21,	"Generic App B1",
701	SKINNY_STIMULUS_GENERICAPPB2,			=0x22,	"Generic App B2",
702	SKINNY_STIMULUS_GENERICAPPB3,			=0x23,	"Generic App B3",
703	SKINNY_STIMULUS_GENERICAPPB4,			=0x24,	"Generic App B4",
704	SKINNY_STIMULUS_GENERICAPPB5,			=0x25,	"Generic App B5",
705	SKINNY_STIMULUS_MULTIBLINKFEATURE,		=0x26,	"MultiblinkFeature",
706	SKINNY_STIMULUS_MEETMECONFERENCE,		=0x7B,	"Meet Me Conference",
707	SKINNY_STIMULUS_CONFERENCE,			=0x7D,	"Conference",
708	SKINNY_STIMULUS_CALLPARK,			=0x7E,	"Call Park",
709	SKINNY_STIMULUS_CALLPICKUP,			=0x7F,	"Call Pickup",
710	SKINNY_STIMULUS_GROUPCALLPICKUP,		=0x80,	"Group Call Pickup",
711	SKINNY_STIMULUS_MOBILITY,			=0x81,	"Mobility",
712	SKINNY_STIMULUS_DO_NOT_DISTURB,			=0x82,	"DoNotDisturb",
713	SKINNY_STIMULUS_CONF_LIST,			=0x83,	"ConfList",
714	SKINNY_STIMULUS_REMOVE_LAST_PARTICIPANT,	=0x84,	"RemoveLastParticipant",
715	SKINNY_STIMULUS_QUALITY_REPORT_TOOL,		=0x85,	"Quality Reporting Tool",
716	SKINNY_STIMULUS_CALLBACK,			=0x86,	"CallBack",
717	SKINNY_STIMULUS_OTHER_PICKUP,			=0x87,	"OtherPickup",
718	SKINNY_STIMULUS_VIDEO_MODE,			=0x88,	"VideoMode",
719	SKINNY_STIMULUS_NEW_CALL,			=0x89,	"NewCall",
720	SKINNY_STIMULUS_END_CALL,			=0x8A,	"EndCall",
721	SKINNY_STIMULUS_HUNT_GROUP_LOG_IN_OUT,		=0x8B,	"Hunt Group Log-in/out",
722	SKINNY_STIMULUS_QUEUING,			=0x8F,	"Queuing",
723	SKINNY_STIMULUS_PARKINGLOT,			=0xC0,	"ParkingLot",	/* Test E */
724	SKINNY_STIMULUS_TESTF,				=0xC1,	"Test F",
725	SKINNY_STIMULUS_TESTI,				=0xC4,	"Test I",
726	SKINNY_STIMULUS_MESSAGES,			=0xC2,	"Messages",
727	SKINNY_STIMULUS_DIRECTORY,			=0xC3,	"Directory",
728	SKINNY_STIMULUS_APPLICATION,			=0xC5,	"Application",
729	SKINNY_STIMULUS_HEADSET,			=0xC6,	"Headset",
730	SKINNY_STIMULUS_KEYPAD,				=0xF0,	"Keypad",
731	SKINNY_STIMULUS_AEC,				=0xFD,	"Aec",
732	SKINNY_STIMULUS_UNDEFINED,			=0xFF,	"Undefined",
733}
734
735/*!
736 * \brief Skinny ButtonType (ENUM)
737 * Almost the same as Skinny Stimulus !!
738 */
739strenum buttontype {
740	SKINNY_BUTTONTYPE_UNUSED,			=0x00,	"Unused",
741	SKINNY_BUTTONTYPE_LASTNUMBERREDIAL,		=0x01,	"Last Number Redial",
742	SKINNY_BUTTONTYPE_SPEEDDIAL,			=0x02,	"SpeedDial",
743	SKINNY_BUTTONTYPE_HOLD,				=0x03,	"Hold",
744	SKINNY_BUTTONTYPE_TRANSFER,			=0x04,	"Transfer",
745	SKINNY_BUTTONTYPE_FORWARDALL,			=0x05,	"Forward All",
746	SKINNY_BUTTONTYPE_FORWARDBUSY,			=0x06,	"Forward Busy",
747	SKINNY_BUTTONTYPE_FORWARDNOANSWER,		=0x07,	"Forward No Answer",
748	SKINNY_BUTTONTYPE_DISPLAY,			=0x08,	"Display",
749	SKINNY_BUTTONTYPE_LINE,				=0x09,	"Line",
750	SKINNY_BUTTONTYPE_T120CHAT,			=0x0A,	"T120 Chat",
751	SKINNY_BUTTONTYPE_T120WHITEBOARD,		=0x0B,	"T120 Whiteboard",
752	SKINNY_BUTTONTYPE_T120APPLICATIONSHARING,	=0x0C,	"T120 Application Sharing",
753	SKINNY_BUTTONTYPE_T120FILETRANSFER,		=0x0D,	"T120 File Transfer",
754	SKINNY_BUTTONTYPE_VIDEO,			=0x0E,	"Video",
755	SKINNY_BUTTONTYPE_VOICEMAIL,			=0x0F,	"Voicemail",
756	SKINNY_BUTTONTYPE_ANSWERRELEASE,		=0x10,	"Answer Release",
757	SKINNY_BUTTONTYPE_AUTOANSWER,			=0x11,	"Auto Answer",
758//	SKINNY_BUTTONTYPE_SELECT,			=0x12,	"Select",		// only in stimulus
759	SKINNY_BUTTONTYPE_FEATURE,			=0x13,	"Feature",
760	SKINNY_BUTTONTYPE_SERVICEURL,			=0x14,	"ServiceURL",
761	SKINNY_BUTTONTYPE_BLFSPEEDDIAL,			=0x15,	"BusyLampField Speeddial",
762//	SKINNY_BUTTONTYPE_MALICIOUSCALL,		=0x1B,	"Malicious Call",	// only in stimulus
763	SKINNY_BUTTONTYPE_GENERICAPPB1,			=0x21,	"Generic App B1",
764	SKINNY_BUTTONTYPE_GENERICAPPB2,			=0x22,	"Generic App B2",
765	SKINNY_BUTTONTYPE_GENERICAPPB3,			=0x23,	"Generic App B3",
766	SKINNY_BUTTONTYPE_GENERICAPPB4,			=0x24,	"Generic App B4",
767	SKINNY_BUTTONTYPE_GENERICAPPB5,			=0x25,	"Generic App B5",
768	SKINNY_BUTTONTYPE_MULTIBLINKFEATURE,		=0x26,	"MultiblinkFeature",
769	SKINNY_BUTTONTYPE_MEETMECONFERENCE,		=0x7B,	"Meet Me Conference",
770	SKINNY_BUTTONTYPE_CONFERENCE,			=0x7D,	"Conference",
771	SKINNY_BUTTONTYPE_CALLPARK,			=0x7E,	"Call Park",
772	SKINNY_BUTTONTYPE_CALLPICKUP,			=0x7F,	"Call Pickup",
773	SKINNY_BUTTONTYPE_GROUPCALLPICKUP,		=0x80,	"Group Call Pickup",
774	SKINNY_BUTTONTYPE_MOBILITY,			=0x81,	"Mobility",
775	SKINNY_BUTTONTYPE_DO_NOT_DISTURB,		=0x82,	"DoNotDisturb",
776	SKINNY_BUTTONTYPE_CONF_LIST,			=0x83,	"ConfList",
777	SKINNY_BUTTONTYPE_REMOVE_LAST_PARTICIPANT,	=0x84,	"RemoveLastParticipant",
778	SKINNY_BUTTONTYPE_QUALITY_REPORT_TOOL,		=0x85,	"Quality Reporting Tool",
779	SKINNY_BUTTONTYPE_CALLBACK,			=0x86,	"CallBack",
780	SKINNY_BUTTONTYPE_OTHER_PICKUP,			=0x87,	"OtherPickup",
781	SKINNY_BUTTONTYPE_VIDEO_MODE,			=0x88,	"VideoMode",
782	SKINNY_BUTTONTYPE_NEW_CALL,			=0x89,	"NewCall",
783	SKINNY_BUTTONTYPE_END_CALL,			=0x8A,	"EndCall",
784	SKINNY_BUTTONTYPE_HUNT_GROUP_LOG_IN_OUT,	=0x8B,	"Hunt Group Log-in/out",
785	SKINNY_BUTTONTYPE_QUEUING,			=0x8F,	"Queuing",
786	SKINNY_BUTTONTYPE_PARKINGLOT,			=0xC0,	"ParkingLot",			// TEST E
787	SKINNY_BUTTONTYPE_TESTF,			=0xC1,	"Test F",
788	SKINNY_BUTTONTYPE_TESTI,			=0xC4,	"Test I",
789	SKINNY_BUTTONTYPE_MESSAGES,			=0xC2,	"Messages",
790	SKINNY_BUTTONTYPE_DIRECTORY,			=0xC3,	"Directory",
791	SKINNY_BUTTONTYPE_APPLICATION,			=0xC5,	"Application",
792	SKINNY_BUTTONTYPE_HEADSET,			=0xC6,	"Headset",
793	SKINNY_BUTTONTYPE_KEYPAD,			=0xF0,	"Keypad",
794	SKINNY_BUTTONTYPE_PLACEHOLDER_MULTI,		=0xF1,	"Placeholder Multi",		// Stand in for SCCP_BUTTONTYPE_MULTI
795	SKINNY_BUTTONTYPE_PLACEHOLDER_LINE,		=0xF2,	"Placeholder Line",		// Stand in for SCCP_BUTTONTYPE_LINE
796	SKINNY_BUTTONTYPE_PLACEHOLDER_SPEEDIAL,		=0xF3,	"Placeholder Speeddial",	// Stand in for SCCP_BUTTONTYPE_SPEEDDIAL
797	SKINNY_BUTTONTYPE_PLACEHOLDER_HINT,		=0xF4,	"Placeholder Hint",		// Stand in for SCCP_BUTTONTYPE_HINT
798	SKINNY_BUTTONTYPE_PLACEHOLDER_ABBRDIAL,		=0xF5,	"Placeholder Abbreviated Dial",	// Stand in for SCCP_BUTTONTYPE_ABBRDIAL
799	SKINNY_BUTTONTYPE_AEC,				=0xFD,	"Aec",
800	SKINNY_BUTTONTYPE_UNDEFINED,			=0xFF,	"Undefined",
801}
802
803/*!
804 * \brief Skinny DeviceType (ENUM)
805 */
806strenum devicetype {
807	/* SCCP Devices */
808	SKINNY_DEVICETYPE_UNDEFINED,			=00,	"Undefined: Maybe you forgot the devicetype in your config",
809//      SKINNY_DEVICETYPE_TELECASTER,			=06,	"Telecaster",
810//      SKINNY_DEVICETYPE_TELECASTER_MGR,		=07,	"Telecaster Manager",
811//      SKINNY_DEVICETYPE_TELECASTER_BUS,		=08,	"Telecaster Bus",
812//      SKINNY_DEVICETYPE_POLYCOM,			=09,	"Polycom",
813	SKINNY_DEVICETYPE_VGC,				=10,	"VGC",
814	SKINNY_DEVICETYPE_ATA186,			=12,	"Cisco Ata 186",
815	SKINNY_DEVICETYPE_ATA188,			=13,	"Cisco Ata 188",		// previous value 12 (assumed 13)
816	SKINNY_DEVICETYPE_VIRTUAL30SPPLUS,		=20,	"Virtual 30SP plus",
817	SKINNY_DEVICETYPE_PHONEAPPLICATION,		=21,	"Phone Application",
818	SKINNY_DEVICETYPE_ANALOGACCESS,			=30,	"Analog Access",
819	SKINNY_DEVICETYPE_DIGITALACCESSPRI,		=40,	"Digital Access PRI",
820	SKINNY_DEVICETYPE_DIGITALACCESST1,		=41,	"Digital Access T1",
821	SKINNY_DEVICETYPE_DIGITALACCESSTITAN2,		=42,	"Digital Access Titan2",
822	SKINNY_DEVICETYPE_ANALOGACCESSELVIS,		=43,	"Analog Access Elvis",
823	SKINNY_DEVICETYPE_DIGITALACCESSLENNON,		=47,	"Digital Access Lennon",
824	SKINNY_DEVICETYPE_CONFERENCEBRIDGE,		=50,	"Conference Bridge",
825	SKINNY_DEVICETYPE_CONFERENCEBRIDGEYOKO,		=51,	"Conference Bridge Yoko",
826	SKINNY_DEVICETYPE_CONFERENCEBRIDGEDIXIELAND,	=52,	"Conference Bridge Dixieland",
827	SKINNY_DEVICETYPE_CONFERENCEBRIDGESUMMIT,	=53,	"Conference Bridge Summit",
828	SKINNY_DEVICETYPE_H225,				=60,	"H225",
829	SKINNY_DEVICETYPE_H323PHONE,			=61,	"H323 Phone",
830	SKINNY_DEVICETYPE_H323TRUNK,			=62,	"H323 Trunk",
831	SKINNY_DEVICETYPE_MUSICONHOLD,			=70,	"Music On Hold",
832	SKINNY_DEVICETYPE_PILOT,			=71,	"Pilot",
833	SKINNY_DEVICETYPE_TAPIPORT,			=72,	"Tapi Port",
834	SKINNY_DEVICETYPE_TAPIROUTEPOINT,		=73,	"Tapi Route Point",
835	SKINNY_DEVICETYPE_VOICEINBOX,			=80,	"Voice In Box",
836	SKINNY_DEVICETYPE_VOICEINBOXADMIN,		=81,	"Voice Inbox Admin",
837	SKINNY_DEVICETYPE_LINEANNUNCIATOR,		=82,	"Line Annunciator",
838	SKINNY_DEVICETYPE_SOFTWAREMTPDIXIELAND,		=83,	"Line Annunciator",
839	SKINNY_DEVICETYPE_CISCOMEDIASERVER,		=84,	"Line Annunciator",
840	SKINNY_DEVICETYPE_CONFERENCEBRIDGEFLINT,	=85,	"Line Annunciator",
841	SKINNY_DEVICETYPE_ROUTELIST,			=90,	"Route List",
842	SKINNY_DEVICETYPE_LOADSIMULATOR,		=100,	"Load Simulator",
843	SKINNY_DEVICETYPE_MEDIA_TERM_POINT,		=110,	"Media Termination Point",
844	SKINNY_DEVICETYPE_MEDIA_TERM_POINTYOKO,		=111,	"Media Termination Point Yoko",
845	SKINNY_DEVICETYPE_MEDIA_TERM_POINTDIXIELAND,	=112,	"Media Termination Point Dixieland",
846	SKINNY_DEVICETYPE_MEDIA_TERM_POINTSUMMIT,	=113,	"Media Termination Point Summit",
847	SKINNY_DEVICETYPE_MGCPSTATION,			=120,	"MGCP Station",
848	SKINNY_DEVICETYPE_MGCPTRUNK,			=121,	"MGCP Trunk",
849	SKINNY_DEVICETYPE_RASPROXY,			=122,	"RAS Proxy",
850	SKINNY_DEVICETYPE_TRUNK,			=125,	"Trunk",
851	SKINNY_DEVICETYPE_ANNUNCIATOR,			=126,	"Annuciator",
852	SKINNY_DEVICETYPE_MONITORBRIDGE,		=127,	"Monitor Bridge",
853	SKINNY_DEVICETYPE_RECORDER,			=128,	"Recorder",
854	SKINNY_DEVICETYPE_MONITORBRIDGEYOKO,		=129,	"Monitor Bridge Yoko",
855	SKINNY_DEVICETYPE_SIPTRUNK,			=131,	"Sip Trunk",
856	SKINNY_DEVICETYPE_ANALOG_GATEWAY,		=30027,	"Analog Gateway",
857	SKINNY_DEVICETYPE_BRI_GATEWAY,			=30028,	"BRI Gateway",
858	/* SCCP Phones */
859	SKINNY_DEVICETYPE_30SPPLUS,			=1,	"30SP plus",
860	SKINNY_DEVICETYPE_12SPPLUS,			=2,	"12SP plus",
861	SKINNY_DEVICETYPE_12SP,				=3,	"12SP",
862	SKINNY_DEVICETYPE_12,				=4,	"12",
863	SKINNY_DEVICETYPE_30VIP,			=5,	"30 VIP",
864	SKINNY_DEVICETYPE_CISCO7902,			=30008,"Cisco 7902",
865	SKINNY_DEVICETYPE_CISCO7905,			=20000,"Cisco 7905",
866	SKINNY_DEVICETYPE_CISCO7906,			=369,	"Cisco 7906",
867	SKINNY_DEVICETYPE_CISCO7910,			=6,	"Cisco 7910",
868	SKINNY_DEVICETYPE_CISCO7911,			=307,	"Cisco 7911",
869	SKINNY_DEVICETYPE_CISCO7912, 			=30007,"Cisco 7912",
870	SKINNY_DEVICETYPE_CISCO7920, 			=30002,"Cisco 7920",
871	SKINNY_DEVICETYPE_CISCO7921,			=365,	"Cisco 7921",
872	SKINNY_DEVICETYPE_CISCO7925,			=484,	"Cisco 7925",
873	SKINNY_DEVICETYPE_CISCO7926,			=577,	"Cisco 7926",
874	SKINNY_DEVICETYPE_CISCO7931,			=348,	"Cisco 7931",
875	SKINNY_DEVICETYPE_CISCO7935,			=9,	"Cisco 7935",
876	SKINNY_DEVICETYPE_CISCO7936, 			=30019,"Cisco 7936 Conference",
877	SKINNY_DEVICETYPE_CISCO7937,			=431,	"Cisco 7937 Conference",
878	SKINNY_DEVICETYPE_CISCO7940,			=8,	"Cisco 7940",
879	SKINNY_DEVICETYPE_CISCO7941,			=115,	"Cisco 7941",
880	SKINNY_DEVICETYPE_CISCO7941GE,			=309,	"Cisco 7941 GE",
881	SKINNY_DEVICETYPE_CISCO7942,			=434,	"Cisco 7942",
882	SKINNY_DEVICETYPE_CISCO7945,			=435,	"Cisco 7945",
883	SKINNY_DEVICETYPE_CISCO7960,			=7,	"Cisco 7960",
884	SKINNY_DEVICETYPE_CISCO7961, 			=30018,"Cisco 7961",
885	SKINNY_DEVICETYPE_CISCO7961GE,			=308,	"Cisco 7961 GE",
886	SKINNY_DEVICETYPE_CISCO7962,			=404,	"Cisco 7962",
887	SKINNY_DEVICETYPE_CISCO7965,			=436,	"Cisco 7965",
888	SKINNY_DEVICETYPE_CISCO7970, 			=30006,"Cisco 7970",
889	SKINNY_DEVICETYPE_CISCO7971,			=119,	"Cisco 7971",
890	SKINNY_DEVICETYPE_CISCO7975,			=437,	"Cisco 7975",
891	SKINNY_DEVICETYPE_CISCO7985,			=302,	"Cisco 7985",
892	SKINNY_DEVICETYPE_NOKIA_E_SERIES,		=275,	"Nokia E Series",
893	SKINNY_DEVICETYPE_CISCO_IP_COMMUNICATOR,	=30016,"Cisco IP Communicator",
894	SKINNY_DEVICETYPE_NOKIA_ICC,			=376,	"Nokia ICC client",
895	SKINNY_DEVICETYPE_CISCO6901,			=547,	"Cisco 6901",
896	SKINNY_DEVICETYPE_CISCO6911,			=548,	"Cisco 6911",
897	SKINNY_DEVICETYPE_CISCO6921,			=495,	"Cisco 6921",
898	SKINNY_DEVICETYPE_CISCO6941,			=496,	"Cisco 6941",
899	SKINNY_DEVICETYPE_CISCO6945,			=564,	"Cisco 6945",
900	SKINNY_DEVICETYPE_CISCO6961,			=497,	"Cisco 6961",
901	SKINNY_DEVICETYPE_CISCO8941,			=586,	"Cisco 8941",
902	SKINNY_DEVICETYPE_CISCO8945,			=585,	"Cisco 8945",
903//	SKINNY_DEVICETYPE_CISCO8961,			=,	"Cisco 8961",
904
905	/* SPCP/SPA Phones */
906//	SKINNY_DEVICETYPE_SPA_302G,			=?????,"Cisco SPA 302D",		// 1 line  / Dect
907	SKINNY_DEVICETYPE_SPA_303G,			=80011,"Cisco SPA 303G",		// 1 line
908//	SKINNY_DEVICETYPE_SPA_502G,			=?????,"Cisco SPA 501G",		// 8 lines
909	SKINNY_DEVICETYPE_SPA_502G,			=80003,"Cisco SPA 502G",		// 1 lines
910	SKINNY_DEVICETYPE_SPA_504G,			=80004,"Cisco SPA 504G",		// 4 lines
911	SKINNY_DEVICETYPE_SPA_508G,			=80006,"Cisco SPA 508G",		// 8 lines
912	SKINNY_DEVICETYPE_SPA_509G,			=80007,"Cisco SPA 509G",		// 12 lines
913	SKINNY_DEVICETYPE_SPA_512G,			=80012,"Cisco SPA 512G",		// 1 line  / 1Gb
914	SKINNY_DEVICETYPE_SPA_514G,			=80013,"Cisco SPA 514G",		// 4 lines / 1Gb
915	SKINNY_DEVICETYPE_SPA_521S,			=80000,"Cisco SPA 521S",
916	SKINNY_DEVICETYPE_SPA_524SG,			=80001,"Cisco SPA 524SG",		// 4 lines
917	SKINNY_DEVICETYPE_SPA_525G,			=80005,"Cisco SPA 525G",		// 5 lines / color / wifi / bluetooth
918	SKINNY_DEVICETYPE_SPA_525G2, 			=80009,"Cisco SPA 525G2",		// 5 lines / color / wifi / bluetooth
919
920	/* Extension Modules */
921	SKINNY_DEVICETYPE_CISCO_ADDON_7914,		=124,	"Cisco 7914 AddOn",
922	SKINNY_DEVICETYPE_CISCO_ADDON_7915_12BUTTON,	=227,	"Cisco 7915 AddOn (12 Buttons)",
923	SKINNY_DEVICETYPE_CISCO_ADDON_7915_24BUTTON,	=228,	"Cisco 7915 AddOn (24 Buttons)",
924	SKINNY_DEVICETYPE_CISCO_ADDON_7916_12BUTTON,	=229,	"Cisco 7916 AddOn (12 Buttons)",
925	SKINNY_DEVICETYPE_CISCO_ADDON_7916_24BUTTON,	=230,	"Cisco 7916 AddOn (24 Buttons)",
926	SKINNY_DEVICETYPE_CISCO_ADDON_SPA500S,		=99991,"Cisco SPA500DS (32 Buttons)",	// paper / fake id
927	SKINNY_DEVICETYPE_CISCO_ADDON_SPA500DS,		=99992,"Cisco SPA500DS (32 Buttons)",	// monochrome / fake id
928	SKINNY_DEVICETYPE_CISCO_ADDON_SPA932DS,		=99993,"Cisco SPA932DS (32 Buttons)",	// color / SPA525 / fake id
929	(SKINNY_DEVICETYPE_NOTDEFINED,			=99999, "Not Defined",
930}
931
932/*!
933 * \brief Skinny Device Registration (ENUM)
934 */
935enum encryptionMethod {
936	SKINNY_ENCRYPTIONMETHOD_NONE,			=0x0,	"No Encryption",
937	SKINNY_ENCRYPTIONMETHOD_AES_128_HMAC_SHA1_32,	=0x1,	"AES128 SHA1 32",
938	SKINNY_ENCRYPTIONMETHOD_AES_128_HMAC_SHA1_80,	=0x2,	"AES128 SHA1 80",
939	SKINNY_ENCRYPTIONMETHOD_F8_128_HMAC_SHA1_32,	=0x3,	"HMAC_SHA1_32",
940	SKINNY_ENCRYPTIONMETHOD_F8_128_HMAC_SHA1_80,	=0x4,	"HMAC_SHA1_80",
941	SKINNY_ENCRYPTIONMETHOD_AEAD_AES_128_GCM,	=0x5,	"AES 128 GCM",
942	SKINNY_ENCRYPTIONMETHOD_AEAD_AES_256_GCM,	=0x6,	"AES 256 GCM",
943}
944
945/*!
946 * \brief Skinny Miscellaneous Command Type (Enum)
947 */
948enum miscCommandType {
949	SKINNY_MISCCOMMANDTYPE_VIDEOFREEZEPICTURE,	=0x0,	"videoFreezePicture",
950	SKINNY_MISCCOMMANDTYPE_VIDEOFASTUPDATEPICTURE,	=0x1,	"videoFastUpdatePicture",
951	SKINNY_MISCCOMMANDTYPE_VIDEOFASTUPDATEGOB,	=0x2,	"videoFastUpdateGOB",
952	SKINNY_MISCCOMMANDTYPE_VIDEOFASTUPDATEMB,	=0x3,	"videoFastUpdateMB",
953	SKINNY_MISCCOMMANDTYPE_LOSTPICTURE,		=0x4,	"lostPicture",
954	SKINNY_MISCCOMMANDTYPE_LOSTPARTIALPICTURE,	=0x5,	"lostPartialPicture",
955	SKINNY_MISCCOMMANDTYPE_RECOVERYREFERENCEPICTURE,=0x6,	"recoveryReferencePicture",
956	SKINNY_MISCCOMMANDTYPE_TEMPORALSPATIALTRADEOFF,	=0x7,	"temporalSpatialTradeOff",
957}
958
959/*!
960 * \brief Skinny MediaTransportType
961 */
962enum mediaTransportType {
963	SKINNY_MEDIA_TRANSPORT_TYPE_RTP,		=0x1,	"Rtp",
964	SKINNY_MEDIA_TRANSPORT_TYPE_UDP,		,	"Udp",
965	SKINNY_MEDIA_TRANSPORT_TYPE_TCP,		,	"Tcp",
966}
967
968/*!
969 * \brief Skinny MediaType
970 */
971strenum mediaType {
972	SKINNY_MEDIA_TYPE_INVALID,			=0,	"Invalid",
973	SKINNY_MEDIA_TYPE_AUDIO,			,	"Audio",
974	SKINNY_MEDIA_TYPE_MAIN_VIDEO,			,	"Main Video",
975	SKINNY_MEDIA_TYPE_FECC,				,	"FECC",
976	SKINNY_MEDIA_TYPE_PRESENTATION_VIDEO,		,	"Presentation Video",
977	SKINNY_MEDIA_TYPE_DATA_APP_BFCP,		,	"DataApp_BFCP",
978	SKINNY_MEDIA_TYPE_DATA_APP_IXCHANNEL,		,	"DataApp_IxChannel",
979	SKINNY_MEDIA_TYPE_T38,				,	"T38",
980}
981
982/*!
983 * \brief Skinny Call History Disposition
984 */
985strenum callHistoryDisposition {
986	SKINNY_CALL_HISTORY_DISPOSITION_IGNORE,		=0x0,	"Ignore",
987	SKINNY_CALL_HISTORY_DISPOSITION_PLACED_CALLS,	,	"Placed Calls",
988	SKINNY_CALL_HISTORY_DISPOSITION_RECEIVED_CALLS,	,	"Received Calls",
989	SKINNY_CALL_HISTORY_DISPOSITION_MISSED_CALLS,	,	"Missed Calls",
990	SKINNY_CALL_HISTORY_DISPOSITION_UNKNOWN,	=0xfffffffe,	"Unknown",		// should have been 0xffffffff, use SENTINEL instead (gen_sccp_enum.awk issue)
991}
992
993/*!
994 * \brief Skinny Tone Direction
995 */
996strenum toneDirection {
997	SKINNY_TONEDIRECTION_USER,			=0,	"User",
998	SKINNY_TONEDIRECTION_NETWORK,			=0x1,	"Network",
999	SKINNY_TONEDIRECTION_BOTH,			=0x2,	"Both",
1000}
1001
1002/*!
1003 * \brief Skinny Reset Type
1004 */
1005strenum resetType {
1006	SKINNY_RESETTYPE_RESET,			=0x1,	"Reset",
1007	SKINNY_RESETTYPE_RESTART,		=0x2,	"Restart",
1008	SKINNY_RESETTYPE_APPLYCONFIG,		=0x3,	"ApplyConfig",
1009}
1010
1011/*!
1012 * \brief Skinny EchoCancellation Type
1013 */
1014enum echoCancellaton {
1015	SKINNY_ECHOCANCELLATION_OFF,		=0x0,	"Off",
1016	SKINNY_ECHOCANCELLATION_ON,		=0x1,	"On",
1017}
1018
1019/*!
1020 * \brief Skinny g723BitRate Type
1021 */
1022strenum g723BitRate {
1023	SKINNY_G723BITRATE_5_3,			=0x1,	"5.3",
1024	SKINNY_G723BITRATE_6_3,			=0x2,	"6.3",
1025}
1026
1027/*!
1028 * \brief Skinny IpAddrType Type
1029 */
1030enum ipAddr {
1031	SKINNY_IPADDR_IPV4,			=0x0,	"IPv4",
1032	SKINNY_IPADDR_IPV6,			=0x1,	"IPv6",
1033	SKINNY_IPADDR_IPV46,			=0x2,	"IPv4 and IPv6",
1034	SKINNY_IPADDR_INVALID,			=0x3,	"Ip Invalid",
1035}
1036
1037enum msgType {
1038	SKINNY_MSGTYPE_EVENT,			,0x0	"Event",
1039	SKINNY_MSGTYPE_REQUEST,			,	"Request",
1040	SKINNY_MSGTYPE_RESPONSE,		,	"Response",
1041}
1042enum msgDirection {
1043	SKINNY_MSGDIRECTION_UNKNOWN,		=0x0,	"Unknown",
1044	SKINNY_MSGDIRECTION_DEV2PBX,		,	"Dev2Pbx",
1045	SKINNY_MSGDIRECTION_PBX2DEV,		,	"Pbx2Dev",
1046	SKINNY_MSGDIRECTION_BIDIR,		,	"BiDirectional",
1047}
1048
1049} /* NAMESPACE skinny */
1050
1051// 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;
1052