DTMF Relay

Revision as of 13:50, 14 September 2022 by Allyntree (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Dual-tone Multi-frequency Relay

Dual-tone Multi-frequency Relay (DTMF) is the mechanism where a VoIP gateway listens for in-call tones, and relay them to the peer according to the negotiated method.

Relaying DTMF prevents loosing its signal integrity over VoIP compressed codecs.  The relayed DTMF is then being regenerated transparently on the peer side.

There are 3 common ways of relaying DTMF:

  1. RFC2833
  3. In Band


RFC2833 is the prefered method for relaying, where the in-call DTMF are removed from the in-band voice, and are sent to the peer over the RTP stream, as specially marked packet.

This method also offers a robustness against packet losses by using redundancy scheme.  

RFC2833 is usually being handled by VoIP hardware, and requires no CPU intervention.


The SIP INFO method can be used by SIP network elements to transmit DTMF tones out-of-band as telephone-events in a reliable manner independent of the media stream.

In the DTMF relay method the body of the SIP message consists of signaling information and uses the content-type application/dtmf-relay

This method can be used where peer VoIP doesn't support RFC2833. This method relies on CPU power to relay the DTMF.

In Band

In-band is used when the two other methods aren't available.  The DTMF is relay with in-band voice, and is more likely to work on lossless codecs, like G.711.

Toolpack DTMF-Relay

By default, Toolpack Gateway tries to negotiate RFC2833 DTMF relay, by announcing its telephone-event capability in the SIP INVITE.

When telephone-event SDP negotiation fails, then SIP INFO is used.  When RFC2833 is used, SIP INFO DTMF-Relay events are not relayed.

This default behavior can be overriden using a SIP Profile.  DTMF-Relay methods can be added/removed and ordered as wanted.