ARI: Add support for push configuration of dynamic object
[asterisk/asterisk.git] / res / ari / ari_model_validators.h
1 /*
2  * Asterisk -- An open source telephony toolkit.
3  *
4  * Copyright (C) 2013, Digium, Inc.
5  *
6  * See http://www.asterisk.org for more information about
7  * the Asterisk project. Please do not directly contact
8  * any of the maintainers of this project for assistance;
9  * the project provides a web site, mailing lists and IRC
10  * channels for your use.
11  *
12  * This program is free software, distributed under the terms of
13  * the GNU General Public License Version 2. See the LICENSE file
14  * at the top of the source tree.
15  */
16
17 /*! \file
18  *
19  * \brief Generated file - Build validators for ARI model objects.
20  *
21  * In addition to the normal validation functions one would normally expect,
22  * each validator has a ast_ari_validate_{id}_fn() companion function that returns
23  * the validator's function pointer.
24  *
25  * The reason for this seamingly useless indirection is the way function
26  * pointers interfere with module loading. Asterisk attempts to dlopen() each
27  * module using \c RTLD_LAZY in order to read some metadata from the module.
28  * Unfortunately, if you take the address of a function, the function has to be
29  * resolvable at load time, even if \c RTLD_LAZY is specified. By moving the
30  * function-address-taking into this module, we can once again be lazy.
31  */
32
33  /*
34  * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
35  * !!!!!                               DO NOT EDIT                        !!!!!
36  * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
37  * This file is generated by a mustache template. Please see the original
38  * template in rest-api-templates/ari_model_validators.h.mustache
39  */
40
41 #ifndef _ASTERISK_ARI_MODEL_H
42 #define _ASTERISK_ARI_MODEL_H
43
44 #include "asterisk/json.h"
45
46 /*! @{ */
47
48 /*!
49  * \brief Validator for native Swagger void.
50  *
51  * \param json JSON object to validate.
52  * \returns True (non-zero) if valid.
53  * \returns False (zero) if invalid.
54  */
55 int ast_ari_validate_void(struct ast_json *json);
56
57 /*!
58  * \brief Validator for native Swagger object.
59  *
60  * \param json JSON object to validate.
61  * \returns True (non-zero) if valid.
62  * \returns False (zero) if invalid.
63  */
64 int ast_ari_validate_object(struct ast_json *json);
65
66 /*!
67  * \brief Validator for native Swagger byte.
68  *
69  * \param json JSON object to validate.
70  * \returns True (non-zero) if valid.
71  * \returns False (zero) if invalid.
72  */
73 int ast_ari_validate_byte(struct ast_json *json);
74
75 /*!
76  * \brief Validator for native Swagger boolean.
77  *
78  * \param json JSON object to validate.
79  * \returns True (non-zero) if valid.
80  * \returns False (zero) if invalid.
81  */
82 int ast_ari_validate_boolean(struct ast_json *json);
83
84 /*!
85  * \brief Validator for native Swagger int.
86  *
87  * \param json JSON object to validate.
88  * \returns True (non-zero) if valid.
89  * \returns False (zero) if invalid.
90  */
91 int ast_ari_validate_int(struct ast_json *json);
92
93 /*!
94  * \brief Validator for native Swagger long.
95  *
96  * \param json JSON object to validate.
97  * \returns True (non-zero) if valid.
98  * \returns False (zero) if invalid.
99  */
100 int ast_ari_validate_long(struct ast_json *json);
101
102 /*!
103  * \brief Validator for native Swagger float.
104  *
105  * \param json JSON object to validate.
106  * \returns True (non-zero) if valid.
107  * \returns False (zero) if invalid.
108  */
109 int ast_ari_validate_float(struct ast_json *json);
110
111 /*!
112  * \brief Validator for native Swagger double.
113  *
114  * \param json JSON object to validate.
115  * \returns True (non-zero) if valid.
116  * \returns False (zero) if invalid.
117  */
118 int ast_ari_validate_double(struct ast_json *json);
119
120 /*!
121  * \brief Validator for native Swagger string.
122  *
123  * \param json JSON object to validate.
124  * \returns True (non-zero) if valid.
125  * \returns False (zero) if invalid.
126  */
127 int ast_ari_validate_string(struct ast_json *json);
128
129 /*!
130  * \brief Validator for native Swagger date.
131  *
132  * \param json JSON object to validate.
133  * \returns True (non-zero) if valid.
134  * \returns False (zero) if invalid.
135  */
136 int ast_ari_validate_date(struct ast_json *json);
137
138 /*!
139  * \brief Validator for a Swagger List[]/JSON array.
140  *
141  * \param json JSON object to validate.
142  * \param fn Validator to call on every element in the array.
143  * \returns True (non-zero) if valid.
144  * \returns False (zero) if invalid.
145  */
146 int ast_ari_validate_list(struct ast_json *json, int (*fn)(struct ast_json *));
147
148 /*! @} */
149
150 /*!
151  * \brief Function type for validator functions. Allows for 
152  */
153 typedef int (*ari_validator)(struct ast_json *json);
154
155 /*!
156  * \brief Validator for AsteriskInfo.
157  *
158  * Asterisk system information
159  *
160  * \param json JSON object to validate.
161  * \returns True (non-zero) if valid.
162  * \returns False (zero) if invalid.
163  */
164 int ast_ari_validate_asterisk_info(struct ast_json *json);
165
166 /*!
167  * \brief Function pointer to ast_ari_validate_asterisk_info().
168  *
169  * See \ref ast_ari_model_validators.h for more details.
170  */
171 ari_validator ast_ari_validate_asterisk_info_fn(void);
172
173 /*!
174  * \brief Validator for BuildInfo.
175  *
176  * Info about how Asterisk was built
177  *
178  * \param json JSON object to validate.
179  * \returns True (non-zero) if valid.
180  * \returns False (zero) if invalid.
181  */
182 int ast_ari_validate_build_info(struct ast_json *json);
183
184 /*!
185  * \brief Function pointer to ast_ari_validate_build_info().
186  *
187  * See \ref ast_ari_model_validators.h for more details.
188  */
189 ari_validator ast_ari_validate_build_info_fn(void);
190
191 /*!
192  * \brief Validator for ConfigInfo.
193  *
194  * Info about Asterisk configuration
195  *
196  * \param json JSON object to validate.
197  * \returns True (non-zero) if valid.
198  * \returns False (zero) if invalid.
199  */
200 int ast_ari_validate_config_info(struct ast_json *json);
201
202 /*!
203  * \brief Function pointer to ast_ari_validate_config_info().
204  *
205  * See \ref ast_ari_model_validators.h for more details.
206  */
207 ari_validator ast_ari_validate_config_info_fn(void);
208
209 /*!
210  * \brief Validator for ConfigTuple.
211  *
212  * A key/value pair that makes up part of a configuration object.
213  *
214  * \param json JSON object to validate.
215  * \returns True (non-zero) if valid.
216  * \returns False (zero) if invalid.
217  */
218 int ast_ari_validate_config_tuple(struct ast_json *json);
219
220 /*!
221  * \brief Function pointer to ast_ari_validate_config_tuple().
222  *
223  * See \ref ast_ari_model_validators.h for more details.
224  */
225 ari_validator ast_ari_validate_config_tuple_fn(void);
226
227 /*!
228  * \brief Validator for Module.
229  *
230  * Details of an Asterisk module
231  *
232  * \param json JSON object to validate.
233  * \returns True (non-zero) if valid.
234  * \returns False (zero) if invalid.
235  */
236 int ast_ari_validate_module(struct ast_json *json);
237
238 /*!
239  * \brief Function pointer to ast_ari_validate_module().
240  *
241  * See \ref ast_ari_model_validators.h for more details.
242  */
243 ari_validator ast_ari_validate_module_fn(void);
244
245 /*!
246  * \brief Validator for SetId.
247  *
248  * Effective user/group id
249  *
250  * \param json JSON object to validate.
251  * \returns True (non-zero) if valid.
252  * \returns False (zero) if invalid.
253  */
254 int ast_ari_validate_set_id(struct ast_json *json);
255
256 /*!
257  * \brief Function pointer to ast_ari_validate_set_id().
258  *
259  * See \ref ast_ari_model_validators.h for more details.
260  */
261 ari_validator ast_ari_validate_set_id_fn(void);
262
263 /*!
264  * \brief Validator for StatusInfo.
265  *
266  * Info about Asterisk status
267  *
268  * \param json JSON object to validate.
269  * \returns True (non-zero) if valid.
270  * \returns False (zero) if invalid.
271  */
272 int ast_ari_validate_status_info(struct ast_json *json);
273
274 /*!
275  * \brief Function pointer to ast_ari_validate_status_info().
276  *
277  * See \ref ast_ari_model_validators.h for more details.
278  */
279 ari_validator ast_ari_validate_status_info_fn(void);
280
281 /*!
282  * \brief Validator for SystemInfo.
283  *
284  * Info about Asterisk
285  *
286  * \param json JSON object to validate.
287  * \returns True (non-zero) if valid.
288  * \returns False (zero) if invalid.
289  */
290 int ast_ari_validate_system_info(struct ast_json *json);
291
292 /*!
293  * \brief Function pointer to ast_ari_validate_system_info().
294  *
295  * See \ref ast_ari_model_validators.h for more details.
296  */
297 ari_validator ast_ari_validate_system_info_fn(void);
298
299 /*!
300  * \brief Validator for Variable.
301  *
302  * The value of a channel variable
303  *
304  * \param json JSON object to validate.
305  * \returns True (non-zero) if valid.
306  * \returns False (zero) if invalid.
307  */
308 int ast_ari_validate_variable(struct ast_json *json);
309
310 /*!
311  * \brief Function pointer to ast_ari_validate_variable().
312  *
313  * See \ref ast_ari_model_validators.h for more details.
314  */
315 ari_validator ast_ari_validate_variable_fn(void);
316
317 /*!
318  * \brief Validator for Endpoint.
319  *
320  * An external device that may offer/accept calls to/from Asterisk.
321  *
322  * Unlike most resources, which have a single unique identifier, an endpoint is uniquely identified by the technology/resource pair.
323  *
324  * \param json JSON object to validate.
325  * \returns True (non-zero) if valid.
326  * \returns False (zero) if invalid.
327  */
328 int ast_ari_validate_endpoint(struct ast_json *json);
329
330 /*!
331  * \brief Function pointer to ast_ari_validate_endpoint().
332  *
333  * See \ref ast_ari_model_validators.h for more details.
334  */
335 ari_validator ast_ari_validate_endpoint_fn(void);
336
337 /*!
338  * \brief Validator for TextMessage.
339  *
340  * A text message.
341  *
342  * \param json JSON object to validate.
343  * \returns True (non-zero) if valid.
344  * \returns False (zero) if invalid.
345  */
346 int ast_ari_validate_text_message(struct ast_json *json);
347
348 /*!
349  * \brief Function pointer to ast_ari_validate_text_message().
350  *
351  * See \ref ast_ari_model_validators.h for more details.
352  */
353 ari_validator ast_ari_validate_text_message_fn(void);
354
355 /*!
356  * \brief Validator for TextMessageVariable.
357  *
358  * A key/value pair variable in a text message.
359  *
360  * \param json JSON object to validate.
361  * \returns True (non-zero) if valid.
362  * \returns False (zero) if invalid.
363  */
364 int ast_ari_validate_text_message_variable(struct ast_json *json);
365
366 /*!
367  * \brief Function pointer to ast_ari_validate_text_message_variable().
368  *
369  * See \ref ast_ari_model_validators.h for more details.
370  */
371 ari_validator ast_ari_validate_text_message_variable_fn(void);
372
373 /*!
374  * \brief Validator for CallerID.
375  *
376  * Caller identification
377  *
378  * \param json JSON object to validate.
379  * \returns True (non-zero) if valid.
380  * \returns False (zero) if invalid.
381  */
382 int ast_ari_validate_caller_id(struct ast_json *json);
383
384 /*!
385  * \brief Function pointer to ast_ari_validate_caller_id().
386  *
387  * See \ref ast_ari_model_validators.h for more details.
388  */
389 ari_validator ast_ari_validate_caller_id_fn(void);
390
391 /*!
392  * \brief Validator for Channel.
393  *
394  * A specific communication connection between Asterisk and an Endpoint.
395  *
396  * \param json JSON object to validate.
397  * \returns True (non-zero) if valid.
398  * \returns False (zero) if invalid.
399  */
400 int ast_ari_validate_channel(struct ast_json *json);
401
402 /*!
403  * \brief Function pointer to ast_ari_validate_channel().
404  *
405  * See \ref ast_ari_model_validators.h for more details.
406  */
407 ari_validator ast_ari_validate_channel_fn(void);
408
409 /*!
410  * \brief Validator for Dialed.
411  *
412  * Dialed channel information.
413  *
414  * \param json JSON object to validate.
415  * \returns True (non-zero) if valid.
416  * \returns False (zero) if invalid.
417  */
418 int ast_ari_validate_dialed(struct ast_json *json);
419
420 /*!
421  * \brief Function pointer to ast_ari_validate_dialed().
422  *
423  * See \ref ast_ari_model_validators.h for more details.
424  */
425 ari_validator ast_ari_validate_dialed_fn(void);
426
427 /*!
428  * \brief Validator for DialplanCEP.
429  *
430  * Dialplan location (context/extension/priority)
431  *
432  * \param json JSON object to validate.
433  * \returns True (non-zero) if valid.
434  * \returns False (zero) if invalid.
435  */
436 int ast_ari_validate_dialplan_cep(struct ast_json *json);
437
438 /*!
439  * \brief Function pointer to ast_ari_validate_dialplan_cep().
440  *
441  * See \ref ast_ari_model_validators.h for more details.
442  */
443 ari_validator ast_ari_validate_dialplan_cep_fn(void);
444
445 /*!
446  * \brief Validator for Bridge.
447  *
448  * The merging of media from one or more channels.
449  *
450  * Everyone on the bridge receives the same audio.
451  *
452  * \param json JSON object to validate.
453  * \returns True (non-zero) if valid.
454  * \returns False (zero) if invalid.
455  */
456 int ast_ari_validate_bridge(struct ast_json *json);
457
458 /*!
459  * \brief Function pointer to ast_ari_validate_bridge().
460  *
461  * See \ref ast_ari_model_validators.h for more details.
462  */
463 ari_validator ast_ari_validate_bridge_fn(void);
464
465 /*!
466  * \brief Validator for LiveRecording.
467  *
468  * A recording that is in progress
469  *
470  * \param json JSON object to validate.
471  * \returns True (non-zero) if valid.
472  * \returns False (zero) if invalid.
473  */
474 int ast_ari_validate_live_recording(struct ast_json *json);
475
476 /*!
477  * \brief Function pointer to ast_ari_validate_live_recording().
478  *
479  * See \ref ast_ari_model_validators.h for more details.
480  */
481 ari_validator ast_ari_validate_live_recording_fn(void);
482
483 /*!
484  * \brief Validator for StoredRecording.
485  *
486  * A past recording that may be played back.
487  *
488  * \param json JSON object to validate.
489  * \returns True (non-zero) if valid.
490  * \returns False (zero) if invalid.
491  */
492 int ast_ari_validate_stored_recording(struct ast_json *json);
493
494 /*!
495  * \brief Function pointer to ast_ari_validate_stored_recording().
496  *
497  * See \ref ast_ari_model_validators.h for more details.
498  */
499 ari_validator ast_ari_validate_stored_recording_fn(void);
500
501 /*!
502  * \brief Validator for FormatLangPair.
503  *
504  * Identifies the format and language of a sound file
505  *
506  * \param json JSON object to validate.
507  * \returns True (non-zero) if valid.
508  * \returns False (zero) if invalid.
509  */
510 int ast_ari_validate_format_lang_pair(struct ast_json *json);
511
512 /*!
513  * \brief Function pointer to ast_ari_validate_format_lang_pair().
514  *
515  * See \ref ast_ari_model_validators.h for more details.
516  */
517 ari_validator ast_ari_validate_format_lang_pair_fn(void);
518
519 /*!
520  * \brief Validator for Sound.
521  *
522  * A media file that may be played back.
523  *
524  * \param json JSON object to validate.
525  * \returns True (non-zero) if valid.
526  * \returns False (zero) if invalid.
527  */
528 int ast_ari_validate_sound(struct ast_json *json);
529
530 /*!
531  * \brief Function pointer to ast_ari_validate_sound().
532  *
533  * See \ref ast_ari_model_validators.h for more details.
534  */
535 ari_validator ast_ari_validate_sound_fn(void);
536
537 /*!
538  * \brief Validator for Playback.
539  *
540  * Object representing the playback of media to a channel
541  *
542  * \param json JSON object to validate.
543  * \returns True (non-zero) if valid.
544  * \returns False (zero) if invalid.
545  */
546 int ast_ari_validate_playback(struct ast_json *json);
547
548 /*!
549  * \brief Function pointer to ast_ari_validate_playback().
550  *
551  * See \ref ast_ari_model_validators.h for more details.
552  */
553 ari_validator ast_ari_validate_playback_fn(void);
554
555 /*!
556  * \brief Validator for DeviceState.
557  *
558  * Represents the state of a device.
559  *
560  * \param json JSON object to validate.
561  * \returns True (non-zero) if valid.
562  * \returns False (zero) if invalid.
563  */
564 int ast_ari_validate_device_state(struct ast_json *json);
565
566 /*!
567  * \brief Function pointer to ast_ari_validate_device_state().
568  *
569  * See \ref ast_ari_model_validators.h for more details.
570  */
571 ari_validator ast_ari_validate_device_state_fn(void);
572
573 /*!
574  * \brief Validator for Mailbox.
575  *
576  * Represents the state of a mailbox.
577  *
578  * \param json JSON object to validate.
579  * \returns True (non-zero) if valid.
580  * \returns False (zero) if invalid.
581  */
582 int ast_ari_validate_mailbox(struct ast_json *json);
583
584 /*!
585  * \brief Function pointer to ast_ari_validate_mailbox().
586  *
587  * See \ref ast_ari_model_validators.h for more details.
588  */
589 ari_validator ast_ari_validate_mailbox_fn(void);
590
591 /*!
592  * \brief Validator for ApplicationReplaced.
593  *
594  * Notification that another WebSocket has taken over for an application.
595  *
596  * An application may only be subscribed to by a single WebSocket at a time. If multiple WebSockets attempt to subscribe to the same application, the newer WebSocket wins, and the older one receives this event.
597  *
598  * \param json JSON object to validate.
599  * \returns True (non-zero) if valid.
600  * \returns False (zero) if invalid.
601  */
602 int ast_ari_validate_application_replaced(struct ast_json *json);
603
604 /*!
605  * \brief Function pointer to ast_ari_validate_application_replaced().
606  *
607  * See \ref ast_ari_model_validators.h for more details.
608  */
609 ari_validator ast_ari_validate_application_replaced_fn(void);
610
611 /*!
612  * \brief Validator for BridgeAttendedTransfer.
613  *
614  * Notification that an attended transfer has occurred.
615  *
616  * \param json JSON object to validate.
617  * \returns True (non-zero) if valid.
618  * \returns False (zero) if invalid.
619  */
620 int ast_ari_validate_bridge_attended_transfer(struct ast_json *json);
621
622 /*!
623  * \brief Function pointer to ast_ari_validate_bridge_attended_transfer().
624  *
625  * See \ref ast_ari_model_validators.h for more details.
626  */
627 ari_validator ast_ari_validate_bridge_attended_transfer_fn(void);
628
629 /*!
630  * \brief Validator for BridgeBlindTransfer.
631  *
632  * Notification that a blind transfer has occurred.
633  *
634  * \param json JSON object to validate.
635  * \returns True (non-zero) if valid.
636  * \returns False (zero) if invalid.
637  */
638 int ast_ari_validate_bridge_blind_transfer(struct ast_json *json);
639
640 /*!
641  * \brief Function pointer to ast_ari_validate_bridge_blind_transfer().
642  *
643  * See \ref ast_ari_model_validators.h for more details.
644  */
645 ari_validator ast_ari_validate_bridge_blind_transfer_fn(void);
646
647 /*!
648  * \brief Validator for BridgeCreated.
649  *
650  * Notification that a bridge has been created.
651  *
652  * \param json JSON object to validate.
653  * \returns True (non-zero) if valid.
654  * \returns False (zero) if invalid.
655  */
656 int ast_ari_validate_bridge_created(struct ast_json *json);
657
658 /*!
659  * \brief Function pointer to ast_ari_validate_bridge_created().
660  *
661  * See \ref ast_ari_model_validators.h for more details.
662  */
663 ari_validator ast_ari_validate_bridge_created_fn(void);
664
665 /*!
666  * \brief Validator for BridgeDestroyed.
667  *
668  * Notification that a bridge has been destroyed.
669  *
670  * \param json JSON object to validate.
671  * \returns True (non-zero) if valid.
672  * \returns False (zero) if invalid.
673  */
674 int ast_ari_validate_bridge_destroyed(struct ast_json *json);
675
676 /*!
677  * \brief Function pointer to ast_ari_validate_bridge_destroyed().
678  *
679  * See \ref ast_ari_model_validators.h for more details.
680  */
681 ari_validator ast_ari_validate_bridge_destroyed_fn(void);
682
683 /*!
684  * \brief Validator for BridgeMerged.
685  *
686  * Notification that one bridge has merged into another.
687  *
688  * \param json JSON object to validate.
689  * \returns True (non-zero) if valid.
690  * \returns False (zero) if invalid.
691  */
692 int ast_ari_validate_bridge_merged(struct ast_json *json);
693
694 /*!
695  * \brief Function pointer to ast_ari_validate_bridge_merged().
696  *
697  * See \ref ast_ari_model_validators.h for more details.
698  */
699 ari_validator ast_ari_validate_bridge_merged_fn(void);
700
701 /*!
702  * \brief Validator for ChannelCallerId.
703  *
704  * Channel changed Caller ID.
705  *
706  * \param json JSON object to validate.
707  * \returns True (non-zero) if valid.
708  * \returns False (zero) if invalid.
709  */
710 int ast_ari_validate_channel_caller_id(struct ast_json *json);
711
712 /*!
713  * \brief Function pointer to ast_ari_validate_channel_caller_id().
714  *
715  * See \ref ast_ari_model_validators.h for more details.
716  */
717 ari_validator ast_ari_validate_channel_caller_id_fn(void);
718
719 /*!
720  * \brief Validator for ChannelConnectedLine.
721  *
722  * Channel changed Connected Line.
723  *
724  * \param json JSON object to validate.
725  * \returns True (non-zero) if valid.
726  * \returns False (zero) if invalid.
727  */
728 int ast_ari_validate_channel_connected_line(struct ast_json *json);
729
730 /*!
731  * \brief Function pointer to ast_ari_validate_channel_connected_line().
732  *
733  * See \ref ast_ari_model_validators.h for more details.
734  */
735 ari_validator ast_ari_validate_channel_connected_line_fn(void);
736
737 /*!
738  * \brief Validator for ChannelCreated.
739  *
740  * Notification that a channel has been created.
741  *
742  * \param json JSON object to validate.
743  * \returns True (non-zero) if valid.
744  * \returns False (zero) if invalid.
745  */
746 int ast_ari_validate_channel_created(struct ast_json *json);
747
748 /*!
749  * \brief Function pointer to ast_ari_validate_channel_created().
750  *
751  * See \ref ast_ari_model_validators.h for more details.
752  */
753 ari_validator ast_ari_validate_channel_created_fn(void);
754
755 /*!
756  * \brief Validator for ChannelDestroyed.
757  *
758  * Notification that a channel has been destroyed.
759  *
760  * \param json JSON object to validate.
761  * \returns True (non-zero) if valid.
762  * \returns False (zero) if invalid.
763  */
764 int ast_ari_validate_channel_destroyed(struct ast_json *json);
765
766 /*!
767  * \brief Function pointer to ast_ari_validate_channel_destroyed().
768  *
769  * See \ref ast_ari_model_validators.h for more details.
770  */
771 ari_validator ast_ari_validate_channel_destroyed_fn(void);
772
773 /*!
774  * \brief Validator for ChannelDialplan.
775  *
776  * Channel changed location in the dialplan.
777  *
778  * \param json JSON object to validate.
779  * \returns True (non-zero) if valid.
780  * \returns False (zero) if invalid.
781  */
782 int ast_ari_validate_channel_dialplan(struct ast_json *json);
783
784 /*!
785  * \brief Function pointer to ast_ari_validate_channel_dialplan().
786  *
787  * See \ref ast_ari_model_validators.h for more details.
788  */
789 ari_validator ast_ari_validate_channel_dialplan_fn(void);
790
791 /*!
792  * \brief Validator for ChannelDtmfReceived.
793  *
794  * DTMF received on a channel.
795  *
796  * This event is sent when the DTMF ends. There is no notification about the start of DTMF
797  *
798  * \param json JSON object to validate.
799  * \returns True (non-zero) if valid.
800  * \returns False (zero) if invalid.
801  */
802 int ast_ari_validate_channel_dtmf_received(struct ast_json *json);
803
804 /*!
805  * \brief Function pointer to ast_ari_validate_channel_dtmf_received().
806  *
807  * See \ref ast_ari_model_validators.h for more details.
808  */
809 ari_validator ast_ari_validate_channel_dtmf_received_fn(void);
810
811 /*!
812  * \brief Validator for ChannelEnteredBridge.
813  *
814  * Notification that a channel has entered a bridge.
815  *
816  * \param json JSON object to validate.
817  * \returns True (non-zero) if valid.
818  * \returns False (zero) if invalid.
819  */
820 int ast_ari_validate_channel_entered_bridge(struct ast_json *json);
821
822 /*!
823  * \brief Function pointer to ast_ari_validate_channel_entered_bridge().
824  *
825  * See \ref ast_ari_model_validators.h for more details.
826  */
827 ari_validator ast_ari_validate_channel_entered_bridge_fn(void);
828
829 /*!
830  * \brief Validator for ChannelHangupRequest.
831  *
832  * A hangup was requested on the channel.
833  *
834  * \param json JSON object to validate.
835  * \returns True (non-zero) if valid.
836  * \returns False (zero) if invalid.
837  */
838 int ast_ari_validate_channel_hangup_request(struct ast_json *json);
839
840 /*!
841  * \brief Function pointer to ast_ari_validate_channel_hangup_request().
842  *
843  * See \ref ast_ari_model_validators.h for more details.
844  */
845 ari_validator ast_ari_validate_channel_hangup_request_fn(void);
846
847 /*!
848  * \brief Validator for ChannelHold.
849  *
850  * A channel initiated a media hold.
851  *
852  * \param json JSON object to validate.
853  * \returns True (non-zero) if valid.
854  * \returns False (zero) if invalid.
855  */
856 int ast_ari_validate_channel_hold(struct ast_json *json);
857
858 /*!
859  * \brief Function pointer to ast_ari_validate_channel_hold().
860  *
861  * See \ref ast_ari_model_validators.h for more details.
862  */
863 ari_validator ast_ari_validate_channel_hold_fn(void);
864
865 /*!
866  * \brief Validator for ChannelLeftBridge.
867  *
868  * Notification that a channel has left a bridge.
869  *
870  * \param json JSON object to validate.
871  * \returns True (non-zero) if valid.
872  * \returns False (zero) if invalid.
873  */
874 int ast_ari_validate_channel_left_bridge(struct ast_json *json);
875
876 /*!
877  * \brief Function pointer to ast_ari_validate_channel_left_bridge().
878  *
879  * See \ref ast_ari_model_validators.h for more details.
880  */
881 ari_validator ast_ari_validate_channel_left_bridge_fn(void);
882
883 /*!
884  * \brief Validator for ChannelStateChange.
885  *
886  * Notification of a channel's state change.
887  *
888  * \param json JSON object to validate.
889  * \returns True (non-zero) if valid.
890  * \returns False (zero) if invalid.
891  */
892 int ast_ari_validate_channel_state_change(struct ast_json *json);
893
894 /*!
895  * \brief Function pointer to ast_ari_validate_channel_state_change().
896  *
897  * See \ref ast_ari_model_validators.h for more details.
898  */
899 ari_validator ast_ari_validate_channel_state_change_fn(void);
900
901 /*!
902  * \brief Validator for ChannelTalkingFinished.
903  *
904  * Talking is no longer detected on the channel.
905  *
906  * \param json JSON object to validate.
907  * \returns True (non-zero) if valid.
908  * \returns False (zero) if invalid.
909  */
910 int ast_ari_validate_channel_talking_finished(struct ast_json *json);
911
912 /*!
913  * \brief Function pointer to ast_ari_validate_channel_talking_finished().
914  *
915  * See \ref ast_ari_model_validators.h for more details.
916  */
917 ari_validator ast_ari_validate_channel_talking_finished_fn(void);
918
919 /*!
920  * \brief Validator for ChannelTalkingStarted.
921  *
922  * Talking was detected on the channel.
923  *
924  * \param json JSON object to validate.
925  * \returns True (non-zero) if valid.
926  * \returns False (zero) if invalid.
927  */
928 int ast_ari_validate_channel_talking_started(struct ast_json *json);
929
930 /*!
931  * \brief Function pointer to ast_ari_validate_channel_talking_started().
932  *
933  * See \ref ast_ari_model_validators.h for more details.
934  */
935 ari_validator ast_ari_validate_channel_talking_started_fn(void);
936
937 /*!
938  * \brief Validator for ChannelUnhold.
939  *
940  * A channel initiated a media unhold.
941  *
942  * \param json JSON object to validate.
943  * \returns True (non-zero) if valid.
944  * \returns False (zero) if invalid.
945  */
946 int ast_ari_validate_channel_unhold(struct ast_json *json);
947
948 /*!
949  * \brief Function pointer to ast_ari_validate_channel_unhold().
950  *
951  * See \ref ast_ari_model_validators.h for more details.
952  */
953 ari_validator ast_ari_validate_channel_unhold_fn(void);
954
955 /*!
956  * \brief Validator for ChannelUserevent.
957  *
958  * User-generated event with additional user-defined fields in the object.
959  *
960  * \param json JSON object to validate.
961  * \returns True (non-zero) if valid.
962  * \returns False (zero) if invalid.
963  */
964 int ast_ari_validate_channel_userevent(struct ast_json *json);
965
966 /*!
967  * \brief Function pointer to ast_ari_validate_channel_userevent().
968  *
969  * See \ref ast_ari_model_validators.h for more details.
970  */
971 ari_validator ast_ari_validate_channel_userevent_fn(void);
972
973 /*!
974  * \brief Validator for ChannelVarset.
975  *
976  * Channel variable changed.
977  *
978  * \param json JSON object to validate.
979  * \returns True (non-zero) if valid.
980  * \returns False (zero) if invalid.
981  */
982 int ast_ari_validate_channel_varset(struct ast_json *json);
983
984 /*!
985  * \brief Function pointer to ast_ari_validate_channel_varset().
986  *
987  * See \ref ast_ari_model_validators.h for more details.
988  */
989 ari_validator ast_ari_validate_channel_varset_fn(void);
990
991 /*!
992  * \brief Validator for DeviceStateChanged.
993  *
994  * Notification that a device state has changed.
995  *
996  * \param json JSON object to validate.
997  * \returns True (non-zero) if valid.
998  * \returns False (zero) if invalid.
999  */
1000 int ast_ari_validate_device_state_changed(struct ast_json *json);
1001
1002 /*!
1003  * \brief Function pointer to ast_ari_validate_device_state_changed().
1004  *
1005  * See \ref ast_ari_model_validators.h for more details.
1006  */
1007 ari_validator ast_ari_validate_device_state_changed_fn(void);
1008
1009 /*!
1010  * \brief Validator for Dial.
1011  *
1012  * Dialing state has changed.
1013  *
1014  * \param json JSON object to validate.
1015  * \returns True (non-zero) if valid.
1016  * \returns False (zero) if invalid.
1017  */
1018 int ast_ari_validate_dial(struct ast_json *json);
1019
1020 /*!
1021  * \brief Function pointer to ast_ari_validate_dial().
1022  *
1023  * See \ref ast_ari_model_validators.h for more details.
1024  */
1025 ari_validator ast_ari_validate_dial_fn(void);
1026
1027 /*!
1028  * \brief Validator for EndpointStateChange.
1029  *
1030  * Endpoint state changed.
1031  *
1032  * \param json JSON object to validate.
1033  * \returns True (non-zero) if valid.
1034  * \returns False (zero) if invalid.
1035  */
1036 int ast_ari_validate_endpoint_state_change(struct ast_json *json);
1037
1038 /*!
1039  * \brief Function pointer to ast_ari_validate_endpoint_state_change().
1040  *
1041  * See \ref ast_ari_model_validators.h for more details.
1042  */
1043 ari_validator ast_ari_validate_endpoint_state_change_fn(void);
1044
1045 /*!
1046  * \brief Validator for Event.
1047  *
1048  * Base type for asynchronous events from Asterisk.
1049  *
1050  * \param json JSON object to validate.
1051  * \returns True (non-zero) if valid.
1052  * \returns False (zero) if invalid.
1053  */
1054 int ast_ari_validate_event(struct ast_json *json);
1055
1056 /*!
1057  * \brief Function pointer to ast_ari_validate_event().
1058  *
1059  * See \ref ast_ari_model_validators.h for more details.
1060  */
1061 ari_validator ast_ari_validate_event_fn(void);
1062
1063 /*!
1064  * \brief Validator for Message.
1065  *
1066  * Base type for errors and events
1067  *
1068  * \param json JSON object to validate.
1069  * \returns True (non-zero) if valid.
1070  * \returns False (zero) if invalid.
1071  */
1072 int ast_ari_validate_message(struct ast_json *json);
1073
1074 /*!
1075  * \brief Function pointer to ast_ari_validate_message().
1076  *
1077  * See \ref ast_ari_model_validators.h for more details.
1078  */
1079 ari_validator ast_ari_validate_message_fn(void);
1080
1081 /*!
1082  * \brief Validator for MissingParams.
1083  *
1084  * Error event sent when required params are missing.
1085  *
1086  * \param json JSON object to validate.
1087  * \returns True (non-zero) if valid.
1088  * \returns False (zero) if invalid.
1089  */
1090 int ast_ari_validate_missing_params(struct ast_json *json);
1091
1092 /*!
1093  * \brief Function pointer to ast_ari_validate_missing_params().
1094  *
1095  * See \ref ast_ari_model_validators.h for more details.
1096  */
1097 ari_validator ast_ari_validate_missing_params_fn(void);
1098
1099 /*!
1100  * \brief Validator for PlaybackFinished.
1101  *
1102  * Event showing the completion of a media playback operation.
1103  *
1104  * \param json JSON object to validate.
1105  * \returns True (non-zero) if valid.
1106  * \returns False (zero) if invalid.
1107  */
1108 int ast_ari_validate_playback_finished(struct ast_json *json);
1109
1110 /*!
1111  * \brief Function pointer to ast_ari_validate_playback_finished().
1112  *
1113  * See \ref ast_ari_model_validators.h for more details.
1114  */
1115 ari_validator ast_ari_validate_playback_finished_fn(void);
1116
1117 /*!
1118  * \brief Validator for PlaybackStarted.
1119  *
1120  * Event showing the start of a media playback operation.
1121  *
1122  * \param json JSON object to validate.
1123  * \returns True (non-zero) if valid.
1124  * \returns False (zero) if invalid.
1125  */
1126 int ast_ari_validate_playback_started(struct ast_json *json);
1127
1128 /*!
1129  * \brief Function pointer to ast_ari_validate_playback_started().
1130  *
1131  * See \ref ast_ari_model_validators.h for more details.
1132  */
1133 ari_validator ast_ari_validate_playback_started_fn(void);
1134
1135 /*!
1136  * \brief Validator for RecordingFailed.
1137  *
1138  * Event showing failure of a recording operation.
1139  *
1140  * \param json JSON object to validate.
1141  * \returns True (non-zero) if valid.
1142  * \returns False (zero) if invalid.
1143  */
1144 int ast_ari_validate_recording_failed(struct ast_json *json);
1145
1146 /*!
1147  * \brief Function pointer to ast_ari_validate_recording_failed().
1148  *
1149  * See \ref ast_ari_model_validators.h for more details.
1150  */
1151 ari_validator ast_ari_validate_recording_failed_fn(void);
1152
1153 /*!
1154  * \brief Validator for RecordingFinished.
1155  *
1156  * Event showing the completion of a recording operation.
1157  *
1158  * \param json JSON object to validate.
1159  * \returns True (non-zero) if valid.
1160  * \returns False (zero) if invalid.
1161  */
1162 int ast_ari_validate_recording_finished(struct ast_json *json);
1163
1164 /*!
1165  * \brief Function pointer to ast_ari_validate_recording_finished().
1166  *
1167  * See \ref ast_ari_model_validators.h for more details.
1168  */
1169 ari_validator ast_ari_validate_recording_finished_fn(void);
1170
1171 /*!
1172  * \brief Validator for RecordingStarted.
1173  *
1174  * Event showing the start of a recording operation.
1175  *
1176  * \param json JSON object to validate.
1177  * \returns True (non-zero) if valid.
1178  * \returns False (zero) if invalid.
1179  */
1180 int ast_ari_validate_recording_started(struct ast_json *json);
1181
1182 /*!
1183  * \brief Function pointer to ast_ari_validate_recording_started().
1184  *
1185  * See \ref ast_ari_model_validators.h for more details.
1186  */
1187 ari_validator ast_ari_validate_recording_started_fn(void);
1188
1189 /*!
1190  * \brief Validator for StasisEnd.
1191  *
1192  * Notification that a channel has left a Stasis application.
1193  *
1194  * \param json JSON object to validate.
1195  * \returns True (non-zero) if valid.
1196  * \returns False (zero) if invalid.
1197  */
1198 int ast_ari_validate_stasis_end(struct ast_json *json);
1199
1200 /*!
1201  * \brief Function pointer to ast_ari_validate_stasis_end().
1202  *
1203  * See \ref ast_ari_model_validators.h for more details.
1204  */
1205 ari_validator ast_ari_validate_stasis_end_fn(void);
1206
1207 /*!
1208  * \brief Validator for StasisStart.
1209  *
1210  * Notification that a channel has entered a Stasis application.
1211  *
1212  * \param json JSON object to validate.
1213  * \returns True (non-zero) if valid.
1214  * \returns False (zero) if invalid.
1215  */
1216 int ast_ari_validate_stasis_start(struct ast_json *json);
1217
1218 /*!
1219  * \brief Function pointer to ast_ari_validate_stasis_start().
1220  *
1221  * See \ref ast_ari_model_validators.h for more details.
1222  */
1223 ari_validator ast_ari_validate_stasis_start_fn(void);
1224
1225 /*!
1226  * \brief Validator for TextMessageReceived.
1227  *
1228  * A text message was received from an endpoint.
1229  *
1230  * \param json JSON object to validate.
1231  * \returns True (non-zero) if valid.
1232  * \returns False (zero) if invalid.
1233  */
1234 int ast_ari_validate_text_message_received(struct ast_json *json);
1235
1236 /*!
1237  * \brief Function pointer to ast_ari_validate_text_message_received().
1238  *
1239  * See \ref ast_ari_model_validators.h for more details.
1240  */
1241 ari_validator ast_ari_validate_text_message_received_fn(void);
1242
1243 /*!
1244  * \brief Validator for Application.
1245  *
1246  * Details of a Stasis application
1247  *
1248  * \param json JSON object to validate.
1249  * \returns True (non-zero) if valid.
1250  * \returns False (zero) if invalid.
1251  */
1252 int ast_ari_validate_application(struct ast_json *json);
1253
1254 /*!
1255  * \brief Function pointer to ast_ari_validate_application().
1256  *
1257  * See \ref ast_ari_model_validators.h for more details.
1258  */
1259 ari_validator ast_ari_validate_application_fn(void);
1260
1261 /*
1262  * JSON models
1263  *
1264  * AsteriskInfo
1265  * - build: BuildInfo
1266  * - config: ConfigInfo
1267  * - status: StatusInfo
1268  * - system: SystemInfo
1269  * BuildInfo
1270  * - date: string (required)
1271  * - kernel: string (required)
1272  * - machine: string (required)
1273  * - options: string (required)
1274  * - os: string (required)
1275  * - user: string (required)
1276  * ConfigInfo
1277  * - default_language: string (required)
1278  * - max_channels: int
1279  * - max_load: double
1280  * - max_open_files: int
1281  * - name: string (required)
1282  * - setid: SetId (required)
1283  * ConfigTuple
1284  * - attribute: string (required)
1285  * - value: string (required)
1286  * Module
1287  * - description: string (required)
1288  * - name: string (required)
1289  * - status: string (required)
1290  * - support_level: string (required)
1291  * - use_count: int (required)
1292  * SetId
1293  * - group: string (required)
1294  * - user: string (required)
1295  * StatusInfo
1296  * - last_reload_time: Date (required)
1297  * - startup_time: Date (required)
1298  * SystemInfo
1299  * - entity_id: string (required)
1300  * - version: string (required)
1301  * Variable
1302  * - value: string (required)
1303  * Endpoint
1304  * - channel_ids: List[string] (required)
1305  * - resource: string (required)
1306  * - state: string
1307  * - technology: string (required)
1308  * TextMessage
1309  * - body: string (required)
1310  * - from: string (required)
1311  * - to: string (required)
1312  * - variables: List[TextMessageVariable]
1313  * TextMessageVariable
1314  * - key: string (required)
1315  * - value: string (required)
1316  * CallerID
1317  * - name: string (required)
1318  * - number: string (required)
1319  * Channel
1320  * - accountcode: string (required)
1321  * - caller: CallerID (required)
1322  * - connected: CallerID (required)
1323  * - creationtime: Date (required)
1324  * - dialplan: DialplanCEP (required)
1325  * - id: string (required)
1326  * - language: string (required)
1327  * - name: string (required)
1328  * - state: string (required)
1329  * Dialed
1330  * DialplanCEP
1331  * - context: string (required)
1332  * - exten: string (required)
1333  * - priority: long (required)
1334  * Bridge
1335  * - bridge_class: string (required)
1336  * - bridge_type: string (required)
1337  * - channels: List[string] (required)
1338  * - creator: string (required)
1339  * - id: string (required)
1340  * - name: string (required)
1341  * - technology: string (required)
1342  * LiveRecording
1343  * - cause: string
1344  * - duration: int
1345  * - format: string (required)
1346  * - name: string (required)
1347  * - silence_duration: int
1348  * - state: string (required)
1349  * - talking_duration: int
1350  * - target_uri: string (required)
1351  * StoredRecording
1352  * - format: string (required)
1353  * - name: string (required)
1354  * FormatLangPair
1355  * - format: string (required)
1356  * - language: string (required)
1357  * Sound
1358  * - formats: List[FormatLangPair] (required)
1359  * - id: string (required)
1360  * - text: string
1361  * Playback
1362  * - id: string (required)
1363  * - language: string
1364  * - media_uri: string (required)
1365  * - state: string (required)
1366  * - target_uri: string (required)
1367  * DeviceState
1368  * - name: string (required)
1369  * - state: string (required)
1370  * Mailbox
1371  * - name: string (required)
1372  * - new_messages: int (required)
1373  * - old_messages: int (required)
1374  * ApplicationReplaced
1375  * - type: string (required)
1376  * - application: string (required)
1377  * - timestamp: Date
1378  * BridgeAttendedTransfer
1379  * - type: string (required)
1380  * - application: string (required)
1381  * - timestamp: Date
1382  * - destination_application: string
1383  * - destination_bridge: string
1384  * - destination_link_first_leg: Channel
1385  * - destination_link_second_leg: Channel
1386  * - destination_threeway_bridge: Bridge
1387  * - destination_threeway_channel: Channel
1388  * - destination_type: string (required)
1389  * - is_external: boolean (required)
1390  * - replace_channel: Channel
1391  * - result: string (required)
1392  * - transfer_target: Channel
1393  * - transferee: Channel
1394  * - transferer_first_leg: Channel (required)
1395  * - transferer_first_leg_bridge: Bridge
1396  * - transferer_second_leg: Channel (required)
1397  * - transferer_second_leg_bridge: Bridge
1398  * BridgeBlindTransfer
1399  * - type: string (required)
1400  * - application: string (required)
1401  * - timestamp: Date
1402  * - bridge: Bridge
1403  * - channel: Channel (required)
1404  * - context: string (required)
1405  * - exten: string (required)
1406  * - is_external: boolean (required)
1407  * - replace_channel: Channel
1408  * - result: string (required)
1409  * - transferee: Channel
1410  * BridgeCreated
1411  * - type: string (required)
1412  * - application: string (required)
1413  * - timestamp: Date
1414  * - bridge: Bridge (required)
1415  * BridgeDestroyed
1416  * - type: string (required)
1417  * - application: string (required)
1418  * - timestamp: Date
1419  * - bridge: Bridge (required)
1420  * BridgeMerged
1421  * - type: string (required)
1422  * - application: string (required)
1423  * - timestamp: Date
1424  * - bridge: Bridge (required)
1425  * - bridge_from: Bridge (required)
1426  * ChannelCallerId
1427  * - type: string (required)
1428  * - application: string (required)
1429  * - timestamp: Date
1430  * - caller_presentation: int (required)
1431  * - caller_presentation_txt: string (required)
1432  * - channel: Channel (required)
1433  * ChannelConnectedLine
1434  * - type: string (required)
1435  * - application: string (required)
1436  * - timestamp: Date
1437  * - channel: Channel (required)
1438  * ChannelCreated
1439  * - type: string (required)
1440  * - application: string (required)
1441  * - timestamp: Date
1442  * - channel: Channel (required)
1443  * ChannelDestroyed
1444  * - type: string (required)
1445  * - application: string (required)
1446  * - timestamp: Date
1447  * - cause: int (required)
1448  * - cause_txt: string (required)
1449  * - channel: Channel (required)
1450  * ChannelDialplan
1451  * - type: string (required)
1452  * - application: string (required)
1453  * - timestamp: Date
1454  * - channel: Channel (required)
1455  * - dialplan_app: string (required)
1456  * - dialplan_app_data: string (required)
1457  * ChannelDtmfReceived
1458  * - type: string (required)
1459  * - application: string (required)
1460  * - timestamp: Date
1461  * - channel: Channel (required)
1462  * - digit: string (required)
1463  * - duration_ms: int (required)
1464  * ChannelEnteredBridge
1465  * - type: string (required)
1466  * - application: string (required)
1467  * - timestamp: Date
1468  * - bridge: Bridge (required)
1469  * - channel: Channel
1470  * ChannelHangupRequest
1471  * - type: string (required)
1472  * - application: string (required)
1473  * - timestamp: Date
1474  * - cause: int
1475  * - channel: Channel (required)
1476  * - soft: boolean
1477  * ChannelHold
1478  * - type: string (required)
1479  * - application: string (required)
1480  * - timestamp: Date
1481  * - channel: Channel (required)
1482  * - musicclass: string
1483  * ChannelLeftBridge
1484  * - type: string (required)
1485  * - application: string (required)
1486  * - timestamp: Date
1487  * - bridge: Bridge (required)
1488  * - channel: Channel (required)
1489  * ChannelStateChange
1490  * - type: string (required)
1491  * - application: string (required)
1492  * - timestamp: Date
1493  * - channel: Channel (required)
1494  * ChannelTalkingFinished
1495  * - type: string (required)
1496  * - application: string (required)
1497  * - timestamp: Date
1498  * - channel: Channel (required)
1499  * - duration: int (required)
1500  * ChannelTalkingStarted
1501  * - type: string (required)
1502  * - application: string (required)
1503  * - timestamp: Date
1504  * - channel: Channel (required)
1505  * ChannelUnhold
1506  * - type: string (required)
1507  * - application: string (required)
1508  * - timestamp: Date
1509  * - channel: Channel (required)
1510  * ChannelUserevent
1511  * - type: string (required)
1512  * - application: string (required)
1513  * - timestamp: Date
1514  * - bridge: Bridge
1515  * - channel: Channel
1516  * - endpoint: Endpoint
1517  * - eventname: string (required)
1518  * - userevent: object (required)
1519  * ChannelVarset
1520  * - type: string (required)
1521  * - application: string (required)
1522  * - timestamp: Date
1523  * - channel: Channel
1524  * - value: string (required)
1525  * - variable: string (required)
1526  * DeviceStateChanged
1527  * - type: string (required)
1528  * - application: string (required)
1529  * - timestamp: Date
1530  * - device_state: DeviceState (required)
1531  * Dial
1532  * - type: string (required)
1533  * - application: string (required)
1534  * - timestamp: Date
1535  * - caller: Channel
1536  * - dialstatus: string (required)
1537  * - dialstring: string
1538  * - forward: string
1539  * - forwarded: Channel
1540  * - peer: Channel (required)
1541  * EndpointStateChange
1542  * - type: string (required)
1543  * - application: string (required)
1544  * - timestamp: Date
1545  * - endpoint: Endpoint (required)
1546  * Event
1547  * - type: string (required)
1548  * - application: string (required)
1549  * - timestamp: Date
1550  * Message
1551  * - type: string (required)
1552  * MissingParams
1553  * - type: string (required)
1554  * - params: List[string] (required)
1555  * PlaybackFinished
1556  * - type: string (required)
1557  * - application: string (required)
1558  * - timestamp: Date
1559  * - playback: Playback (required)
1560  * PlaybackStarted
1561  * - type: string (required)
1562  * - application: string (required)
1563  * - timestamp: Date
1564  * - playback: Playback (required)
1565  * RecordingFailed
1566  * - type: string (required)
1567  * - application: string (required)
1568  * - timestamp: Date
1569  * - recording: LiveRecording (required)
1570  * RecordingFinished
1571  * - type: string (required)
1572  * - application: string (required)
1573  * - timestamp: Date
1574  * - recording: LiveRecording (required)
1575  * RecordingStarted
1576  * - type: string (required)
1577  * - application: string (required)
1578  * - timestamp: Date
1579  * - recording: LiveRecording (required)
1580  * StasisEnd
1581  * - type: string (required)
1582  * - application: string (required)
1583  * - timestamp: Date
1584  * - channel: Channel (required)
1585  * StasisStart
1586  * - type: string (required)
1587  * - application: string (required)
1588  * - timestamp: Date
1589  * - args: List[string] (required)
1590  * - channel: Channel (required)
1591  * - replace_channel: Channel
1592  * TextMessageReceived
1593  * - type: string (required)
1594  * - application: string (required)
1595  * - timestamp: Date
1596  * - endpoint: Endpoint
1597  * - message: TextMessage (required)
1598  * Application
1599  * - bridge_ids: List[string] (required)
1600  * - channel_ids: List[string] (required)
1601  * - device_names: List[string] (required)
1602  * - endpoint_ids: List[string] (required)
1603  * - name: string (required)
1604  */
1605
1606 #endif /* _ASTERISK_ARI_MODEL_H */