DTMF Detection

From Vodia PBX Wiki
Jump to: navigation, search

When an incoming call arrives at the PBX, caller may be prompted to press some digits to reach the final destination. Most of the modern VoIP systems/devices support RFC4733(obsoletes RFC2833) RTP events.

Generally, this feature is negotiated in the SDP as part of the SIP signaling. Support for such feature is indicated by -

  • a=rtpmap:101 telephone-event/8000 line in the incoming SDP.
  • a=fmtp:101 0-16 line.

Note that the actual payload type and the format specific parameters can be different from above


The default snom ONE installation takes care of most of the DTMF detection cases. But there may be cases where you find the PBX not detecting the DTMF digits. You can troubleshoot such an issue by following the below cases/examples.

Case 1

  • Above mentioned line in the incoming SDP is present.
  • Admin->Setting: Inband DTMF detection on snom ONE is Off

In this case, the inband DTMF detectors are turned off on the snom ONE. So it will rely on the fact that the remote device (phone/trunk) is sending DTMF as RTP events. But if the remote device sends the DTMF in-band (within the voice frequency range), then PBX will not detect those DTMF digits.

Case 2

  • Above mentioned line in the incoming SDP is present.
  • Admin->Setting: Inband DTMF detection on snom ONE is On

Even though the inband DTMF setting is On, snom ONE will turn off the detectors because the remote party can do the RTP events. So this case is similar to the previous one.

Case 3

  • Above mentioned line in the incoming SDP is absent.
  • Admin->Setting: Inband DTMF detection on snom ONE is On

In this scenario, snom ONE will have the inband DTMF detectors tuned on. So PBX can detect the voice-frequency DTMF (in-band) digits along with the RFC4733 RTP events.

Case 4

  • Above mentioned line in the incoming SDP is absent.
  • Admin->Setting: Inband DTMF detection on snom ONE is Off

In this scenario, snom ONE will detect only RFC4733 RTP events. It will not detect any voice-frequency DTMF (in-band) digits.


As you can see from the above cases, snom ONE will always detect RFC4733 RTP events. The voice-frequency DTMF (in-band) digits detection depends on the snom ONE setting and the incoming SDP.

Well, there is another method in the SIP world to send and receive DTMF digits. That method uses the SIP INFO messages. Even though it seems like an easy solution, it is not very practical. This is because the SIP INFO messages can be lost in the network (mainly on UDP) and it can be delayed which makes it not-so-realtime.

The voice-frequency DTMF (in-band) detection is not suitable for the compressed codec calls. It may work well only for the uncompressed codec calls.

So, the best case scenario for the DTMF digits is to use RFC4733.

Discussion on in-band and out-of-band

There is always some confusion around the use of terms in-band and out-of-band. In the traditional terms, RFC4733 RTP events & SIP INFO mechanism are out of band. This is because the DTMF digits are not transmitted in the voice-frequency range. But some folks call only SIP INFO mechanism is out-of-band transmission. This is because even RFC4733 RTP events are sent using the same port as the voice.

On snom ONE, the inband detection refers to the voice frequency DTMF digits.