Asterisk - The Open Source Telephony Project  18.5.0
Macros | Functions | Variables
res_ari_recordings.c File Reference

Recording resources. More...

#include "asterisk.h"
#include "asterisk/app.h"
#include "asterisk/module.h"
#include "asterisk/stasis_app.h"
#include "ari/resource_recordings.h"
#include "ari/ari_model_validators.h"
Include dependency graph for res_ari_recordings.c:

Go to the source code of this file.

Macros

#define MAX_VALS   128
 

Functions

static void __reg_module (void)
 
static void __unreg_module (void)
 
static void ast_ari_recordings_cancel_cb (struct ast_tcptls_session_instance *ser, struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *headers, struct ast_json *body, struct ast_ari_response *response)
 Parameter parsing callback for /recordings/live/{recordingName}. More...
 
static void ast_ari_recordings_copy_stored_cb (struct ast_tcptls_session_instance *ser, struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *headers, struct ast_json *body, struct ast_ari_response *response)
 Parameter parsing callback for /recordings/stored/{recordingName}/copy. More...
 
int ast_ari_recordings_copy_stored_parse_body (struct ast_json *body, struct ast_ari_recordings_copy_stored_args *args)
 Body parsing function for /recordings/stored/{recordingName}/copy. More...
 
static void ast_ari_recordings_delete_stored_cb (struct ast_tcptls_session_instance *ser, struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *headers, struct ast_json *body, struct ast_ari_response *response)
 Parameter parsing callback for /recordings/stored/{recordingName}. More...
 
static void ast_ari_recordings_get_live_cb (struct ast_tcptls_session_instance *ser, struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *headers, struct ast_json *body, struct ast_ari_response *response)
 Parameter parsing callback for /recordings/live/{recordingName}. More...
 
static void ast_ari_recordings_get_stored_cb (struct ast_tcptls_session_instance *ser, struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *headers, struct ast_json *body, struct ast_ari_response *response)
 Parameter parsing callback for /recordings/stored/{recordingName}. More...
 
static void ast_ari_recordings_get_stored_file_cb (struct ast_tcptls_session_instance *ser, struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *headers, struct ast_json *body, struct ast_ari_response *response)
 Parameter parsing callback for /recordings/stored/{recordingName}/file. More...
 
static void ast_ari_recordings_list_stored_cb (struct ast_tcptls_session_instance *ser, struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *headers, struct ast_json *body, struct ast_ari_response *response)
 Parameter parsing callback for /recordings/stored. More...
 
static void ast_ari_recordings_mute_cb (struct ast_tcptls_session_instance *ser, struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *headers, struct ast_json *body, struct ast_ari_response *response)
 Parameter parsing callback for /recordings/live/{recordingName}/mute. More...
 
static void ast_ari_recordings_pause_cb (struct ast_tcptls_session_instance *ser, struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *headers, struct ast_json *body, struct ast_ari_response *response)
 Parameter parsing callback for /recordings/live/{recordingName}/pause. More...
 
static void ast_ari_recordings_stop_cb (struct ast_tcptls_session_instance *ser, struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *headers, struct ast_json *body, struct ast_ari_response *response)
 Parameter parsing callback for /recordings/live/{recordingName}/stop. More...
 
static void ast_ari_recordings_unmute_cb (struct ast_tcptls_session_instance *ser, struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *headers, struct ast_json *body, struct ast_ari_response *response)
 Parameter parsing callback for /recordings/live/{recordingName}/mute. More...
 
static void ast_ari_recordings_unpause_cb (struct ast_tcptls_session_instance *ser, struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *headers, struct ast_json *body, struct ast_ari_response *response)
 Parameter parsing callback for /recordings/live/{recordingName}/pause. More...
 
struct ast_moduleAST_MODULE_SELF_SYM (void)
 
static int load_module (void)
 
static int unload_module (void)
 

Variables

static struct ast_module_info __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_DEFAULT , .description = "RESTful API module - Recording resources" , .key = "This paragraph is copyright (c) 2006 by Digium, Inc. \In order for your module to load, it must return this \key via a function called \"key\". Any code which \includes this paragraph must be licensed under the GNU \General Public License version 2 or later (at your \option). In addition to Digium's general reservations \of rights, Digium expressly reserves the right to \allow other parties to license this paragraph under \different terms. Any use of Digium, Inc. trademarks or \logos (including \"Asterisk\" or \"Digium\") without \express written permission of Digium, Inc. is prohibited.\n" , .buildopt_sum = "30ef0c93b36035ec78c9cfd712d36d9b" , .support_level = AST_MODULE_SUPPORT_CORE, .load = load_module, .unload = unload_module, .requires = "res_ari,res_ari_model,res_stasis,res_stasis_recording", }
 
static const struct ast_module_infoast_module_info = &__mod_info
 
static struct stasis_rest_handlers recordings
 REST handler for /api-docs/recordings.json. More...
 
static struct stasis_rest_handlers recordings_live
 REST handler for /api-docs/recordings.json. More...
 
static struct stasis_rest_handlers recordings_live_recordingName
 REST handler for /api-docs/recordings.json. More...
 
static struct stasis_rest_handlers recordings_live_recordingName_mute
 REST handler for /api-docs/recordings.json. More...
 
static struct stasis_rest_handlers recordings_live_recordingName_pause
 REST handler for /api-docs/recordings.json. More...
 
static struct stasis_rest_handlers recordings_live_recordingName_stop
 REST handler for /api-docs/recordings.json. More...
 
static struct stasis_rest_handlers recordings_stored
 REST handler for /api-docs/recordings.json. More...
 
static struct stasis_rest_handlers recordings_stored_recordingName
 REST handler for /api-docs/recordings.json. More...
 
static struct stasis_rest_handlers recordings_stored_recordingName_copy
 REST handler for /api-docs/recordings.json. More...
 
static struct stasis_rest_handlers recordings_stored_recordingName_file
 REST handler for /api-docs/recordings.json. More...
 

Detailed Description

Recording resources.

Author
David M. Lee, II dlee@.nosp@m.digi.nosp@m.um.co.nosp@m.m

Definition in file res_ari_recordings.c.

Macro Definition Documentation

◆ MAX_VALS

#define MAX_VALS   128

Definition at line 52 of file res_ari_recordings.c.

Function Documentation

◆ __reg_module()

static void __reg_module ( void  )
static

