57331712246cb7c2125b7a64537c709860982f6c
[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         /*! \brief Channel's role in the bridge */
107         const char *role;
108 };
109 /*!
110  * \brief Add a channel to a bridge.
111  *
112  * \param headers HTTP headers
113  * \param args Swagger parameters
114  * \param[out] response HTTP response
115  */
116 void ast_ari_add_channel_to_bridge(struct ast_variable *headers, struct ast_add_channel_to_bridge_args *args, struct ast_ari_response *response);
117 /*! \brief Argument struct for ast_ari_remove_channel_from_bridge() */
118 struct ast_remove_channel_from_bridge_args {
119         /*! \brief Bridge's id */
120         const char *bridge_id;
121         /*! \brief Array of Ids of channels to remove from bridge */
122         const char **channel;
123         /*! \brief Length of channel array. */
124         size_t channel_count;
125         /*! \brief Parsing context for channel. */
126         char *channel_parse;
127 };
128 /*!
129  * \brief Remove a channel from a bridge.
130  *
131  * \param headers HTTP headers
132  * \param args Swagger parameters
133  * \param[out] response HTTP response
134  */
135 void ast_ari_remove_channel_from_bridge(struct ast_variable *headers, struct ast_remove_channel_from_bridge_args *args, struct ast_ari_response *response);
136 /*! \brief Argument struct for ast_ari_moh_start_bridge() */
137 struct ast_moh_start_bridge_args {
138         /*! \brief Bridge's id */
139         const char *bridge_id;
140         /*! \brief Channel's id */
141         const char *moh_class;
142 };
143 /*!
144  * \brief Play music on hold to a bridge or change the MOH class that is playing.
145  *
146  * \param headers HTTP headers
147  * \param args Swagger parameters
148  * \param[out] response HTTP response
149  */
150 void ast_ari_moh_start_bridge(struct ast_variable *headers, struct ast_moh_start_bridge_args *args, struct ast_ari_response *response);
151 /*! \brief Argument struct for ast_ari_moh_stop_bridge() */
152 struct ast_moh_stop_bridge_args {
153         /*! \brief Bridge's id */
154         const char *bridge_id;
155 };
156 /*!
157  * \brief Stop playing music on hold to a bridge.
158  *
159  * This will only stop music on hold being played via bridges/{bridgeId}/mohStart.
160  *
161  * \param headers HTTP headers
162  * \param args Swagger parameters
163  * \param[out] response HTTP response
164  */
165 void ast_ari_moh_stop_bridge(struct ast_variable *headers, struct ast_moh_stop_bridge_args *args, struct ast_ari_response *response);
166 /*! \brief Argument struct for ast_ari_play_on_bridge() */
167 struct ast_play_on_bridge_args {
168         /*! \brief Bridge's id */
169         const char *bridge_id;
170         /*! \brief Media's URI to play. */
171         const char *media;
172         /*! \brief For sounds, selects language for sound. */
173         const char *lang;
174         /*! \brief Number of media to skip before playing. */
175         int offsetms;
176         /*! \brief Number of milliseconds to skip for forward/reverse operations. */
177         int skipms;
178 };
179 /*!
180  * \brief Start playback of media on a bridge.
181  *
182  * The media URI may be any of a number of URI's. Currently sound: and recording: URI's are supported. This operation creates a playback resource that can be used to control the playback of media (pause, rewind, fast forward, etc.)
183  *
184  * \param headers HTTP headers
185  * \param args Swagger parameters
186  * \param[out] response HTTP response
187  */
188 void ast_ari_play_on_bridge(struct ast_variable *headers, struct ast_play_on_bridge_args *args, struct ast_ari_response *response);
189 /*! \brief Argument struct for ast_ari_record_bridge() */
190 struct ast_record_bridge_args {
191         /*! \brief Bridge's id */
192         const char *bridge_id;
193         /*! \brief Recording's filename */
194         const char *name;
195         /*! \brief Format to encode audio in */
196         const char *format;
197         /*! \brief Maximum duration of the recording, in seconds. 0 for no limit. */
198         int max_duration_seconds;
199         /*! \brief Maximum duration of silence, in seconds. 0 for no limit. */
200         int max_silence_seconds;
201         /*! \brief Action to take if a recording with the same name already exists. */
202         const char *if_exists;
203         /*! \brief Play beep when recording begins */
204         int beep;
205         /*! \brief DTMF input to terminate recording. */
206         const char *terminate_on;
207 };
208 /*!
209  * \brief Start a recording.
210  *
211  * This records the mixed audio from all channels participating in this bridge.
212  *
213  * \param headers HTTP headers
214  * \param args Swagger parameters
215  * \param[out] response HTTP response
216  */
217 void ast_ari_record_bridge(struct ast_variable *headers, struct ast_record_bridge_args *args, struct ast_ari_response *response);
218
219 #endif /* _ASTERISK_RESOURCE_BRIDGES_H */