[asterisk-dev] VLDTMF eats DTMF,
news at 11 (or look at bugid7868 if you love DTMF)
Dan Austin
Dan_Austin at Phoenix.com
Fri Sep 1 19:18:20 MST 2006
Dan Austin wrote:
>> The bug was opened against chan_skinny, but it was an
>> innocent bystander.
>>
>> The test for AST_FLAG_EMULATE_DTMF in __ast_read() needs
>> the else clause wrapped in braces, or it will null-out our
>> much loved DTMF.
>>
>> Chan_skinny with it's unusual method of handling DTMF might
>> just be the only channel driver that would trigger this
>> particular failure.
>>
>> The fix in bugid has been tested against chan_skinny, chan_sip,
>> chan_iax2 and chan_ooh323. It fixed DTMF detection with chan_skinny,
>> and does not appear to have caused any regressions against
>> SIP, IAX2 or H323.
>>
>> Dan
> See bug for further notes... this isn't what you think.
I see the notes, a little thin on details though. I checked
Qwell's updates to chan_skinny, and see how he fixed it.
I could see how my patch might not be 'right', but the
fix wasn't exactly clear.
It seemed odd that chan_skinny could queue a proper series of
frames and ast_waitfordigit would get a munged series. My
use of proper and munged is likely, well, munged.
Instrumenting ast_waitfordigit_full with an ast_log() showed
the first digit in a series of being of type FRAME_DTMF_BEGIN,
,thus ignored, and subsequent frames being type NULL and
obviously ignored.
Might I assume that the major issue with my patch was a memory
leak? I'm not trying to defend my approach, but to understand
where I went wrong.
In any case I'll test the version in svn on Tuesday.
Thanks,
Dan
More information about the asterisk-dev
mailing list