Definition at line 892 of file res_ari_recordings.c.

◆ __unreg_module()

static void __unreg_module ( void  )
static

Definition at line 892 of file res_ari_recordings.c.

◆ ast_ari_recordings_cancel_cb()

static void ast_ari_recordings_cancel_cb ( struct ast_tcptls_session_instance ser,
struct ast_variable get_params,
struct ast_variable path_vars,
struct ast_variable headers,
struct ast_json body,
struct ast_ari_response response 
)
static

Parameter parsing callback for /recordings/live/{recordingName}.

Parameters
get_paramsGET parameters in the HTTP request.
path_varsPath variables extracted from the request.
headersHTTP headers.
[out]responseResponse to the HTTP request.

Definition at line 426 of file res_ari_recordings.c.

References ast_ari_recordings_cancel(), ast_ari_response_error(), ast_ari_validate_void(), ast_log, LOG_ERROR, ast_ari_response::message, ast_variable::name, ast_variable::next, NULL, ast_ari_recordings_cancel_args::recording_name, ast_ari_response::response_code, and ast_variable::value.

430 {
432  struct ast_variable *i;
433 #if defined(AST_DEVMODE)
434  int is_valid;
435  int code;
436 #endif /* AST_DEVMODE */
437 
438  for (i = path_vars; i; i = i->next) {
439  if (strcmp(i->name, "recordingName") == 0) {
440  args.recording_name = (i->value);
441  } else
442  {}
443  }
444  ast_ari_recordings_cancel(headers, &args, response);
445 #if defined(AST_DEVMODE)
446  code = response->response_code;
447 
448  switch (code) {
449  case 0: /* Implementation is still a stub, or the code wasn't set */
450  is_valid = response->message == NULL;
451  break;
452  case 500: /* Internal Server Error */
453  case 501: /* Not Implemented */
454  case 404: /* Recording not found */
455  is_valid = 1;
456  break;
457  default:
458  if (200 <= code && code <= 299) {
459  is_valid = ast_ari_validate_void(
460  response->message);
461  } else {
462  ast_log(LOG_ERROR, "Invalid error response %d for /recordings/live/{recordingName}\n", code);
463  is_valid = 0;
464  }
465  }
466 
467  if (!is_valid) {
468  ast_log(LOG_ERROR, "Response validation failed for /recordings/live/{recordingName}\n");
469  ast_ari_response_error(response, 500,
470  "Internal Server Error", "Response validation failed");
471  }
472 #endif /* AST_DEVMODE */
473 
474 fin: __attribute__((unused))
475  return;
476 }
struct ast_variable * next
Structure for variables, used for configurations and for channel variables.
const char * args
#define NULL
Definition: resample.c:96
int ast_ari_validate_void(struct ast_json *json)
Validator for native Swagger void.
Definition: res_ari_model.c:91
int response_code
Definition: ari.h:98
#define ast_log
Definition: astobj2.c:42
#define LOG_ERROR
Definition: logger.h:285
void ast_ari_response_error(struct ast_ari_response *response, int response_code, const char *response_text, const char *message_fmt,...)
Fill in an error ast_ari_response.
Definition: res_ari.c:259
struct ast_json * message
Definition: ari.h:93
void ast_ari_recordings_cancel(struct ast_variable *headers, struct ast_ari_recordings_cancel_args *args, struct ast_ari_response *response)
Stop a live recording and discard it.

◆ ast_ari_recordings_copy_stored_cb()

static void ast_ari_recordings_copy_stored_cb ( struct ast_tcptls_session_instance ser,
struct ast_variable get_params,
struct ast_variable path_vars,
struct ast_variable headers,
struct ast_json body,
struct ast_ari_response response 
)
static

Parameter parsing callback for /recordings/stored/{recordingName}/copy.

Parameters
get_paramsGET parameters in the HTTP request.
path_varsPath variables extracted from the request.
headersHTTP headers.
[out]responseResponse to the HTTP request.

Definition at line 299 of file res_ari_recordings.c.

References ast_ari_recordings_copy_stored(), ast_ari_recordings_copy_stored_parse_body(), ast_ari_response_alloc_failed(), ast_ari_response_error(), ast_ari_validate_stored_recording(), ast_log, ast_ari_recordings_copy_stored_args::destination_recording_name, LOG_ERROR, ast_ari_response::message, ast_variable::name, ast_variable::next, NULL, ast_ari_recordings_copy_stored_args::recording_name, ast_ari_response::response_code, and ast_variable::value.

303 {
305  struct ast_variable *i;
306 #if defined(AST_DEVMODE)
307  int is_valid;
308  int code;
309 #endif /* AST_DEVMODE */
310 
311  for (i = get_params; i; i = i->next) {
312  if (strcmp(i->name, "destinationRecordingName") == 0) {
313  args.destination_recording_name = (i->value);
314  } else
315  {}
316  }
317  for (i = path_vars; i; i = i->next) {
318  if (strcmp(i->name, "recordingName") == 0) {
319  args.recording_name = (i->value);
320  } else
321  {}
322  }
325  goto fin;
326  }
327  ast_ari_recordings_copy_stored(headers, &args, response);
328 #if defined(AST_DEVMODE)
329  code = response->response_code;
330 
331  switch (code) {
332  case 0: /* Implementation is still a stub, or the code wasn't set */
333  is_valid = response->message == NULL;
334  break;
335  case 500: /* Internal Server Error */
336  case 501: /* Not Implemented */
337  case 404: /* Recording not found */
338  case 409: /* A recording with the same name already exists on the system */
339  is_valid = 1;
340  break;
341  default:
342  if (200 <= code && code <= 299) {
344  response->message);
345  } else {
346  ast_log(LOG_ERROR, "Invalid error response %d for /recordings/stored/{recordingName}/copy\n", code);
347  is_valid = 0;
348  }
349  }
350 
351  if (!is_valid) {
352  ast_log(LOG_ERROR, "Response validation failed for /recordings/stored/{recordingName}/copy\n");
353  ast_ari_response_error(response, 500,
354  "Internal Server Error", "Response validation failed");
355  }
356 #endif /* AST_DEVMODE */
357 
358 fin: __attribute__((unused))
359  return;
360 }
struct ast_variable * next
void ast_ari_recordings_copy_stored(struct ast_variable *headers, struct ast_ari_recordings_copy_stored_args *args, struct ast_ari_response *response)
Copy a stored recording.
Structure for variables, used for configurations and for channel variables.
const char * args
#define NULL
Definition: resample.c:96
void ast_ari_response_alloc_failed(struct ast_ari_response *response)
Fill in response with a 500 message for allocation failures.
Definition: res_ari.c:298
int response_code
Definition: ari.h:98
#define ast_log
Definition: astobj2.c:42
#define LOG_ERROR
Definition: logger.h:285
void ast_ari_response_error(struct ast_ari_response *response, int response_code, const char *response_text, const char *message_fmt,...)
Fill in an error ast_ari_response.
Definition: res_ari.c:259
struct ast_json * message
Definition: ari.h:93
int ast_ari_recordings_copy_stored_parse_body(struct ast_json *body, struct ast_ari_recordings_copy_stored_args *args)
Body parsing function for /recordings/stored/{recordingName}/copy.
int ast_ari_validate_stored_recording(struct ast_json *json)
Validator for StoredRecording.

