[asterisk-dev] [Code Review] Bridging API for Conference Bridge purposes

Joshua Colp jcolp at digium.com
Wed Dec 31 15:43:19 CST 2008



> On 2008-12-16 07:43:53, Russell Bryant wrote:
> > /trunk/apps/app_confbridge.c, lines 279-281
> > <http://reviewboard.digium.com/r/93/diff/1/?file=1910#file1910line279>
> >
> >     This is a common enough construct that it could probably be put into a function to ensure that nobody makes the mistake of not handling the locking properly

Done.


> On 2008-12-16 07:43:53, Russell Bryant wrote:
> > /trunk/apps/app_confbridge.c, lines 524-542
> > <http://reviewboard.digium.com/r/93/diff/1/?file=1910#file1910line524>
> >
> >     Allocating and freeing an ast_channel is pretty expensive to do over and over again.  Could we optimize this so that the channel only gets created once for the life of the conference bridge?

Done. I've changed things so the the bridge interaction channels will come into existence when needed the first time and persist until the conference bridge is destroyed. They will just be added or removed from the conference bridge as need be.


- Joshua


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.digium.com/r/93/#review230
-----------------------------------------------------------


On 2008-12-16 07:44:19, Joshua Colp wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.digium.com/r/93/
> -----------------------------------------------------------
> 
> (Updated 2008-12-16 07:44:19)
> 
> 
> Review request for Asterisk Developers and Russell Bryant.
> 
> 
> Summary
> -------
> 
> This patch implements the new bridging API and brings with it a module for conference bridges. It does *not* replace existing internal bridging or features yet and will not cause any regressions when put in. It will essentially be introduced as a first test phase to work out any unforeseen critical issues. The bridging core itself is fully implemented besides the following: jitterbuffer support, native bridging, and interval hooks (hooks that are time based versus action based). If you would like an explanation of what the bridging API is made up of and how it works that can be found in the bridging.h header file.
> 
> 
> Diffs
> -----
> 
>   /trunk/Makefile 164597 
>   /trunk/apps/app_confbridge.c PRE-CREATION 
>   /trunk/bridges/Makefile PRE-CREATION 
>   /trunk/bridges/bridge_multiplexed.c PRE-CREATION 
>   /trunk/bridges/bridge_simple.c PRE-CREATION 
>   /trunk/bridges/bridge_softmix.c PRE-CREATION 
>   /trunk/channels/chan_bridge.c PRE-CREATION 
>   /trunk/include/asterisk/bridging.h PRE-CREATION 
>   /trunk/include/asterisk/channel.h 164597 
>   /trunk/main/Makefile 164597 
>   /trunk/main/bridging.c PRE-CREATION 
> 
> Diff: http://reviewboard.digium.com/r/93/diff
> 
> 
> Testing
> -------
> 
> Conference bridge testing using app_confbridge with features. Joining two channels with simple frame exchange and joining three channels to move it to a true conference bridge. IVR capability of app_confbridge was also tested.
> 
> 
> Thanks,
> 
> Joshua
> 
>




More information about the asterisk-dev mailing list