SIP DTMF Signalling
Created by: oej,Last modification on Fri 28 of Dec, 2007 [13:59 UTC] by JustRumours
SIP DTMF signalling is done with INFO messages or with RTP messages, the media protocol. This is defined in http://www.ietf.org/rfc/rfc2833.txt - IETF RFC 2833
The RFC defines signalling for various events:
They start out with:
and go on from there for other events.
From the introduction in the RFC:
This memo defines two payload formats, one for carrying dual-tone multifrequency (DTMF) digits, other line and trunk signals (Section 3), and a second one for general multi-frequency tones in RTP 1 packets (Section 4). Separate RTP payload formats are desirable since low-rate voice codecs cannot be guaranteed to reproduce these tone signals accurately enough for automatic recognition. Defining separate payload formats also permits higher redundancy while maintaining a low bit rate.
The payload formats described here may be useful in at least three applications: DTMF handling for gateways and end systems, as well as "RTP trunks". In the first application, the Internet telephony gateway detects DTMF on the incoming circuits and sends the RTP payload described here instead of regular audio packets. The gateway likely has the necessary digital signal processors and algorithms, as it often needs to detect DTMF, e.g., for two-stage dialing. Having the gateway detect tones relieves the receiving Internet end system from having to do this work and also avoids that low bit-rate codecs like G.723.1 render DTMF tones unintelligible. Secondly, an Internet end system such as an "Internet phone" can emulate DTMF functionality without concerning itself with generating precise tone pairs and without imposing the burden of tone recognition on the receiver.
The RFC defines signalling for various events:
- DTMF tones
- fax-related tones
- standard subscriber line tones
- country-specific subscriber line tones
- trunk events
They start out with:
| Event | Event encoding (decimal) |
| 0--9 | 0--9 |
| * | 10 |
| # | 11 |
| A--D | 12--15 |
| Flash | 16 |
and go on from there for other events.
From the introduction in the RFC:
This memo defines two payload formats, one for carrying dual-tone multifrequency (DTMF) digits, other line and trunk signals (Section 3), and a second one for general multi-frequency tones in RTP 1 packets (Section 4). Separate RTP payload formats are desirable since low-rate voice codecs cannot be guaranteed to reproduce these tone signals accurately enough for automatic recognition. Defining separate payload formats also permits higher redundancy while maintaining a low bit rate.
The payload formats described here may be useful in at least three applications: DTMF handling for gateways and end systems, as well as "RTP trunks". In the first application, the Internet telephony gateway detects DTMF on the incoming circuits and sends the RTP payload described here instead of regular audio packets. The gateway likely has the necessary digital signal processors and algorithms, as it often needs to detect DTMF, e.g., for two-stage dialing. Having the gateway detect tones relieves the receiving Internet end system from having to do this work and also avoids that low bit-rate codecs like G.723.1 render DTMF tones unintelligible. Secondly, an Internet end system such as an "Internet phone" can emulate DTMF functionality without concerning itself with generating precise tone pairs and without imposing the burden of tone recognition on the receiver.
- http://www.ietf.org/rfc/rfc2833.txt RFC 2833: RTP Payload for DTMF Digits, Telephony Tones and Telephony Signals

Comments