ARI: Add subscription support
authorMatthew Jordan <mjordan@digium.com>
Fri, 4 Oct 2013 16:01:48 +0000 (16:01 +0000)
committerMatthew Jordan <mjordan@digium.com>
Fri, 4 Oct 2013 16:01:48 +0000 (16:01 +0000)
commit8d7873b836999b09caad87abec27579f1f065b84
treecdf683ab18142553b42102de6c5ca52fc71b22a2
parentb52c972b172087d27178c0e60127d486d4e500f8
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
21 files changed:
include/asterisk/_private.h
include/asterisk/endpoints.h
include/asterisk/stasis_app.h
main/asterisk.c
main/endpoints.c
main/json.c
res/ari.make
res/ari/ari_model_validators.c
res/ari/ari_model_validators.h
res/ari/resource_applications.c [new file with mode: 0644]
res/ari/resource_applications.h [new file with mode: 0644]
res/ari/resource_endpoints.h
res/res_ari_applications.c [new file with mode: 0644]
res/res_ari_model.c
res/res_stasis.c
res/stasis/app.c
res/stasis/app.h
rest-api-templates/ari_model_validators.h.mustache
rest-api/api-docs/endpoints.json
rest-api/api-docs/events.json
rest-api/resources.json