[asterisk-dev] DTMF detection and generation code

Steve Underwood steveu at coppice.org
Sun Apr 23 16:52:54 MST 2006


Vahan Yerkanian wrote:

> Steve Underwood wrote:
>
>> With most cellular base stations each press of the buttons on the 
>> phone produces a fixed length DTMF pulse, with a fixed silence 
>> following it. If you press keys in quick succession, they are 
>> buffered up, and played out as tones at the pace the base station 
>> sees fit. Typically they make the tones very long, for some reason. 
>> 0.5 seconds in many cases. I think your application sounds broken by 
>> design. I've been through this before, trying to build things which 
>> require rhythmic input. It just doesn't work, unless your application 
>> is limited to plain old analogue land line phones.
>
>
> DTMF buffer is another useful thing - currently digits sent too fast 
> are guaranteed to be skipped. Ironically, I never get a double or 
> skipped digits from cellular networks - these send DTMFs with loooong 
> durations as the developers have accounted for lossy nature of the 
> cellular technology.

The lossy nature of cellular networks has no impact on DTMF. The phones 
do not generate DTMF. The base stations do. The phones merely send 
messages saying "user pressed one", "user pressed five", etc. and they 
don't tell the base station how long it was pressed for. The base 
station generates the DTMF tone in a non-lossy environment.

Steve




More information about the asterisk-dev mailing list