From 8d7873b836999b09caad87abec27579f1f065b84 Mon Sep 17 00:00:00 2001 From: Matthew Jordan Date: Fri, 4 Oct 2013 16:01:48 +0000 Subject: 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 --- rest-api/api-docs/endpoints.json | 2 +- rest-api/api-docs/events.json | 16 ++++++++++++++++ rest-api/resources.json | 4 ++++ 3 files changed, 21 insertions(+), 1 deletion(-) (limited to 'rest-api') diff --git a/rest-api/api-docs/endpoints.json b/rest-api/api-docs/endpoints.json index 9d0ff1840..7663a594b 100644 --- a/rest-api/api-docs/endpoints.json +++ b/rest-api/api-docs/endpoints.json @@ -13,7 +13,7 @@ "operations": [ { "httpMethod": "GET", - "summary": "List all endoints.", + "summary": "List all endpoints.", "nickname": "getEndpoints", "responseClass": "List[Endpoint]" } diff --git a/rest-api/api-docs/events.json b/rest-api/api-docs/events.json index a2ac0b3d0..ac3f6521c 100644 --- a/rest-api/api-docs/events.json +++ b/rest-api/api-docs/events.json @@ -293,6 +293,11 @@ "required": true, "type": "Channel", "description": "The channel that signaled the user event." + }, + "userevent": { + "required": true, + "type": "object", + "description": "Custom Userevent data" } } }, @@ -338,6 +343,17 @@ } } }, + "EndpointStateChange": { + "id": "EndpointStateChange", + "extends": "Event", + "description": "Endpoint state changed.", + "properties": { + "endpoint": { + "required": true, + "type": "Endpoint" + } + } + }, "StasisEnd": { "id": "StasisEnd", "extends": "Event", diff --git a/rest-api/resources.json b/rest-api/resources.json index d9a0c5b35..2079dc1b4 100644 --- a/rest-api/resources.json +++ b/rest-api/resources.json @@ -37,6 +37,10 @@ { "path": "/api-docs/events.{format}", "description": "WebSocket resource" + }, + { + "path": "/api-docs/applications.{format}", + "description": "Stasis application resources" } ] } -- cgit v1.2.3