d124324133f786b189d4f2348287ac8ed105225d
[asterisk/asterisk.git] / res / ari / resource_bridges.h
1 /*
2  * Asterisk -- An open source telephony toolkit.
3  *
4  * Copyright (C) 2012 - 2013, Digium, Inc.
5  *
6  * David M. Lee, II <dlee@digium.com>
7  *
8  * See http://www.asterisk.org for more information about
9  * the Asterisk project. Please do not directly contact
10  * any of the maintainers of this project for assistance;
11  * the project provides a web site, mailing lists and IRC
12  * channels for your use.
13  *
14  * This program is free software, distributed under the terms of
15  * the GNU General Public License Version 2. See the LICENSE file
16  * at the top of the source tree.
17  */
18
19 /*! \file
20  *
21  * \brief Generated file - declares stubs to be implemented in
22  * res/ari/resource_bridges.c
23  *
24  * Bridge resources
25  *
26  * \author David M. Lee, II <dlee@digium.com>
27  */
28
29 /*
30  * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
31  * !!!!!                               DO NOT EDIT                        !!!!!
32  * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
33  * This file is generated by a mustache template. Please see the original
34  * template in rest-api-templates/ari_resource.h.mustache
35  */
36
37 #ifndef _ASTERISK_RESOURCE_BRIDGES_H
38 #define _ASTERISK_RESOURCE_BRIDGES_H
39
40 #include "asterisk/ari.h"
41
42 /*! \brief Argument struct for ast_ari_get_bridges() */
43 struct ast_get_bridges_args {
44 };
45 /*!
46  * \brief List active bridges.
47  *
48  * \param headers HTTP headers
49  * \param args Swagger parameters
50  * \param[out] response HTTP response
51  */
52 void ast_ari_get_bridges(struct ast_variable *headers, struct ast_get_bridges_args *args, struct ast_ari_response *response);
53 /*! \brief Argument struct for ast_ari_new_bridge() */
54 struct ast_new_bridge_args {
55         /*! \brief Type of bridge to create. */
56         const char *type;
57 };
58 /*!
59  * \brief Create a new bridge.
60  *
61  * This bridge persists until it has been shut down, or Asterisk has been shut down.
62  *
63  * \param headers HTTP headers
64  * \param args Swagger parameters
65  * \param[out] response HTTP response
66  */
67 void ast_ari_new_bridge(struct ast_variable *headers, struct ast_new_bridge_args *args, struct ast_ari_response *response);
68 /*! \brief Argument struct for ast_ari_get_bridge() */
69 struct ast_get_bridge_args {
70         /*! \brief Bridge's id */
71         const char *bridge_id;
72 };
73 /*!
74  * \brief Get bridge details.
75  *
76  * \param headers HTTP headers
77  * \param args Swagger parameters
78  * \param[out] response HTTP response
79  */
80 void ast_ari_get_bridge(struct ast_variable *headers, struct ast_get_bridge_args *args, struct ast_ari_response *response);
81 /*! \brief Argument struct for ast_ari_delete_bridge() */
82 struct ast_delete_bridge_args {
83         /*! \brief Bridge's id */
84         const char *bridge_id;
85 };
86 /*!
87  * \brief Shut down a bridge.
88  *
89  * If any channels are in this bridge, they will be removed and resume whatever they were doing beforehand.
90  *
91  * \param headers HTTP headers
92  * \param args Swagger parameters
93  * \param[out] response HTTP response
94  */
95 void ast_ari_delete_bridge(struct ast_variable *headers, struct ast_delete_bridge_args *args, struct ast_ari_response *response);
96 /*! \brief Argument struct for ast_ari_add_channel_to_bridge() */
97 struct ast_add_channel_to_bridge_args {
98         /*! \brief Bridge's id */
99         const char *bridge_id;
100         /*! \brief Array of Ids of channels to add to bridge */
101         const char **channel;
102         /*! \brief Length of channel array. */
103         size_t channel_count;
104         /*! \brief Parsing context for channel. */
105         char *channel_parse;
106 };
107 /*!
108  * \brief Add a channel to a bridge.
109  *
110  * \param headers HTTP headers
111  * \param args Swagger parameters
112  * \param[out] response HTTP response
113  */
114 void ast_ari_add_channel_to_bridge(struct ast_variable *headers, struct ast_add_channel_to_bridge_args *args, struct ast_ari_response *response);
115 /*! \brief Argument struct for ast_ari_remove_channel_from_bridge() */
116 struct ast_remove_channel_from_bridge_args {
117         /*! \brief Bridge's id */
118         const char *bridge_id;
119         /*! \brief Array of Ids of channels to remove from bridge */
120         const char **channel;
121         /*! \brief Length of channel array. */
122         size_t channel_count;
123         /*! \brief Parsing context for channel. */
124         char *channel_parse;
125 };
126 /*!
127  * \brief Remove a channel from a bridge.
128  *
129  * \param headers HTTP headers
130  * \param args Swagger parameters
131  * \param[out] response HTTP response
132  */
133 void ast_ari_remove_channel_from_bridge(struct ast_variable *headers, struct ast_remove_channel_from_bridge_args *args, struct ast_ari_response *response);
134 /*! \brief Argument struct for ast_ari_play_on_bridge() */
135 struct ast_play_on_bridge_args {
136         /*! \brief Bridge's id */
137         const char *bridge_id;
138         /*! \brief Media's URI to play. */
139         const char *media;
140         /*! \brief For sounds, selects language for sound. */
141         const char *lang;
142         /*! \brief Number of media to skip before playing. */
143         int offsetms;
144         /*! \brief Number of milliseconds to skip for forward/reverse operations. */
145         int skipms;
146 };
147 /*!
148  * \brief Start playback of media on a bridge.
149  *
150  * The media URI may be any of a number of URI's. You may use http: and https: URI's, as well as sound: and recording: URI's. This operation creates a playback resource that can be used to control the playback of media (pause, rewind, fast forward, etc.)
151  *
152  * \param headers HTTP headers
153  * \param args Swagger parameters
154  * \param[out] response HTTP response
155  */
156 void ast_ari_play_on_bridge(struct ast_variable *headers, struct ast_play_on_bridge_args *args, struct ast_ari_response *response);
157 /*! \brief Argument struct for ast_ari_record_bridge() */
158 struct ast_record_bridge_args {
159         /*! \brief Bridge's id */
160         const char *bridge_id;
161         /*! \brief Recording's filename */
162         const char *name;
163         /*! \brief Format to encode audio in */
164         const char *format;
165         /*! \brief Maximum duration of the recording, in seconds. 0 for no limit. */
166         int max_duration_seconds;
167         /*! \brief Maximum duration of silence, in seconds. 0 for no limit. */
168         int max_silence_seconds;
169         /*! \brief Action to take if a recording with the same name already exists. */
170         const char *if_exists;
171         /*! \brief Play beep when recording begins */
172         int beep;
173         /*! \brief DTMF input to terminate recording. */
174         const char *terminate_on;
175 };
176 /*!
177  * \brief Start a recording.
178  *
179  * This records the mixed audio from all channels participating in this bridge.
180  *
181  * \param headers HTTP headers
182  * \param args Swagger parameters
183  * \param[out] response HTTP response
184  */
185 void ast_ari_record_bridge(struct ast_variable *headers, struct ast_record_bridge_args *args, struct ast_ari_response *response);
186
187 #endif /* _ASTERISK_RESOURCE_BRIDGES_H */