49#if defined(AST_DEVMODE) 
   70#if defined(AST_DEVMODE) 
   76#if defined(AST_DEVMODE) 
   88        if (200 <= code && code <= 299) {
 
  100            "Internal Server Error", 
"Response validation failed");
 
  104fin: __attribute__((unused))
 
 
  144#if defined(AST_DEVMODE) 
  149    for (i = get_params; i; i = i->
next) {
 
  150        if (strcmp(i->
name, 
"type") == 0) {
 
  153        if (strcmp(i->
name, 
"bridgeId") == 0) {
 
  156        if (strcmp(i->
name, 
"name") == 0) {
 
  166#if defined(AST_DEVMODE) 
  179        if (200 <= code && code <= 299) {
 
  191            "Internal Server Error", 
"Response validation failed");
 
  195fin: __attribute__((unused))
 
 
  231#if defined(AST_DEVMODE) 
  236    for (i = get_params; i; i = i->
next) {
 
  237        if (strcmp(i->
name, 
"type") == 0) {
 
  240        if (strcmp(i->
name, 
"name") == 0) {
 
  245    for (i = path_vars; i; i = i->
next) {
 
  246        if (strcmp(i->
name, 
"bridgeId") == 0) {
 
  256#if defined(AST_DEVMODE) 
  269        if (200 <= code && code <= 299) {
 
  273            ast_log(
LOG_ERROR, 
"Invalid error response %d for /bridges/{bridgeId}\n", code);
 
  281            "Internal Server Error", 
"Response validation failed");
 
  285fin: __attribute__((unused))
 
 
  304#if defined(AST_DEVMODE) 
  309    for (i = path_vars; i; i = i->
next) {
 
  310        if (strcmp(i->
name, 
"bridgeId") == 0) {
 
  316#if defined(AST_DEVMODE) 
  329        if (200 <= code && code <= 299) {
 
  333            ast_log(
LOG_ERROR, 
"Invalid error response %d for /bridges/{bridgeId}\n", code);
 
  341            "Internal Server Error", 
"Response validation failed");
 
  345fin: __attribute__((unused))
 
 
  364#if defined(AST_DEVMODE) 
  369    for (i = path_vars; i; i = i->
next) {
 
  370        if (strcmp(i->
name, 
"bridgeId") == 0) {
 
  376#if defined(AST_DEVMODE) 
  389        if (200 <= code && code <= 299) {
 
  393            ast_log(
LOG_ERROR, 
"Invalid error response %d for /bridges/{bridgeId}\n", code);
 
  401            "Internal Server Error", 
"Response validation failed");
 
  405fin: __attribute__((unused))
 
 
  426            if (!
args->channel) {
 
  430            for (i = 0; i < 
args->channel_count; ++i) {
 
  435            args->channel_count = 1;
 
  437            if (!
args->channel) {
 
 
  478#if defined(AST_DEVMODE) 
  483    for (i = get_params; i; i = i->
next) {
 
  484        if (strcmp(i->
name, 
"channel") == 0) {
 
  490            if (!
args.channel_parse) {
 
  495            if (strlen(
args.channel_parse) == 0) {
 
  497                args.channel_count = 1;
 
  498                vals[0] = 
args.channel_parse;
 
  501                    args.channel_parse, 
',', vals,
 
  505            if (
args.channel_count == 0) {
 
  513                    "Too many values for channel");
 
  523            for (j = 0; j < 
args.channel_count; ++j) {
 
  524                args.channel[j] = (vals[j]);
 
  527        if (strcmp(i->
name, 
"role") == 0) {
 
  530        if (strcmp(i->
name, 
"absorbDTMF") == 0) {
 
  533        if (strcmp(i->
name, 
"mute") == 0) {
 
  536        if (strcmp(i->
name, 
"inhibitConnectedLineUpdates") == 0) {
 
  541    for (i = path_vars; i; i = i->
next) {
 
  542        if (strcmp(i->
name, 
"bridgeId") == 0) {
 
  552#if defined(AST_DEVMODE) 
  568        if (200 <= code && code <= 299) {
 
  572            ast_log(
LOG_ERROR, 
"Invalid error response %d for /bridges/{bridgeId}/addChannel\n", code);
 
  578        ast_log(
LOG_ERROR, 
"Response validation failed for /bridges/{bridgeId}/addChannel\n");
 
  580            "Internal Server Error", 
"Response validation failed");
 
  584fin: __attribute__((unused))
 
 
  607            if (!
args->channel) {
 
  611            for (i = 0; i < 
args->channel_count; ++i) {
 
  616            args->channel_count = 1;
 
  618            if (!
args->channel) {
 
 
  643#if defined(AST_DEVMODE) 
  648    for (i = get_params; i; i = i->
next) {
 
  649        if (strcmp(i->
name, 
"channel") == 0) {
 
  655            if (!
args.channel_parse) {
 
  660            if (strlen(
args.channel_parse) == 0) {
 
  662                args.channel_count = 1;
 
  663                vals[0] = 
args.channel_parse;
 
  666                    args.channel_parse, 
',', vals,
 
  670            if (
args.channel_count == 0) {
 
  678                    "Too many values for channel");
 
  688            for (j = 0; j < 
args.channel_count; ++j) {
 
  689                args.channel[j] = (vals[j]);
 
  694    for (i = path_vars; i; i = i->
next) {
 
  695        if (strcmp(i->
name, 
"bridgeId") == 0) {
 
  705#if defined(AST_DEVMODE) 
  721        if (200 <= code && code <= 299) {
 
  725            ast_log(
LOG_ERROR, 
"Invalid error response %d for /bridges/{bridgeId}/removeChannel\n", code);
 
  731        ast_log(
LOG_ERROR, 
"Response validation failed for /bridges/{bridgeId}/removeChannel\n");
 
  733            "Internal Server Error", 
"Response validation failed");
 
  737fin: __attribute__((unused))
 
 
  758#if defined(AST_DEVMODE) 
  763    for (i = path_vars; i; i = i->
next) {
 
  764        if (strcmp(i->
name, 
"bridgeId") == 0) {
 
  767        if (strcmp(i->
name, 
"channelId") == 0) {
 
  773#if defined(AST_DEVMODE) 
  788        if (200 <= code && code <= 299) {
 
  792            ast_log(
LOG_ERROR, 
"Invalid error response %d for /bridges/{bridgeId}/videoSource/{channelId}\n", code);
 
  798        ast_log(
LOG_ERROR, 
"Response validation failed for /bridges/{bridgeId}/videoSource/{channelId}\n");
 
  800            "Internal Server Error", 
"Response validation failed");
 
  804fin: __attribute__((unused))
 
 
  823#if defined(AST_DEVMODE) 
  828    for (i = path_vars; i; i = i->
next) {
 
  829        if (strcmp(i->
name, 
"bridgeId") == 0) {
 
  835#if defined(AST_DEVMODE) 
  848        if (200 <= code && code <= 299) {
 
  852            ast_log(
LOG_ERROR, 
"Invalid error response %d for /bridges/{bridgeId}/videoSource\n", code);
 
  858        ast_log(
LOG_ERROR, 
"Response validation failed for /bridges/{bridgeId}/videoSource\n");
 
  860            "Internal Server Error", 
"Response validation failed");
 
  864fin: __attribute__((unused))
 
 
  896#if defined(AST_DEVMODE) 
  901    for (i = get_params; i; i = i->
next) {
 
  902        if (strcmp(i->
name, 
"mohClass") == 0) {
 
  907    for (i = path_vars; i; i = i->
next) {
 
  908        if (strcmp(i->
name, 
"bridgeId") == 0) {
 
  918#if defined(AST_DEVMODE) 
  932        if (200 <= code && code <= 299) {
 
  936            ast_log(
LOG_ERROR, 
"Invalid error response %d for /bridges/{bridgeId}/moh\n", code);
 
  942        ast_log(
LOG_ERROR, 
"Response validation failed for /bridges/{bridgeId}/moh\n");
 
  944            "Internal Server Error", 
"Response validation failed");
 
  948fin: __attribute__((unused))
 
 
  967#if defined(AST_DEVMODE) 
  972    for (i = path_vars; i; i = i->
next) {
 
  973        if (strcmp(i->
name, 
"bridgeId") == 0) {
 
  979#if defined(AST_DEVMODE) 
  993        if (200 <= code && code <= 299) {
 
  997            ast_log(
LOG_ERROR, 
"Invalid error response %d for /bridges/{bridgeId}/moh\n", code);
 
 1003        ast_log(
LOG_ERROR, 
"Response validation failed for /bridges/{bridgeId}/moh\n");
 
 1005            "Internal Server Error", 
"Response validation failed");
 
 1009fin: __attribute__((unused))
 
 
 1034            for (i = 0; i < 
args->media_count; ++i) {
 
 1039            args->media_count = 1;
 
 
 1086#if defined(AST_DEVMODE) 
 1091    for (i = get_params; i; i = i->
next) {
 
 1092        if (strcmp(i->
name, 
"media") == 0) {
 
 1098            if (!
args.media_parse) {
 
 1103            if (strlen(
args.media_parse) == 0) {
 
 1105                args.media_count = 1;
 
 1106                vals[0] = 
args.media_parse;
 
 1109                    args.media_parse, 
',', vals,
 
 1113            if (
args.media_count == 0) {
 
 1121                    "Too many values for media");
 
 1131            for (j = 0; j < 
args.media_count; ++j) {
 
 1132                args.media[j] = (vals[j]);
 
 1135        if (strcmp(i->
name, 
"announcer_format") == 0) {
 
 1138        if (strcmp(i->
name, 
"lang") == 0) {
 
 1141        if (strcmp(i->
name, 
"offsetms") == 0) {
 
 1144        if (strcmp(i->
name, 
"skipms") == 0) {
 
 1147        if (strcmp(i->
name, 
"playbackId") == 0) {
 
 1152    for (i = path_vars; i; i = i->
next) {
 
 1153        if (strcmp(i->
name, 
"bridgeId") == 0) {
 
 1163#if defined(AST_DEVMODE) 
 1178        if (200 <= code && code <= 299) {
 
 1182            ast_log(
LOG_ERROR, 
"Invalid error response %d for /bridges/{bridgeId}/play\n", code);
 
 1188        ast_log(
LOG_ERROR, 
"Response validation failed for /bridges/{bridgeId}/play\n");
 
 1190            "Internal Server Error", 
"Response validation failed");
 
 1194fin: __attribute__((unused))
 
 
 1221            for (i = 0; i < 
args->media_count; ++i) {
 
 1226            args->media_count = 1;
 
 
 1269#if defined(AST_DEVMODE) 
 1274    for (i = get_params; i; i = i->
next) {
 
 1275        if (strcmp(i->
name, 
"media") == 0) {
 
 1281            if (!
args.media_parse) {
 
 1286            if (strlen(
args.media_parse) == 0) {
 
 1288                args.media_count = 1;
 
 1289                vals[0] = 
args.media_parse;
 
 1292                    args.media_parse, 
',', vals,
 
 1296            if (
args.media_count == 0) {
 
 1304                    "Too many values for media");
 
 1314            for (j = 0; j < 
args.media_count; ++j) {
 
 1315                args.media[j] = (vals[j]);
 
 1318        if (strcmp(i->
name, 
"announcer_format") == 0) {
 
 1321        if (strcmp(i->
name, 
"lang") == 0) {
 
 1324        if (strcmp(i->
name, 
"offsetms") == 0) {
 
 1327        if (strcmp(i->
name, 
"skipms") == 0) {
 
 1332    for (i = path_vars; i; i = i->
next) {
 
 1333        if (strcmp(i->
name, 
"bridgeId") == 0) {
 
 1336        if (strcmp(i->
name, 
"playbackId") == 0) {
 
 1346#if defined(AST_DEVMODE) 
 1361        if (200 <= code && code <= 299) {
 
 1365            ast_log(
LOG_ERROR, 
"Invalid error response %d for /bridges/{bridgeId}/play/{playbackId}\n", code);
 
 1371        ast_log(
LOG_ERROR, 
"Response validation failed for /bridges/{bridgeId}/play/{playbackId}\n");
 
 1373            "Internal Server Error", 
"Response validation failed");
 
 1377fin: __attribute__((unused))
 
 
 1439#if defined(AST_DEVMODE) 
 1444    for (i = get_params; i; i = i->
next) {
 
 1445        if (strcmp(i->
name, 
"name") == 0) {
 
 1448        if (strcmp(i->
name, 
"format") == 0) {
 
 1451        if (strcmp(i->
name, 
"recorder_format") == 0) {
 
 1454        if (strcmp(i->
name, 
"maxDurationSeconds") == 0) {
 
 1455            args.max_duration_seconds = atoi(i->
value);
 
 1457        if (strcmp(i->
name, 
"maxSilenceSeconds") == 0) {
 
 1458            args.max_silence_seconds = atoi(i->
value);
 
 1460        if (strcmp(i->
name, 
"ifExists") == 0) {
 
 1463        if (strcmp(i->
name, 
"beep") == 0) {
 
 1466        if (strcmp(i->
name, 
"terminateOn") == 0) {
 
 1471    for (i = path_vars; i; i = i->
next) {
 
 1472        if (strcmp(i->
name, 
"bridgeId") == 0) {
 
 1482#if defined(AST_DEVMODE) 
 1498        if (200 <= code && code <= 299) {
 
 1502            ast_log(
LOG_ERROR, 
"Invalid error response %d for /bridges/{bridgeId}/record\n", code);
 
 1508        ast_log(
LOG_ERROR, 
"Response validation failed for /bridges/{bridgeId}/record\n");
 
 1510            "Internal Server Error", 
"Response validation failed");
 
 1514fin: __attribute__((unused))
 
 
 1640    .
requires = 
"res_ari,res_ari_model,res_stasis,res_stasis_recording,res_stasis_playback",
 
int ast_ari_remove_handler(struct stasis_rest_handlers *handler)
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.
void ast_ari_response_alloc_failed(struct ast_ari_response *response)
Fill in response with a 500 message for allocation failures.
int ast_ari_add_handler(struct stasis_rest_handlers *handler)
int ast_ari_validate_playback(struct ast_json *json)
Validator for Playback.
int ast_ari_validate_live_recording(struct ast_json *json)
Validator for LiveRecording.
int ast_ari_validate_bridge(struct ast_json *json)
Validator for Bridge.
ari_validator ast_ari_validate_bridge_fn(void)
Function pointer to ast_ari_validate_bridge().
Generated file - Build validators for ARI model objects.
int ast_ari_validate_void(struct ast_json *json)
Validator for native Swagger void.
int ast_ari_validate_list(struct ast_json *json, int(*fn)(struct ast_json *))
Validator for a Swagger List[]/JSON array.
Asterisk main include file. File version handling, generic pbx functions.
#define ast_strdup(str)
A wrapper for strdup()
#define ast_malloc(len)
A wrapper for malloc()
Application convenience functions, designed to give consistent look and feel to Asterisk apps.
#define ast_app_separate_args(a, b, c, d)
enum ast_json_type ast_json_typeof(const struct ast_json *value)
Get the type of value.
struct ast_json * ast_json_array_get(const struct ast_json *array, size_t index)
Get an element from an array.
const char * ast_json_string_get(const struct ast_json *string)
Get the value of a JSON string.
struct ast_json * ast_json_object_get(struct ast_json *object, const char *key)
Get a field from a JSON object.
intmax_t ast_json_integer_get(const struct ast_json *integer)
Get the value from a JSON integer.
int ast_json_is_true(const struct ast_json *value)
Check if value is JSON true.
size_t ast_json_array_size(const struct ast_json *array)
Get the size of a JSON array.
Asterisk module definitions.
#define AST_MODULE_INFO(keystr, flags_to_set, desc, fields...)
@ AST_MODULE_SUPPORT_CORE
#define ASTERISK_GPL_KEY
The text the key() function should return.
@ AST_MODULE_LOAD_SUCCESS
@ AST_MODULE_LOAD_DECLINE
Module has failed to load, may be in an inconsistent state.
static void ast_ari_bridges_stop_moh_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 /bridges/{bridgeId}/moh.
static struct stasis_rest_handlers bridges_bridgeId_play
REST handler for /api-docs/bridges.json.
static void ast_ari_bridges_destroy_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 /bridges/{bridgeId}.
static struct stasis_rest_handlers bridges_bridgeId_record
REST handler for /api-docs/bridges.json.
static void ast_ari_bridges_get_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 /bridges/{bridgeId}.
int ast_ari_bridges_add_channel_parse_body(struct ast_json *body, struct ast_ari_bridges_add_channel_args *args)
Body parsing function for /bridges/{bridgeId}/addChannel.
static void ast_ari_bridges_list_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 /bridges.
static void ast_ari_bridges_set_video_source_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 /bridges/{bridgeId}/videoSource/{channelId}.
static struct stasis_rest_handlers bridges_bridgeId_videoSource_channelId
REST handler for /api-docs/bridges.json.
static void ast_ari_bridges_create_with_id_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 /bridges/{bridgeId}.
int ast_ari_bridges_start_moh_parse_body(struct ast_json *body, struct ast_ari_bridges_start_moh_args *args)
Body parsing function for /bridges/{bridgeId}/moh.
static void ast_ari_bridges_create_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 /bridges.
int ast_ari_bridges_record_parse_body(struct ast_json *body, struct ast_ari_bridges_record_args *args)
Body parsing function for /bridges/{bridgeId}/record.
int ast_ari_bridges_create_with_id_parse_body(struct ast_json *body, struct ast_ari_bridges_create_with_id_args *args)
Body parsing function for /bridges/{bridgeId}.
static struct stasis_rest_handlers bridges_bridgeId_addChannel
REST handler for /api-docs/bridges.json.
int ast_ari_bridges_play_parse_body(struct ast_json *body, struct ast_ari_bridges_play_args *args)
Body parsing function for /bridges/{bridgeId}/play.
static void ast_ari_bridges_play_with_id_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 /bridges/{bridgeId}/play/{playbackId}.
static void ast_ari_bridges_remove_channel_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 /bridges/{bridgeId}/removeChannel.
static void ast_ari_bridges_play_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 /bridges/{bridgeId}/play.
int ast_ari_bridges_play_with_id_parse_body(struct ast_json *body, struct ast_ari_bridges_play_with_id_args *args)
Body parsing function for /bridges/{bridgeId}/play/{playbackId}.
static void ast_ari_bridges_start_moh_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 /bridges/{bridgeId}/moh.
static void ast_ari_bridges_record_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 /bridges/{bridgeId}/record.
static void ast_ari_bridges_clear_video_source_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 /bridges/{bridgeId}/videoSource.
int ast_ari_bridges_create_parse_body(struct ast_json *body, struct ast_ari_bridges_create_args *args)
Body parsing function for /bridges.
static int load_module(void)
static struct stasis_rest_handlers bridges_bridgeId_moh
REST handler for /api-docs/bridges.json.
static int unload_module(void)
int ast_ari_bridges_remove_channel_parse_body(struct ast_json *body, struct ast_ari_bridges_remove_channel_args *args)
Body parsing function for /bridges/{bridgeId}/removeChannel.
static struct stasis_rest_handlers bridges_bridgeId_play_playbackId
REST handler for /api-docs/bridges.json.
static struct stasis_rest_handlers bridges_bridgeId
REST handler for /api-docs/bridges.json.
static void ast_ari_bridges_add_channel_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 /bridges/{bridgeId}/addChannel.
static struct stasis_rest_handlers bridges_bridgeId_removeChannel
REST handler for /api-docs/bridges.json.
static struct stasis_rest_handlers bridges_bridgeId_videoSource
REST handler for /api-docs/bridges.json.
static struct stasis_rest_handlers bridges
REST handler for /api-docs/bridges.json.
void ast_ari_bridges_add_channel(struct ast_variable *headers, struct ast_ari_bridges_add_channel_args *args, struct ast_ari_response *response)
Add a channel to a bridge.
void ast_ari_bridges_clear_video_source(struct ast_variable *headers, struct ast_ari_bridges_clear_video_source_args *args, struct ast_ari_response *response)
Removes any explicit video source in a multi-party mixing bridge. This operation has no effect on bri...
void ast_ari_bridges_get(struct ast_variable *headers, struct ast_ari_bridges_get_args *args, struct ast_ari_response *response)
Get bridge details.
void ast_ari_bridges_play_with_id(struct ast_variable *headers, struct ast_ari_bridges_play_with_id_args *args, struct ast_ari_response *response)
Start playback of media on a bridge.
void ast_ari_bridges_play(struct ast_variable *headers, struct ast_ari_bridges_play_args *args, struct ast_ari_response *response)
Start playback of media on a bridge.
void ast_ari_bridges_destroy(struct ast_variable *headers, struct ast_ari_bridges_destroy_args *args, struct ast_ari_response *response)
Shut down a bridge.
void ast_ari_bridges_remove_channel(struct ast_variable *headers, struct ast_ari_bridges_remove_channel_args *args, struct ast_ari_response *response)
Remove a channel from a bridge.
void ast_ari_bridges_create(struct ast_variable *headers, struct ast_ari_bridges_create_args *args, struct ast_ari_response *response)
Create a new bridge.
void ast_ari_bridges_create_with_id(struct ast_variable *headers, struct ast_ari_bridges_create_with_id_args *args, struct ast_ari_response *response)
Create a new bridge.
void ast_ari_bridges_set_video_source(struct ast_variable *headers, struct ast_ari_bridges_set_video_source_args *args, struct ast_ari_response *response)
Set a channel as the video source in a multi-party mixing bridge. This operation has no effect on bri...
void ast_ari_bridges_record(struct ast_variable *headers, struct ast_ari_bridges_record_args *args, struct ast_ari_response *response)
Start a recording.
void ast_ari_bridges_start_moh(struct ast_variable *headers, struct ast_ari_bridges_start_moh_args *args, struct ast_ari_response *response)
Play music on hold to a bridge or change the MOH class that is playing.
void ast_ari_bridges_stop_moh(struct ast_variable *headers, struct ast_ari_bridges_stop_moh_args *args, struct ast_ari_response *response)
Stop playing music on hold to a bridge.
void ast_ari_bridges_list(struct ast_variable *headers, struct ast_ari_bridges_list_args *args, struct ast_ari_response *response)
List all active bridges in Asterisk.
Generated file - declares stubs to be implemented in res/ari/resource_bridges.c.
Stasis Application API. See Stasis Application API for detailed documentation.
int attribute_pure ast_true(const char *val)
Make sure something is true. Determine if a string containing a boolean value is "true"....
struct ast_json * message
Abstract JSON element (object, array, string, int, ...).
describes a server instance
Structure for variables, used for configurations and for channel variables.
struct ast_variable * next
Handler for a single RESTful path segment.
const char * path_segment