ARI: Update version to 1.7.0
[asterisk/asterisk.git] / rest-api / api-docs / channels.json
1 {
2         "_copyright": "Copyright (C) 2012 - 2013, Digium, Inc.",
3         "_author": "David M. Lee, II <dlee@digium.com>",
4         "_svn_revision": "$Revision$",
5         "apiVersion": "1.7.0",
6         "swaggerVersion": "1.1",
7         "basePath": "http://localhost:8088/ari",
8         "resourcePath": "/api-docs/channels.{format}",
9         "apis": [
10                 {
11                         "path": "/channels",
12                         "description": "Active channels",
13                         "operations": [
14                                 {
15                                         "httpMethod": "GET",
16                                         "summary": "List all active channels in Asterisk.",
17                                         "nickname": "list",
18                                         "responseClass": "List[Channel]"
19                                 },
20                                 {
21                                         "httpMethod": "POST",
22                                         "summary": "Create a new channel (originate).",
23                                         "notes": "The new channel is created immediately and a snapshot of it returned. If a Stasis application is provided it will be automatically subscribed to the originated channel for further events and updates.",
24                                         "nickname": "originate",
25                                         "responseClass": "Channel",
26                                         "parameters": [
27                                                 {
28                                                         "name": "endpoint",
29                                                         "description": "Endpoint to call.",
30                                                         "paramType": "query",
31                                                         "required": true,
32                                                         "allowMultiple": false,
33                                                         "dataType": "string"
34                                                 },
35                                                 {
36                                                         "name": "extension",
37                                                         "description": "The extension to dial after the endpoint answers. Mutually exclusive with 'app'.",
38                                                         "paramType": "query",
39                                                         "required": false,
40                                                         "allowMultiple": false,
41                                                         "dataType": "string"
42                                                 },
43                                                 {
44                                                         "name": "context",
45                                                         "description": "The context to dial after the endpoint answers. If omitted, uses 'default'. Mutually exclusive with 'app'.",
46                                                         "paramType": "query",
47                                                         "required": false,
48                                                         "allowMultiple": false,
49                                                         "dataType": "string"
50                                                 },
51                                                 {
52                                                         "name": "priority",
53                                                         "description": "The priority to dial after the endpoint answers. If omitted, uses 1. Mutually exclusive with 'app'.",
54                                                         "paramType": "query",
55                                                         "required": false,
56                                                         "allowMultiple": false,
57                                                         "dataType": "long"
58                                                 },
59                                                 {
60                                                         "name": "label",
61                                                         "description": "The label to dial after the endpoint answers. Will supersede 'priority' if provided. Mutually exclusive with 'app'.",
62                                                         "paramType": "query",
63                                                         "required": false,
64                                                         "allowMultiple": false,
65                                                         "dataType": "string"
66                                                 },
67                                                 {
68                                                         "name": "app",
69                                                         "description": "The application that is subscribed to the originated channel. When the channel is answered, it will be passed to this Stasis application. Mutually exclusive with 'context', 'extension', 'priority', and 'label'.",
70                                                         "paramType": "query",
71                                                         "required": false,
72                                                         "allowMultiple": false,
73                                                         "dataType": "string"
74                                                 },
75                                                 {
76                                                         "name": "appArgs",
77                                                         "description": "The application arguments to pass to the Stasis application provided by 'app'. Mutually exclusive with 'context', 'extension', 'priority', and 'label'.",
78                                                         "paramType": "query",
79                                                         "required": false,
80                                                         "allowMultiple": false,
81                                                         "dataType": "string"
82                                                 },
83                                                 {
84                                                         "name": "callerId",
85                                                         "description": "CallerID to use when dialing the endpoint or extension.",
86                                                         "paramType": "query",
87                                                         "required": false,
88                                                         "allowMultiple": false,
89                                                         "dataType": "string"
90                                                 },
91                                                 {
92                                                         "name": "timeout",
93                                                         "description": "Timeout (in seconds) before giving up dialing, or -1 for no timeout.",
94                                                         "paramType": "query",
95                                                         "required": false,
96                                                         "allowMultiple": false,
97                                                         "dataType": "int",
98                                                         "defaultValue": 30
99                                                 },
100                                                 {
101                                                         "name": "variables",
102                                                         "description": "The \"variables\" key in the body object holds variable key/value pairs to set on the channel on creation. Other keys in the body object are interpreted as query parameters. Ex. { \"endpoint\": \"SIP/Alice\", \"variables\": { \"CALLERID(name)\": \"Alice\" } }",
103                                                         "paramType": "body",
104                                                         "required": false,
105                                                         "dataType": "containers",
106                                                         "allowMultiple": false
107                                                 },
108                                                 {
109                                                         "name": "channelId",
110                                                         "description": "The unique id to assign the channel on creation.",
111                                                         "paramType": "query",
112                                                         "required": false,
113                                                         "allowMultiple": false,
114                                                         "dataType": "string"
115                                                 },
116                                                 {
117                                                         "name": "otherChannelId",
118                                                         "description": "The unique id to assign the second channel when using local channels.",
119                                                         "paramType": "query",
120                                                         "required": false,
121                                                         "allowMultiple": false,
122                                                         "dataType": "string"
123                                                 },
124                                                 {
125                                                         "name": "originator",
126                                                         "description": "The unique id of the channel which is originating this one.",
127                                                         "paramType": "query",
128                                                         "required": false,
129                                                         "allowMultiple": false,
130                                                         "dataType": "string"
131                                                 }
132                                         ],
133                                         "errorResponses": [
134                                                 {
135                                                         "code": 400,
136                                                         "reason": "Invalid parameters for originating a channel."
137                                                 }
138                                         ]
139                                 }
140                         ]
141                 },
142                 {
143                         "path": "/channels/{channelId}",
144                         "description": "Active channel",
145                         "operations": [
146                                 {
147                                         "httpMethod": "GET",
148                                         "summary": "Channel details.",
149                                         "nickname": "get",
150                                         "responseClass": "Channel",
151                                         "parameters": [
152                                                 {
153                                                         "name": "channelId",
154                                                         "description": "Channel's id",
155                                                         "paramType": "path",
156                                                         "required": true,
157                                                         "allowMultiple": false,
158                                                         "dataType": "string"
159                                                 }
160                                         ],
161                                         "errorResponses": [
162                                                 {
163                                                         "code": 404,
164                                                         "reason": "Channel not found"
165                                                 }
166                                         ]
167                                 },
168                                 {
169                                         "httpMethod": "POST",
170                                         "summary": "Create a new channel (originate with id).",
171                                         "notes": "The new channel is created immediately and a snapshot of it returned. If a Stasis application is provided it will be automatically subscribed to the originated channel for further events and updates.",
172                                         "nickname": "originateWithId",
173                                         "responseClass": "Channel",
174                                         "parameters": [
175                                                 {
176                                                         "name": "channelId",
177                                                         "description": "The unique id to assign the channel on creation.",
178                                                         "paramType": "path",
179                                                         "required": true,
180                                                         "allowMultiple": false,
181                                                         "dataType": "string"
182                                                 },
183                                                 {
184                                                         "name": "endpoint",
185                                                         "description": "Endpoint to call.",
186                                                         "paramType": "query",
187                                                         "required": true,
188                                                         "allowMultiple": false,
189                                                         "dataType": "string"
190                                                 },
191                                                 {
192                                                         "name": "extension",
193                                                         "description": "The extension to dial after the endpoint answers. Mutually exclusive with 'app'.",
194                                                         "paramType": "query",
195                                                         "required": false,
196                                                         "allowMultiple": false,
197                                                         "dataType": "string"
198                                                 },
199                                                 {
200                                                         "name": "context",
201                                                         "description": "The context to dial after the endpoint answers. If omitted, uses 'default'. Mutually exclusive with 'app'.",
202                                                         "paramType": "query",
203                                                         "required": false,
204                                                         "allowMultiple": false,
205                                                         "dataType": "string"
206                                                 },
207                                                 {
208                                                         "name": "priority",
209                                                         "description": "The priority to dial after the endpoint answers. If omitted, uses 1. Mutually exclusive with 'app'.",
210                                                         "paramType": "query",
211                                                         "required": false,
212                                                         "allowMultiple": false,
213                                                         "dataType": "long"
214                                                 },
215                                                 {
216                                                         "name": "label",
217                                                         "description": "The label to dial after the endpoint answers. Will supersede 'priority' if provided. Mutually exclusive with 'app'.",
218                                                         "paramType": "query",
219                                                         "required": false,
220                                                         "allowMultiple": false,
221                                                         "dataType": "string"
222                                                 },
223                                                 {
224                                                         "name": "app",
225                                                         "description": "The application that is subscribed to the originated channel. When the channel is answered, it will be passed to this Stasis application. Mutually exclusive with 'context', 'extension', 'priority', and 'label'.",
226                                                         "paramType": "query",
227                                                         "required": false,
228                                                         "allowMultiple": false,
229                                                         "dataType": "string"
230                                                 },
231                                                 {
232                                                         "name": "appArgs",
233                                                         "description": "The application arguments to pass to the Stasis application provided by 'app'. Mutually exclusive with 'context', 'extension', 'priority', and 'label'.",
234                                                         "paramType": "query",
235                                                         "required": false,
236                                                         "allowMultiple": false,
237                                                         "dataType": "string"
238                                                 },
239                                                 {
240                                                         "name": "callerId",
241                                                         "description": "CallerID to use when dialing the endpoint or extension.",
242                                                         "paramType": "query",
243                                                         "required": false,
244                                                         "allowMultiple": false,
245                                                         "dataType": "string"
246                                                 },
247                                                 {
248                                                         "name": "timeout",
249                                                         "description": "Timeout (in seconds) before giving up dialing, or -1 for no timeout.",
250                                                         "paramType": "query",
251                                                         "required": false,
252                                                         "allowMultiple": false,
253                                                         "dataType": "int",
254                                                         "defaultValue": 30
255                                                 },
256                                                 {
257                                                         "name": "variables",
258                                                         "description": "The \"variables\" key in the body object holds variable key/value pairs to set on the channel on creation. Other keys in the body object are interpreted as query parameters. Ex. { \"endpoint\": \"SIP/Alice\", \"variables\": { \"CALLERID(name)\": \"Alice\" } }",
259                                                         "paramType": "body",
260                                                         "required": false,
261                                                         "dataType": "containers",
262                                                         "allowMultiple": false
263                                                 },
264                                                 {
265                                                         "name": "otherChannelId",
266                                                         "description": "The unique id to assign the second channel when using local channels.",
267                                                         "paramType": "query",
268                                                         "required": false,
269                                                         "allowMultiple": false,
270                                                         "dataType": "string"
271                                                 },
272                                                 {
273                                                         "name": "originator",
274                                                         "description": "The unique id of the channel which is originating this one.",
275                                                         "paramType": "query",
276                                                         "required": false,
277                                                         "allowMultiple": false,
278                                                         "dataType": "string"
279                                                 }
280                                         ],
281                                         "errorResponses": [
282                                                 {
283                                                         "code": 400,
284                                                         "reason": "Invalid parameters for originating a channel."
285                                                 }
286                                         ]
287
288                                 },
289                                 {
290                                         "httpMethod": "DELETE",
291                                         "summary": "Delete (i.e. hangup) a channel.",
292                                         "nickname": "hangup",
293                                         "responseClass": "void",
294                                         "parameters": [
295                                                 {
296                                                         "name": "channelId",
297                                                         "description": "Channel's id",
298                                                         "paramType": "path",
299                                                         "required": true,
300                                                         "allowMultiple": false,
301                                                         "dataType": "string"
302                                                 },
303                                                 {
304                                                         "name": "reason",
305                                                         "description": "Reason for hanging up the channel",
306                                                         "paramType": "query",
307                                                         "required": false,
308                                                         "allowMultiple": false,
309                                                         "dataType": "string",
310                                                         "defalutValue": "normal",
311                                                         "allowableValues": {
312                                                                 "valueType": "LIST",
313                                                                 "values": [
314                                                                         "normal",
315                                                                         "busy",
316                                                                         "congestion",
317                                                                         "no_answer"
318                                                                 ]
319                                                         }
320                                                 }
321                                         ],
322                                         "errorResponses": [
323                                                 {
324                                                         "code": 400,
325                                                         "reason": "Invalid reason for hangup provided"
326                                                 },
327                                                 {
328                                                         "code": 404,
329                                                         "reason": "Channel not found"
330                                                 }
331                                         ]
332                                 }
333                         ]
334                 },
335                 {
336                         "path": "/channels/{channelId}/continue",
337                         "description": "Exit application; continue execution in the dialplan",
338                         "operations": [
339                                 {
340                                         "httpMethod": "POST",
341                                         "summary": "Exit application; continue execution in the dialplan.",
342                                         "nickname": "continueInDialplan",
343                                         "responseClass": "void",
344                                         "parameters": [
345                                                 {
346                                                         "name": "channelId",
347                                                         "description": "Channel's id",
348                                                         "paramType": "path",
349                                                         "required": true,
350                                                         "allowMultiple": false,
351                                                         "dataType": "string"
352                                                 },
353                                                 {
354                                                         "name": "context",
355                                                         "description": "The context to continue to.",
356                                                         "paramType": "query",
357                                                         "required": false,
358                                                         "allowMultiple": false,
359                                                         "dataType": "string"
360                                                 },
361                                                 {
362                                                         "name": "extension",
363                                                         "description": "The extension to continue to.",
364                                                         "paramType": "query",
365                                                         "required": false,
366                                                         "allowMultiple": false,
367                                                         "dataType": "string"
368                                                 },
369                                                 {
370                                                         "name": "priority",
371                                                         "description": "The priority to continue to.",
372                                                         "paramType": "query",
373                                                         "required": false,
374                                                         "allowMultiple": false,
375                                                         "dataType": "int"
376                                                 },
377                                                 {
378                                                         "name": "label",
379                                                         "description": "The label to continue to - will supersede 'priority' if both are provided.",
380                                                         "paramType": "query",
381                                                         "required": false,
382                                                         "allowMultiple": false,
383                                                         "dataType": "string"
384                                                 }
385                                         ],
386                                         "errorResponses": [
387                                                 {
388                                                         "code": 404,
389                                                         "reason": "Channel not found"
390                                                 },
391                                                 {
392                                                         "code": 409,
393                                                         "reason": "Channel not in a Stasis application"
394                                                 }
395                                         ]
396                                 }
397                         ]
398                 },
399                 {
400                         "path": "/channels/{channelId}/redirect",
401                         "description": "Inform the channel that it should redirect itself to a different location. Note that this will almost certainly cause the channel to exit the application.",
402                         "operations": [
403                                 {
404                                         "httpMethod": "POST",
405                                         "summary": "Redirect the channel to a different location.",
406                                         "nickname": "redirect",
407                                         "responseClass": "void",
408                                         "parameters": [
409                                                 {
410                                                         "name": "channelId",
411                                                         "description": "Channel's id",
412                                                         "paramType": "path",
413                                                         "required": true,
414                                                         "allowMultiple": false,
415                                                         "dataType": "string"
416                                                 },
417                                                 {
418                                                         "name": "endpoint",
419                                                         "description": "The endpoint to redirect the channel to",
420                                                         "paramType": "query",
421                                                         "required": true,
422                                                         "allowMultiple": false,
423                                                         "dataType": "string"
424                                                 }
425                                         ],
426                                         "errorResponses": [
427                                                 {
428                                                         "code": 400,
429                                                         "reason": "Endpoint parameter not provided"
430                                                 },
431                                                 {
432                                                         "code": 404,
433                                                         "reason": "Channel or endpoint not found"
434                                                 },
435                                                 {
436                                                         "code": 409,
437                                                         "reason": "Channel not in a Stasis application"
438                                                 },
439                                                 {
440                                                         "code": 422,
441                                                         "reason": "Endpoint is not the same type as the channel"
442                                                 }
443                                         ]
444                                 }
445                         ]
446                 },
447                 {
448                         "path": "/channels/{channelId}/answer",
449                         "description": "Answer a channel",
450                         "operations": [
451                                 {
452                                         "httpMethod": "POST",
453                                         "summary": "Answer a channel.",
454                                         "nickname": "answer",
455                                         "responseClass": "void",
456                                         "parameters": [
457                                                 {
458                                                         "name": "channelId",
459                                                         "description": "Channel's id",
460                                                         "paramType": "path",
461                                                         "required": true,
462                                                         "allowMultiple": false,
463                                                         "dataType": "string"
464                                                 }
465                                         ],
466                                         "errorResponses": [
467                                                 {
468                                                         "code": 404,
469                                                         "reason": "Channel not found"
470                                                 },
471                                                 {
472                                                         "code": 409,
473                                                         "reason": "Channel not in a Stasis application"
474                                                 }
475                                         ]
476                                 }
477                         ]
478                 },
479                 {
480                         "path": "/channels/{channelId}/ring",
481                         "description": "Send a ringing indication to a channel",
482                         "operations": [
483                                 {
484                                         "httpMethod": "POST",
485                                         "summary": "Indicate ringing to a channel.",
486                                         "nickname": "ring",
487                                         "responseClass": "void",
488                                         "parameters": [
489                                                 {
490                                                         "name": "channelId",
491                                                         "description": "Channel's id",
492                                                         "paramType": "path",
493                                                         "required": true,
494                                                         "allowMultiple": false,
495                                                         "dataType": "string"
496                                                 }
497                                         ],
498                                         "errorResponses": [
499                                                 {
500                                                         "code": 404,
501                                                         "reason": "Channel not found"
502                                                 },
503                                                 {
504                                                         "code": 409,
505                                                         "reason": "Channel not in a Stasis application"
506                                                 }
507                                         ]
508                                 },
509                                 {
510                                         "httpMethod": "DELETE",
511                                         "summary": "Stop ringing indication on a channel if locally generated.",
512                                         "nickname": "ringStop",
513                                         "responseClass": "void",
514                                         "parameters": [
515                                                 {
516                                                         "name": "channelId",
517                                                         "description": "Channel's id",
518                                                         "paramType": "path",
519                                                         "required": true,
520                                                         "allowMultiple": false,
521                                                         "dataType": "string"
522                                                 }
523                                         ],
524                                         "errorResponses": [
525                                                 {
526                                                         "code": 404,
527                                                         "reason": "Channel not found"
528                                                 },
529                                                 {
530                                                         "code": 409,
531                                                         "reason": "Channel not in a Stasis application"
532                                                 }
533                                         ]
534                                 }
535                         ]
536                 },
537                 {
538                         "path": "/channels/{channelId}/dtmf",
539                         "description": "Send DTMF to a channel",
540                         "operations": [
541                                 {
542                                         "httpMethod": "POST",
543                                         "summary": "Send provided DTMF to a given channel.",
544                                         "nickname": "sendDTMF",
545                                         "responseClass": "void",
546                                         "parameters": [
547                                                 {
548                                                         "name": "channelId",
549                                                         "description": "Channel's id",
550                                                         "paramType": "path",
551                                                         "required": true,
552                                                         "allowMultiple": false,
553                                                         "dataType": "string"
554                                                 },
555                                                 {
556                                                         "name": "dtmf",
557                                                         "description": "DTMF To send.",
558                                                         "paramType": "query",
559                                                         "required": false,
560                                                         "allowMultiple": false,
561                                                         "dataType": "string"
562                                                 },
563                                                 {
564                                                         "name": "before",
565                                                         "description": "Amount of time to wait before DTMF digits (specified in milliseconds) start.",
566                                                         "paramType": "query",
567                                                         "required": false,
568                                                         "allowMultiple": false,
569                                                         "dataType": "int",
570                                                         "defaultValue": 0
571                                                 },
572                                                 {
573                                                         "name": "between",
574                                                         "description": "Amount of time in between DTMF digits (specified in milliseconds).",
575                                                         "paramType": "query",
576                                                         "required": false,
577                                                         "allowMultiple": false,
578                                                         "dataType": "int",
579                                                         "defaultValue": 100
580                                                 },
581                                                 {
582                                                         "name": "duration",
583                                                         "description": "Length of each DTMF digit (specified in milliseconds).",
584                                                         "paramType": "query",
585                                                         "required": false,
586                                                         "allowMultiple": false,
587                                                         "dataType": "int",
588                                                         "defaultValue": 100
589                                                 },
590                                                 {
591                                                         "name": "after",
592                                                         "description": "Amount of time to wait after DTMF digits (specified in milliseconds) end.",
593                                                         "paramType": "query",
594                                                         "required": false,
595                                                         "allowMultiple": false,
596                                                         "dataType": "int",
597                                                         "defaultValue": 0
598                                                 }
599                                         ],
600                                         "errorResponses": [
601                                                 {
602                                                         "code": 400,
603                                                         "reason": "DTMF is required"
604                                                 },
605                                                 {
606                                                         "code": 404,
607                                                         "reason": "Channel not found"
608                                                 },
609                                                 {
610                                                         "code": 409,
611                                                         "reason": "Channel not in a Stasis application"
612                                                 }
613                                         ]
614                                 }
615                         ]
616                 },
617                 {
618                         "path": "/channels/{channelId}/mute",
619                         "description": "Mute a channel",
620                         "operations": [
621                                 {
622                                         "httpMethod": "POST",
623                                         "summary": "Mute a channel.",
624                                         "nickname": "mute",
625                                         "responseClass": "void",
626                                         "parameters": [
627                                                 {
628                                                         "name": "channelId",
629                                                         "description": "Channel's id",
630                                                         "paramType": "path",
631                                                         "required": true,
632                                                         "allowMultiple": false,
633                                                         "dataType": "string"
634                                                 },
635                                                 {
636                                                         "name": "direction",
637                                                         "description": "Direction in which to mute audio",
638                                                         "paramType": "query",
639                                                         "required": false,
640                                                         "allowMultiple": false,
641                                                         "dataType": "string",
642                                                         "defaultValue": "both",
643                                                         "allowableValues": {
644                                                                 "valueType": "LIST",
645                                                                 "values": [
646                                                                         "both",
647                                                                         "in",
648                                                                         "out"
649                                                                 ]
650                                                         }
651                                                 }
652                                         ],
653                                         "errorResponses": [
654                                                 {
655                                                         "code": 404,
656                                                         "reason": "Channel not found"
657                                                 },
658                                                 {
659                                                         "code": 409,
660                                                         "reason": "Channel not in a Stasis application"
661                                                 }
662                                         ]
663                                 },
664                                 {
665                                         "httpMethod": "DELETE",
666                                         "summary": "Unmute a channel.",
667                                         "nickname": "unmute",
668                                         "responseClass": "void",
669                                         "parameters": [
670                                                 {
671                                                         "name": "channelId",
672                                                         "description": "Channel's id",
673                                                         "paramType": "path",
674                                                         "required": true,
675                                                         "allowMultiple": false,
676                                                         "dataType": "string"
677                                                 },
678                                                 {
679                                                         "name": "direction",
680                                                         "description": "Direction in which to unmute audio",
681                                                         "paramType": "query",
682                                                         "required": false,
683                                                         "allowMultiple": false,
684                                                         "dataType": "string",
685                                                         "defaultValue": "both",
686                                                         "allowableValues": {
687                                                                 "valueType": "LIST",
688                                                                 "values": [
689                                                                         "both",
690                                                                         "in",
691                                                                         "out"
692                                                                 ]
693                                                         }
694                                                 }
695                                         ],
696                                         "errorResponses": [
697                                                 {
698                                                         "code": 404,
699                                                         "reason": "Channel not found"
700                                                 },
701                                                 {
702                                                         "code": 409,
703                                                         "reason": "Channel not in a Stasis application"
704                                                 }
705                                         ]
706                                 }
707                         ]
708                 },
709                 {
710                         "path": "/channels/{channelId}/hold",
711                         "description": "Put a channel on hold",
712                         "operations": [
713                                 {
714                                         "httpMethod": "POST",
715                                         "summary": "Hold a channel.",
716                                         "nickname": "hold",
717                                         "responseClass": "void",
718                                         "parameters": [
719                                                 {
720                                                         "name": "channelId",
721                                                         "description": "Channel's id",
722                                                         "paramType": "path",
723                                                         "required": true,
724                                                         "allowMultiple": false,
725                                                         "dataType": "string"
726                                                 }
727                                         ],
728                                         "errorResponses": [
729                                                 {
730                                                         "code": 404,
731                                                         "reason": "Channel not found"
732                                                 },
733                                                 {
734                                                         "code": 409,
735                                                         "reason": "Channel not in a Stasis application"
736                                                 }
737                                         ]
738                                 },
739                                 {
740                                         "httpMethod": "DELETE",
741                                         "summary": "Remove a channel from hold.",
742                                         "nickname": "unhold",
743                                         "responseClass": "void",
744                                         "parameters": [
745                                                 {
746                                                         "name": "channelId",
747                                                         "description": "Channel's id",
748                                                         "paramType": "path",
749                                                         "required": true,
750                                                         "allowMultiple": false,
751                                                         "dataType": "string"
752                                                 }
753                                         ],
754                                         "errorResponses": [
755                                                 {
756                                                         "code": 404,
757                                                         "reason": "Channel not found"
758                                                 },
759                                                 {
760                                                         "code": 409,
761                                                         "reason": "Channel not in a Stasis application"
762                                                 }
763                                         ]
764                                 }
765                         ]
766                 },
767                 {
768                         "path": "/channels/{channelId}/moh",
769                         "description": "Play music on hold to a channel",
770                         "operations": [
771                                 {
772                                         "httpMethod": "POST",
773                                         "summary": "Play music on hold to a channel.",
774                                         "notes": "Using media operations such as /play on a channel playing MOH in this manner will suspend MOH without resuming automatically. If continuing music on hold is desired, the stasis application must reinitiate music on hold.",
775                                         "nickname": "startMoh",
776                                         "responseClass": "void",
777                                         "parameters": [
778                                                 {
779                                                         "name": "channelId",
780                                                         "description": "Channel's id",
781                                                         "paramType": "path",
782                                                         "required": true,
783                                                         "allowMultiple": false,
784                                                         "dataType": "string"
785                                                 },
786                                                 {
787                                                         "name": "mohClass",
788                                                         "description": "Music on hold class to use",
789                                                         "paramType": "query",
790                                                         "required": false,
791                                                         "allowMultiple": false,
792                                                         "dataType": "string"
793                                                 }
794                                         ],
795                                         "errorResponses": [
796                                                 {
797                                                         "code": 404,
798                                                         "reason": "Channel not found"
799                                                 },
800                                                 {
801                                                         "code": 409,
802                                                         "reason": "Channel not in a Stasis application"
803                                                 }
804                                         ]
805                                 },
806                                 {
807                                         "httpMethod": "DELETE",
808                                         "summary": "Stop playing music on hold to a channel.",
809                                         "nickname": "stopMoh",
810                                         "responseClass": "void",
811                                         "parameters": [
812                                                 {
813                                                         "name": "channelId",
814                                                         "description": "Channel's id",
815                                                         "paramType": "path",
816                                                         "required": true,
817                                                         "allowMultiple": false,
818                                                         "dataType": "string"
819                                                 }
820                                         ],
821                                         "errorResponses": [
822                                                 {
823                                                         "code": 404,
824                                                         "reason": "Channel not found"
825                                                 },
826                                                 {
827                                                         "code": 409,
828                                                         "reason": "Channel not in a Stasis application"
829                                                 }
830                                         ]
831                                 }
832                         ]
833                 },
834                 {
835                         "path": "/channels/{channelId}/silence",
836                         "description": "Play silence to a channel",
837                         "operations": [
838                                 {
839                                         "httpMethod": "POST",
840                                         "summary": "Play silence to a channel.",
841                                         "notes": "Using media operations such as /play on a channel playing silence in this manner will suspend silence without resuming automatically.",
842                                         "nickname": "startSilence",
843                                         "responseClass": "void",
844                                         "parameters": [
845                                                 {
846                                                         "name": "channelId",
847                                                         "description": "Channel's id",
848                                                         "paramType": "path",
849                                                         "required": true,
850                                                         "allowMultiple": false,
851                                                         "dataType": "string"
852                                                 }
853                                         ],
854                                         "errorResponses": [
855                                                 {
856                                                         "code": 404,
857                                                         "reason": "Channel not found"
858                                                 },
859                                                 {
860                                                         "code": 409,
861                                                         "reason": "Channel not in a Stasis application"
862                                                 }
863                                         ]
864                                 },
865                                 {
866                                         "httpMethod": "DELETE",
867                                         "summary": "Stop playing silence to a channel.",
868                                         "nickname": "stopSilence",
869                                         "responseClass": "void",
870                                         "parameters": [
871                                                 {
872                                                         "name": "channelId",
873                                                         "description": "Channel's id",
874                                                         "paramType": "path",
875                                                         "required": true,
876                                                         "allowMultiple": false,
877                                                         "dataType": "string"
878                                                 }
879                                         ],
880                                         "errorResponses": [
881                                                 {
882                                                         "code": 404,
883                                                         "reason": "Channel not found"
884                                                 },
885                                                 {
886                                                         "code": 409,
887                                                         "reason": "Channel not in a Stasis application"
888                                                 }
889                                         ]
890                                 }
891                         ]
892                 },
893                 {
894                         "path": "/channels/{channelId}/play",
895                         "description": "Play media to a channel",
896                         "operations": [
897                                 {
898                                         "httpMethod": "POST",
899                                         "summary": "Start playback of media.",
900                                         "notes": "The media URI may be any of a number of URI's. Currently sound:, recording:, number:, digits:, characters:, and tone: URI's are supported. This operation creates a playback resource that can be used to control the playback of media (pause, rewind, fast forward, etc.)",
901                                         "nickname": "play",
902                                         "responseClass": "Playback",
903                                         "parameters": [
904                                                 {
905                                                         "name": "channelId",
906                                                         "description": "Channel's id",
907                                                         "paramType": "path",
908                                                         "required": true,
909                                                         "allowMultiple": false,
910                                                         "dataType": "string"
911                                                 },
912                                                 {
913                                                         "name": "media",
914                                                         "description": "Media's URI to play.",
915                                                         "paramType": "query",
916                                                         "required": true,
917                                                         "allowMultiple": false,
918                                                         "dataType": "string"
919                                                 },
920                                                 {
921                                                         "name": "lang",
922                                                         "description": "For sounds, selects language for sound.",
923                                                         "paramType": "query",
924                                                         "required": false,
925                                                         "allowMultiple": false,
926                                                         "dataType": "string"
927                                                 },
928                                                 {
929                                                         "name": "offsetms",
930                                                         "description": "Number of media to skip before playing.",
931                                                         "paramType": "query",
932                                                         "required": false,
933                                                         "allowMultiple": false,
934                                                         "dataType": "int"
935                                                 },
936                                                 {
937                                                         "name": "skipms",
938                                                         "description": "Number of milliseconds to skip for forward/reverse operations.",
939                                                         "paramType": "query",
940                                                         "required": false,
941                                                         "allowMultiple": false,
942                                                         "dataType": "int",
943                                                         "defaultValue": 3000
944                                                 },
945                                                 {
946                                                         "name": "playbackId",
947                                                         "description": "Playback ID.",
948                                                         "paramType": "query",
949                                                         "required": false,
950                                                         "allowMultiple": false,
951                                                         "dataType": "string"
952                                                 }
953                                         ],
954                                         "errorResponses": [
955                                                 {
956                                                         "code": 404,
957                                                         "reason": "Channel not found"
958                                                 },
959                                                 {
960                                                         "code": 409,
961                                                         "reason": "Channel not in a Stasis application"
962                                                 }
963                                         ]
964                                 }
965                         ]
966                 },
967                 {
968                         "path": "/channels/{channelId}/play/{playbackId}",
969                         "description": "Play media to a channel",
970                         "operations": [
971                                 {
972                                         "httpMethod": "POST",
973                                         "summary": "Start playback of media and specify the playbackId.",
974                                         "notes": "The media URI may be any of a number of URI's. Currently sound:, recording:, number:, digits:, characters:, and tone: URI's are supported. This operation creates a playback resource that can be used to control the playback of media (pause, rewind, fast forward, etc.)",
975                                         "nickname": "playWithId",
976                                         "responseClass": "Playback",
977                                         "parameters": [
978                                                 {
979                                                         "name": "channelId",
980                                                         "description": "Channel's id",
981                                                         "paramType": "path",
982                                                         "required": true,
983                                                         "allowMultiple": false,
984                                                         "dataType": "string"
985                                                 },
986                                                 {
987                                                         "name": "playbackId",
988                                                         "description": "Playback ID.",
989                                                         "paramType": "path",
990                                                         "required": true,
991                                                         "allowMultiple": false,
992                                                         "dataType": "string"
993                                                 },
994                                                 {
995                                                         "name": "media",
996                                                         "description": "Media's URI to play.",
997                                                         "paramType": "query",
998                                                         "required": true,
999                                                         "allowMultiple": false,
1000                                                         "dataType": "string"
1001                                                 },
1002                                                 {
1003                                                         "name": "lang",
1004                                                         "description": "For sounds, selects language for sound.",
1005                                                         "paramType": "query",
1006                                                         "required": false,
1007                                                         "allowMultiple": false,
1008                                                         "dataType": "string"
1009                                                 },
1010                                                 {
1011                                                         "name": "offsetms",
1012                                                         "description": "Number of media to skip before playing.",
1013                                                         "paramType": "query",
1014                                                         "required": false,
1015                                                         "allowMultiple": false,
1016                                                         "dataType": "int"
1017                                                 },
1018                                                 {
1019                                                         "name": "skipms",
1020                                                         "description": "Number of milliseconds to skip for forward/reverse operations.",
1021                                                         "paramType": "query",
1022                                                         "required": false,
1023                                                         "allowMultiple": false,
1024                                                         "dataType": "int",
1025                                                         "defaultValue": 3000
1026                                                 }
1027                                         ],
1028                                         "errorResponses": [
1029                                                 {
1030                                                         "code": 404,
1031                                                         "reason": "Channel not found"
1032                                                 },
1033                                                 {
1034                                                         "code": 409,
1035                                                         "reason": "Channel not in a Stasis application"
1036                                                 }
1037                                         ]
1038                                 }
1039                         ]
1040                 },
1041                 {
1042                         "path": "/channels/{channelId}/record",
1043                         "description": "Record audio from a channel",
1044                         "operations": [
1045                                 {
1046                                         "httpMethod": "POST",
1047                                         "summary": "Start a recording.",
1048                                         "notes": "Record audio from a channel. Note that this will not capture audio sent to the channel. The bridge itself has a record feature if that's what you want.",
1049                                         "nickname": "record",
1050                                         "responseClass": "LiveRecording",
1051                                         "parameters": [
1052                                                 {
1053                                                         "name": "channelId",
1054                                                         "description": "Channel's id",
1055                                                         "paramType": "path",
1056                                                         "required": true,
1057                                                         "allowMultiple": false,
1058                                                         "dataType": "string"
1059                                                 },
1060                                                 {
1061                                                         "name": "name",
1062                                                         "description": "Recording's filename",
1063                                                         "paramType": "query",
1064                                                         "required": true,
1065                                                         "allowMultiple": false,
1066                                                         "dataType": "string"
1067                                                 },
1068                                                 {
1069                                                         "name": "format",
1070                                                         "description": "Format to encode audio in",
1071                                                         "paramType": "query",
1072                                                         "required": true,
1073                                                         "allowMultiple": false,
1074                                                         "dataType": "string"
1075                                                 },
1076                                                 {
1077                                                         "name": "maxDurationSeconds",
1078                                                         "description": "Maximum duration of the recording, in seconds. 0 for no limit",
1079                                                         "paramType": "query",
1080                                                         "required": false,
1081                                                         "allowMultiple": false,
1082                                                         "dataType": "int",
1083                                                         "defaultValue": 0,
1084                                                         "allowableValues": {
1085                                                                 "valueType": "RANGE",
1086                                                                 "min": 0
1087                                                         }
1088                                                 },
1089                                                 {
1090                                                         "name": "maxSilenceSeconds",
1091                                                         "description": "Maximum duration of silence, in seconds. 0 for no limit",
1092                                                         "paramType": "query",
1093                                                         "required": false,
1094                                                         "allowMultiple": false,
1095                                                         "dataType": "int",
1096                                                         "defaultValue": 0,
1097                                                         "allowableValues": {
1098                                                                 "valueType": "RANGE",
1099                                                                 "min": 0
1100                                                         }
1101                                                 },
1102                                                 {
1103                                                         "name": "ifExists",
1104                                                         "description": "Action to take if a recording with the same name already exists.",
1105                                                         "paramType": "query",
1106                                                         "required": false,
1107                                                         "allowMultiple": false,
1108                                                         "dataType": "string",
1109                                                         "defaultValue": "fail",
1110                                                         "allowableValues": {
1111                                                                 "valueType": "LIST",
1112                                                                 "values": [
1113                                                                         "fail",
1114                                                                         "overwrite",
1115                                                                         "append"
1116                                                                 ]
1117                                                         }
1118                                                 },
1119                                                 {
1120                                                         "name": "beep",
1121                                                         "description": "Play beep when recording begins",
1122                                                         "paramType": "query",
1123                                                         "required": false,
1124                                                         "allowMultiple": false,
1125                                                         "dataType": "boolean",
1126                                                         "defaultValue": false
1127                                                 },
1128                                                 {
1129                                                         "name": "terminateOn",
1130                                                         "description": "DTMF input to terminate recording",
1131                                                         "paramType": "query",
1132                                                         "required": false,
1133                                                         "allowMultiple": false,
1134                                                         "dataType": "string",
1135                                                         "defaultValue": "none",
1136                                                         "allowableValues": {
1137                                                                 "valueType": "LIST",
1138                                                                 "values": [
1139                                                                         "none",
1140                                                                         "any",
1141                                                                         "*",
1142                                                                         "#"
1143                                                                 ]
1144                                                         }
1145                                                 }
1146                                         ],
1147                                         "errorResponses": [
1148                                                 {
1149                                                         "code": 400,
1150                                                         "reason": "Invalid parameters"
1151                                                 },
1152                                                 {
1153                                                         "code": 404,
1154                                                         "reason": "Channel not found"
1155                                                 },
1156                                                 {
1157                                                         "code": 409,
1158                                                         "reason": "Channel is not in a Stasis application; the channel is currently bridged with other hcannels; A recording with the same name already exists on the system and can not be overwritten because it is in progress or ifExists=fail"
1159                                                 },
1160                                                 {
1161                                                         "code": 422,
1162                                                         "reason": "The format specified is unknown on this system"
1163                                                 }
1164                                         ]
1165                                 }
1166                         ]
1167                 },
1168                 {
1169                         "path": "/channels/{channelId}/variable",
1170                         "description": "Variables on a channel",
1171                         "operations": [
1172                                 {
1173                                         "httpMethod": "GET",
1174                                         "summary": "Get the value of a channel variable or function.",
1175                                         "nickname": "getChannelVar",
1176                                         "responseClass": "Variable",
1177                                         "parameters": [
1178                                                 {
1179                                                         "name": "channelId",
1180                                                         "description": "Channel's id",
1181                                                         "paramType": "path",
1182                                                         "required": true,
1183                                                         "allowMultiple": false,
1184                                                         "dataType": "string"
1185                                                 },
1186                                                 {
1187                                                         "name": "variable",
1188                                                         "description": "The channel variable or function to get",
1189                                                         "paramType": "query",
1190                                                         "required": true,
1191                                                         "allowMultiple": false,
1192                                                         "dataType": "string"
1193                                                 }
1194                                         ],
1195                                         "errorResponses": [
1196                                                 {
1197                                                         "code": 400,
1198                                                         "reason": "Missing variable parameter."
1199                                                 },
1200                                                 {
1201                                                         "code": 404,
1202                                                         "reason": "Channel or variable not found"
1203                                                 },
1204                                                 {
1205                                                         "code": 409,
1206                                                         "reason": "Channel not in a Stasis application"
1207                                                 }
1208                                         ]
1209                                 },
1210                                 {
1211                                         "httpMethod": "POST",
1212                                         "summary": "Set the value of a channel variable or function.",
1213                                         "nickname": "setChannelVar",
1214                                         "responseClass": "void",
1215                                         "parameters": [
1216                                                 {
1217                                                         "name": "channelId",
1218                                                         "description": "Channel's id",
1219                                                         "paramType": "path",
1220                                                         "required": true,
1221                                                         "allowMultiple": false,
1222                                                         "dataType": "string"
1223                                                 },
1224                                                 {
1225                                                         "name": "variable",
1226                                                         "description": "The channel variable or function to set",
1227                                                         "paramType": "query",
1228                                                         "required": true,
1229                                                         "allowMultiple": false,
1230                                                         "dataType": "string"
1231                                                 },
1232                                                 {
1233                                                         "name": "value",
1234                                                         "description": "The value to set the variable to",
1235                                                         "paramType": "query",
1236                                                         "required": false,
1237                                                         "allowMultiple": false,
1238                                                         "dataType": "string"
1239                                                 }
1240                                         ],
1241                                         "errorResponses": [
1242                                                 {
1243                                                         "code": 400,
1244                                                         "reason": "Missing variable parameter."
1245                                                 },
1246                                                 {
1247                                                         "code": 404,
1248                                                         "reason": "Channel not found"
1249                                                 },
1250                                                 {
1251                                                         "code": 409,
1252                                                         "reason": "Channel not in a Stasis application"
1253                                                 }
1254                                         ]
1255                                 }
1256                         ]
1257                 },
1258                 {
1259                         "path": "/channels/{channelId}/snoop",
1260                         "description": "Snoop (spy/whisper) on a channel",
1261                         "operations": [
1262                                 {
1263                                         "httpMethod": "POST",
1264                                         "summary": "Start snooping.",
1265                                         "notes": "Snoop (spy/whisper) on a specific channel.",
1266                                         "nickname": "snoopChannel",
1267                                         "responseClass": "Channel",
1268                                         "parameters": [
1269                                                 {
1270                                                         "name": "channelId",
1271                                                         "description": "Channel's id",
1272                                                         "paramType": "path",
1273                                                         "required": true,
1274                                                         "allowMultiple": false,
1275                                                         "dataType": "string"
1276                                                 },
1277                                                 {
1278                                                         "name": "spy",
1279                                                         "description": "Direction of audio to spy on",
1280                                                         "paramType": "query",
1281                                                         "required": false,
1282                                                         "allowMultiple": false,
1283                                                         "dataType": "string",
1284                                                         "defaultValue": "none",
1285                                                         "allowableValues": {
1286                                                                 "valueType": "LIST",
1287                                                                 "values": [
1288                                                                         "none",
1289                                                                         "both",
1290                                                                         "out",
1291                                                                         "in"
1292                                                                 ]
1293                                                         }
1294                                                 },
1295                                                 {
1296                                                         "name": "whisper",
1297                                                         "description": "Direction of audio to whisper into",
1298                                                         "paramType": "query",
1299                                                         "required": false,
1300                                                         "allowMultiple": false,
1301                                                         "dataType": "string",
1302                                                         "defaultValue": "none",
1303                                                         "allowableValues": {
1304                                                                 "valueType": "LIST",
1305                                                                 "values": [
1306                                                                         "none",
1307                                                                         "both",
1308                                                                         "out",
1309                                                                         "in"
1310                                                                 ]
1311                                                         }
1312                                                 },
1313                                                 {
1314                                                         "name": "app",
1315                                                         "description": "Application the snooping channel is placed into",
1316                                                         "paramType": "query",
1317                                                         "required": true,
1318                                                         "allowMultiple": false,
1319                                                         "dataType": "string"
1320                                                 },
1321                                                 {
1322                                                         "name": "appArgs",
1323                                                         "description": "The application arguments to pass to the Stasis application",
1324                                                         "paramType": "query",
1325                                                         "required": false,
1326                                                         "allowMultiple": false,
1327                                                         "dataType": "string"
1328                                                 },
1329                                                 {
1330                                                         "name": "snoopId",
1331                                                         "description": "Unique ID to assign to snooping channel",
1332                                                         "paramType": "query",
1333                                                         "required": false,
1334                                                         "allowMultiple": false,
1335                                                         "dataType": "string"
1336                                                 }
1337                                         ],
1338                                         "errorResponses": [
1339                                                 {
1340                                                         "code": 400,
1341                                                         "reason": "Invalid parameters"
1342                                                 },
1343                                                 {
1344                                                         "code": 404,
1345                                                         "reason": "Channel not found"
1346                                                 }
1347                                         ]
1348                                 }
1349                         ]
1350                 },
1351                 {
1352                         "path": "/channels/{channelId}/snoop/{snoopId}",
1353                         "description": "Snoop (spy/whisper) on a channel",
1354                         "operations": [
1355                                 {
1356                                         "httpMethod": "POST",
1357                                         "summary": "Start snooping.",
1358                                         "notes": "Snoop (spy/whisper) on a specific channel.",
1359                                         "nickname": "snoopChannelWithId",
1360                                         "responseClass": "Channel",
1361                                         "parameters": [
1362                                                 {
1363                                                         "name": "channelId",
1364                                                         "description": "Channel's id",
1365                                                         "paramType": "path",
1366                                                         "required": true,
1367                                                         "allowMultiple": false,
1368                                                         "dataType": "string"
1369                                                 },
1370                                                 {
1371                                                         "name": "snoopId",
1372                                                         "description": "Unique ID to assign to snooping channel",
1373                                                         "paramType": "path",
1374                                                         "required": true,
1375                                                         "allowMultiple": false,
1376                                                         "dataType": "string"
1377                                                 },
1378                                                 {
1379                                                         "name": "spy",
1380                                                         "description": "Direction of audio to spy on",
1381                                                         "paramType": "query",
1382                                                         "required": false,
1383                                                         "allowMultiple": false,
1384                                                         "dataType": "string",
1385                                                         "defaultValue": "none",
1386                                                         "allowableValues": {
1387                                                                 "valueType": "LIST",
1388                                                                 "values": [
1389                                                                         "none",
1390                                                                         "both",
1391                                                                         "out",
1392                                                                         "in"
1393                                                                 ]
1394                                                         }
1395                                                 },
1396                                                 {
1397                                                         "name": "whisper",
1398                                                         "description": "Direction of audio to whisper into",
1399                                                         "paramType": "query",
1400                                                         "required": false,
1401                                                         "allowMultiple": false,
1402                                                         "dataType": "string",
1403                                                         "defaultValue": "none",
1404                                                         "allowableValues": {
1405                                                                 "valueType": "LIST",
1406                                                                 "values": [
1407                                                                         "none",
1408                                                                         "both",
1409                                                                         "out",
1410                                                                         "in"
1411                                                                 ]
1412                                                         }
1413                                                 },
1414                                                 {
1415                                                         "name": "app",
1416                                                         "description": "Application the snooping channel is placed into",
1417                                                         "paramType": "query",
1418                                                         "required": true,
1419                                                         "allowMultiple": false,
1420                                                         "dataType": "string"
1421                                                 },
1422                                                 {
1423                                                         "name": "appArgs",
1424                                                         "description": "The application arguments to pass to the Stasis application",
1425                                                         "paramType": "query",
1426                                                         "required": false,
1427                                                         "allowMultiple": false,
1428                                                         "dataType": "string"
1429                                                 }
1430                                         ],
1431                                         "errorResponses": [
1432                                                 {
1433                                                         "code": 400,
1434                                                         "reason": "Invalid parameters"
1435                                                 },
1436                                                 {
1437                                                         "code": 404,
1438                                                         "reason": "Channel not found"
1439                                                 }
1440                                         ]
1441                                 }
1442                         ]
1443                 }
1444         ],
1445         "models": {
1446                 "Dialed": {
1447                         "id": "Dialed",
1448                         "description": "Dialed channel information.",
1449                         "properties": {}
1450                 },
1451                 "DialplanCEP": {
1452                         "id": "DialplanCEP",
1453                         "description": "Dialplan location (context/extension/priority)",
1454                         "properties": {
1455                                 "context": {
1456                                         "required": true,
1457                                         "type": "string",
1458                                         "description": "Context in the dialplan"
1459                                 },
1460                                 "exten": {
1461                                         "required": true,
1462                                         "type": "string",
1463                                         "description": "Extension in the dialplan"
1464                                 },
1465                                 "priority": {
1466                                         "required": true,
1467                                         "type": "long",
1468                                         "description": "Priority in the dialplan"
1469                                 }
1470                         }
1471                 },
1472                 "CallerID": {
1473                         "id": "CallerID",
1474                         "description": "Caller identification",
1475                         "properties": {
1476                                 "name": {
1477                                         "required": true,
1478                                         "type": "string"
1479                                 },
1480                                 "number": {
1481                                         "required": true,
1482                                         "type": "string"
1483                                 }
1484                         }
1485                 },
1486                 "Channel": {
1487                         "id": "Channel",
1488                         "description": "A specific communication connection between Asterisk and an Endpoint.",
1489                         "properties": {
1490                                 "id": {
1491                                         "required": true,
1492                                         "type": "string",
1493                                         "description": "Unique identifier of the channel.\n\nThis is the same as the Uniqueid field in AMI."
1494                                 },
1495                                 "name": {
1496                                         "required": true,
1497                                         "type": "string",
1498                                         "description": "Name of the channel (i.e. SIP/foo-0000a7e3)"
1499                                 },
1500                                 "state": {
1501                                         "required": true,
1502                                         "type": "string",
1503                                         "allowableValues": {
1504                                                 "valueType": "LIST",
1505                                                 "values": [
1506                                                         "Down",
1507                                                         "Rsrved",
1508                                                         "OffHook",
1509                                                         "Dialing",
1510                                                         "Ring",
1511                                                         "Ringing",
1512                                                         "Up",
1513                                                         "Busy",
1514                                                         "Dialing Offhook",
1515                                                         "Pre-ring",
1516                                                         "Unknown"
1517                                                 ]
1518                                         }
1519                                 },
1520                                 "caller": {
1521                                         "required": true,
1522                                         "type": "CallerID"
1523                                 },
1524                                 "connected": {
1525                                         "required": true,
1526                                         "type": "CallerID"
1527                                 },
1528                                 "accountcode": {
1529                                         "required": true,
1530                                         "type": "string"
1531                                 },
1532                                 "dialplan": {
1533                                         "required": true,
1534                                         "type": "DialplanCEP",
1535                                         "description": "Current location in the dialplan"
1536                                 },
1537                                 "creationtime": {
1538                                         "required": true,
1539                                         "type": "Date",
1540                                         "description": "Timestamp when channel was created"
1541                                 },
1542                                 "language": {
1543                                         "required": true,
1544                                         "type": "string",
1545                                         "description": "The default spoken language"
1546                                 }
1547                         }
1548                 }
1549         }
1550 }