[asterisk-dev] DTMF detection and generation code

Steve Underwood steveu at coppice.org
Sun Apr 23 10:12:09 MST 2006


Iain Barker wrote:

>Vahan Yerkanian wrote:
>  
>
>>Are there any plans or even chances for DTMF detection and generation 
>>(inband, rfc2833 and info) code being looked at and rewritten/fixed?
>>    
>>
>
>Steve Underwood wrote:
>  
>
>>Adding duration to IAX2 DTMF messges is a bad idea. RFC2833 is brain 
>>dead for having it (actually RFC2833 is just rather brain dead)
>>    
>>
>
>Just adding a few general comments to this discussion.
>
>Tone duration may not be particularly relevant for Asterisk when it is doing simple digit collection, but it is important for other applications. One example: A "Press 0 to buzz in" door entry system needs accurate start and end indications, or the tone duration.
>  
>
Why is a door entry system using DTMF? Sounds kinda odd.

>Also, please remember that RFC2833 is not just used for DTMF tones. RFC2833 NSE's are a generic transport mechanism which is also used for things like fax and modem tone reporting, and other call-progress events not related to the signalling path.
>
>For example, some VoIP gateways will disable echo cancellers on receiving a /ANS, or will switch from using RTP to using T.38 UDPTL if a Fax CNG and CED event s received.
>  
>
This is another area where RFC2833 is seriously broken. None of this 
stuff is mandated, so it in implemented in a totally haphazard way. 
T.38, V.150 and other systems actually have little clue what to expect 
down the wire and what to do with it, as everything is specified so open 
endedly. Also, RFC2833 has masses of definitions for signals nobody is 
ever going to detect and turn into messages. I think it was written by 
someone who had never used a telephone.

>One other thing that would help Asterisk interop for basic DTMF tones, is the RFC2198 redundancy standard. Some hardware vendors chipsets widely used in media gateways from "big name" companies support sending *only* RFC2833 inside RFC2198 redundant frames.
>  
>
RFC2198 is needed for this, and RFC2733 is needed if T.38 is ever to be 
carried over RTP.

Regards,
Steve




More information about the asterisk-dev mailing list