◆ ast_ari_recordings_copy_stored_parse_body()

int ast_ari_recordings_copy_stored_parse_body ( struct ast_json body,
struct ast_ari_recordings_copy_stored_args args 
)

Body parsing function for /recordings/stored/{recordingName}/copy.

Parameters
bodyThe JSON body from which to parse parameters.
[out]argsThe args structure to parse into.
Return values
zeroon success
non-zeroon failure

Definition at line 279 of file res_ari_recordings.c.

References ast_json_object_get(), ast_json_string_get(), and ast_ari_recordings_copy_stored_args::destination_recording_name.

Referenced by ast_ari_recordings_copy_stored_cb().

282 {
283  struct ast_json *field;
284  /* Parse query parameters out of it */
285  field = ast_json_object_get(body, "destinationRecordingName");
286  if (field) {
288  }
289  return 0;
290 }
const char * ast_json_string_get(const struct ast_json *string)
Get the value of a JSON string.
Definition: json.c:273
struct ast_json * ast_json_object_get(struct ast_json *object, const char *key)
Get a field from a JSON object.
Definition: json.c:397
Abstract JSON element (object, array, string, int, ...).

◆ ast_ari_recordings_delete_stored_cb()

static void ast_ari_recordings_delete_stored_cb ( struct ast_tcptls_session_instance ser,
struct ast_variable get_params,
struct ast_variable path_vars,
struct ast_variable headers,
struct ast_json body,
struct ast_ari_response response 
)
static

Parameter parsing callback for /recordings/stored/{recordingName}.

Parameters
get_paramsGET parameters in the HTTP request.
path_varsPath variables extracted from the request.
headersHTTP headers.
[out]responseResponse to the HTTP request.

Definition at line 169 of file res_ari_recordings.c.

References ast_ari_recordings_delete_stored(), ast_ari_response_error(), ast_ari_validate_void(), ast_log, LOG_ERROR, ast_ari_response::message, ast_variable::name, ast_variable::next, NULL, ast_ari_recordings_delete_stored_args::recording_name, ast_ari_response::response_code, and ast_variable::value.

173 {
175  struct ast_variable *i;
176 #if defined(AST_DEVMODE)
177  int is_valid;
178  int code;
179 #endif /* AST_DEVMODE */
180 
181  for (i = path_vars; i; i = i->next) {
182  if (strcmp(i->name, "recordingName") == 0) {
183  args.recording_name = (i->value);
184  } else
185  {}
186  }
187  ast_ari_recordings_delete_stored(headers, &args, response);
188 #if defined(AST_DEVMODE)
189  code = response->response_code;
190 
191  switch (code) {
192  case 0: /* Implementation is still a stub, or the code wasn't set */
193  is_valid = response->message == NULL;
194  break;
195  case 500: /* Internal Server Error */
196  case 501: /* Not Implemented */
197  case 404: /* Recording not found */
198  is_valid = 1;
199  break;
200  default:
201  if (200 <= code && code <= 299) {
202  is_valid = ast_ari_validate_void(
203  response->message);
204  } else {
205  ast_log(LOG_ERROR, "Invalid error response %d for /recordings/stored/{recordingName}\n", code);
206  is_valid = 0;
207  }
208  }
209 
210  if (!is_valid) {
211  ast_log(LOG_ERROR, "Response validation failed for /recordings/stored/{recordingName}\n");
212  ast_ari_response_error(response, 500,
213  "Internal Server Error", "Response validation failed");
214  }
215 #endif /* AST_DEVMODE */
216 
217 fin: __attribute__((unused))
218  return;
219 }
struct ast_variable * next
Structure for variables, used for configurations and for channel variables.
const char * args
#define NULL
Definition: resample.c:96
int ast_ari_validate_void(struct ast_json *json)
Validator for native Swagger void.
Definition: res_ari_model.c:91
int response_code
Definition: ari.h:98
#define ast_log
Definition: astobj2.c:42
void ast_ari_recordings_delete_stored(struct ast_variable *headers, struct ast_ari_recordings_delete_stored_args *args, struct ast_ari_response *response)
Delete a stored recording.
#define LOG_ERROR
Definition: logger.h:285
void ast_ari_response_error(struct ast_ari_response *response, int response_code, const char *response_text, const char *message_fmt,...)
Fill in an error ast_ari_response.
Definition: res_ari.c:259
struct ast_json * message
Definition: ari.h:93

◆ ast_ari_recordings_get_live_cb()

static void ast_ari_recordings_get_live_cb ( struct ast_tcptls_session_instance ser,
struct ast_variable get_params,
struct ast_variable path_vars,
struct ast_variable headers,
struct ast_json body,
struct ast_ari_response response 
)
static

Parameter parsing callback for /recordings/live/{recordingName}.

Parameters
get_paramsGET parameters in the HTTP request.
path_varsPath variables extracted from the request.
headersHTTP headers.
[out]responseResponse to the HTTP request.

Definition at line 368 of file res_ari_recordings.c.

References ast_ari_recordings_get_live(), ast_ari_response_error(), ast_ari_validate_live_recording(), ast_log, LOG_ERROR, ast_ari_response::message, ast_variable::name, ast_variable::next, NULL, ast_ari_recordings_get_live_args::recording_name, ast_ari_response::response_code, and ast_variable::value.

