[asterisk-users] DTMF detection problems on PRI channels?

Tony Mountifield
2007-03-02T08:56:12Z

I am using Asterisk 1.2 with a TE410P connected to E1 PRI trunks.
The application relies on a DTMF digit string sent by the phone
after the call has connected. This DTMF is detected by Asterisk
under the control of WAIT FOR DIGIT commands send from an AGI
processor over a FastAGI connection.

Usually the DTMF is detected without error, but on a significant minority
of calls, Asterisk is missing digits.

In order to diagnose this, I modified chan_zap to save the received
Alaw audio direct to a file, BEFORE the dsp is called for DTMF detection.
I needed to do this because the detection routines do not pass the DTMF
audio on, so using the standard recording or monitoring commands from
the dialplan does not actually capture the tones as received from the wire.
This capturing is turned on and off by an AGI command, so that my AGI
program can turn it on before waiting for the DTMF string and off again
afterwards.

Examining this captured audio in an audio editor such as Goldwave does
not provide any clue why the digits might have been missed. On most
occasions the digits are clear, long enough and well spaced. Yet Asterisk
still misses them.

The system does not seem to have been heavily loaded at the time either.

Can anyone offer any clues as to why this might be the case, and what I
could do to solve it? Hacking the code doesn't bother me, although I know
very little about DSP.

Last I knew, the TE411P board could do on-board DTMF detection, but that
the newer TE412P could not. Is that still the case?

Cheers
Tony
--
Tony Mountifield
Work: tony@softins.co.uk - http://www.softins.co.uk
Play: tony@mountifield.org - http://tony.mountifield.org