[asterisk-dev] [Code Review] Initial stasis-core message bus

David Lee reviewboard at asterisk.org
Mon Feb 18 16:32:45 CST 2013

This is an automatically generated e-mail. To reply, visit:

(Updated Feb. 18, 2013, 4:32 p.m.)

Review request for Asterisk Developers, Matt Jordan and kmoore.


Added a note about the channel changes.

Summary (updated)

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
 - Consistent memory management; all message bus objects are AO2
   managed objects, using ao2_ref() and ao2_cleanup() to manage the
   reference counting.

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

This addresses bug ASTERISK-20959.


  /trunk/include/asterisk/channel.h 381699 
  /trunk/include/asterisk/channel_internal.h 381699 
  /trunk/include/asterisk/stasis.h PRE-CREATION 
  /trunk/main/asterisk.c 381699 
  /trunk/main/channel.c 381699 
  /trunk/main/channel_internal_api.c 381699 
  /trunk/main/manager.c 381699 
  /trunk/main/pbx.c 381699 
  /trunk/main/stasis.c PRE-CREATION 
  /trunk/main/stasis_cache.c PRE-CREATION 
  /trunk/main/stasis_message.c PRE-CREATION 
  /trunk/tests/test_stasis.c PRE-CREATION 

Diff: https://reviewboard.asterisk.org/r/2339/diff


Unit tests; manually verified AMI events for a few calls.



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20130218/98bca3b8/attachment-0001.htm>

More information about the asterisk-dev mailing list