[asterisk-dev] Asterisk bridging framework
asterisk at phreaknet.org
asterisk at phreaknet.org
Wed Dec 27 15:23:33 CST 2023
A few questions about the native bridging framework:
In contrast to DAHDI conferencing, which still requires manually
servicing each channel in the conference, in whatever arbitrary threads
desired, the bridging API is more "event oriented". I have a couple
questions about the latter:
* Is there any way to retain control of a channel in a bridge and
service it manually, e.g. call ast_waitfor/ast_read on it? It seems
when a channel is imparted to a bridge, a thread is always created,
with the only difference being you don't need to join it later with
AST_BRIDGE_IMPART_CHAN_INDEPENDENT. I'm pretty sure the answer is
'no', since that's the entire point of native bridging, but just
want to confirm that... (and that the bridging framework requires 1
thread per channel)
* There are a couple functions for hooking into the bridge, e.g.
ast_bridge_dtmf_hook for DTMF events and ast_bridge_interval_hook
periodically. I don't see anything more generic than this, though.
Say that for certain channels in the bridge I wanted to intercept
the voice frames from the bridge and modify them. I suppose you just
use framehooks as usual on the channel? I'm guessing there's no
difference in behavior, and that ast_bridge_dtmf_hook is purely a
convenience function.
* Is there any current way to detect if a channel is muted in a
bridge? There's an ast_channel_suppress API, but no API to read the
datastore, and I don't see anything else that seems relevant to
determining this. Not sure if I've missed something... would code
need to be added to do this?
Thanks!
More information about the asterisk-dev
mailing list