372 {
374  struct ast_variable *i;
375 #if defined(AST_DEVMODE)
376  int is_valid;
377  int code;
378 #endif /* AST_DEVMODE */
379 
380  for (i = path_vars; i; i = i->next) {
381  if (strcmp(i->name, "recordingName") == 0) {
382  args.recording_name = (i->value);
383  } else
384  {}
385  }
386  ast_ari_recordings_get_live(headers, &args, response);
387 #if defined(AST_DEVMODE)
388  code = response->response_code;
389 
390  switch (code) {
391  case 0: /* Implementation is still a stub, or the code wasn't set */
392  is_valid = response->message == NULL;
393  break;
394  case 500: /* Internal Server Error */
395  case 501: /* Not Implemented */
396  case 404: /* Recording not found */
397  is_valid = 1;
398  break;
399  default:
400  if (200 <= code && code <= 299) {
402  response->message);
403  } else {
404  ast_log(LOG_ERROR, "Invalid error response %d for /recordings/live/{recordingName}\n", code);
405  is_valid = 0;
406  }
407  }
408 
409  if (!is_valid) {
410  ast_log(LOG_ERROR, "Response validation failed for /recordings/live/{recordingName}\n");
411  ast_ari_response_error(response, 500,
412  "Internal Server Error", "Response validation failed");
413  }
414 #endif /* AST_DEVMODE */
415 
416 fin: __attribute__((unused))
417  return;
418 }
struct ast_variable * next
Structure for variables, used for configurations and for channel variables.
const char * args
#define NULL
Definition: resample.c:96
int response_code
Definition: ari.h:98
#define ast_log
Definition: astobj2.c:42
#define LOG_ERROR
Definition: logger.h:285
void ast_ari_response_error(struct ast_ari_response *response, int response_code, const char *response_text, const char *message_fmt,...)
Fill in an error ast_ari_response.
Definition: res_ari.c:259
int ast_ari_validate_live_recording(struct ast_json *json)
Validator for LiveRecording.
struct ast_json * message
Definition: ari.h:93
void ast_ari_recordings_get_live(struct ast_variable *headers, struct ast_ari_recordings_get_live_args *args, struct ast_ari_response *response)
List live recordings.

◆ ast_ari_recordings_get_stored_cb()

static void ast_ari_recordings_get_stored_cb ( struct ast_tcptls_session_instance ser,
struct ast_variable get_params,
struct ast_variable path_vars,
struct ast_variable headers,
struct ast_json body,
struct ast_ari_response response 
)
static

Parameter parsing callback for /recordings/stored/{recordingName}.

Parameters
get_paramsGET parameters in the HTTP request.
path_varsPath variables extracted from the request.
headersHTTP headers.
[out]responseResponse to the HTTP request.

Definition at line 111 of file res_ari_recordings.c.

References ast_ari_recordings_get_stored(), ast_ari_response_error(), ast_ari_validate_stored_recording(), ast_log, LOG_ERROR, ast_ari_response::message, ast_variable::name, ast_variable::next, NULL, ast_ari_recordings_get_stored_args::recording_name, ast_ari_response::response_code, and ast_variable::value.

115 {
117  struct ast_variable *i;
118 #if defined(AST_DEVMODE)
119  int is_valid;
120  int code;
121 #endif /* AST_DEVMODE */
122 
123  for (i = path_vars; i; i = i->next) {
124  if (strcmp(i->name, "recordingName") == 0) {
125  args.recording_name = (i->value);
126  } else
127  {}
128  }
129  ast_ari_recordings_get_stored(headers, &args, response);
130 #if defined(AST_DEVMODE)
131  code = response->response_code;
132 
133  switch (code) {
134  case 0: /* Implementation is still a stub, or the code wasn't set */
135  is_valid = response->message == NULL;
136  break;
137  case 500: /* Internal Server Error */
138  case 501: /* Not Implemented */
139  case 404: /* Recording not found */
140  is_valid = 1;
141  break;
142  default:
143  if (200 <= code && code <= 299) {
145  response->message);
146  } else {
147  ast_log(LOG_ERROR, "Invalid error response %d for /recordings/stored/{recordingName}\n", code);
148  is_valid = 0;
149  }
150  }
151 
152  if (!is_valid) {
153  ast_log(LOG_ERROR, "Response validation failed for /recordings/stored/{recordingName}\n");
154  ast_ari_response_error(response, 500,
155  "Internal Server Error", "Response validation failed");
156  }
157 #endif /* AST_DEVMODE */
158 
159 fin: __attribute__((unused))
160  return;
161 }
struct ast_variable * next
Structure for variables, used for configurations and for channel variables.
const char * args
#define NULL
Definition: resample.c:96
int response_code
Definition: ari.h:98
#define ast_log
Definition: astobj2.c:42
void ast_ari_recordings_get_stored(struct ast_variable *headers, struct ast_ari_recordings_get_stored_args *args, struct ast_ari_response *response)
Get a stored recording&#39;s details.
#define LOG_ERROR
Definition: logger.h:285
void ast_ari_response_error(struct ast_ari_response *response, int response_code, const char *response_text, const char *message_fmt,...)
Fill in an error ast_ari_response.
Definition: res_ari.c:259
struct ast_json * message
Definition: ari.h:93
int ast_ari_validate_stored_recording(struct ast_json *json)
Validator for StoredRecording.

◆ ast_ari_recordings_get_stored_file_cb()

static void ast_ari_recordings_get_stored_file_cb ( struct ast_tcptls_session_instance ser,
struct ast_variable get_params,
struct ast_variable path_vars,
struct ast_variable headers,
struct ast_json body,
struct ast_ari_response response 
)
static

Parameter parsing callback for /recordings/stored/{recordingName}/file.

Parameters
get_paramsGET parameters in the HTTP request.
path_varsPath variables extracted from the request.
headersHTTP headers.
[out]responseResponse to the HTTP request.

Definition at line 227 of file res_ari_recordings.c.

References ast_ari_recordings_get_stored_file(), ast_ari_response_error(), ast_log, LOG_ERROR, ast_ari_response::message, ast_variable::name, ast_variable::next, NULL, ast_ari_recordings_get_stored_file_args::recording_name, ast_ari_response::response_code, and ast_variable::value.

