[asterisk-dev] Read dtmf after ast_bridge_call

Joshua Colp jcolp at digium.com
Mon Aug 4 04:44:27 CDT 2014


vassilux . wrote:
> Yes I use ast_waitfor with 2nd parameter -1 into a detached
> background thread. The function ast_waitfor used into my application
> function called from the dialplan and also into the dtmf read thread.
> This behavior is observed after bridging the incoming channel(the
> channel where  I try to read dtmf) to an other channel created with
> dial API.
>
> I modified channel.c (line 3924) to disable  the logging this error
> (just for an experience ). I can get the DTMF from the incoming.

Er - are the two threads both calling ast_waitfor/ast_read at the same 
time? If so this is not supported. You effectively have two threads 
thinking they both need to service the channel at the same time. Only 
one thread can. You can either use a frame hook so you receive a 
callback on each frame where you can examine it and if DTMF do something 
OR use ast_channel_bridge and configure it so it will unbridge/return 
when it receives DTMF on the respective channel you want.

-- 
Joshua Colp
Digium, Inc. | Senior Software Developer
445 Jan Davis Drive NW - Huntsville, AL 35806 - US
Check us out at: www.digium.com & www.asterisk.org



More information about the asterisk-dev mailing list