mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-16 14:58:25 +00:00
ARI: Add subscription support
This patch adds an /applications API to ARI, allowing explicit management of
Stasis applications.
* GET /applications - list current applications
* GET /applications/{applicationName} - get details of a specific application
* POST /applications/{applicationName}/subscription - explicitly subscribe to
a channel, bridge or endpoint
* DELETE /applications/{applicationName}/subscription - explicitly unsubscribe
from a channel, bridge or endpoint
Subscriptions work by a reference counting mechanism: if you subscript to an
event source X number of times, you must unsubscribe X number of times to stop
receiveing events for that event source.
Review: https://reviewboard.asterisk.org/r/2862
(issue ASTERISK-22451)
Reported by: Matt Jordan
........
Merged revisions 400522 from http://svn.asterisk.org/svn/asterisk/branches/12
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@400523 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -76,6 +76,19 @@ const char *ast_endpoint_state_to_string(enum ast_endpoint_state state);
|
||||
*/
|
||||
struct ast_endpoint;
|
||||
|
||||
/*!
|
||||
* \brief Finds the endpoint with the given tech/resource id.
|
||||
*
|
||||
* Endpoints are refcounted, so ao2_cleanup() when you're done.
|
||||
*
|
||||
* \param id Tech/resource id to look for.
|
||||
* \return Associated endpoint.
|
||||
* \return \c NULL if not found.
|
||||
*
|
||||
* \since 12
|
||||
*/
|
||||
struct ast_endpoint *ast_endpoint_find_by_id(const char *id);
|
||||
|
||||
/*!
|
||||
* \brief Create an endpoint struct.
|
||||
*
|
||||
@@ -125,6 +138,18 @@ const char *ast_endpoint_get_tech(const struct ast_endpoint *endpoint);
|
||||
*/
|
||||
const char *ast_endpoint_get_resource(const struct ast_endpoint *endpoint);
|
||||
|
||||
/*!
|
||||
* \brief Gets the tech/resource id of the given endpoint.
|
||||
*
|
||||
* This is unique across all endpoints, and immutable.
|
||||
*
|
||||
* \param endpoint The endpoint.
|
||||
* \return Tech/resource id of the endpoint.
|
||||
* \return \c NULL if endpoint is \c NULL.
|
||||
* \since 12
|
||||
*/
|
||||
const char *ast_endpoint_get_id(const struct ast_endpoint *endpoint);
|
||||
|
||||
/*!
|
||||
* \brief Updates the state of the given endpoint.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user