asterisk/main
Kevin Harwell ed48377994 ARI: Implement device state API
Created a data model and implemented functionality for an ARI device state
resource.  The following operations have been added that allow a user to
manipulate an ARI controlled device:

Create/Change the state of an ARI controlled device
PUT    /deviceStates/{deviceName}&{deviceState}

Retrieve all ARI controlled devices
GET    /deviceStates

Retrieve the current state of a device
GET    /deviceStates/{deviceName}

Destroy a device-state controlled by ARI
DELETE /deviceStates/{deviceName}

The ARI controlled device must begin with 'Stasis:'.  An example controlled
device name would be Stasis:Example.  A 'DeviceStateChanged' event has also
been added so that an application can subscribe and receive device change
events.  Any device state, ARI controlled or not, can be subscribed to.

While adding the event, the underlying subscription control mechanism was
refactored so that all current and future resource subscriptions would be
the same.  Each event resource must now register itself in order to be able
to properly handle [un]subscribes.

(issue ASTERISK-22838)
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/3025/
........

Merged revisions 403134 from http://svn.asterisk.org/svn/asterisk/branches/12


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@403135 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-23 17:48:28 +00:00
..
editline memory leaks: Memory leak cleanup patch by Corey Farrell (first set) 2013-10-23 20:10:30 +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 res_pjsip: AMI commands and events. 2013-11-23 17:26:57 +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 voicemail: Simplify callback pointer declarations and add doxygen. 2013-11-01 23:20:54 +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 app_dahdiras: Use waitpid instead of wait4. 2013-11-08 14:58:13 +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 astobj2: Unregister debug CLI commands at exit 2013-10-24 19:31:23 +00:00
audiohook.c ari: Add Snoop operation for spying/whispering on channels. 2013-11-23 12:40:46 +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 Manager: Add equivalent AMI actions for the bridge CLI commands. 2013-11-01 21:51:20 +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 Add a test suite event to indicate when the atxfer 3-way feature is detected 2013-10-23 16:48:39 +00:00
bridge_roles.c ARI: bridges/{bridgeID}/addChannel: add roles parameter 2013-08-05 16:59:13 +00:00
bucket.c bucket: Fix scheme ref leak in __ast_bucket_scheme_register(). 2013-11-21 18:11:04 +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 Filter out internal channels from dial message handling 2013-10-27 23:22:51 +00:00
cel.c CEL: Fix crash when using CELGenUserEvent 2013-11-15 14:37:20 +00:00
channel.c Switch to a scoped lock to avoid missing unlocks in failure returns. 2013-11-12 19:38:03 +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 Resolve some memory leaks due to incorrect for loop / ao2 ref usage. 2013-10-18 18:44:21 +00:00
config.c config: Allow ConfBridge DTMF menus to have '#' as the first digit. 2013-11-02 01:15:11 +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 memory leaks: Memory leak cleanup patch by Corey Farrell (second set) 2013-10-24 17:00:27 +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 ARI: Implement device state API 2013-11-23 17:48:28 +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 ari: Add application/x-www-form-urlencoded parameter support 2013-11-08 17:29:53 +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 jitterbuf: Fix memory leak on jitter buffer reset 2013-10-24 19:42:21 +00:00
json.c ARI: Don't leak implementation details 2013-11-22 20:10:46 +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 core/loader: Don't call dlclose in a while loop 2013-10-31 16:06:14 +00:00
lock.c Fix DEBUG_THREADS when lock is acquired in __constructor__ 2013-09-09 20:13:40 +00:00
logger.c Logging: Logging types ignored after specifying a verbose level 2013-10-24 21:06:14 +00:00
manager.c security_events: Push out security events over AMI events 2013-11-08 19:33:48 +00:00
manager_bridges.c Manager: Add equivalent AMI actions for the bridge CLI commands. 2013-11-01 21:51:20 +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 medix_index: Display errors when library calls fail 2013-10-31 15:52:32 +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 Add IPv6 Support To chan_iax2 2013-10-04 21:41:58 +00:00
netsock2.c Add IPv6 Support To chan_iax2 2013-10-04 21:41:58 +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 Say: If SAY_DTMF_INTERRUPT is set to an ast_true value, jump on DTMF 2013-11-14 20:32:45 +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 ARI: Don't leak implementation details 2013-11-22 20:10:46 +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 security_events: Push out security events over AMI events 2013-11-08 19:33:48 +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 res_pjsip: AMI commands and events. 2013-11-23 17:26:57 +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 vector: Uppercase API to follow C convention. 2013-11-02 04:30:49 +00:00
stasis_bridges.c ARI: Don't leak implementation details 2013-11-22 20:10:46 +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 ARI: Don't leak implementation details 2013-11-22 20:10:46 +00:00
stasis_endpoints.c ARI: Don't leak implementation details 2013-11-22 20:10:46 +00:00
stasis_message.c ARI: Don't leak implementation details 2013-11-22 20:10:46 +00:00
stasis_message_router.c vector: Uppercase API to follow C convention. 2013-11-02 04:30:49 +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 taskprocessor: Made use pthread_equal() to compare thread ids. 2013-10-25 23:58:32 +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 memory leaks: Memory leak cleanup patch by Corey Farrell (first set) 2013-10-23 20:10:30 +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 translate: Move freeing of frame to after it is used. 2013-11-22 17:12:29 +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 res_pjsip: AMI commands and events. 2013-11-23 17:26:57 +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 Remove some spammy debug messages; improve clarity of others 2013-10-29 12:57:35 +00:00