GSMCalls

VoIP & SIP

DTMFAlso known as Dual-Tone Multi-Frequency, Touch tones, RFC 4733

Definition

DTMF (dual-tone multi-frequency) is the signalling used when you press keys on a phone keypad. Each key sends two simultaneous tones, one from a low-frequency group and one from a high-frequency group. In VoIP, DTMF can travel as audio, as RFC 4733 telephone-event RTP packets, or as SIP INFO messages.

DTMF frequencies

The frequency pairs are standardised in ITU-T Q.23 and Q.24:

1209 Hz1336 Hz1477 Hz1633 Hz
697 Hz123A
770 Hz456B
852 Hz789C
941 Hz*0#D

DTMF methods in VoIP

  • In-band (inband audio): tones are carried inside the voice stream. Works with G.711, but compressed codecs such as G.729 distort them, and packet loss breaks digits.
  • RFC 4733 (RFC 2833) telephone-event: each digit is sent as special RTP packets with its own payload type (often 101). The most reliable and most widely supported method.
  • SIP INFO: digits are sent as SIP messages on the signalling path. Useful when media is relayed by equipment that drops telephone-events.

Both ends of a trunk must agree on the method. A mismatch is the most common reason an IVR “does not hear” key presses.

DTMF over mobile gateways

Timing matters too: each tone and each gap between tones must last long enough to be detected, typically at least 40 ms, which is why RFC 4733 events carry an explicit duration.

On a call leaving through a GSM gateway, RFC 4733 digits from the PBX must be regenerated as tones on the mobile leg, and tones from the mobile side detected and sent back as events. Use RFC 4733 on the trunk between your PBX and GSMCalls unless your provider specifies otherwise; see the FreePBX setup guide.

Frequently asked questions

What is the difference between RFC 2833 and RFC 4733?

RFC 4733 replaced RFC 2833 in 2006 with clarifications; they describe the same telephone-event mechanism and interoperate.

Why are my DTMF digits doubled or missing?

Usually because two methods are active at once (digits doubled) or the ends disagree on the method or payload type (digits missing).

Can DTMF be sent with G.729?

Yes, but use RFC 4733 events rather than in-band audio, because G.729 compression distorts the tones.

Further reading

All glossary terms