231 {
233  struct ast_variable *i;
234 #if defined(AST_DEVMODE)
235  int is_valid;
236  int code;
237 #endif /* AST_DEVMODE */
238 
239  for (i = path_vars; i; i = i->next) {
240  if (strcmp(i->name, "recordingName") == 0) {
241  args.recording_name = (i->value);
242  } else
243  {}
244  }
245  ast_ari_recordings_get_stored_file(ser, headers, &args, response);
246 #if defined(AST_DEVMODE)
247  code = response->response_code;
248 
249  switch (code) {
250  case 0: /* Implementation is still a stub, or the code wasn't set */
251  is_valid = response->message == NULL;
252  break;
253  case 500: /* Internal Server Error */
254  case 501: /* Not Implemented */
255  case 403: /* The recording file could not be opened */
256  case 404: /* Recording not found */
257  is_valid = 1;
258  break;
259  default:
260  if (200 <= code && code <= 299) {
261  /* No validation on a raw binary response */
262  is_valid = 1;
263  } else {
264  ast_log(LOG_ERROR, "Invalid error response %d for /recordings/stored/{recordingName}/file\n", code);
265  is_valid = 0;
266  }
267  }
268 
269  if (!is_valid) {
270  ast_log(LOG_ERROR, "Response validation failed for /recordings/stored/{recordingName}/file\n");
271  ast_ari_response_error(response, 500,
272  "Internal Server Error", "Response validation failed");
273  }
274 #endif /* AST_DEVMODE */
275 
276 fin: __attribute__((unused))
277  return;
278 }
struct ast_variable * next
Structure for variables, used for configurations and for channel variables.
const char * args
#define NULL
Definition: resample.c:96
int response_code
Definition: ari.h:98
#define ast_log
Definition: astobj2.c:42
#define LOG_ERROR
Definition: logger.h:285
void ast_ari_response_error(struct ast_ari_response *response, int response_code, const char *response_text, const char *message_fmt,...)
Fill in an error ast_ari_response.
Definition: res_ari.c:259
struct ast_json * message
Definition: ari.h:93
void ast_ari_recordings_get_stored_file(struct ast_tcptls_session_instance *ser, struct ast_variable *headers, struct ast_ari_recordings_get_stored_file_args *args, struct ast_ari_response *response)
Get the file associated with the stored recording.

◆ ast_ari_recordings_list_stored_cb()

static void ast_ari_recordings_list_stored_cb ( struct ast_tcptls_session_instance ser,
struct ast_variable get_params,
struct ast_variable path_vars,
struct ast_variable headers,
struct ast_json body,
struct ast_ari_response response 
)
static

Parameter parsing callback for /recordings/stored.

Parameters
get_paramsGET parameters in the HTTP request.
path_varsPath variables extracted from the request.
headersHTTP headers.
[out]responseResponse to the HTTP request.

Definition at line 61 of file res_ari_recordings.c.

References ast_ari_recordings_list_stored(), ast_ari_response_error(), ast_ari_validate_list(), ast_ari_validate_stored_recording_fn(), ast_log, LOG_ERROR, ast_ari_response::message, NULL, and ast_ari_response::response_code.

