[asterisk-dev] Bridging Question
Norman Franke
norman at myasd.com
Mon Feb 26 15:56:04 MST 2007
I'm attempting to modify app_queue to support a legacy system we
have. Basically, after a timeout (e.g. 3 or 4 rings), I want it to
patch the call to another system (via a Zap channel) that plays a
message specific to the incoming call's extension, e.g. "Welcome to
Foo Bar, Inc, please hold." These files are not stored where Asterisk
can get to them and they are in a proprietary format. We have like
4000 of these, so re-recording isn't an option either.
I figured I could modify app_queue to dial this number and and wait
until that message is done (the other system hangs up) and then go to
MoH. This works synchronously, e.g. I have to block while bridged. I
want to be able to check for digits being pressed while in this mode
(and do something as a result) and to abort the connection if an
agent frees up (so they don't have to listen to the entire message if
an agent becomes available.)
This can't be done with ast_bridge_call, AFAIK. Calling it in a
thread dumps tons of these:
channel.c:1802 ast_waitfor_nandfds: Thread -1230656592 Blocking 'SIP/
normanoffice-082001b8', already blocked by thread -1230656592 in
procedure ast_waitfor_nandfds
I assume one can't monitor a channel from two threads.
What's the best way to handle something like this? I looked inside
app_meetme, and there is a LOT of code there to do what is
conceptually very simple. Something like ast_moh_start that takes
another channel instead of a music channel, and streams that channel
much like MoH would be slick.
Thanks!
Norman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-dev/attachments/20070226/3cc4aac2/attachment-0001.htm
More information about the asterisk-dev
mailing list