[asterisk-dev] Read dtmf after ast_bridge_call

vassilux . v.gontcharov at gmail.com
Mon Aug 4 05:22:23 CDT 2014


Thank for the information about the frame hook.
I understand that both functions can be called by different threads because
lock/unlock used internally.


2014-08-04 11:44 GMT+02:00 Joshua Colp <jcolp at digium.com>:

> 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
>
> --
> _____________________________________________________________________
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
>
> asterisk-dev mailing list
> To UNSUBSCRIBE or update options visit:
>   http://lists.digium.com/mailman/listinfo/asterisk-dev
>



-- 
Vassili Gontcharov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140804/6fa50ece/attachment.html>


More information about the asterisk-dev mailing list