65 {
67 #if defined(AST_DEVMODE)
68  int is_valid;
69  int code;
70 #endif /* AST_DEVMODE */
71 
72  ast_ari_recordings_list_stored(headers, &args, response);
73 #if defined(AST_DEVMODE)
74  code = response->response_code;
75 
76  switch (code) {
77  case 0: /* Implementation is still a stub, or the code wasn't set */
78  is_valid = response->message == NULL;
79  break;
80  case 500: /* Internal Server Error */
81  case 501: /* Not Implemented */
82  is_valid = 1;
83  break;
84  default:
85  if (200 <= code && code <= 299) {
86  is_valid = ast_ari_validate_list(response->message,
88  } else {
89  ast_log(LOG_ERROR, "Invalid error response %d for /recordings/stored\n", code);
90  is_valid = 0;
91  }
92  }
93 
94  if (!is_valid) {
95  ast_log(LOG_ERROR, "Response validation failed for /recordings/stored\n");
96  ast_ari_response_error(response, 500,
97  "Internal Server Error", "Response validation failed");
98  }
99 #endif /* AST_DEVMODE */
100 
101 fin: __attribute__((unused))
102  return;
103 }
const char * args
#define NULL
Definition: resample.c:96
int response_code
Definition: ari.h:98
#define ast_log
Definition: astobj2.c:42
void ast_ari_recordings_list_stored(struct ast_variable *headers, struct ast_ari_recordings_list_stored_args *args, struct ast_ari_response *response)
List recordings that are complete.
#define LOG_ERROR
Definition: logger.h:285
void ast_ari_response_error(struct ast_ari_response *response, int response_code, const char *response_text, const char *message_fmt,...)
Fill in an error ast_ari_response.
Definition: res_ari.c:259
ari_validator ast_ari_validate_stored_recording_fn(void)
Function pointer to ast_ari_validate_stored_recording().
struct ast_json * message
Definition: ari.h:93
int ast_ari_validate_list(struct ast_json *json, int(*fn)(struct ast_json *))
Validator for a Swagger List[]/JSON array.

◆ ast_ari_recordings_mute_cb()

static void ast_ari_recordings_mute_cb ( struct ast_tcptls_session_instance ser,
struct ast_variable get_params,
struct ast_variable path_vars,
struct ast_variable headers,
struct ast_json body,
struct ast_ari_response response 
)
static

Parameter parsing callback for /recordings/live/{recordingName}/mute.

Parameters
get_paramsGET parameters in the HTTP request.
path_varsPath variables extracted from the request.
headersHTTP headers.
[out]responseResponse to the HTTP request.

Definition at line 660 of file res_ari_recordings.c.

References ast_ari_recordings_mute(), ast_ari_response_error(), ast_ari_validate_void(), ast_log, LOG_ERROR, ast_ari_response::message, ast_variable::name, ast_variable::next, NULL, ast_ari_recordings_mute_args::recording_name, ast_ari_response::response_code, and ast_variable::value.

664 {
666  struct ast_variable *i;
667 #if defined(AST_DEVMODE)
668  int is_valid;
669  int code;
670 #endif /* AST_DEVMODE */
671 
672  for (i = path_vars; i; i = i->next) {
673  if (strcmp(i->name, "recordingName") == 0) {
674  args.recording_name = (i->value);
675  } else
676  {}
677  }
678  ast_ari_recordings_mute(headers, &args, response);
679 #if defined(AST_DEVMODE)
680  code = response->response_code;
681 
682  switch (code) {
683  case 0: /* Implementation is still a stub, or the code wasn't set */
684  is_valid = response->message == NULL;
685  break;
686  case 500: /* Internal Server Error */
687  case 501: /* Not Implemented */
688  case 404: /* Recording not found */
689  case 409: /* Recording not in session */
690  is_valid = 1;
691  break;
692  default:
693  if (200 <= code && code <= 299) {
694  is_valid = ast_ari_validate_void(
695  response->message);
696  } else {
697  ast_log(LOG_ERROR, "Invalid error response %d for /recordings/live/{recordingName}/mute\n", code);
698  is_valid = 0;
699  }
700  }
701 
702  if (!is_valid) {
703  ast_log(LOG_ERROR, "Response validation failed for /recordings/live/{recordingName}/mute\n");
704  ast_ari_response_error(response, 500,
705  "Internal Server Error", "Response validation failed");
706  }
707 #endif /* AST_DEVMODE */
708 
709 fin: __attribute__((unused))
710  return;
711 }
struct ast_variable * next
Structure for variables, used for configurations and for channel variables.
const char * args
#define NULL
Definition: resample.c:96
int ast_ari_validate_void(struct ast_json *json)
Validator for native Swagger void.
Definition: res_ari_model.c:91
int response_code
Definition: ari.h:98
#define ast_log
Definition: astobj2.c:42
#define LOG_ERROR
Definition: logger.h:285
void ast_ari_response_error(struct ast_ari_response *response, int response_code, const char *response_text, const char *message_fmt,...)
Fill in an error ast_ari_response.
Definition: res_ari.c:259
struct ast_json * message
Definition: ari.h:93
void ast_ari_recordings_mute(struct ast_variable *headers, struct ast_ari_recordings_mute_args *args, struct ast_ari_response *response)
Mute a live recording.

◆ ast_ari_recordings_pause_cb()

static void ast_ari_recordings_pause_cb ( struct ast_tcptls_session_instance ser,
struct ast_variable get_params,
struct ast_variable path_vars,
struct ast_variable headers,
struct ast_json body,
struct ast_ari_response response 
)
static

Parameter parsing callback for /recordings/live/{recordingName}/pause.

Parameters
get_paramsGET parameters in the HTTP request.
path_varsPath variables extracted from the request.
headersHTTP headers.
[out]responseResponse to the HTTP request.

Definition at line 542 of file res_ari_recordings.c.

References ast_ari_recordings_pause(), ast_ari_response_error(), ast_ari_validate_void(), ast_log, LOG_ERROR, ast_ari_response::message, ast_variable::name, ast_variable::next, NULL, ast_ari_recordings_pause_args::recording_name, ast_ari_response::response_code, and ast_variable::value.

546 {
548  struct ast_variable *i;
549 #if defined(AST_DEVMODE)
550  int is_valid;
551  int code;
552 #endif /* AST_DEVMODE */
553 
554  for (i = path_vars; i; i = i->next) {
555  if (strcmp(i->name, "recordingName") == 0) {
556  args.recording_name = (i->value);
557  } else
558  {}
559  }
560  ast_ari_recordings_pause(headers, &args, response);
561 #if defined(AST_DEVMODE)
562  code = response->response_code;
563 
564  switch (code) {
565  case 0: /* Implementation is still a stub, or the code wasn't set */
566  is_valid = response->message == NULL;
567  break;
568  case 500: /* Internal Server Error */
569  case 501: /* Not Implemented */
570  case 404: /* Recording not found */
571  case 409: /* Recording not in session */
572  is_valid = 1;
573  break;
574  default:
575  if (200 <= code && code <= 299) {
576  is_valid = ast_ari_validate_void(
577  response->message);
578  } else {
579  ast_log(LOG_ERROR, "Invalid error response %d for /recordings/live/{recordingName}/pause\n", code);
580  is_valid = 0;
581  }
582  }
583 
584  if (!is_valid) {
585  ast_log(LOG_ERROR, "Response validation failed for /recordings/live/{recordingName}/pause\n");
586  ast_ari_response_error(response, 500,
587  "Internal Server Error", "Response validation failed");
588  }
589 #endif /* AST_DEVMODE */
590 
591 fin: __attribute__((unused))
592  return;
593 }
struct ast_variable * next
void ast_ari_recordings_pause(struct ast_variable *headers, struct ast_ari_recordings_pause_args *args, struct ast_ari_response *response)
Pause a live recording.
Structure for variables, used for configurations and for channel variables.
const char * args
#define NULL
Definition: resample.c:96
int ast_ari_validate_void(struct ast_json *json)
Validator for native Swagger void.
Definition: res_ari_model.c:91
int response_code
Definition: ari.h:98
#define ast_log
Definition: astobj2.c:42
#define LOG_ERROR
Definition: logger.h:285
void ast_ari_response_error(struct ast_ari_response *response, int response_code, const char *response_text, const char *message_fmt,...)
Fill in an error ast_ari_response.
Definition: res_ari.c:259
struct ast_json * message
Definition: ari.h:93

◆ ast_ari_recordings_stop_cb()

static void ast_ari_recordings_stop_cb ( struct ast_tcptls_session_instance ser,
struct ast_variable get_params,
struct ast_variable path_vars,
struct ast_variable headers,
struct ast_json body,
struct ast_ari_response response 
)
static

Parameter parsing callback for /recordings/live/{recordingName}/stop.

Parameters
get_paramsGET parameters in the HTTP request.
path_varsPath variables extracted from the request.
headersHTTP headers.
[out]responseResponse to the HTTP request.

Definition at line 484 of file res_ari_recordings.c.

References ast_ari_recordings_stop(), ast_ari_response_error(), ast_ari_validate_void(), ast_log, LOG_ERROR, ast_ari_response::message, ast_variable::name, ast_variable::next, NULL, ast_ari_recordings_stop_args::recording_name, ast_ari_response::response_code, and ast_variable::value.

488 {
490  struct ast_variable *i;
491 #if defined(AST_DEVMODE)
492  int is_valid;
493  int code;
494 #endif /* AST_DEVMODE */
495 
496  for (i = path_vars; i; i = i->next) {
497  if (strcmp(i->name, "recordingName") == 0) {
498  args.recording_name = (i->value);
499  } else
500  {}
501  }
502  ast_ari_recordings_stop(headers, &args, response);
503 #if defined(AST_DEVMODE)
504  code = response->response_code;
505 
506  switch (code) {
507  case 0: /* Implementation is still a stub, or the code wasn't set */
508  is_valid = response->message == NULL;
509  break;
510  case 500: /* Internal Server Error */
511  case 501: /* Not Implemented */
512  case 404: /* Recording not found */
513  is_valid = 1;
514  break;
515  default:
516  if (200 <= code && code <= 299) {
517  is_valid = ast_ari_validate_void(
518  response->message);
519  } else {
520  ast_log(LOG_ERROR, "Invalid error response %d for /recordings/live/{recordingName}/stop\n", code);
521  is_valid = 0;
522  }
523  }
524 
525  if (!is_valid) {
526  ast_log(LOG_ERROR, "Response validation failed for /recordings/live/{recordingName}/stop\n");
527  ast_ari_response_error(response, 500,
528  "Internal Server Error", "Response validation failed");
529  }
530 #endif /* AST_DEVMODE */
531 
532 fin: __attribute__((unused))
533  return;
534 }
struct ast_variable * next
Structure for variables, used for configurations and for channel variables.
const char * args
#define NULL
Definition: resample.c:96
int ast_ari_validate_void(struct ast_json *json)
Validator for native Swagger void.
Definition: res_ari_model.c:91
int response_code
Definition: ari.h:98
#define ast_log
Definition: astobj2.c:42
void ast_ari_recordings_stop(struct ast_variable *headers, struct ast_ari_recordings_stop_args *args, struct ast_ari_response *response)
Stop a live recording and store it.
#define LOG_ERROR
Definition: logger.h:285
void ast_ari_response_error(struct ast_ari_response *response, int response_code, const char *response_text, const char *message_fmt,...)
Fill in an error ast_ari_response.
Definition: res_ari.c:259
struct ast_json * message
Definition: ari.h:93

◆ ast_ari_recordings_unmute_cb()

static void ast_ari_recordings_unmute_cb ( struct ast_tcptls_session_instance ser,
struct ast_variable get_params,
struct ast_variable path_vars,
struct ast_variable headers,
struct ast_json body,
struct ast_ari_response response 
)
static

Parameter parsing callback for /recordings/live/{recordingName}/mute.

Parameters
get_paramsGET parameters in the HTTP request.
path_varsPath variables extracted from the request.
headersHTTP headers.
[out]responseResponse to the HTTP request.

Definition at line 719 of file res_ari_recordings.c.

References ast_ari_recordings_unmute(), ast_ari_response_error(), ast_ari_validate_void(), ast_log, LOG_ERROR, ast_ari_response::message, ast_variable::name, ast_variable::next, NULL, ast_ari_recordings_unmute_args::recording_name, ast_ari_response::response_code, and ast_variable::value.

723 {
725  struct ast_variable *i;
726 #if defined(AST_DEVMODE)
727  int is_valid;
728  int code;
729 #endif /* AST_DEVMODE */
730 
731  for (i = path_vars; i; i = i->next) {
732  if (strcmp(i->name, "recordingName") == 0) {
733  args.recording_name = (i->value);
734  } else
735  {}
736  }
737  ast_ari_recordings_unmute(headers, &args, response);
738 #if defined(AST_DEVMODE)
739  code = response->response_code;
740 
741  switch (code) {
742  case 0: /* Implementation is still a stub, or the code wasn't set */
743  is_valid = response->message == NULL;
744  break;
745  case 500: /* Internal Server Error */
746  case 501: /* Not Implemented */
747  case 404: /* Recording not found */
748  case 409: /* Recording not in session */
749  is_valid = 1;
750  break;
751  default:
752  if (200 <= code && code <= 299) {
753  is_valid = ast_ari_validate_void(
754  response->message);
755  } else {
756  ast_log(LOG_ERROR, "Invalid error response %d for /recordings/live/{recordingName}/mute\n", code);
757  is_valid = 0;
758  }
759  }
760 
761  if (!is_valid) {
762  ast_log(LOG_ERROR, "Response validation failed for /recordings/live/{recordingName}/mute\n");
763  ast_ari_response_error(response, 500,
764  "Internal Server Error", "Response validation failed");
765  }
766 #endif /* AST_DEVMODE */
767 
768 fin: __attribute__((unused))
769  return;
770 }
struct ast_variable * next
Structure for variables, used for configurations and for channel variables.
const char * args
#define NULL
Definition: resample.c:96
int ast_ari_validate_void(struct ast_json *json)
Validator for native Swagger void.
Definition: res_ari_model.c:91
int response_code
Definition: ari.h:98
#define ast_log
Definition: astobj2.c:42
void ast_ari_recordings_unmute(struct ast_variable *headers, struct ast_ari_recordings_unmute_args *args, struct ast_ari_response *response)
Unmute a live recording.
#define LOG_ERROR
Definition: logger.h:285
void ast_ari_response_error(struct ast_ari_response *response, int response_code, const char *response_text, const char *message_fmt,...)
Fill in an error ast_ari_response.
Definition: res_ari.c:259
struct ast_json * message
Definition: ari.h:93

◆ ast_ari_recordings_unpause_cb()

static void ast_ari_recordings_unpause_cb ( struct ast_tcptls_session_instance ser,
struct ast_variable get_params,
struct ast_variable path_vars,
struct ast_variable headers,
struct ast_json body,
struct ast_ari_response response 
)
static

Parameter parsing callback for /recordings/live/{recordingName}/pause.

Parameters
get_paramsGET parameters in the HTTP request.
path_varsPath variables extracted from the request.
headersHTTP headers.
[out]responseResponse to the HTTP request.

Definition at line 601 of file res_ari_recordings.c.

References ast_ari_recordings_unpause(), ast_ari_response_error(), ast_ari_validate_void(), ast_log, LOG_ERROR, ast_ari_response::message, ast_variable::name, ast_variable::next, NULL, ast_ari_recordings_unpause_args::recording_name, ast_ari_response::response_code, and ast_variable::value.

605 {
607  struct ast_variable *i;
608 #if defined(AST_DEVMODE)
609  int is_valid;
610  int code;
611 #endif /* AST_DEVMODE */
612 
613  for (i = path_vars; i; i = i->next) {
614  if (strcmp(i->name, "recordingName") == 0) {
615  args.recording_name = (i->value);
616  } else
617  {}
618  }
619  ast_ari_recordings_unpause(headers, &args, response);
620 #if defined(AST_DEVMODE)
621  code = response->response_code;
622 
623  switch (code) {
624  case 0: /* Implementation is still a stub, or the code wasn't set */
625  is_valid = response->message == NULL;
626  break;
627  case 500: /* Internal Server Error */
628  case 501: /* Not Implemented */
629  case 404: /* Recording not found */
630  case 409: /* Recording not in session */
631  is_valid = 1;
632  break;
633  default:
634  if (200 <= code && code <= 299) {
635  is_valid = ast_ari_validate_void(
636  response->message);
637  } else {
638  ast_log(LOG_ERROR, "Invalid error response %d for /recordings/live/{recordingName}/pause\n", code);
639  is_valid = 0;
640  }
641  }
642 
643  if (!is_valid) {
644  ast_log(LOG_ERROR, "Response validation failed for /recordings/live/{recordingName}/pause\n");
645  ast_ari_response_error(response, 500,
646  "Internal Server Error", "Response validation failed");
647  }
648 #endif /* AST_DEVMODE */
649 
650 fin: __attribute__((unused))
651  return;
652 }
struct ast_variable * next
Structure for variables, used for configurations and for channel variables.
const char * args
#define NULL
Definition: resample.c:96
int ast_ari_validate_void(struct ast_json *json)
Validator for native Swagger void.
Definition: res_ari_model.c:91
int response_code
Definition: ari.h:98
#define ast_log
Definition: astobj2.c:42
#define LOG_ERROR
Definition: logger.h:285
void ast_ari_response_error(struct ast_ari_response *response, int response_code, const char *response_text, const char *message_fmt,...)
Fill in an error ast_ari_response.
Definition: res_ari.c:259
struct ast_json * message
Definition: ari.h:93
void ast_ari_recordings_unpause(struct ast_variable *headers, struct ast_ari_recordings_unpause_args *args, struct ast_ari_response *response)
Unpause a live recording.

◆ AST_MODULE_SELF_SYM()

struct ast_module* AST_MODULE_SELF_SYM ( void  )

Definition at line 892 of file res_ari_recordings.c.

◆ load_module()

static int load_module ( void  )
static

Definition at line 873 of file res_ari_recordings.c.

References ast_ari_add_handler(), AST_MODFLAG_DEFAULT, AST_MODULE_INFO(), AST_MODULE_LOAD_DECLINE, AST_MODULE_LOAD_SUCCESS, AST_MODULE_SUPPORT_CORE, ASTERISK_GPL_KEY, and unload_module().

874 {
875  int res = 0;
876 
877 
879  if (res) {
880  unload_module();
882  }
883 
885 }
static int unload_module(void)
static struct stasis_rest_handlers recordings
REST handler for /api-docs/recordings.json.
int ast_ari_add_handler(struct stasis_rest_handlers *handler)
Definition: res_ari.c:179
Module has failed to load, may be in an inconsistent state.
Definition: module.h:78

◆ unload_module()

static int unload_module ( void  )
static

Definition at line 867 of file res_ari_recordings.c.

References ast_ari_remove_handler().

Referenced by load_module().

868 {
870  return 0;
871 }
static struct stasis_rest_handlers recordings
REST handler for /api-docs/recordings.json.
int ast_ari_remove_handler(struct stasis_rest_handlers *handler)
Definition: res_ari.c:202

Variable Documentation

◆ __mod_info

struct ast_module_info __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_DEFAULT , .description = "RESTful API module - Recording resources" , .key = "This paragraph is copyright (c) 2006 by Digium, Inc. \In order for your module to load, it must return this \key via a function called \"key\". Any code which \includes this paragraph must be licensed under the GNU \General Public License version 2 or later (at your \option). In addition to Digium's general reservations \of rights, Digium expressly reserves the right to \allow other parties to license this paragraph under \different terms. Any use of Digium, Inc. trademarks or \logos (including \"Asterisk\" or \"Digium\") without \express written permission of Digium, Inc. is prohibited.\n" , .buildopt_sum = "30ef0c93b36035ec78c9cfd712d36d9b" , .support_level = AST_MODULE_SUPPORT_CORE, .load = load_module, .unload = unload_module, .requires = "res_ari,res_ari_model,res_stasis,res_stasis_recording", }
static

