diff options
author | David M. Lee <dlee@digium.com> | 2013-08-23 17:19:02 +0000 |
---|---|---|
committer | David M. Lee <dlee@digium.com> | 2013-08-23 17:19:02 +0000 |
commit | 7a581537e8baaff143254415d782a492dec97a62 (patch) | |
tree | be5296efe1ee7f85581b3e0c69c8ad6be252eb00 /include | |
parent | 9f4849724fce1a780771e11bd5273eac2b4f61b8 (diff) |
ARI: Correct error codes for bridge operations
This patch adds error checking to ARI bridge operations, when
adding/removing channels to/from bridges.
In general, the error codes fall out as follows:
* Bridge not found - 404 Not Found
* Bridge not in Stasis - 409 Conflict
* Channel not found - 400 Bad Request
* Channel not in Stasis - 422 Unprocessable Entity
* Channel not in this bridge (on remove) - 422 Unprocessable Entity
(closes issue ASTERISK-22036)
Review: https://reviewboard.asterisk.org/r/2769/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397565 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include')
-rw-r--r-- | include/asterisk/stasis_app.h | 18 | ||||
-rw-r--r-- | include/asterisk/stasis_app_impl.h | 10 |
2 files changed, 16 insertions, 12 deletions
diff --git a/include/asterisk/stasis_app.h b/include/asterisk/stasis_app.h index 33e5c2632..528c48030 100644 --- a/include/asterisk/stasis_app.h +++ b/include/asterisk/stasis_app.h @@ -361,8 +361,10 @@ int stasis_app_bridge_moh_stop( * * \param control Control whose channel should be added to the bridge * \param bridge Pointer to the bridge + * \return non-zero on failure + * \return zero on success */ -void stasis_app_control_add_channel_to_bridge( +int stasis_app_control_add_channel_to_bridge( struct stasis_app_control *control, struct ast_bridge *bridge); /*! @@ -370,11 +372,23 @@ void stasis_app_control_add_channel_to_bridge( * * \param control Control whose channel should be removed from the bridge * \param bridge Pointer to the bridge + * \return non-zero on failure + * \return zero on success */ -void stasis_app_control_remove_channel_from_bridge( +int stasis_app_control_remove_channel_from_bridge( struct stasis_app_control *control, struct ast_bridge *bridge); /*! + * \since 12 + * \brief Gets the bridge currently associated with a control object. + * + * \param control Control object for the channel to query. + * \return Associated \ref ast_bridge. + * \return \c NULL if not associated with a bridge. + */ +struct ast_bridge *stasis_app_get_bridge(struct stasis_app_control *control); + +/*! * \brief Destroy the bridge. * * \param bridge_id Uniqueid of bridge to be destroyed diff --git a/include/asterisk/stasis_app_impl.h b/include/asterisk/stasis_app_impl.h index e9b93a84a..d4b467756 100644 --- a/include/asterisk/stasis_app_impl.h +++ b/include/asterisk/stasis_app_impl.h @@ -85,14 +85,4 @@ void *stasis_app_send_command(struct stasis_app_control *control, int stasis_app_send_command_async(struct stasis_app_control *control, stasis_app_command_cb command, void *data); -/*! - * \since 12 - * \brief Gets the bridge currently associated with a control object. - * - * \param control Control object for the channel to query. - * \return Associated \ref ast_bridge. - * \return \c NULL if not associated with a bridge. - */ -struct ast_bridge *stasis_app_get_bridge(struct stasis_app_control *control); - #endif /* _ASTERISK_RES_STASIS_H */ |