Merge "ExternalMedia: Change return object from ExternalMedia to Channel"
[asterisk/asterisk.git] / res / ari / resource_bridges.h
index 36ff6a0..0d0286c 100644 (file)
@@ -52,7 +52,7 @@ struct ast_ari_bridges_list_args {
 void ast_ari_bridges_list(struct ast_variable *headers, struct ast_ari_bridges_list_args *args, struct ast_ari_response *response);
 /*! Argument struct for ast_ari_bridges_create() */
 struct ast_ari_bridges_create_args {
-       /*! Comma separated list of bridge type attributes (mixing, holding, dtmf_events, proxy_media). */
+       /*! Comma separated list of bridge type attributes (mixing, holding, dtmf_events, proxy_media, video_sfu). */
        const char *type;
        /*! Unique ID to give to the bridge being created. */
        const char *bridge_id;
@@ -82,7 +82,7 @@ int ast_ari_bridges_create_parse_body(
 void ast_ari_bridges_create(struct ast_variable *headers, struct ast_ari_bridges_create_args *args, struct ast_ari_response *response);
 /*! Argument struct for ast_ari_bridges_create_with_id() */
 struct ast_ari_bridges_create_with_id_args {
-       /*! Comma separated list of bridge type attributes (mixing, holding, dtmf_events, proxy_media) to set. */
+       /*! Comma separated list of bridge type attributes (mixing, holding, dtmf_events, proxy_media, video_sfu) to set. */
        const char *type;
        /*! Unique ID to give to the bridge being created. */
        const char *bridge_id;
@@ -150,6 +150,10 @@ struct ast_ari_bridges_add_channel_args {
        char *channel_parse;
        /*! Channel's role in the bridge */
        const char *role;
+       /*! Absorb DTMF coming from this channel, preventing it to pass through to the bridge */
+       int absorb_dtmf;
+       /*! Mute audio from this channel, preventing it to pass through to the bridge */
+       int mute;
 };
 /*!
  * \brief Body parsing function for /bridges/{bridgeId}/addChannel.
@@ -200,6 +204,34 @@ int ast_ari_bridges_remove_channel_parse_body(
  * \param[out] response HTTP response
  */
 void ast_ari_bridges_remove_channel(struct ast_variable *headers, struct ast_ari_bridges_remove_channel_args *args, struct ast_ari_response *response);
+/*! Argument struct for ast_ari_bridges_set_video_source() */
+struct ast_ari_bridges_set_video_source_args {
+       /*! Bridge's id */
+       const char *bridge_id;
+       /*! Channel's id */
+       const char *channel_id;
+};
+/*!
+ * \brief Set a channel as the video source in a multi-party mixing bridge. This operation has no effect on bridges with two or fewer participants.
+ *
+ * \param headers HTTP headers
+ * \param args Swagger parameters
+ * \param[out] response HTTP response
+ */
+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);
+/*! Argument struct for ast_ari_bridges_clear_video_source() */
+struct ast_ari_bridges_clear_video_source_args {
+       /*! Bridge's id */
+       const char *bridge_id;
+};
+/*!
+ * \brief Removes any explicit video source in a multi-party mixing bridge. This operation has no effect on bridges with two or fewer participants. When no explicit video source is set, talk detection will be used to determine the active video stream.
+ *
+ * \param headers HTTP headers
+ * \param args Swagger parameters
+ * \param[out] response HTTP response
+ */
+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);
 /*! Argument struct for ast_ari_bridges_start_moh() */
 struct ast_ari_bridges_start_moh_args {
        /*! Bridge's id */
@@ -245,11 +277,15 @@ void ast_ari_bridges_stop_moh(struct ast_variable *headers, struct ast_ari_bridg
 struct ast_ari_bridges_play_args {
        /*! Bridge's id */
        const char *bridge_id;
-       /*! Media's URI to play. */
-       const char *media;
+       /*! Array of Media URIs to play. */
+       const char **media;
+       /*! Length of media array. */
+       size_t media_count;
+       /*! Parsing context for media. */
+       char *media_parse;
        /*! For sounds, selects language for sound. */
        const char *lang;
-       /*! Number of media to skip before playing. */
+       /*! Number of milliseconds to skip before playing. Only applies to the first URI if multiple media URIs are specified. */
        int offsetms;
        /*! Number of milliseconds to skip for forward/reverse operations. */
        int skipms;
@@ -283,11 +319,15 @@ struct ast_ari_bridges_play_with_id_args {
        const char *bridge_id;
        /*! Playback ID. */
        const char *playback_id;
-       /*! Media's URI to play. */
-       const char *media;
+       /*! Array of Media URIs to play. */
+       const char **media;
+       /*! Length of media array. */
+       size_t media_count;
+       /*! Parsing context for media. */
+       char *media_parse;
        /*! For sounds, selects language for sound. */
        const char *lang;
-       /*! Number of media to skip before playing. */
+       /*! Number of milliseconds to skip before playing. Only applies to the first URI if multiple media URIs are specified. */
        int offsetms;
        /*! Number of milliseconds to skip for forward/reverse operations. */
        int skipms;