Dual-tone multifrequency (DTMF) relay is the mechanism for sending DTMF digits over IP. The VoIP dial peer can pass the DTMF
digits either in the band or out of band.
In-band DTMF-Relay passes the DTMF digits using the RTP media stream. It uses a special payload type identifier in the RTP
header to distinguish DTMF digits from actual voice communication. This method is more likely to work on lossless codecs,
such as G.711.
DTMF-Relay passes DTMF digits using a signaling protocol (SIP or H.323) instead
of using the RTP media stream.
The VoIP compressed code causes the loss of integrity of the DTMF digits. However, the DTMF relay prevents the loss of integrity
of DTMF digits. The relayed DTMF regenerates transparently on the peer side.
The following lists the DTMF relay mechanisms that support the VoIP dial-peers based on the configured keywords. The DTMF
relay mechanism can be either out-of-band (H.323 or SIP) or in-band (RTP).
h245-alphanumeric and h245-signal —These two methods are available only on H.323 dial peers. It is an out-of-band DTMF relay mechanism that transports the DTMF
signals using H.245, which is the media control protocol of the H.323 protocol suite.
The H245-signal method carries more information about the DTMF event (such as its actual duration) than the H245-Alphanumeric
method. It addresses a potential problem with the alphanumeric method when interworking with other vendors’ systems.
sip-notify —This method is available on the SIP dial peers only. It is a Cisco proprietary out-of-band DTMF relay mechanism that transports
DTMF signals using SIP-Notify message. The SIP Call-Info header indicates the use of the SIP-Notify DTMF relay mechanism.
Acknowledging the message with a 18x or 200 response message containing a similar SIP Call-Info header.
The Call-Info header for a NOTIFY-based out-of-band relay is as follows:
Call-Info: <sip: address>; method="NOTIFY;Event=telephone-event;Duration=msec"
DTMF relay digits are a 4 bytes in binary encoded format.
The mechanism is useful for communicating with SCCP IP phones that do not support in-band DTMF digits and analog phones that
are attached to analog voice ports (FXS) on the router.
If multiple DTMF relay mechanisms enable and negotiate successfully on a SIP dial peer, NOTIFY-based out-of-band DTMF relay
sip-kpml —This method is available only on SIP dial peers. The RFC 4730 defines the out-of-band DTMF relay mechanism to register the
DTMF signals using the SIP-Subscribe messages. It transports the DTMF signals using the SIP-Notify messages containing an
XML-encoded body. This method is calked Key Press Markup Language.
If you configure KPML on the dial peer, the gateway sends INVITE messages with KPML in the Allow-Events header.
A registered SIP endpoint to Cisco Unified Communications Manager or Cisco Unified Communications Manager Express uses this
method. This method is useful for non-conferencing calls and for interoperability between SIP products and SIP phones.
If you configure rtp-nte, sip-notify, and sip-kmpl, the outgoing INVITE contains an SDP with a rtp-nte payload, a SIP Call-Info
header, and an Allow-Events header with KPML.
The following SIP-Notify message displays after the subscription. The endpoints transmit digits using SIP-Notify messages
with KPML events through XML. The following example transmits, the digit “1”:
NOTIFY sip:192.168.105.25:5060 SIP/2.0
<?xml version="1.0" encoding="UTF-8"?>
<kpml-response version="1.0" code="200" text="OK" digits="1" tag="dtmf"/>
sip-info —The sip-info method is available only on SIP dial peers. It is an out-of-band DTMF relay mechanism that registers the DTMF
signals using SIP-Info messages. The body of the SIP message consists of signaling information and uses the Content-Type application/dtmf-relay.
The method enables for SIP dial peers, and invokes on receiving a SIP INFO message with DTMF relay content.
The gateway receives the following sample SIP INFO message with specifics about the DTMF tone. The combination of the From,
To, and Call-ID headers identifies the call leg. The signal and duration headers specify the digit, in this case 1, and duration,
160 milliseconds in the example, for DTMF tone play.
INFO sip:firstname.lastname@example.org SIP/2.0
Via: SIP/2.0/UDP 188.8.131.52:5060
CSeq: 25634 INFO
rtp-nte —Real-Time Transport Protocol (RTP) Named Telephone Events (NTE). The RFC2833 defines the in-band DTMF relay mechanism. RFC2833
defines the formats of NTE-RTP packets to transport DTMF digits, hookflash, and other telephony events between two peer endpoints.
Using the RTP stream, sends the DTMF tones as packet data after establishing call media. It is differentiated from the audio
by the RTP payload type field, preventing compression of DTMF-based RTP packets. For example, sending the audio of a call
on a session with an RTP payload type identifies it as G.711 data. Similarly sending the DTMF packets with an RTP payload
type identifies them as NTEs. The consumer of the stream utilizes the G.711 packets and the NTE packets separately.
The SIP NTE DTMF relay feature provides a reliable digit relay between Cisco VoIP gateways on using a low-bandwidth codec.
By default, Cisco device uses Payload type 96 and 97 for fax. A third-party device may use Payload type 96 and 97 for DTMF.
In such scenarios, we recommend you to perform one of the following:
For more information on configuring rtp payload-type and assymetric payload DTMF, see Dynamic Payload Type Interworking for DTMF and Codec Packets for SIP-to-SIP Calls.
Payload types and attributes of this method negotiate between the two ends at call setup. They use the Session Description
Protocol (SDP) within the body section of the SIP message.
This method is not similar to the “Voice in-band audio/G711” transport. The latter is just the audible tones being passed
as normal audio without any relay signaling method being “aware” or involved in the process. It is plain audio passing through
end-to-end using the G711Ulaw/Alaw codec.
cisco-rtp —It is an in-band DTMF relay mechanism that is Cisco proprietary, where the DTMF digits are encoded differently from the audio
and are identified as Payload type 121. The DTMF digits are part of the RTP data stream and distinguished from the audio by
the RTP payload type field. Cisco Unified Communications Manager does not support this method.
The cisco-rtp operates only between two Cisco 2600 series or Cisco 3600 series devices. Otherwise, the DTMF relay feature does not function,
and the gateway sends DTMF tones in-band.
- G711 audio —It is an in-band DTMF relay mechanism that is enabled by default and requires no configuration. Digits are transmitted within
the audio of the phone conversation, that is, it is audible to the conversation partners; therefore, only uncompressed codecs
like g711 Alaw or mu-law can carry in-band DTMF reliably. Female voices sometimes trigger the recognition of a DTMF tone.
The DTMF digits pass like the rest of your voice as normal audio tones with no special coding or markers. It uses the same
codec as your voice, generated by your phone.