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