[asterisk-dev] Bridging Question

Alexander Lopez Alex.Lopez at OpSys.com
Thu Mar 22 17:29:55 MST 2007


Look at using the Local channel for the timeout. And the d option in
Dial.  The only issue you have is depending on the type of Zap channel
used you may not be ale to use the d option as the call would be
answered. However if you are using a PRI you can use the one-way audio.

 

Lastly you can just modify the Dial app(GASP!!!,)  to ignore the answer
and always listen for the DTMF.

 

Hope that helps.....

 

Alex

 

 

________________________________

From: asterisk-dev-bounces at lists.digium.com
[mailto:asterisk-dev-bounces at lists.digium.com] On Behalf Of Norman
Franke
Sent: Thursday, March 22, 2007 7:15 PM
To: asterisk-dev at lists.digium.com
Subject: [asterisk-dev] Bridging Question

 

(I didn't hear anything on this, so I'll try again.)

 

 

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/20070322/8a053e4b/attachment-0001.htm


More information about the asterisk-dev mailing list