asterisk/main
Matthew Jordan 8d7873b836 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
2013-10-04 16:01:48 +00:00
..
editline Enable usage of system-provided NetBSD editline library if available. 2012-07-25 12:21:54 +00:00
stdtime Fix some uninitialized buffers for CDR handling valgrind found. 2013-08-28 23:15:43 +00:00
Makefile Add the bucket API. 2013-08-23 21:49:47 +00:00
abstract_jb.c Fix jitter buffer log file creation 2013-09-18 20:04:14 +00:00
acl.c Trivial patch to make 'best_score' defined for all architectures. 2012-10-07 17:33:38 +00:00
adsi.c Fix crash in unloading of res_adsi module 2012-06-26 13:23:12 +00:00
alaw.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
aoc.c Fix documentation replication issues 2013-08-01 17:07:52 +00:00
app.c Memory leaks fix 2013-08-29 21:37:29 +00:00
ast_expr2.c Allow the REALTIME() function to report errors back to the caller. 2012-07-11 17:16:50 +00:00
ast_expr2.fl Avoid cppcheck warnings; removing unused vars and a bit of cleanup. 2012-04-17 18:57:40 +00:00
ast_expr2.h Allow the REALTIME() function to report errors back to the caller. 2012-07-11 17:16:50 +00:00
ast_expr2.y Multiple revisions 360356-360357 2012-03-24 02:42:42 +00:00
ast_expr2f.c Doxygen Updates - janitor work 2012-09-21 17:14:59 +00:00
asterisk.c ARI: Add subscription support 2013-10-04 16:01:48 +00:00
asterisk.dynamics Remove the old stub files, preferring the optional_api method. 2010-07-14 20:48:59 +00:00
asterisk.exports.in Add _IO_stdin_used in version-script to fix SIGBUSes on Sparc. 2013-08-22 08:26:55 +00:00
astfd.c Unregister CLI commands on exit 2013-08-20 15:36:10 +00:00
astmm.c MALLOC_DEBUG: Change fence magic number to be completely different from the freed magic number. 2013-09-09 23:29:44 +00:00
astobj2.c Multiple revisions 399887,400138,400178,400180-400181 2013-09-30 18:55:27 +00:00
audiohook.c Minor optimizations. 2013-07-19 23:30:10 +00:00
autochan.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
autoservice.c Don't leak frames when memory is full in autoservice_run. 2013-08-09 20:29:09 +00:00
backtrace.c Fix memory corruption when trying to get "core show locks". 2013-08-23 18:07:40 +00:00
bridge.c Reduce channel snapshot creation and publishing by up to 50%. 2013-10-02 16:23:34 +00:00
bridge_after.c A great big renaming patch 2013-07-25 04:06:32 +00:00
bridge_basic.c Cache string values of formats on ast_format_cap() to save processing. 2013-10-03 14:58:16 +00:00
bridge_channel.c Restore Dial, Queue, and FollowMe 'I' option support. 2013-09-13 22:19:23 +00:00
bridge_roles.c ARI: bridges/{bridgeID}/addChannel: add roles parameter 2013-08-05 16:59:13 +00:00
bucket.c Fixed bucket.c for systems where tv_usec is not an unsigned long. 2013-08-26 21:32:13 +00:00
buildinfo.c fix a few small things found by using sparse 2008-10-30 16:49:02 +00:00
callerid.c Allow for redirecting reasons to be set to arbitrary strings. 2012-09-25 19:29:14 +00:00
ccss.c Cache string values of formats on ast_format_cap() to save processing. 2013-10-03 14:58:16 +00:00
cdr.c When serializing CDR variables (like for "core show channels") don't output an error if CDRs aren't enabled. 2013-10-03 19:32:46 +00:00
cel.c cel: Some whitespace cleanups 2013-10-03 18:51:33 +00:00
channel.c Cache string values of formats on ast_format_cap() to save processing. 2013-10-03 14:58:16 +00:00
channel_internal_api.c Remove publication of a channel snapshot when the technology is set 2013-10-03 21:46:07 +00:00
chanvars.c ast_free() is null tollerant. 2013-08-28 16:09:12 +00:00
cli.c Fix incorrect usages of ast_realloc(). 2013-09-10 18:05:47 +00:00
config.c Fix various memory leaks 2013-08-30 19:22:59 +00:00
config_options.c Ensure global types in the config framework are initialized 2013-09-20 22:44:11 +00:00
core_local.c Cache string values of formats on ast_format_cap() to save processing. 2013-10-03 14:58:16 +00:00
core_unreal.c Restore Dial, Queue, and FollowMe 'I' option support. 2013-09-13 22:19:23 +00:00
crypt.c Fix utils directory breakage. 2013-07-04 13:06:15 +00:00
cygload.c Kill off red blobs in most of main/* 2012-03-22 19:51:16 +00:00
data.c Fix invalid access to disposed memory in main/data unit test 2013-08-18 21:26:37 +00:00
datastore.c This is no longer needed. 2013-06-29 00:18:57 +00:00
db.c Doxygen comment tweaks. 2013-08-16 17:33:21 +00:00
devicestate.c Multiple revisions 399887,400138,400178,400180-400181 2013-09-30 18:55:27 +00:00
dial.c Cache string values of formats on ast_format_cap() to save processing. 2013-10-03 14:58:16 +00:00
dns.c Remove redundant code in dns.c 2013-07-14 02:05:04 +00:00
dnsmgr.c Migrate a large number of AMI events over to Stasis-Core 2013-05-24 20:44:07 +00:00
dsp.c Doxygen Updates - Title update 2012-10-18 14:17:40 +00:00
ecdisa.h Kill off red blobs in most of main/* 2012-03-22 19:51:16 +00:00
endpoints.c ARI: Add subscription support 2013-10-04 16:01:48 +00:00
enum.c Migrate a large number of AMI events over to Stasis-Core 2013-05-24 20:44:07 +00:00
event.c Fix incorrect usages of ast_realloc(). 2013-09-10 18:05:47 +00:00
features.c Restore Dial, Queue, and FollowMe 'I' option support. 2013-09-13 22:19:23 +00:00
features_config.c Features: Rearm the parking config options have moved warning for each reload. 2013-10-01 16:44:22 +00:00
file.c Cache string values of formats on ast_format_cap() to save processing. 2013-10-03 14:58:16 +00:00
fixedjitterbuf.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
fixedjitterbuf.h Kill off red blobs in most of main/* 2012-03-22 19:51:16 +00:00
format.c Add pass through support for Opus and VP8; Opus format attribute negotiation 2013-08-23 15:42:27 +00:00
format_cap.c Cache string values of formats on ast_format_cap() to save processing. 2013-10-03 14:58:16 +00:00
format_pref.c Address uninitialized conditional that valgrind found 2013-03-27 19:52:19 +00:00
frame.c Add pass through support for Opus and VP8; Opus format attribute negotiation 2013-08-23 15:42:27 +00:00
framehook.c bridge_native_rtp: Fix native bridge tech being incompatible when it should be. 2013-06-11 22:21:36 +00:00
fskmodem.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
fskmodem_float.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
fskmodem_int.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
global_datastores.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
hashtab.c Fix utilities compilation/linking. 2013-08-16 16:26:11 +00:00
heap.c Fix incorrect usages of ast_realloc(). 2013-09-10 18:05:47 +00:00
http.c Fix build warnings 2013-09-06 18:53:32 +00:00
image.c Reset automerge property. 2012-12-11 22:25:21 +00:00
indications.c Fix incorrect usages of ast_realloc(). 2013-09-10 18:05:47 +00:00
io.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
jitterbuf.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
json.c ARI: Add subscription support 2013-10-04 16:01:48 +00:00
libasteriskssl.c Resolve memory leaks in TLS initialization and TLS client connections 2012-09-14 19:53:43 +00:00
libasteriskssl.exports.in Address OpenSSL initialization issues when using third-party libraries. 2012-01-30 21:21:16 +00:00
loader.c optional_api: Fix linking problems between modules that export global symbols 2013-08-30 13:40:27 +00:00
lock.c Fix DEBUG_THREADS when lock is acquired in __constructor__ 2013-09-09 20:13:40 +00:00
logger.c Fix memory leak in logger. 2013-09-20 14:26:44 +00:00
manager.c Cache string values of formats on ast_format_cap() to save processing. 2013-10-03 14:58:16 +00:00
manager_bridges.c Multiple revisions 399887,400138,400178,400180-400181 2013-09-30 18:55:27 +00:00
manager_channels.c Multiple revisions 399887,400138,400178,400180-400181 2013-09-30 18:55:27 +00:00
manager_endpoints.c Multiple revisions 399887,400138,400178,400180-400181 2013-09-30 18:55:27 +00:00
manager_mwi.c Multiple revisions 399887,400138,400178,400180-400181 2013-09-30 18:55:27 +00:00
manager_system.c Multiple revisions 399887,400138,400178,400180-400181 2013-09-30 18:55:27 +00:00
md5.c md5: supress some compiler warnings. 2012-04-28 01:33:49 +00:00
media_index.c Cache string values of formats on ast_format_cap() to save processing. 2013-10-03 14:58:16 +00:00
message.c Doxygen comment tweaks. 2013-08-16 17:33:21 +00:00
mixmonitor.c Removed quotes from svn:keywords props on a few files. 2013-07-29 17:51:25 +00:00
named_acl.c Fix various memory leaks 2013-08-30 19:22:59 +00:00
netsock.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
netsock2.c Fix NULL pointer segfault in ast_sockaddr_parse() 2012-06-20 02:07:00 +00:00
optional_api.c optional_api: Make always use the standard malloc functions even with MALLOC_DEBUG. 2013-09-19 23:20:43 +00:00
parking.c astobj2: Add warn unused attribute to some functions. 2013-09-06 19:26:48 +00:00
pbx.c Originate: Make setting caller id on outgoing call use either name or number. 2013-10-02 20:31:02 +00:00
pickup.c Doxygen comment tweaks. 2013-08-16 17:33:21 +00:00
plc.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
poll.c Merged revisions 285268 via svnmerge from 2010-09-07 19:09:08 +00:00
presencestate.c Strip down the old event system 2013-08-17 14:39:27 +00:00
privacy.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
rtp_engine.c Cache string values of formats on ast_format_cap() to save processing. 2013-10-03 14:58:16 +00:00
say.c Add SayAlphaCase and similar functionality for AGI 2013-08-22 22:33:48 +00:00
sched.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
sdp_srtp.c Merge in current pimp_my_sip work, including: 2013-06-22 14:03:22 +00:00
security_events.c Fix security events for AMI invalid password 2013-10-03 19:30:33 +00:00
sem.c Multiple revisions 399887,400138,400178,400180-400181 2013-09-30 18:55:27 +00:00
sha1.c Doxygen Updates - janitor work 2012-09-21 17:14:59 +00:00
sip_api.c Don't make chan_sip export global symbols. 2012-10-11 15:49:02 +00:00
slinfactory.c Fix a memory copying bug in slinfactory which was causing mixmonitor issues. 2013-05-28 17:47:29 +00:00
sorcery.c Add a reloadable option for sorcery type objects 2013-08-30 19:55:56 +00:00
sounds_index.c Multiple revisions 399887,400138,400178,400180-400181 2013-09-30 18:55:27 +00:00
srv.c Removed #if checks for crazy old versions of OS X. 2013-05-08 20:25:28 +00:00
stasis.c Multiple revisions 400318-400319 2013-10-02 22:22:17 +00:00
stasis_bridges.c Fix a performance problem CDRs 2013-09-24 18:10:20 +00:00
stasis_cache.c MALLOC_DEBUG: Fix some misuses of free() when MALLOC_DEBUG is enabled. 2013-10-02 17:12:49 +00:00
stasis_cache_pattern.c Multiple revisions 399887,400138,400178,400180-400181 2013-09-30 18:55:27 +00:00
stasis_channels.c Reduce channel snapshot creation and publishing by up to 50%. 2013-10-02 16:23:34 +00:00
stasis_endpoints.c Multiple revisions 400318-400319 2013-10-02 22:22:17 +00:00
stasis_message.c Add vtable and methods for to_json and to_ami for Stasis messages 2013-06-11 15:46:35 +00:00
stasis_message_router.c Multiple revisions 399887,400138,400178,400180-400181 2013-09-30 18:55:27 +00:00
stasis_system.c Convert CCSS manager events to stasis. 2013-07-19 18:00:35 +00:00
strcompat.c Add builtin roundf() for systems lacking it. 2013-01-19 20:54:07 +00:00
strings.c Move ast_str_container_alloc and friends 2013-08-02 14:08:34 +00:00
stun.c Reset automerge property. 2012-12-11 22:25:21 +00:00
syslog.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
taskprocessor.c Multiple revisions 399887,400138,400178,400180-400181 2013-09-30 18:55:27 +00:00
tcptls.c tcptls: Prevent unsupported options from being set 2013-03-15 12:53:03 +00:00
tdd.c Doxygen Updates - janitor work 2012-09-21 17:14:59 +00:00
term.c Revamp of terminal color codes 2013-02-14 18:47:56 +00:00
test.c Update Asterisk's CDRs for the new bridging framework 2013-06-17 03:00:38 +00:00
threadpool.c Fix threadpool rapid growth problem. 2013-06-20 16:29:35 +00:00
threadstorage.c Unregister CLI commands on exit 2013-08-20 15:36:10 +00:00
timing.c Reset automerge property. 2012-12-11 22:25:21 +00:00
translate.c Fix various memory leaks 2013-08-30 19:22:59 +00:00
udptl.c astobj2: Add warn unused attribute to some functions. 2013-09-06 19:26:48 +00:00
ulaw.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
utils.c MALLOC_DEBUG: Fix some misuses of free() when MALLOC_DEBUG is enabled. 2013-10-02 17:12:49 +00:00
uuid.c Add an \extref doxygen pointer for libuuid. 2013-04-26 20:32:11 +00:00
xml.c Detect and use xsltCleanupGlobals when available 2013-10-03 18:00:15 +00:00
xmldoc.c Fix incorrect usages of ast_realloc(). 2013-09-10 18:05:47 +00:00