Summary:ASTERISK-04126: zaptel driver not returning audio data when sending DTMF
Reporter:Andrew Kohlsmith (akohlsmith)Labels:
Date Opened:2005-05-09 21:35:39Date Closed:2011-06-07 14:10:19
Versions:Frequency of
Description:Related to 4222, this is the core bug we're trying to solve.

Basically when writing AST_FRAME_DTMF to chan_zap the request eventually gets down to the zaptel driver and the zaptel driver will generate the DTMF.  However for the duration that DTMF is being generated zt_chan_poll says there is nothing to read.

Nothing at all.

Not even empty audio frames, which is what __zt_process_putaudio_chunk() does.  So there should be no danger of "reflecting" the DTMF digit back into Asterisk.


I've pissed around with the zaptel code some tonight but I need some fresh ideas.  I altered the state of zt_chan_poll thusly:

               if (chan->outreadbuf > -1) {
                       if(!chan->rxdisable) {
                               ret |= POLLIN | POLLRDNORM;
                       } else {

in an attempt to catch some kind of race with chan->rxdisable but it's clean.  Basically the chan->sel waitqueue is never getting tripped, and all the code paths which wake up the select waitqueue are pretty straightforward and seem alright.  It's as if the lower-level zap card drivers simply do not supply audio in this condition (silly, because the drivers for wct4xxp, wctdm and wct1xxp are all different, and it occurs on all of them).

I'm currently suspecting something around __do_dtmf().  After all, DTMF on these cards is not magic.

I think the end result here is to either get chan_zap to send an AST_FRAME_CNG when asking zaptel to dial and/or to get the zaptel module to actually have (silent) audio available to be read() (and poll()'d for).
Comments:By: Andrew Kohlsmith (akohlsmith) 2005-05-12 15:46:55

I took out any checks for rxdisable in zaptel.c... no change.  So it most certainly has nothing to do with rxdisable getting set.  Any ideas on where to start looking now?

By: Olle Johansson (oej) 2005-06-05 17:04:04

You might to mail to the mailing list to wake this sleeping beauty...

Anyone with ideas?


By: Olle Johansson (oej) 2005-08-15 12:01:46

This issue report is just standing still. is this still an issue? Who can address this problem?


By: Andrew Kohlsmith (akohlsmith) 2005-08-15 13:34:29

It's at a standstill, I have had no time to work on the cause and in fact I managed to destroy my test environment (sad, sad story involving the misidentification of a hard drive and its subsequent repurposing)...  Perhaps close this for now and I'll bug one of y'all to reopen it when I get back to it?

By: Michael Jerris (mikej) 2005-08-18 07:14:08

suspended, but let's not let this one die...