Document MissingParams error message for /ari/events
[asterisk/asterisk.git] / res / stasis_http / 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 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 ari_validate_void(struct ast_json *json);
56
57 /*!
58  * \brief Validator for native Swagger byte.
59  *
60  * \param json JSON object to validate.
61  * \returns True (non-zero) if valid.
62  * \returns False (zero) if invalid.
63  */
64 int ari_validate_byte(struct ast_json *json);
65
66 /*!
67  * \brief Validator for native Swagger boolean.
68  *
69  * \param json JSON object to validate.
70  * \returns True (non-zero) if valid.
71  * \returns False (zero) if invalid.
72  */
73 int ari_validate_boolean(struct ast_json *json);
74
75 /*!
76  * \brief Validator for native Swagger int.
77  *
78  * \param json JSON object to validate.
79  * \returns True (non-zero) if valid.
80  * \returns False (zero) if invalid.
81  */
82 int ari_validate_int(struct ast_json *json);
83
84 /*!
85  * \brief Validator for native Swagger long.
86  *
87  * \param json JSON object to validate.
88  * \returns True (non-zero) if valid.
89  * \returns False (zero) if invalid.
90  */
91 int ari_validate_long(struct ast_json *json);
92
93 /*!
94  * \brief Validator for native Swagger float.
95  *
96  * \param json JSON object to validate.
97  * \returns True (non-zero) if valid.
98  * \returns False (zero) if invalid.
99  */
100 int ari_validate_float(struct ast_json *json);
101
102 /*!
103  * \brief Validator for native Swagger double.
104  *
105  * \param json JSON object to validate.
106  * \returns True (non-zero) if valid.
107  * \returns False (zero) if invalid.
108  */
109 int ari_validate_double(struct ast_json *json);
110
111 /*!
112  * \brief Validator for native Swagger string.
113  *
114  * \param json JSON object to validate.
115  * \returns True (non-zero) if valid.
116  * \returns False (zero) if invalid.
117  */
118 int ari_validate_string(struct ast_json *json);
119
120 /*!
121  * \brief Validator for native Swagger date.
122  *
123  * \param json JSON object to validate.
124  * \returns True (non-zero) if valid.
125  * \returns False (zero) if invalid.
126  */
127 int ari_validate_date(struct ast_json *json);
128
129 /*!
130  * \brief Validator for a Swagger List[]/JSON array.
131  *
132  * \param json JSON object to validate.
133  * \param fn Validator to call on every element in the array.
134  * \returns True (non-zero) if valid.
135  * \returns False (zero) if invalid.
136  */
137 int ari_validate_list(struct ast_json *json, int (*fn)(struct ast_json *));
138
139 /*! @} */
140
141 /*!
142  * \brief Function type for validator functions. Allows for 
143  */
144 typedef int (*ari_validator)(struct ast_json *json);
145
146 /*!
147  * \brief Validator for AsteriskInfo.
148  *
149  * Asterisk system information
150  *
151  * \param json JSON object to validate.
152  * \returns True (non-zero) if valid.
153  * \returns False (zero) if invalid.
154  */
155 int ari_validate_asterisk_info(struct ast_json *json);
156
157 /*!
158  * \brief Function pointer to ari_validate_asterisk_info().
159  *
160  * See \ref ari_model_validators.h for more details.
161  */
162 ari_validator ari_validate_asterisk_info_fn(void);
163
164 /*!
165  * \brief Validator for Endpoint.
166  *
167  * An external device that may offer/accept calls to/from Asterisk.
168  *
169  * Unlike most resources, which have a single unique identifier, an endpoint is uniquely identified by the technology/resource pair.
170  *
171  * \param json JSON object to validate.
172  * \returns True (non-zero) if valid.
173  * \returns False (zero) if invalid.
174  */
175 int ari_validate_endpoint(struct ast_json *json);
176
177 /*!
178  * \brief Function pointer to ari_validate_endpoint().
179  *
180  * See \ref ari_model_validators.h for more details.
181  */
182 ari_validator ari_validate_endpoint_fn(void);
183
184 /*!
185  * \brief Validator for CallerID.
186  *
187  * Caller identification
188  *
189  * \param json JSON object to validate.
190  * \returns True (non-zero) if valid.
191  * \returns False (zero) if invalid.
192  */
193 int ari_validate_caller_id(struct ast_json *json);
194
195 /*!
196  * \brief Function pointer to ari_validate_caller_id().
197  *
198  * See \ref ari_model_validators.h for more details.
199  */
200 ari_validator ari_validate_caller_id_fn(void);
201
202 /*!
203  * \brief Validator for Channel.
204  *
205  * A specific communication connection between Asterisk and an Endpoint.
206  *
207  * \param json JSON object to validate.
208  * \returns True (non-zero) if valid.
209  * \returns False (zero) if invalid.
210  */
211 int ari_validate_channel(struct ast_json *json);
212
213 /*!
214  * \brief Function pointer to ari_validate_channel().
215  *
216  * See \ref ari_model_validators.h for more details.
217  */
218 ari_validator ari_validate_channel_fn(void);
219
220 /*!
221  * \brief Validator for Dialed.
222  *
223  * Dialed channel information.
224  *
225  * \param json JSON object to validate.
226  * \returns True (non-zero) if valid.
227  * \returns False (zero) if invalid.
228  */
229 int ari_validate_dialed(struct ast_json *json);
230
231 /*!
232  * \brief Function pointer to ari_validate_dialed().
233  *
234  * See \ref ari_model_validators.h for more details.
235  */
236 ari_validator ari_validate_dialed_fn(void);
237
238 /*!
239  * \brief Validator for DialplanCEP.
240  *
241  * Dialplan location (context/extension/priority)
242  *
243  * \param json JSON object to validate.
244  * \returns True (non-zero) if valid.
245  * \returns False (zero) if invalid.
246  */
247 int ari_validate_dialplan_cep(struct ast_json *json);
248
249 /*!
250  * \brief Function pointer to ari_validate_dialplan_cep().
251  *
252  * See \ref ari_model_validators.h for more details.
253  */
254 ari_validator ari_validate_dialplan_cep_fn(void);
255
256 /*!
257  * \brief Validator for Bridge.
258  *
259  * The merging of media from one or more channels.
260  *
261  * Everyone on the bridge receives the same audio.
262  *
263  * \param json JSON object to validate.
264  * \returns True (non-zero) if valid.
265  * \returns False (zero) if invalid.
266  */
267 int ari_validate_bridge(struct ast_json *json);
268
269 /*!
270  * \brief Function pointer to ari_validate_bridge().
271  *
272  * See \ref ari_model_validators.h for more details.
273  */
274 ari_validator ari_validate_bridge_fn(void);
275
276 /*!
277  * \brief Validator for LiveRecording.
278  *
279  * A recording that is in progress
280  *
281  * \param json JSON object to validate.
282  * \returns True (non-zero) if valid.
283  * \returns False (zero) if invalid.
284  */
285 int ari_validate_live_recording(struct ast_json *json);
286
287 /*!
288  * \brief Function pointer to ari_validate_live_recording().
289  *
290  * See \ref ari_model_validators.h for more details.
291  */
292 ari_validator ari_validate_live_recording_fn(void);
293
294 /*!
295  * \brief Validator for StoredRecording.
296  *
297  * A past recording that may be played back.
298  *
299  * \param json JSON object to validate.
300  * \returns True (non-zero) if valid.
301  * \returns False (zero) if invalid.
302  */
303 int ari_validate_stored_recording(struct ast_json *json);
304
305 /*!
306  * \brief Function pointer to ari_validate_stored_recording().
307  *
308  * See \ref ari_model_validators.h for more details.
309  */
310 ari_validator ari_validate_stored_recording_fn(void);
311
312 /*!
313  * \brief Validator for FormatLangPair.
314  *
315  * Identifies the format and language of a sound file
316  *
317  * \param json JSON object to validate.
318  * \returns True (non-zero) if valid.
319  * \returns False (zero) if invalid.
320  */
321 int ari_validate_format_lang_pair(struct ast_json *json);
322
323 /*!
324  * \brief Function pointer to ari_validate_format_lang_pair().
325  *
326  * See \ref ari_model_validators.h for more details.
327  */
328 ari_validator ari_validate_format_lang_pair_fn(void);
329
330 /*!
331  * \brief Validator for Sound.
332  *
333  * A media file that may be played back.
334  *
335  * \param json JSON object to validate.
336  * \returns True (non-zero) if valid.
337  * \returns False (zero) if invalid.
338  */
339 int ari_validate_sound(struct ast_json *json);
340
341 /*!
342  * \brief Function pointer to ari_validate_sound().
343  *
344  * See \ref ari_model_validators.h for more details.
345  */
346 ari_validator ari_validate_sound_fn(void);
347
348 /*!
349  * \brief Validator for Playback.
350  *
351  * Object representing the playback of media to a channel
352  *
353  * \param json JSON object to validate.
354  * \returns True (non-zero) if valid.
355  * \returns False (zero) if invalid.
356  */
357 int ari_validate_playback(struct ast_json *json);
358
359 /*!
360  * \brief Function pointer to ari_validate_playback().
361  *
362  * See \ref ari_model_validators.h for more details.
363  */
364 ari_validator ari_validate_playback_fn(void);
365
366 /*!
367  * \brief Validator for ApplicationReplaced.
368  *
369  * Notification that another WebSocket has taken over for an application.
370  *
371  * 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.
372  *
373  * \param json JSON object to validate.
374  * \returns True (non-zero) if valid.
375  * \returns False (zero) if invalid.
376  */
377 int ari_validate_application_replaced(struct ast_json *json);
378
379 /*!
380  * \brief Function pointer to ari_validate_application_replaced().
381  *
382  * See \ref ari_model_validators.h for more details.
383  */
384 ari_validator ari_validate_application_replaced_fn(void);
385
386 /*!
387  * \brief Validator for BridgeCreated.
388  *
389  * Notification that a bridge has been created.
390  *
391  * \param json JSON object to validate.
392  * \returns True (non-zero) if valid.
393  * \returns False (zero) if invalid.
394  */
395 int ari_validate_bridge_created(struct ast_json *json);
396
397 /*!
398  * \brief Function pointer to ari_validate_bridge_created().
399  *
400  * See \ref ari_model_validators.h for more details.
401  */
402 ari_validator ari_validate_bridge_created_fn(void);
403
404 /*!
405  * \brief Validator for BridgeDestroyed.
406  *
407  * Notification that a bridge has been destroyed.
408  *
409  * \param json JSON object to validate.
410  * \returns True (non-zero) if valid.
411  * \returns False (zero) if invalid.
412  */
413 int ari_validate_bridge_destroyed(struct ast_json *json);
414
415 /*!
416  * \brief Function pointer to ari_validate_bridge_destroyed().
417  *
418  * See \ref ari_model_validators.h for more details.
419  */
420 ari_validator ari_validate_bridge_destroyed_fn(void);
421
422 /*!
423  * \brief Validator for BridgeMerged.
424  *
425  * Notification that one bridge has merged into another.
426  *
427  * \param json JSON object to validate.
428  * \returns True (non-zero) if valid.
429  * \returns False (zero) if invalid.
430  */
431 int ari_validate_bridge_merged(struct ast_json *json);
432
433 /*!
434  * \brief Function pointer to ari_validate_bridge_merged().
435  *
436  * See \ref ari_model_validators.h for more details.
437  */
438 ari_validator ari_validate_bridge_merged_fn(void);
439
440 /*!
441  * \brief Validator for ChannelCallerId.
442  *
443  * Channel changed Caller ID.
444  *
445  * \param json JSON object to validate.
446  * \returns True (non-zero) if valid.
447  * \returns False (zero) if invalid.
448  */
449 int ari_validate_channel_caller_id(struct ast_json *json);
450
451 /*!
452  * \brief Function pointer to ari_validate_channel_caller_id().
453  *
454  * See \ref ari_model_validators.h for more details.
455  */
456 ari_validator ari_validate_channel_caller_id_fn(void);
457
458 /*!
459  * \brief Validator for ChannelCreated.
460  *
461  * Notification that a channel has been created.
462  *
463  * \param json JSON object to validate.
464  * \returns True (non-zero) if valid.
465  * \returns False (zero) if invalid.
466  */
467 int ari_validate_channel_created(struct ast_json *json);
468
469 /*!
470  * \brief Function pointer to ari_validate_channel_created().
471  *
472  * See \ref ari_model_validators.h for more details.
473  */
474 ari_validator ari_validate_channel_created_fn(void);
475
476 /*!
477  * \brief Validator for ChannelDestroyed.
478  *
479  * Notification that a channel has been destroyed.
480  *
481  * \param json JSON object to validate.
482  * \returns True (non-zero) if valid.
483  * \returns False (zero) if invalid.
484  */
485 int ari_validate_channel_destroyed(struct ast_json *json);
486
487 /*!
488  * \brief Function pointer to ari_validate_channel_destroyed().
489  *
490  * See \ref ari_model_validators.h for more details.
491  */
492 ari_validator ari_validate_channel_destroyed_fn(void);
493
494 /*!
495  * \brief Validator for ChannelDialplan.
496  *
497  * Channel changed location in the dialplan.
498  *
499  * \param json JSON object to validate.
500  * \returns True (non-zero) if valid.
501  * \returns False (zero) if invalid.
502  */
503 int ari_validate_channel_dialplan(struct ast_json *json);
504
505 /*!
506  * \brief Function pointer to ari_validate_channel_dialplan().
507  *
508  * See \ref ari_model_validators.h for more details.
509  */
510 ari_validator ari_validate_channel_dialplan_fn(void);
511
512 /*!
513  * \brief Validator for ChannelDtmfReceived.
514  *
515  * DTMF received on a channel.
516  *
517  * This event is sent when the DTMF ends. There is no notification about the start of DTMF
518  *
519  * \param json JSON object to validate.
520  * \returns True (non-zero) if valid.
521  * \returns False (zero) if invalid.
522  */
523 int ari_validate_channel_dtmf_received(struct ast_json *json);
524
525 /*!
526  * \brief Function pointer to ari_validate_channel_dtmf_received().
527  *
528  * See \ref ari_model_validators.h for more details.
529  */
530 ari_validator ari_validate_channel_dtmf_received_fn(void);
531
532 /*!
533  * \brief Validator for ChannelEnteredBridge.
534  *
535  * Notification that a channel has entered a bridge.
536  *
537  * \param json JSON object to validate.
538  * \returns True (non-zero) if valid.
539  * \returns False (zero) if invalid.
540  */
541 int ari_validate_channel_entered_bridge(struct ast_json *json);
542
543 /*!
544  * \brief Function pointer to ari_validate_channel_entered_bridge().
545  *
546  * See \ref ari_model_validators.h for more details.
547  */
548 ari_validator ari_validate_channel_entered_bridge_fn(void);
549
550 /*!
551  * \brief Validator for ChannelHangupRequest.
552  *
553  * A hangup was requested on the channel.
554  *
555  * \param json JSON object to validate.
556  * \returns True (non-zero) if valid.
557  * \returns False (zero) if invalid.
558  */
559 int ari_validate_channel_hangup_request(struct ast_json *json);
560
561 /*!
562  * \brief Function pointer to ari_validate_channel_hangup_request().
563  *
564  * See \ref ari_model_validators.h for more details.
565  */
566 ari_validator ari_validate_channel_hangup_request_fn(void);
567
568 /*!
569  * \brief Validator for ChannelLeftBridge.
570  *
571  * Notification that a channel has left a bridge.
572  *
573  * \param json JSON object to validate.
574  * \returns True (non-zero) if valid.
575  * \returns False (zero) if invalid.
576  */
577 int ari_validate_channel_left_bridge(struct ast_json *json);
578
579 /*!
580  * \brief Function pointer to ari_validate_channel_left_bridge().
581  *
582  * See \ref ari_model_validators.h for more details.
583  */
584 ari_validator ari_validate_channel_left_bridge_fn(void);
585
586 /*!
587  * \brief Validator for ChannelStateChange.
588  *
589  * Notification of a channel's state change.
590  *
591  * \param json JSON object to validate.
592  * \returns True (non-zero) if valid.
593  * \returns False (zero) if invalid.
594  */
595 int ari_validate_channel_state_change(struct ast_json *json);
596
597 /*!
598  * \brief Function pointer to ari_validate_channel_state_change().
599  *
600  * See \ref ari_model_validators.h for more details.
601  */
602 ari_validator ari_validate_channel_state_change_fn(void);
603
604 /*!
605  * \brief Validator for ChannelUserevent.
606  *
607  * User-generated event with additional user-defined fields in the object.
608  *
609  * \param json JSON object to validate.
610  * \returns True (non-zero) if valid.
611  * \returns False (zero) if invalid.
612  */
613 int ari_validate_channel_userevent(struct ast_json *json);
614
615 /*!
616  * \brief Function pointer to ari_validate_channel_userevent().
617  *
618  * See \ref ari_model_validators.h for more details.
619  */
620 ari_validator ari_validate_channel_userevent_fn(void);
621
622 /*!
623  * \brief Validator for ChannelVarset.
624  *
625  * Channel variable changed.
626  *
627  * \param json JSON object to validate.
628  * \returns True (non-zero) if valid.
629  * \returns False (zero) if invalid.
630  */
631 int ari_validate_channel_varset(struct ast_json *json);
632
633 /*!
634  * \brief Function pointer to ari_validate_channel_varset().
635  *
636  * See \ref ari_model_validators.h for more details.
637  */
638 ari_validator ari_validate_channel_varset_fn(void);
639
640 /*!
641  * \brief Validator for Event.
642  *
643  * Base type for asynchronous events from Asterisk.
644  *
645  * \param json JSON object to validate.
646  * \returns True (non-zero) if valid.
647  * \returns False (zero) if invalid.
648  */
649 int ari_validate_event(struct ast_json *json);
650
651 /*!
652  * \brief Function pointer to ari_validate_event().
653  *
654  * See \ref ari_model_validators.h for more details.
655  */
656 ari_validator ari_validate_event_fn(void);
657
658 /*!
659  * \brief Validator for Message.
660  *
661  * Base type for errors and events
662  *
663  * \param json JSON object to validate.
664  * \returns True (non-zero) if valid.
665  * \returns False (zero) if invalid.
666  */
667 int ari_validate_message(struct ast_json *json);
668
669 /*!
670  * \brief Function pointer to ari_validate_message().
671  *
672  * See \ref ari_model_validators.h for more details.
673  */
674 ari_validator ari_validate_message_fn(void);
675
676 /*!
677  * \brief Validator for MissingParams.
678  *
679  * Error event sent when required params are missing.
680  *
681  * \param json JSON object to validate.
682  * \returns True (non-zero) if valid.
683  * \returns False (zero) if invalid.
684  */
685 int ari_validate_missing_params(struct ast_json *json);
686
687 /*!
688  * \brief Function pointer to ari_validate_missing_params().
689  *
690  * See \ref ari_model_validators.h for more details.
691  */
692 ari_validator ari_validate_missing_params_fn(void);
693
694 /*!
695  * \brief Validator for PlaybackFinished.
696  *
697  * Event showing the completion of a media playback operation.
698  *
699  * \param json JSON object to validate.
700  * \returns True (non-zero) if valid.
701  * \returns False (zero) if invalid.
702  */
703 int ari_validate_playback_finished(struct ast_json *json);
704
705 /*!
706  * \brief Function pointer to ari_validate_playback_finished().
707  *
708  * See \ref ari_model_validators.h for more details.
709  */
710 ari_validator ari_validate_playback_finished_fn(void);
711
712 /*!
713  * \brief Validator for PlaybackStarted.
714  *
715  * Event showing the start of a media playback operation.
716  *
717  * \param json JSON object to validate.
718  * \returns True (non-zero) if valid.
719  * \returns False (zero) if invalid.
720  */
721 int ari_validate_playback_started(struct ast_json *json);
722
723 /*!
724  * \brief Function pointer to ari_validate_playback_started().
725  *
726  * See \ref ari_model_validators.h for more details.
727  */
728 ari_validator ari_validate_playback_started_fn(void);
729
730 /*!
731  * \brief Validator for StasisEnd.
732  *
733  * Notification that a channel has left a Stasis appliction.
734  *
735  * \param json JSON object to validate.
736  * \returns True (non-zero) if valid.
737  * \returns False (zero) if invalid.
738  */
739 int ari_validate_stasis_end(struct ast_json *json);
740
741 /*!
742  * \brief Function pointer to ari_validate_stasis_end().
743  *
744  * See \ref ari_model_validators.h for more details.
745  */
746 ari_validator ari_validate_stasis_end_fn(void);
747
748 /*!
749  * \brief Validator for StasisStart.
750  *
751  * Notification that a channel has entered a Stasis appliction.
752  *
753  * \param json JSON object to validate.
754  * \returns True (non-zero) if valid.
755  * \returns False (zero) if invalid.
756  */
757 int ari_validate_stasis_start(struct ast_json *json);
758
759 /*!
760  * \brief Function pointer to ari_validate_stasis_start().
761  *
762  * See \ref ari_model_validators.h for more details.
763  */
764 ari_validator ari_validate_stasis_start_fn(void);
765
766 /*
767  * JSON models
768  *
769  * AsteriskInfo
770  * Endpoint
771  * - channel_ids: List[string] (required)
772  * - resource: string (required)
773  * - state: string
774  * - technology: string (required)
775  * CallerID
776  * - name: string (required)
777  * - number: string (required)
778  * Channel
779  * - accountcode: string (required)
780  * - caller: CallerID (required)
781  * - connected: CallerID (required)
782  * - creationtime: Date (required)
783  * - dialplan: DialplanCEP (required)
784  * - id: string (required)
785  * - name: string (required)
786  * - state: string (required)
787  * Dialed
788  * DialplanCEP
789  * - context: string (required)
790  * - exten: string (required)
791  * - priority: long (required)
792  * Bridge
793  * - bridge_class: string (required)
794  * - bridge_type: string (required)
795  * - channels: List[string] (required)
796  * - id: string (required)
797  * - technology: string (required)
798  * LiveRecording
799  * - id: string (required)
800  * StoredRecording
801  * - duration_seconds: int
802  * - formats: List[string] (required)
803  * - id: string (required)
804  * - time: Date
805  * FormatLangPair
806  * - format: string (required)
807  * - language: string (required)
808  * Sound
809  * - formats: List[FormatLangPair] (required)
810  * - id: string (required)
811  * - text: string
812  * Playback
813  * - id: string (required)
814  * - language: string
815  * - media_uri: string (required)
816  * - state: string (required)
817  * - target_uri: string (required)
818  * ApplicationReplaced
819  * - type: string (required)
820  * - application: string (required)
821  * - timestamp: Date
822  * BridgeCreated
823  * - type: string (required)
824  * - application: string (required)
825  * - timestamp: Date
826  * - bridge: Bridge (required)
827  * BridgeDestroyed
828  * - type: string (required)
829  * - application: string (required)
830  * - timestamp: Date
831  * - bridge: Bridge (required)
832  * BridgeMerged
833  * - type: string (required)
834  * - application: string (required)
835  * - timestamp: Date
836  * - bridge: Bridge (required)
837  * - bridge_from: Bridge (required)
838  * ChannelCallerId
839  * - type: string (required)
840  * - application: string (required)
841  * - timestamp: Date
842  * - caller_presentation: int (required)
843  * - caller_presentation_txt: string (required)
844  * - channel: Channel (required)
845  * ChannelCreated
846  * - type: string (required)
847  * - application: string (required)
848  * - timestamp: Date
849  * - channel: Channel (required)
850  * ChannelDestroyed
851  * - type: string (required)
852  * - application: string (required)
853  * - timestamp: Date
854  * - cause: int (required)
855  * - cause_txt: string (required)
856  * - channel: Channel (required)
857  * ChannelDialplan
858  * - type: string (required)
859  * - application: string (required)
860  * - timestamp: Date
861  * - channel: Channel (required)
862  * - dialplan_app: string (required)
863  * - dialplan_app_data: string (required)
864  * ChannelDtmfReceived
865  * - type: string (required)
866  * - application: string (required)
867  * - timestamp: Date
868  * - channel: Channel (required)
869  * - digit: string (required)
870  * - duration_ms: int (required)
871  * ChannelEnteredBridge
872  * - type: string (required)
873  * - application: string (required)
874  * - timestamp: Date
875  * - bridge: Bridge (required)
876  * - channel: Channel
877  * ChannelHangupRequest
878  * - type: string (required)
879  * - application: string (required)
880  * - timestamp: Date
881  * - cause: int
882  * - channel: Channel (required)
883  * - soft: boolean
884  * ChannelLeftBridge
885  * - type: string (required)
886  * - application: string (required)
887  * - timestamp: Date
888  * - bridge: Bridge (required)
889  * - channel: Channel (required)
890  * ChannelStateChange
891  * - type: string (required)
892  * - application: string (required)
893  * - timestamp: Date
894  * - channel: Channel (required)
895  * ChannelUserevent
896  * - type: string (required)
897  * - application: string (required)
898  * - timestamp: Date
899  * - channel: Channel (required)
900  * - eventname: string (required)
901  * ChannelVarset
902  * - type: string (required)
903  * - application: string (required)
904  * - timestamp: Date
905  * - channel: Channel
906  * - value: string (required)
907  * - variable: string (required)
908  * Event
909  * - type: string (required)
910  * - application: string (required)
911  * - timestamp: Date
912  * Message
913  * - type: string (required)
914  * MissingParams
915  * - type: string (required)
916  * - params: List[string] (required)
917  * PlaybackFinished
918  * - type: string (required)
919  * - application: string (required)
920  * - timestamp: Date
921  * - playback: Playback (required)
922  * PlaybackStarted
923  * - type: string (required)
924  * - application: string (required)
925  * - timestamp: Date
926  * - playback: Playback (required)
927  * StasisEnd
928  * - type: string (required)
929  * - application: string (required)
930  * - timestamp: Date
931  * - channel: Channel (required)
932  * StasisStart
933  * - type: string (required)
934  * - application: string (required)
935  * - timestamp: Date
936  * - args: List[string] (required)
937  * - channel: Channel (required)
938  */
939
940 #endif /* _ASTERISK_ARI_MODEL_H */