[asterisk-dev] Bridging Question

Kaloyan Kovachev kkovachev at varna.net
Fri Mar 23 00:42:00 MST 2007


On Thu, 22 Mar 2007 20:29:55 -0400, Alexander Lopez wrote 
> 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. 

this can be done with a DYNAMIC_FEATURE without modifications

>    
> 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 
> 
>  



More information about the asterisk-dev mailing list