DTMF – Damned Tone Maker Fuckedup

To those of you familiar with the SIP signalling protocol or any other VoIP protocol for all that matter, you are most probably familiar with the issue of traversing DTMF (Dual Tone Multi Frequency) tones correctly over a VoIP link. The main issue is that there is no one standard for doing this. While in the old days of H323, most gateways were utilizing inband signalling (that means sending the tones as part of the media stream), in modern day systems and protocols (such as SIP), most of the time vendor conform to either rfc2833, in-band or SIP-INFO.

Lets not talk about in-band signalling, as this is not interesting, lets talk about rfc2833 for a second. As the RFC document states (http://www.faqs.org/rfcs/rfc2833.html), rfc2833 is defined as “RTP Payload for DTMF Digits, Telephony Tones and Telephony Signals”. Now, while an RFC is a wonderful thing to have, the main issue is that most vendors tend to mess up when dealing with RFC documents. This is why browsers like IE are unable to utilize AJAX or DOM correctly, although the same code will work like a charm on Firefox. Each vendor has its own interpretation of what the RFC means. While most of the basic functionality will be done correctly, room for interpretation causes each vendor to simply create a slight variation of the the standard – meaning, interoperability may not always work correctly.

Now, you are most probably asking: “what the hell is he rambling about now? just test what you need and use it!” – so I did just that. If you are using Asterisk, and you would like to test a new SIP device for proper DTMF compatibility with Asterisk, you are welcome to use my Asterisk based DTMF tester. The DTMF tester enables you to test each of the DTMF signalling method, all from the comfort of your IP device. Simply follow the below testing procedure and you will be able to determine what is the best DTMF mode for you IP device, to be used with Asterisk:

  • Register your IP device with my DTMF testing server:
    • SIP Server: venus.greenfieldtech.net
    • SIP Outbound Server: venus.greenfieldtech.net
    • Username: dtmftester
    • Password: dtmftester
    • Codecs: g711u, g711a, gsm and g729
  • Once you are registerd, simply dial the following:
    • Dial 100 for SIP-INFO testing
    • Dial 101 for INBAND testing
    • Dial 102 for rfc2833 testing

If you had found usage for this DTMF tester, you are welcome to spread the word about it and also tell me what you think. If you believe additional tools are needed, feel free to leave me a note, I always like to write new tools.

Leave a Reply