[asterisk-dev] [Code Review] 2461: Get local channel optimization working using new bridge system.

rmudgett reviewboard at asterisk.org
Fri Apr 19 16:13:09 CDT 2013


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

(Updated April 19, 2013, 9:13 p.m.)


Review request for Asterisk Developers.


Changes
-------

Addressed review feedback.


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


Repository: Asterisk


Description
-------

Local channel optimization is needed to reduce system resources and frame delay through Asterisk.  This patch gets local channel optimization working again using the new bridging model.

The primary method of optimization is to merge bridges together.  The optimizing local channels continuously check for empty queues in the local;1 and local;2 channels.  Once it is found that the queues are empty and the bridges allow merging, either BridgeA or BridgeB is merged into the other bridge.

A future additional way to optimize out local channels in more circumstances is to swap the Local;2 channel in BridgeB with the only peer channel (A) in BridgeA.  This optimization strategy would be needed if BridgeB prohibits bridge merges.

A -- BridgeA -- Local;1-Local;2 -- BridgeB -- B


Diffs (updated)
-----

  /team/group/bridge_construction/bridges/bridge_builtin_features.c 386151 
  /team/group/bridge_construction/channels/chan_local.c 386151 
  /team/group/bridge_construction/include/asterisk/bridging.h 386151 
  /team/group/bridge_construction/main/bridging.c 386151 

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


Testing
-------

* Checked that local channels can optimize themselves out in the normal situation as shown in the description.

* Checked that the local channels can optimize themselves out in the situation where there is a chain of 300 local channel pairs.  This seems to work faster than it used to, but that was not quantified.

* Checked that local channels could not optimize themselves out when the local;2 is running an application instead of being in another bridge.


Thanks,

rmudgett

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


More information about the asterisk-dev mailing list