[asterisk-dev] DTMF detection and generation code

Steve Underwood steveu at coppice.org
Sun Apr 23 09:47:27 MST 2006


Andreas Sikkema wrote:

>On Sun, 2006-04-23 at 23:50 +0800, Steve Underwood wrote:
>  
>
>>Many many things in the telephone network - cellular systems, key 
>>systems, many large PBXes with digital telephones - change the length of 
>>DTMF so what is sent is completely unrelated to what it pressed. 
>>Anything which cares about the length of a DTMF digit, other than 
>>meeting the requred minimum, is badly broken.
>>    
>>
>
>I agree with you, but there's one spot where length of a DTMF tone is
>really important. 
>
>Consider this:
>
>Phone --- ATA ------- Asterisk ------ GW ------ PSTN ------ IVR
>               RFC2833         RFC2833    ISDN        ISDN
>
>ATA converts a DTMF tone received from a phone to RFC2833 events with a
>certain length. These are relayed through asterisk which sends a couple
>of RFC2833 events to the gateway that converts the events back to a DTMF
>tone.
>
>When the events generated by Asterisk result in a DTMF tone that is
>shorter than the one initially created by the phone you might get into
>problems. A lot of ATA's are not very good at filtering out all of the
>DTMF tone, so the end result might actually sound like two DTMF tones to
>the IVR. 
>
>If the DTMF events were created of the correct length the problem might
>go away.
>  
>
Might, but in general won't. If you are expecting some DTMF as audio and 
some DTMF as RFC2833 to blend into one digit, it won't do so with any 
reliability. The two are not likely to join together properly in time, 
and even if they do there will be a phase discontinuity at the join. 
Most DTMF decoders will not reliably see that as one digit.

Regards,
Steve




More information about the asterisk-dev mailing list