[asterisk-dev] [Code Review] 2726: ARI - allow other operations to happen while bridged

David Lee reviewboard at asterisk.org
Wed Jul 31 17:47:45 CDT 2013


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/2726/
-----------------------------------------------------------

Review request for Asterisk Developers, Matt Jordan, opticron, and rmudgett.


Bugs: ASTERISK-22084
    https://issues.asterisk.org/jira/browse/ASTERISK-22084


Repository: Asterisk


Description
-------

This patch changes ARI bridging to allow other channel operations to
happen while the channel is bridged.

ARI channel operations are designed to queue up and execute
sequentially. This meant, though, that while a channel was bridged,
any other channel operations would queue up and execute only after the
channel left the bridge.

This patch changes ARI bridging so that channel commands can execute
while the channel is bridged. For most operations, things simply work
as expected. The one thing that ended up being a bit odd is recording.

The current recording implementation will fail when one attempts to
record a channel that's in a bridge. Note that the bridge itself may
be recording; it's recording a specific channel in the bridge that
fails. While this is an annoying limitation, channel recording is
still very useful for use cases such as voice mail, and bridge
recording makes up much of the difference for other use cases.

We may add a /monitor control for channels, which can start a
MixMonitor on a specific channel. But that would be another patch.


Diffs
-----

  /trunk/include/asterisk/bridge_features.h 395904 
  /trunk/include/asterisk/bridge_internal.h 395904 
  /trunk/include/asterisk/stasis_app.h 395904 
  /trunk/include/asterisk/stasis_app_impl.h 395904 
  /trunk/main/features_config.c 395904 
  /trunk/res/ari/resource_bridges.c 395904 
  /trunk/res/res_stasis.c 395904 
  /trunk/res/res_stasis_bridge_add.c 395904 
  /trunk/res/res_stasis_bridge_add.exports.in 395904 
  /trunk/res/res_stasis_playback.c 395904 
  /trunk/res/res_stasis_recording.c 395904 
  /trunk/res/stasis/control.h 395904 
  /trunk/res/stasis/control.c 395904 

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


Testing
-------

* Played to channel
* Recording to channel
* Put channel in bridge
  * Played to channel
  * Recorded from channel
  * Played to bridge
  * Hungup channel from ARI
  * Hungup channel from client


Thanks,

David Lee

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


More information about the asterisk-dev mailing list