[asterisk-dev] Playing a Message into the ConfBridge App
Joshua Colp
jcolp at digium.com
Tue Apr 13 08:18:35 CDT 2010
----- "Jamuel Starkey" <jamuel at hcvoip.com> wrote:
> What are the implications of getting a "channel" interface into a
> bridge? Why is that useful?
It's useful because you can then easily run Asterisk applications and
they can participate in the bridge. It's used in app_confbridge for
doing playback of sounds into the conference bridge.
> I'm trying to better understand the benefits of the new chan_bridge
> technology over what could be done previously we something like
> app_meetme aside from the (obvious) lack of needing a hw timing
> source.
You can't compare app_meetme and chan_bridge, they serve two different roles.
You are actually talking about app_meetme and app_confbridge. I'll explain
some of the nice things the bridging API provides that app_confbridge uses.
Some of these are user perspective while others are developer perspective.
1. As you already mentioned no hardware timing source is required. This is because
the core of the bridging API is pluggable with different modules that perform the
actual bridging.
2. Smart bridging. This is a feature that allows the bridge to move between bridging
technologies as conditions change. For example you might simply want to create a two
person bridge and in this instance the bridge (underneath) would be the same as if you
had just called Dial on another channel, this is much more efficient then having to do
mixing. If you added a third channel then the bridge would transition out to a technology
that would actually perform multiparty bridging. There's also a bridging technology that
will do multiple two party bridges in the same thread, to optimize things some.
3. The ability to do DTMF features and timeouts is simplified *a lot*. It's really simple
to add your own DTMF feature in or muck with timeouts on the bridge.
4. Since the bridge exists as an object you can manipulate it using the bridge API calls
however you want.
5. It simplifies whatever is using the bridging API. For example app_confbridge is roughly 800
lines of code but it's really not that complex of an application.
These are just what popped up in my head while writing this, there's probably more.
--
Joshua Colp
Digium, Inc. | Software Developer
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at: www.digium.com & www.asterisk.org
More information about the asterisk-dev
mailing list