res_pjsip_session: properly handle SDP from a forked call with early media
[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 LogChannel.
229  *
230  * Details of an Asterisk log channel
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_log_channel(struct ast_json *json);
237
238 /*!
239  * \brief Function pointer to ast_ari_validate_log_channel().
240  *
241  * See \ref ast_ari_model_validators.h for more details.
242  */
243 ari_validator ast_ari_validate_log_channel_fn(void);
244
245 /*!
246  * \brief Validator for Module.
247  *
248  * Details of an Asterisk module
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_module(struct ast_json *json);
255
256 /*!
257  * \brief Function pointer to ast_ari_validate_module().
258  *
259  * See \ref ast_ari_model_validators.h for more details.
260  */
261 ari_validator ast_ari_validate_module_fn(void);
262
263 /*!
264  * \brief Validator for SetId.
265  *
266  * Effective user/group id
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_set_id(struct ast_json *json);
273
274 /*!
275  * \brief Function pointer to ast_ari_validate_set_id().
276  *
277  * See \ref ast_ari_model_validators.h for more details.
278  */
279 ari_validator ast_ari_validate_set_id_fn(void);
280
281 /*!
282  * \brief Validator for StatusInfo.
283  *
284  * Info about Asterisk status
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_status_info(struct ast_json *json);
291
292 /*!
293  * \brief Function pointer to ast_ari_validate_status_info().
294  *
295  * See \ref ast_ari_model_validators.h for more details.
296  */
297 ari_validator ast_ari_validate_status_info_fn(void);
298
299 /*!
300  * \brief Validator for SystemInfo.
301  *
302  * Info about Asterisk
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_system_info(struct ast_json *json);
309
310 /*!
311  * \brief Function pointer to ast_ari_validate_system_info().
312  *
313  * See \ref ast_ari_model_validators.h for more details.
314  */
315 ari_validator ast_ari_validate_system_info_fn(void);
316
317 /*!
318  * \brief Validator for Variable.
319  *
320  * The value of a channel variable
321  *
322  * \param json JSON object to validate.
323  * \returns True (non-zero) if valid.
324  * \returns False (zero) if invalid.
325  */
326 int ast_ari_validate_variable(struct ast_json *json);
327
328 /*!
329  * \brief Function pointer to ast_ari_validate_variable().
330  *
331  * See \ref ast_ari_model_validators.h for more details.
332  */
333 ari_validator ast_ari_validate_variable_fn(void);
334
335 /*!
336  * \brief Validator for Endpoint.
337  *
338  * An external device that may offer/accept calls to/from Asterisk.
339  *
340  * Unlike most resources, which have a single unique identifier, an endpoint is uniquely identified by the technology/resource pair.
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_endpoint(struct ast_json *json);
347
348 /*!
349  * \brief Function pointer to ast_ari_validate_endpoint().
350  *
351  * See \ref ast_ari_model_validators.h for more details.
352  */
353 ari_validator ast_ari_validate_endpoint_fn(void);
354
355 /*!
356  * \brief Validator for TextMessage.
357  *
358  * 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(struct ast_json *json);
365
366 /*!
367  * \brief Function pointer to ast_ari_validate_text_message().
368  *
369  * See \ref ast_ari_model_validators.h for more details.
370  */
371 ari_validator ast_ari_validate_text_message_fn(void);
372
373 /*!
374  * \brief Validator for TextMessageVariable.
375  *
376  * A key/value pair variable in a text message.
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_text_message_variable(struct ast_json *json);
383
384 /*!
385  * \brief Function pointer to ast_ari_validate_text_message_variable().
386  *
387  * See \ref ast_ari_model_validators.h for more details.
388  */
389 ari_validator ast_ari_validate_text_message_variable_fn(void);
390
391 /*!
392  * \brief Validator for CallerID.
393  *
394  * Caller identification
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_caller_id(struct ast_json *json);
401
402 /*!
403  * \brief Function pointer to ast_ari_validate_caller_id().
404  *
405  * See \ref ast_ari_model_validators.h for more details.
406  */
407 ari_validator ast_ari_validate_caller_id_fn(void);
408
409 /*!
410  * \brief Validator for Channel.
411  *
412  * A specific communication connection between Asterisk and an Endpoint.
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_channel(struct ast_json *json);
419
420 /*!
421  * \brief Function pointer to ast_ari_validate_channel().
422  *
423  * See \ref ast_ari_model_validators.h for more details.
424  */
425 ari_validator ast_ari_validate_channel_fn(void);
426
427 /*!
428  * \brief Validator for Dialed.
429  *
430  * Dialed channel information.
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_dialed(struct ast_json *json);
437
438 /*!
439  * \brief Function pointer to ast_ari_validate_dialed().
440  *
441  * See \ref ast_ari_model_validators.h for more details.
442  */
443 ari_validator ast_ari_validate_dialed_fn(void);
444
445 /*!
446  * \brief Validator for DialplanCEP.
447  *
448  * Dialplan location (context/extension/priority)
449  *
450  * \param json JSON object to validate.
451  * \returns True (non-zero) if valid.
452  * \returns False (zero) if invalid.
453  */
454 int ast_ari_validate_dialplan_cep(struct ast_json *json);
455
456 /*!
457  * \brief Function pointer to ast_ari_validate_dialplan_cep().
458  *
459  * See \ref ast_ari_model_validators.h for more details.
460  */
461 ari_validator ast_ari_validate_dialplan_cep_fn(void);
462
463 /*!
464  * \brief Validator for Bridge.
465  *
466  * The merging of media from one or more channels.
467  *
468  * Everyone on the bridge receives the same audio.
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_bridge(struct ast_json *json);
475
476 /*!
477  * \brief Function pointer to ast_ari_validate_bridge().
478  *
479  * See \ref ast_ari_model_validators.h for more details.
480  */
481 ari_validator ast_ari_validate_bridge_fn(void);
482
483 /*!
484  * \brief Validator for LiveRecording.
485  *
486  * A recording that is in progress
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_live_recording(struct ast_json *json);
493
494 /*!
495  * \brief Function pointer to ast_ari_validate_live_recording().
496  *
497  * See \ref ast_ari_model_validators.h for more details.
498  */
499 ari_validator ast_ari_validate_live_recording_fn(void);
500
501 /*!
502  * \brief Validator for StoredRecording.
503  *
504  * A past recording that may be played back.
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_stored_recording(struct ast_json *json);
511
512 /*!
513  * \brief Function pointer to ast_ari_validate_stored_recording().
514  *
515  * See \ref ast_ari_model_validators.h for more details.
516  */
517 ari_validator ast_ari_validate_stored_recording_fn(void);
518
519 /*!
520  * \brief Validator for FormatLangPair.
521  *
522  * Identifies the format and language of a sound file
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_format_lang_pair(struct ast_json *json);
529
530 /*!
531  * \brief Function pointer to ast_ari_validate_format_lang_pair().
532  *
533  * See \ref ast_ari_model_validators.h for more details.
534  */
535 ari_validator ast_ari_validate_format_lang_pair_fn(void);
536
537 /*!
538  * \brief Validator for Sound.
539  *
540  * A media file that may be played back.
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_sound(struct ast_json *json);
547
548 /*!
549  * \brief Function pointer to ast_ari_validate_sound().
550  *
551  * See \ref ast_ari_model_validators.h for more details.
552  */
553 ari_validator ast_ari_validate_sound_fn(void);
554
555 /*!
556  * \brief Validator for Playback.
557  *
558  * Object representing the playback of media to a channel
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_playback(struct ast_json *json);
565
566 /*!
567  * \brief Function pointer to ast_ari_validate_playback().
568  *
569  * See \ref ast_ari_model_validators.h for more details.
570  */
571 ari_validator ast_ari_validate_playback_fn(void);
572
573 /*!
574  * \brief Validator for DeviceState.
575  *
576  * Represents the state of a device.
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_device_state(struct ast_json *json);
583
584 /*!
585  * \brief Function pointer to ast_ari_validate_device_state().
586  *
587  * See \ref ast_ari_model_validators.h for more details.
588  */
589 ari_validator ast_ari_validate_device_state_fn(void);
590
591 /*!
592  * \brief Validator for Mailbox.
593  *
594  * Represents the state of a mailbox.
595  *
596  * \param json JSON object to validate.
597  * \returns True (non-zero) if valid.
598  * \returns False (zero) if invalid.
599  */
600 int ast_ari_validate_mailbox(struct ast_json *json);
601
602 /*!
603  * \brief Function pointer to ast_ari_validate_mailbox().
604  *
605  * See \ref ast_ari_model_validators.h for more details.
606  */
607 ari_validator ast_ari_validate_mailbox_fn(void);
608
609 /*!
610  * \brief Validator for ApplicationReplaced.
611  *
612  * Notification that another WebSocket has taken over for an application.
613  *
614  * 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.
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_application_replaced(struct ast_json *json);
621
622 /*!
623  * \brief Function pointer to ast_ari_validate_application_replaced().
624  *
625  * See \ref ast_ari_model_validators.h for more details.
626  */
627 ari_validator ast_ari_validate_application_replaced_fn(void);
628
629 /*!
630  * \brief Validator for BridgeAttendedTransfer.
631  *
632  * Notification that an attended 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_attended_transfer(struct ast_json *json);
639
640 /*!
641  * \brief Function pointer to ast_ari_validate_bridge_attended_transfer().
642  *
643  * See \ref ast_ari_model_validators.h for more details.
644  */
645 ari_validator ast_ari_validate_bridge_attended_transfer_fn(void);
646
647 /*!
648  * \brief Validator for BridgeBlindTransfer.
649  *
650  * Notification that a blind transfer has occurred.
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_blind_transfer(struct ast_json *json);
657
658 /*!
659  * \brief Function pointer to ast_ari_validate_bridge_blind_transfer().
660  *
661  * See \ref ast_ari_model_validators.h for more details.
662  */
663 ari_validator ast_ari_validate_bridge_blind_transfer_fn(void);
664
665 /*!
666  * \brief Validator for BridgeCreated.
667  *
668  * Notification that a bridge has been created.
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_created(struct ast_json *json);
675
676 /*!
677  * \brief Function pointer to ast_ari_validate_bridge_created().
678  *
679  * See \ref ast_ari_model_validators.h for more details.
680  */
681 ari_validator ast_ari_validate_bridge_created_fn(void);
682
683 /*!
684  * \brief Validator for BridgeDestroyed.
685  *
686  * Notification that a bridge has been destroyed.
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_destroyed(struct ast_json *json);
693
694 /*!
695  * \brief Function pointer to ast_ari_validate_bridge_destroyed().
696  *
697  * See \ref ast_ari_model_validators.h for more details.
698  */
699 ari_validator ast_ari_validate_bridge_destroyed_fn(void);
700
701 /*!
702  * \brief Validator for BridgeMerged.
703  *
704  * Notification that one bridge has merged into another.
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_bridge_merged(struct ast_json *json);
711
712 /*!
713  * \brief Function pointer to ast_ari_validate_bridge_merged().
714  *
715  * See \ref ast_ari_model_validators.h for more details.
716  */
717 ari_validator ast_ari_validate_bridge_merged_fn(void);
718
719 /*!
720  * \brief Validator for BridgeVideoSourceChanged.
721  *
722  * Notification that the source of video in a bridge has changed.
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_bridge_video_source_changed(struct ast_json *json);
729
730 /*!
731  * \brief Function pointer to ast_ari_validate_bridge_video_source_changed().
732  *
733  * See \ref ast_ari_model_validators.h for more details.
734  */
735 ari_validator ast_ari_validate_bridge_video_source_changed_fn(void);
736
737 /*!
738  * \brief Validator for ChannelCallerId.
739  *
740  * Channel changed Caller ID.
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_caller_id(struct ast_json *json);
747
748 /*!
749  * \brief Function pointer to ast_ari_validate_channel_caller_id().
750  *
751  * See \ref ast_ari_model_validators.h for more details.
752  */
753 ari_validator ast_ari_validate_channel_caller_id_fn(void);
754
755 /*!
756  * \brief Validator for ChannelConnectedLine.
757  *
758  * Channel changed Connected Line.
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_connected_line(struct ast_json *json);
765
766 /*!
767  * \brief Function pointer to ast_ari_validate_channel_connected_line().
768  *
769  * See \ref ast_ari_model_validators.h for more details.
770  */
771 ari_validator ast_ari_validate_channel_connected_line_fn(void);
772
773 /*!
774  * \brief Validator for ChannelCreated.
775  *
776  * Notification that a channel has been created.
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_created(struct ast_json *json);
783
784 /*!
785  * \brief Function pointer to ast_ari_validate_channel_created().
786  *
787  * See \ref ast_ari_model_validators.h for more details.
788  */
789 ari_validator ast_ari_validate_channel_created_fn(void);
790
791 /*!
792  * \brief Validator for ChannelDestroyed.
793  *
794  * Notification that a channel has been destroyed.
795  *
796  * \param json JSON object to validate.
797  * \returns True (non-zero) if valid.
798  * \returns False (zero) if invalid.
799  */
800 int ast_ari_validate_channel_destroyed(struct ast_json *json);
801
802 /*!
803  * \brief Function pointer to ast_ari_validate_channel_destroyed().
804  *
805  * See \ref ast_ari_model_validators.h for more details.
806  */
807 ari_validator ast_ari_validate_channel_destroyed_fn(void);
808
809 /*!
810  * \brief Validator for ChannelDialplan.
811  *
812  * Channel changed location in the dialplan.
813  *
814  * \param json JSON object to validate.
815  * \returns True (non-zero) if valid.
816  * \returns False (zero) if invalid.
817  */
818 int ast_ari_validate_channel_dialplan(struct ast_json *json);
819
820 /*!
821  * \brief Function pointer to ast_ari_validate_channel_dialplan().
822  *
823  * See \ref ast_ari_model_validators.h for more details.
824  */
825 ari_validator ast_ari_validate_channel_dialplan_fn(void);
826
827 /*!
828  * \brief Validator for ChannelDtmfReceived.
829  *
830  * DTMF received on a channel.
831  *
832  * This event is sent when the DTMF ends. There is no notification about the start of DTMF
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_dtmf_received(struct ast_json *json);
839
840 /*!
841  * \brief Function pointer to ast_ari_validate_channel_dtmf_received().
842  *
843  * See \ref ast_ari_model_validators.h for more details.
844  */
845 ari_validator ast_ari_validate_channel_dtmf_received_fn(void);
846
847 /*!
848  * \brief Validator for ChannelEnteredBridge.
849  *
850  * Notification that a channel has entered a bridge.
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_entered_bridge(struct ast_json *json);
857
858 /*!
859  * \brief Function pointer to ast_ari_validate_channel_entered_bridge().
860  *
861  * See \ref ast_ari_model_validators.h for more details.
862  */
863 ari_validator ast_ari_validate_channel_entered_bridge_fn(void);
864
865 /*!
866  * \brief Validator for ChannelHangupRequest.
867  *
868  * A hangup was requested on the channel.
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_hangup_request(struct ast_json *json);
875
876 /*!
877  * \brief Function pointer to ast_ari_validate_channel_hangup_request().
878  *
879  * See \ref ast_ari_model_validators.h for more details.
880  */
881 ari_validator ast_ari_validate_channel_hangup_request_fn(void);
882
883 /*!
884  * \brief Validator for ChannelHold.
885  *
886  * A channel initiated a media hold.
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_hold(struct ast_json *json);
893
894 /*!
895  * \brief Function pointer to ast_ari_validate_channel_hold().
896  *
897  * See \ref ast_ari_model_validators.h for more details.
898  */
899 ari_validator ast_ari_validate_channel_hold_fn(void);
900
901 /*!
902  * \brief Validator for ChannelLeftBridge.
903  *
904  * Notification that a channel has left a bridge.
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_left_bridge(struct ast_json *json);
911
912 /*!
913  * \brief Function pointer to ast_ari_validate_channel_left_bridge().
914  *
915  * See \ref ast_ari_model_validators.h for more details.
916  */
917 ari_validator ast_ari_validate_channel_left_bridge_fn(void);
918
919 /*!
920  * \brief Validator for ChannelStateChange.
921  *
922  * Notification of a channel's state change.
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_state_change(struct ast_json *json);
929
930 /*!
931  * \brief Function pointer to ast_ari_validate_channel_state_change().
932  *
933  * See \ref ast_ari_model_validators.h for more details.
934  */
935 ari_validator ast_ari_validate_channel_state_change_fn(void);
936
937 /*!
938  * \brief Validator for ChannelTalkingFinished.
939  *
940  * Talking is no longer detected on the channel.
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_talking_finished(struct ast_json *json);
947
948 /*!
949  * \brief Function pointer to ast_ari_validate_channel_talking_finished().
950  *
951  * See \ref ast_ari_model_validators.h for more details.
952  */
953 ari_validator ast_ari_validate_channel_talking_finished_fn(void);
954
955 /*!
956  * \brief Validator for ChannelTalkingStarted.
957  *
958  * Talking was detected on the channel.
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_talking_started(struct ast_json *json);
965
966 /*!
967  * \brief Function pointer to ast_ari_validate_channel_talking_started().
968  *
969  * See \ref ast_ari_model_validators.h for more details.
970  */
971 ari_validator ast_ari_validate_channel_talking_started_fn(void);
972
973 /*!
974  * \brief Validator for ChannelUnhold.
975  *
976  * A channel initiated a media unhold.
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_unhold(struct ast_json *json);
983
984 /*!
985  * \brief Function pointer to ast_ari_validate_channel_unhold().
986  *
987  * See \ref ast_ari_model_validators.h for more details.
988  */
989 ari_validator ast_ari_validate_channel_unhold_fn(void);
990
991 /*!
992  * \brief Validator for ChannelUserevent.
993  *
994  * User-generated event with additional user-defined fields in the object.
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_channel_userevent(struct ast_json *json);
1001
1002 /*!
1003  * \brief Function pointer to ast_ari_validate_channel_userevent().
1004  *
1005  * See \ref ast_ari_model_validators.h for more details.
1006  */
1007 ari_validator ast_ari_validate_channel_userevent_fn(void);
1008
1009 /*!
1010  * \brief Validator for ChannelVarset.
1011  *
1012  * Channel variable 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_channel_varset(struct ast_json *json);
1019
1020 /*!
1021  * \brief Function pointer to ast_ari_validate_channel_varset().
1022  *
1023  * See \ref ast_ari_model_validators.h for more details.
1024  */
1025 ari_validator ast_ari_validate_channel_varset_fn(void);
1026
1027 /*!
1028  * \brief Validator for ContactInfo.
1029  *
1030  * Detailed information about a contact on an endpoint.
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_contact_info(struct ast_json *json);
1037
1038 /*!
1039  * \brief Function pointer to ast_ari_validate_contact_info().
1040  *
1041  * See \ref ast_ari_model_validators.h for more details.
1042  */
1043 ari_validator ast_ari_validate_contact_info_fn(void);
1044
1045 /*!
1046  * \brief Validator for ContactStatusChange.
1047  *
1048  * The state of a contact on an endpoint has changed.
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_contact_status_change(struct ast_json *json);
1055
1056 /*!
1057  * \brief Function pointer to ast_ari_validate_contact_status_change().
1058  *
1059  * See \ref ast_ari_model_validators.h for more details.
1060  */
1061 ari_validator ast_ari_validate_contact_status_change_fn(void);
1062
1063 /*!
1064  * \brief Validator for DeviceStateChanged.
1065  *
1066  * Notification that a device state has changed.
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_device_state_changed(struct ast_json *json);
1073
1074 /*!
1075  * \brief Function pointer to ast_ari_validate_device_state_changed().
1076  *
1077  * See \ref ast_ari_model_validators.h for more details.
1078  */
1079 ari_validator ast_ari_validate_device_state_changed_fn(void);
1080
1081 /*!
1082  * \brief Validator for Dial.
1083  *
1084  * Dialing state has changed.
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_dial(struct ast_json *json);
1091
1092 /*!
1093  * \brief Function pointer to ast_ari_validate_dial().
1094  *
1095  * See \ref ast_ari_model_validators.h for more details.
1096  */
1097 ari_validator ast_ari_validate_dial_fn(void);
1098
1099 /*!
1100  * \brief Validator for EndpointStateChange.
1101  *
1102  * Endpoint state changed.
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_endpoint_state_change(struct ast_json *json);
1109
1110 /*!
1111  * \brief Function pointer to ast_ari_validate_endpoint_state_change().
1112  *
1113  * See \ref ast_ari_model_validators.h for more details.
1114  */
1115 ari_validator ast_ari_validate_endpoint_state_change_fn(void);
1116
1117 /*!
1118  * \brief Validator for Event.
1119  *
1120  * Base type for asynchronous events from Asterisk.
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_event(struct ast_json *json);
1127
1128 /*!
1129  * \brief Function pointer to ast_ari_validate_event().
1130  *
1131  * See \ref ast_ari_model_validators.h for more details.
1132  */
1133 ari_validator ast_ari_validate_event_fn(void);
1134
1135 /*!
1136  * \brief Validator for Message.
1137  *
1138  * Base type for errors and events
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_message(struct ast_json *json);
1145
1146 /*!
1147  * \brief Function pointer to ast_ari_validate_message().
1148  *
1149  * See \ref ast_ari_model_validators.h for more details.
1150  */
1151 ari_validator ast_ari_validate_message_fn(void);
1152
1153 /*!
1154  * \brief Validator for MissingParams.
1155  *
1156  * Error event sent when required params are missing.
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_missing_params(struct ast_json *json);
1163
1164 /*!
1165  * \brief Function pointer to ast_ari_validate_missing_params().
1166  *
1167  * See \ref ast_ari_model_validators.h for more details.
1168  */
1169 ari_validator ast_ari_validate_missing_params_fn(void);
1170
1171 /*!
1172  * \brief Validator for Peer.
1173  *
1174  * Detailed information about a remote peer that communicates with Asterisk.
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_peer(struct ast_json *json);
1181
1182 /*!
1183  * \brief Function pointer to ast_ari_validate_peer().
1184  *
1185  * See \ref ast_ari_model_validators.h for more details.
1186  */
1187 ari_validator ast_ari_validate_peer_fn(void);
1188
1189 /*!
1190  * \brief Validator for PeerStatusChange.
1191  *
1192  * The state of a peer associated with an endpoint has changed.
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_peer_status_change(struct ast_json *json);
1199
1200 /*!
1201  * \brief Function pointer to ast_ari_validate_peer_status_change().
1202  *
1203  * See \ref ast_ari_model_validators.h for more details.
1204  */
1205 ari_validator ast_ari_validate_peer_status_change_fn(void);
1206
1207 /*!
1208  * \brief Validator for PlaybackContinuing.
1209  *
1210  * Event showing the continuation of a media playback operation from one media URI to the next in the list.
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_playback_continuing(struct ast_json *json);
1217
1218 /*!
1219  * \brief Function pointer to ast_ari_validate_playback_continuing().
1220  *
1221  * See \ref ast_ari_model_validators.h for more details.
1222  */
1223 ari_validator ast_ari_validate_playback_continuing_fn(void);
1224
1225 /*!
1226  * \brief Validator for PlaybackFinished.
1227  *
1228  * Event showing the completion of a media playback operation.
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_playback_finished(struct ast_json *json);
1235
1236 /*!
1237  * \brief Function pointer to ast_ari_validate_playback_finished().
1238  *
1239  * See \ref ast_ari_model_validators.h for more details.
1240  */
1241 ari_validator ast_ari_validate_playback_finished_fn(void);
1242
1243 /*!
1244  * \brief Validator for PlaybackStarted.
1245  *
1246  * Event showing the start of a media playback operation.
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_playback_started(struct ast_json *json);
1253
1254 /*!
1255  * \brief Function pointer to ast_ari_validate_playback_started().
1256  *
1257  * See \ref ast_ari_model_validators.h for more details.
1258  */
1259 ari_validator ast_ari_validate_playback_started_fn(void);
1260
1261 /*!
1262  * \brief Validator for RecordingFailed.
1263  *
1264  * Event showing failure of a recording operation.
1265  *
1266  * \param json JSON object to validate.
1267  * \returns True (non-zero) if valid.
1268  * \returns False (zero) if invalid.
1269  */
1270 int ast_ari_validate_recording_failed(struct ast_json *json);
1271
1272 /*!
1273  * \brief Function pointer to ast_ari_validate_recording_failed().
1274  *
1275  * See \ref ast_ari_model_validators.h for more details.
1276  */
1277 ari_validator ast_ari_validate_recording_failed_fn(void);
1278
1279 /*!
1280  * \brief Validator for RecordingFinished.
1281  *
1282  * Event showing the completion of a recording operation.
1283  *
1284  * \param json JSON object to validate.
1285  * \returns True (non-zero) if valid.
1286  * \returns False (zero) if invalid.
1287  */
1288 int ast_ari_validate_recording_finished(struct ast_json *json);
1289
1290 /*!
1291  * \brief Function pointer to ast_ari_validate_recording_finished().
1292  *
1293  * See \ref ast_ari_model_validators.h for more details.
1294  */
1295 ari_validator ast_ari_validate_recording_finished_fn(void);
1296
1297 /*!
1298  * \brief Validator for RecordingStarted.
1299  *
1300  * Event showing the start of a recording operation.
1301  *
1302  * \param json JSON object to validate.
1303  * \returns True (non-zero) if valid.
1304  * \returns False (zero) if invalid.
1305  */
1306 int ast_ari_validate_recording_started(struct ast_json *json);
1307
1308 /*!
1309  * \brief Function pointer to ast_ari_validate_recording_started().
1310  *
1311  * See \ref ast_ari_model_validators.h for more details.
1312  */
1313 ari_validator ast_ari_validate_recording_started_fn(void);
1314
1315 /*!
1316  * \brief Validator for StasisEnd.
1317  *
1318  * Notification that a channel has left a Stasis application.
1319  *
1320  * \param json JSON object to validate.
1321  * \returns True (non-zero) if valid.
1322  * \returns False (zero) if invalid.
1323  */
1324 int ast_ari_validate_stasis_end(struct ast_json *json);
1325
1326 /*!
1327  * \brief Function pointer to ast_ari_validate_stasis_end().
1328  *
1329  * See \ref ast_ari_model_validators.h for more details.
1330  */
1331 ari_validator ast_ari_validate_stasis_end_fn(void);
1332
1333 /*!
1334  * \brief Validator for StasisStart.
1335  *
1336  * Notification that a channel has entered a Stasis application.
1337  *
1338  * \param json JSON object to validate.
1339  * \returns True (non-zero) if valid.
1340  * \returns False (zero) if invalid.
1341  */
1342 int ast_ari_validate_stasis_start(struct ast_json *json);
1343
1344 /*!
1345  * \brief Function pointer to ast_ari_validate_stasis_start().
1346  *
1347  * See \ref ast_ari_model_validators.h for more details.
1348  */
1349 ari_validator ast_ari_validate_stasis_start_fn(void);
1350
1351 /*!
1352  * \brief Validator for TextMessageReceived.
1353  *
1354  * A text message was received from an endpoint.
1355  *
1356  * \param json JSON object to validate.
1357  * \returns True (non-zero) if valid.
1358  * \returns False (zero) if invalid.
1359  */
1360 int ast_ari_validate_text_message_received(struct ast_json *json);
1361
1362 /*!
1363  * \brief Function pointer to ast_ari_validate_text_message_received().
1364  *
1365  * See \ref ast_ari_model_validators.h for more details.
1366  */
1367 ari_validator ast_ari_validate_text_message_received_fn(void);
1368
1369 /*!
1370  * \brief Validator for Application.
1371  *
1372  * Details of a Stasis application
1373  *
1374  * \param json JSON object to validate.
1375  * \returns True (non-zero) if valid.
1376  * \returns False (zero) if invalid.
1377  */
1378 int ast_ari_validate_application(struct ast_json *json);
1379
1380 /*!
1381  * \brief Function pointer to ast_ari_validate_application().
1382  *
1383  * See \ref ast_ari_model_validators.h for more details.
1384  */
1385 ari_validator ast_ari_validate_application_fn(void);
1386
1387 /*
1388  * JSON models
1389  *
1390  * AsteriskInfo
1391  * - build: BuildInfo
1392  * - config: ConfigInfo
1393  * - status: StatusInfo
1394  * - system: SystemInfo
1395  * BuildInfo
1396  * - date: string (required)
1397  * - kernel: string (required)
1398  * - machine: string (required)
1399  * - options: string (required)
1400  * - os: string (required)
1401  * - user: string (required)
1402  * ConfigInfo
1403  * - default_language: string (required)
1404  * - max_channels: int
1405  * - max_load: double
1406  * - max_open_files: int
1407  * - name: string (required)
1408  * - setid: SetId (required)
1409  * ConfigTuple
1410  * - attribute: string (required)
1411  * - value: string (required)
1412  * LogChannel
1413  * - channel: string (required)
1414  * - configuration: string (required)
1415  * - status: string (required)
1416  * - type: string (required)
1417  * Module
1418  * - description: string (required)
1419  * - name: string (required)
1420  * - status: string (required)
1421  * - support_level: string (required)
1422  * - use_count: int (required)
1423  * SetId
1424  * - group: string (required)
1425  * - user: string (required)
1426  * StatusInfo
1427  * - last_reload_time: Date (required)
1428  * - startup_time: Date (required)
1429  * SystemInfo
1430  * - entity_id: string (required)
1431  * - version: string (required)
1432  * Variable
1433  * - value: string (required)
1434  * Endpoint
1435  * - channel_ids: List[string] (required)
1436  * - resource: string (required)
1437  * - state: string
1438  * - technology: string (required)
1439  * TextMessage
1440  * - body: string (required)
1441  * - from: string (required)
1442  * - to: string (required)
1443  * - variables: List[TextMessageVariable]
1444  * TextMessageVariable
1445  * - key: string (required)
1446  * - value: string (required)
1447  * CallerID
1448  * - name: string (required)
1449  * - number: string (required)
1450  * Channel
1451  * - accountcode: string (required)
1452  * - caller: CallerID (required)
1453  * - channelvars: object
1454  * - connected: CallerID (required)
1455  * - creationtime: Date (required)
1456  * - dialplan: DialplanCEP (required)
1457  * - id: string (required)
1458  * - language: string (required)
1459  * - name: string (required)
1460  * - state: string (required)
1461  * Dialed
1462  * DialplanCEP
1463  * - context: string (required)
1464  * - exten: string (required)
1465  * - priority: long (required)
1466  * Bridge
1467  * - bridge_class: string (required)
1468  * - bridge_type: string (required)
1469  * - channels: List[string] (required)
1470  * - creator: string (required)
1471  * - id: string (required)
1472  * - name: string (required)
1473  * - technology: string (required)
1474  * - video_mode: string
1475  * - video_source_id: string
1476  * LiveRecording
1477  * - cause: string
1478  * - duration: int
1479  * - format: string (required)
1480  * - name: string (required)
1481  * - silence_duration: int
1482  * - state: string (required)
1483  * - talking_duration: int
1484  * - target_uri: string (required)
1485  * StoredRecording
1486  * - format: string (required)
1487  * - name: string (required)
1488  * FormatLangPair
1489  * - format: string (required)
1490  * - language: string (required)
1491  * Sound
1492  * - formats: List[FormatLangPair] (required)
1493  * - id: string (required)
1494  * - text: string
1495  * Playback
1496  * - id: string (required)
1497  * - language: string
1498  * - media_uri: string (required)
1499  * - next_media_uri: string
1500  * - state: string (required)
1501  * - target_uri: string (required)
1502  * DeviceState
1503  * - name: string (required)
1504  * - state: string (required)
1505  * Mailbox
1506  * - name: string (required)
1507  * - new_messages: int (required)
1508  * - old_messages: int (required)
1509  * ApplicationReplaced
1510  * - asterisk_id: string
1511  * - type: string (required)
1512  * - application: string (required)
1513  * - timestamp: Date
1514  * BridgeAttendedTransfer
1515  * - asterisk_id: string
1516  * - type: string (required)
1517  * - application: string (required)
1518  * - timestamp: Date
1519  * - destination_application: string
1520  * - destination_bridge: string
1521  * - destination_link_first_leg: Channel
1522  * - destination_link_second_leg: Channel
1523  * - destination_threeway_bridge: Bridge
1524  * - destination_threeway_channel: Channel
1525  * - destination_type: string (required)
1526  * - is_external: boolean (required)
1527  * - replace_channel: Channel
1528  * - result: string (required)
1529  * - transfer_target: Channel
1530  * - transferee: Channel
1531  * - transferer_first_leg: Channel (required)
1532  * - transferer_first_leg_bridge: Bridge
1533  * - transferer_second_leg: Channel (required)
1534  * - transferer_second_leg_bridge: Bridge
1535  * BridgeBlindTransfer
1536  * - asterisk_id: string
1537  * - type: string (required)
1538  * - application: string (required)
1539  * - timestamp: Date
1540  * - bridge: Bridge
1541  * - channel: Channel (required)
1542  * - context: string (required)
1543  * - exten: string (required)
1544  * - is_external: boolean (required)
1545  * - replace_channel: Channel
1546  * - result: string (required)
1547  * - transferee: Channel
1548  * BridgeCreated
1549  * - asterisk_id: string
1550  * - type: string (required)
1551  * - application: string (required)
1552  * - timestamp: Date
1553  * - bridge: Bridge (required)
1554  * BridgeDestroyed
1555  * - asterisk_id: string
1556  * - type: string (required)
1557  * - application: string (required)
1558  * - timestamp: Date
1559  * - bridge: Bridge (required)
1560  * BridgeMerged
1561  * - asterisk_id: string
1562  * - type: string (required)
1563  * - application: string (required)
1564  * - timestamp: Date
1565  * - bridge: Bridge (required)
1566  * - bridge_from: Bridge (required)
1567  * BridgeVideoSourceChanged
1568  * - asterisk_id: string
1569  * - type: string (required)
1570  * - application: string (required)
1571  * - timestamp: Date
1572  * - bridge: Bridge (required)
1573  * - old_video_source_id: string
1574  * ChannelCallerId
1575  * - asterisk_id: string
1576  * - type: string (required)
1577  * - application: string (required)
1578  * - timestamp: Date
1579  * - caller_presentation: int (required)
1580  * - caller_presentation_txt: string (required)
1581  * - channel: Channel (required)
1582  * ChannelConnectedLine
1583  * - asterisk_id: string
1584  * - type: string (required)
1585  * - application: string (required)
1586  * - timestamp: Date
1587  * - channel: Channel (required)
1588  * ChannelCreated
1589  * - asterisk_id: string
1590  * - type: string (required)
1591  * - application: string (required)
1592  * - timestamp: Date
1593  * - channel: Channel (required)
1594  * ChannelDestroyed
1595  * - asterisk_id: string
1596  * - type: string (required)
1597  * - application: string (required)
1598  * - timestamp: Date
1599  * - cause: int (required)
1600  * - cause_txt: string (required)
1601  * - channel: Channel (required)
1602  * ChannelDialplan
1603  * - asterisk_id: string
1604  * - type: string (required)
1605  * - application: string (required)
1606  * - timestamp: Date
1607  * - channel: Channel (required)
1608  * - dialplan_app: string (required)
1609  * - dialplan_app_data: string (required)
1610  * ChannelDtmfReceived
1611  * - asterisk_id: string
1612  * - type: string (required)
1613  * - application: string (required)
1614  * - timestamp: Date
1615  * - channel: Channel (required)
1616  * - digit: string (required)
1617  * - duration_ms: int (required)
1618  * ChannelEnteredBridge
1619  * - asterisk_id: string
1620  * - type: string (required)
1621  * - application: string (required)
1622  * - timestamp: Date
1623  * - bridge: Bridge (required)
1624  * - channel: Channel
1625  * ChannelHangupRequest
1626  * - asterisk_id: string
1627  * - type: string (required)
1628  * - application: string (required)
1629  * - timestamp: Date
1630  * - cause: int
1631  * - channel: Channel (required)
1632  * - soft: boolean
1633  * ChannelHold
1634  * - asterisk_id: string
1635  * - type: string (required)
1636  * - application: string (required)
1637  * - timestamp: Date
1638  * - channel: Channel (required)
1639  * - musicclass: string
1640  * ChannelLeftBridge
1641  * - asterisk_id: string
1642  * - type: string (required)
1643  * - application: string (required)
1644  * - timestamp: Date
1645  * - bridge: Bridge (required)
1646  * - channel: Channel (required)
1647  * ChannelStateChange
1648  * - asterisk_id: string
1649  * - type: string (required)
1650  * - application: string (required)
1651  * - timestamp: Date
1652  * - channel: Channel (required)
1653  * ChannelTalkingFinished
1654  * - asterisk_id: string
1655  * - type: string (required)
1656  * - application: string (required)
1657  * - timestamp: Date
1658  * - channel: Channel (required)
1659  * - duration: int (required)
1660  * ChannelTalkingStarted
1661  * - asterisk_id: string
1662  * - type: string (required)
1663  * - application: string (required)
1664  * - timestamp: Date
1665  * - channel: Channel (required)
1666  * ChannelUnhold
1667  * - asterisk_id: string
1668  * - type: string (required)
1669  * - application: string (required)
1670  * - timestamp: Date
1671  * - channel: Channel (required)
1672  * ChannelUserevent
1673  * - asterisk_id: string
1674  * - type: string (required)
1675  * - application: string (required)
1676  * - timestamp: Date
1677  * - bridge: Bridge
1678  * - channel: Channel
1679  * - endpoint: Endpoint
1680  * - eventname: string (required)
1681  * - userevent: object (required)
1682  * ChannelVarset
1683  * - asterisk_id: string
1684  * - type: string (required)
1685  * - application: string (required)
1686  * - timestamp: Date
1687  * - channel: Channel
1688  * - value: string (required)
1689  * - variable: string (required)
1690  * ContactInfo
1691  * - aor: string (required)
1692  * - contact_status: string (required)
1693  * - roundtrip_usec: string
1694  * - uri: string (required)
1695  * ContactStatusChange
1696  * - asterisk_id: string
1697  * - type: string (required)
1698  * - application: string (required)
1699  * - timestamp: Date
1700  * - contact_info: ContactInfo (required)
1701  * - endpoint: Endpoint (required)
1702  * DeviceStateChanged
1703  * - asterisk_id: string
1704  * - type: string (required)
1705  * - application: string (required)
1706  * - timestamp: Date
1707  * - device_state: DeviceState (required)
1708  * Dial
1709  * - asterisk_id: string
1710  * - type: string (required)
1711  * - application: string (required)
1712  * - timestamp: Date
1713  * - caller: Channel
1714  * - dialstatus: string (required)
1715  * - dialstring: string
1716  * - forward: string
1717  * - forwarded: Channel
1718  * - peer: Channel (required)
1719  * EndpointStateChange
1720  * - asterisk_id: string
1721  * - type: string (required)
1722  * - application: string (required)
1723  * - timestamp: Date
1724  * - endpoint: Endpoint (required)
1725  * Event
1726  * - asterisk_id: string
1727  * - type: string (required)
1728  * - application: string (required)
1729  * - timestamp: Date
1730  * Message
1731  * - asterisk_id: string
1732  * - type: string (required)
1733  * MissingParams
1734  * - asterisk_id: string
1735  * - type: string (required)
1736  * - params: List[string] (required)
1737  * Peer
1738  * - address: string
1739  * - cause: string
1740  * - peer_status: string (required)
1741  * - port: string
1742  * - time: string
1743  * PeerStatusChange
1744  * - asterisk_id: string
1745  * - type: string (required)
1746  * - application: string (required)
1747  * - timestamp: Date
1748  * - endpoint: Endpoint (required)
1749  * - peer: Peer (required)
1750  * PlaybackContinuing
1751  * - asterisk_id: string
1752  * - type: string (required)
1753  * - application: string (required)
1754  * - timestamp: Date
1755  * - playback: Playback (required)
1756  * PlaybackFinished
1757  * - asterisk_id: string
1758  * - type: string (required)
1759  * - application: string (required)
1760  * - timestamp: Date
1761  * - playback: Playback (required)
1762  * PlaybackStarted
1763  * - asterisk_id: string
1764  * - type: string (required)
1765  * - application: string (required)
1766  * - timestamp: Date
1767  * - playback: Playback (required)
1768  * RecordingFailed
1769  * - asterisk_id: string
1770  * - type: string (required)
1771  * - application: string (required)
1772  * - timestamp: Date
1773  * - recording: LiveRecording (required)
1774  * RecordingFinished
1775  * - asterisk_id: string
1776  * - type: string (required)
1777  * - application: string (required)
1778  * - timestamp: Date
1779  * - recording: LiveRecording (required)
1780  * RecordingStarted
1781  * - asterisk_id: string
1782  * - type: string (required)
1783  * - application: string (required)
1784  * - timestamp: Date
1785  * - recording: LiveRecording (required)
1786  * StasisEnd
1787  * - asterisk_id: string
1788  * - type: string (required)
1789  * - application: string (required)
1790  * - timestamp: Date
1791  * - channel: Channel (required)
1792  * StasisStart
1793  * - asterisk_id: string
1794  * - type: string (required)
1795  * - application: string (required)
1796  * - timestamp: Date
1797  * - args: List[string] (required)
1798  * - channel: Channel (required)
1799  * - replace_channel: Channel
1800  * TextMessageReceived
1801  * - asterisk_id: string
1802  * - type: string (required)
1803  * - application: string (required)
1804  * - timestamp: Date
1805  * - endpoint: Endpoint
1806  * - message: TextMessage (required)
1807  * Application
1808  * - bridge_ids: List[string] (required)
1809  * - channel_ids: List[string] (required)
1810  * - device_names: List[string] (required)
1811  * - endpoint_ids: List[string] (required)
1812  * - name: string (required)
1813  */
1814
1815 #endif /* _ASTERISK_ARI_MODEL_H */