Definition at line 892 of file res_ari_recordings.c.

◆ ast_module_info

const struct ast_module_info* ast_module_info = &__mod_info
static

Definition at line 892 of file res_ari_recordings.c.

◆ recordings

struct stasis_rest_handlers recordings
static

REST handler for /api-docs/recordings.json.

Definition at line 859 of file res_ari_recordings.c.

Referenced by ast_ari_recordings_list_stored(), handle_scan_file(), and stasis_app_stored_recording_find_all().

◆ recordings_live

struct stasis_rest_handlers recordings_live
static

REST handler for /api-docs/recordings.json.

Definition at line 851 of file res_ari_recordings.c.

◆ recordings_live_recordingName

struct stasis_rest_handlers recordings_live_recordingName
static

REST handler for /api-docs/recordings.json.

Definition at line 840 of file res_ari_recordings.c.

◆ recordings_live_recordingName_mute

struct stasis_rest_handlers recordings_live_recordingName_mute
static

REST handler for /api-docs/recordings.json.

Definition at line 830 of file res_ari_recordings.c.

◆ recordings_live_recordingName_pause

struct stasis_rest_handlers recordings_live_recordingName_pause
static

REST handler for /api-docs/recordings.json.

Definition at line 820 of file res_ari_recordings.c.

◆ recordings_live_recordingName_stop

struct stasis_rest_handlers recordings_live_recordingName_stop
static

REST handler for /api-docs/recordings.json.

Definition at line 811 of file res_ari_recordings.c.

◆ recordings_stored

struct stasis_rest_handlers recordings_stored
static

REST handler for /api-docs/recordings.json.

Definition at line 802 of file res_ari_recordings.c.

◆ recordings_stored_recordingName

struct stasis_rest_handlers recordings_stored_recordingName
static

REST handler for /api-docs/recordings.json.

Definition at line 791 of file res_ari_recordings.c.

◆ recordings_stored_recordingName_copy

struct stasis_rest_handlers recordings_stored_recordingName_copy
static

REST handler for /api-docs/recordings.json.

Definition at line 782 of file res_ari_recordings.c.

◆ recordings_stored_recordingName_file

struct stasis_rest_handlers recordings_stored_recordingName_file
static

REST handler for /api-docs/recordings.json.

Definition at line 773 of file res_ari_recordings.c.