This patch adds a new message bus API to Asterisk.
authorDavid M. Lee <dlee@digium.com>
Fri, 8 Mar 2013 15:15:13 +0000 (15:15 +0000)
committerDavid M. Lee <dlee@digium.com>
Fri, 8 Mar 2013 15:15:13 +0000 (15:15 +0000)
commit4edd8be35cdef3b212355c48b68319f2304bc9f2
tree19eb1e097c68641f443584f6585a71bb4a4d6f77
parentf6f6bc7b5932808d570e41869c47c3fc54ab6bf8
This patch adds a new message bus API to Asterisk.

For the initial use of this bus, I took some work kmoore did creating
channel snapshots. So rather than create AMI events directly in the
channel code, this patch generates Stasis events, which manager.c uses
to then publish the AMI event.

This message bus provides a generic publish/subscribe mechanism within
Asterisk. This message bus is:

 - Loosely coupled; new message types can be added in seperate modules.
 - Easy to use; publishing and subscribing are straightforward
   operations.

In addition to basic publish/subscribe, the patch also provides
mechanisms for message forwarding, and for message caching.

(issue ASTERISK-20887)
(closes issue ASTERISK-20959)
Review: https://reviewboard.asterisk.org/r/2339/

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382685 65c4cc65-6c06-0410-ace0-fbb531ad65f3
13 files changed:
include/asterisk/channel.h
include/asterisk/channel_internal.h
include/asterisk/stasis.h [new file with mode: 0644]
main/asterisk.c
main/asterisk.exports.in
main/channel.c
main/channel_internal_api.c
main/manager.c
main/pbx.c
main/stasis.c [new file with mode: 0644]
main/stasis_cache.c [new file with mode: 0644]
main/stasis_message.c [new file with mode: 0644]
tests/test_stasis.c [new file with mode: 0644]