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 <[email protected]>: > 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
-- _____________________________________________________________________ -- 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
