[asterisk-dev] Does Asterisk 'queue' DTMFs?

Dmitry Andrianov dimas at dataart.com
Fri Jul 25 15:02:07 CDT 2008

Ok, so I believe you are affected by the Asterisk VLDTMF "normalization" code which attempts to make sure all DTMF coming _into_ asterisk have minimum duration and also properly separated in time.
This code is located in the ast_read function of main/channel.c however there is no single on/off flag which would allow you turn this functionality off.

If you agree on using 1.6/trunk and have plenty of time I could try making a patch which moves VLDTMF functionality from _input_ frame processing to _output_. For you this will result in no attempts to normalize DTMFs coming in.

PS: have you checked what happens if you are NOT using asterisk? Some phones do this sort of buffering internally so if you really quickly press a ky 20 times, the phone will continue producing these sounds long after you are done. In this case patching Asterisk will give you nothing.

-----Original Message-----
From: asterisk-dev-bounces at lists.digium.com [mailto:asterisk-dev-bounces at lists.digium.com] On Behalf Of Saul Ibarra
Sent: Friday, July 25, 2008 11:04 PM
To: Asterisk Developers Mailing List
Subject: Re: [asterisk-dev] Does Asterisk 'queue' DTMFs?

> I think maybe you might not understand DTMF as well as you should.
> First DTMF events won't be triggered until at least 40msec has passed from the beginning of the tone. This is required to know it is a DTMF tone and not just a spurious tone heard or one spoken close enough. There is some logic to keep a long tone from returning multiple digits as well. There is supposed to be a similar 40msec gap between tones. BTW, these values may not be the exact proper values, but ones I know have worked with MaBell before.
> Since you haven't specified what type of game you are trying to code, you should think whether or not a dropped command is what the user would want or expect.


I'll try to explain it again :)

This game-like app pretends to use DTMF tones to move up, down, left
and right (2 ,8 ,4 ,6). The tests I made (described above) showed me
that uf I press key 2 for 50 times, for example, DTMFs are 'queued'
and the last ones get into Asterisk wih 10s of delay. This delay is
too big for something 'realtime', so waht I'm trying to achieve is not
to get DTMFs queued, even if I loose them.

Did I make myself cleared now? Thank you very much for your interest.

Saúl -- "Nunca subestimes el ancho de banda de un camión lleno de disketes."

--Bandwidth and Colocation Provided by http://www.api-digital.com--

AstriCon 2008 - September 22 - 25 Phoenix, Arizona
Register Now: http://www.astricon.net

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:

More information about the asterisk-dev mailing list