[asterisk-bugs] [Asterisk 0015024]: DTMF is not working correctly for cell phones.

Asterisk Bug Tracker noreply at bugs.digium.com
Wed May 6 19:08:47 CDT 2009


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=15024 
====================================================================== 
Reported By:                alexo
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   15024
Category:                   Channels/chan_dahdi
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     feedback
Asterisk Version:           1.4.24 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2009-05-03 15:12 CDT
Last Modified:              2009-05-06 19:08 CDT
====================================================================== 
Summary:                    DTMF is not working correctly for cell phones.
Description: 
We have an issue calling the extension number from cell phones. Sometime is
works, but mostly fails.

The problem is that DTMF tones are coming as doubles or just in wrong
order. I'll attach asterisk console output for cell phones and land one
(yes, land phones works as expected - always).

Any help is really appreciated as most of our customers are mobile.
======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0014815 [patch] DTMF Appears to be broken from ...
====================================================================== 

---------------------------------------------------------------------- 
 (0104335) dimas (reporter) - 2009-05-06 19:08
 http://bugs.digium.com/view.php?id=15024#c104335 
---------------------------------------------------------------------- 
Well.... I looked at the raw file. It is really interesting. It definitely
has a distortion in it - more about this later. 

You should know that Asterisk detects DTMF in 20ms frames (160 samples).
The 400ms signal in your samples spans about 20 frames. In most of these
frames  Asterisk is unable to detect DTMF (because of distortion) but in
some frames Asterisk detects DTMF successfully. This has two major
consequences:

A. Since during a 400ms real signal there are multiple frames where DTMF
is found followed by the frames where DTMF is not found, Asterisk reports
multiple copies of the same digit. (Because a frame where DTMF is not
present considered a valid inter-digit pause).

B. In frames where Asterisk detects DTMF, it zeroes content of the frame
to remove that DTMF tone from voice channel. This is done by chan_dahdi
code and this is what causes dropouts in the signal as seen by Monitor.

The bottom line of the above: there is no bug which distorts signal in the
chan_dahdi. It is just normal behavior of Asterisk plus very bad input
signal.


Now to the input signal: as I said it is interesting. only a few samples
are "damaged" in each frame but these samples cause the distortion you can
hear. It looks like the distortion is caused by overflow of 16-bit integers
used to represent slinear (signed linear) samples at points where amplitude
is too high.

So to me it looks like your signal just overflows your Zap device. Aren't
you using too much rxgain or someting? 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-05-06 19:08 dimas          Note Added: 0104335                          
======================================================================




More information about the asterisk-bugs mailing list