RFC 2833 and DTMF Relay

Devices must send dual-tone multi-frequency (DTMF) when a phone call is routed to an an automated system. Automated attendant (AA), voicemail (VM), or interactive voice response (IVR) systems are some examples of the types of automated systems that can pick up phone calls.

Cisco Unity, Unity Connection, and Unity Express are all examples of systems that support both AA and VM functionality. Cisco Unity Contact Center and Contact Center Express are examples of IVR systems supporting skill-based routing and full automatic call distribution (ACD) functionality. Voicemail systems normally prompt the calling party for a DTMF-based password used for authentication purposes, while AA and IVR systems use DTMF digits for various items including menu navigation and customer number.

DTMF digits can be sent in-band (IB) or out-of-band (OOB), but the most popular, standards-based approach used today is to send DTMF digits in band. In-band relates to the RTP media stream, while out-of-band relates to the signaling path.

After a call is set up by Cisco Unified Communications Manager (CUCM) or Cisco Unified Communications Manager Express (CUCME), the call setup signaling function has ended and the Cisco IP Phone has a direct media path (RTP) to the destination. Signaling is normally not used again until the call is ended or a supplementary service (hold, park, transfer, etc.) is initiated.

RFC2833 is the standards-based mechanism used to send DTMF digits in-band (RTP) that is supported by many vendors in the industry. Unfortunately, RFC2833 (in band) is not supported on older “Type A” Cisco IP phones (7905/7910/7940/7960).

Type B Cisco IP phones (7970/79×1, 79×2, 79×5, 7906) however, do support RFC2833. Media termination points (MTP) are required on CUCM when a device requiring RFC2833 is in a phone call with a device that only supports OOB mechanisms and DTMF digits are used. The CUCM MTP converts IB (RFC2833) signaling messages to OOB signaling messages. Cisco’s Type A phones converted to SIP use a SIP-Notify method for communicating DTMF digits OOB.

RFC2833 support is supported in Cisco IOS gateway configuration of voip dial-peers using the dtmf-relay rtp-nte command. The rtp-nte dtmf-relay option is specified RFC2833, but it can be hard to see the relation of NTE (named telephony events) to RFC2833. NSE (named signaling events – another acronym used in RFC2833) is sometimes referred to in documentation. Both NSE and NTE indicate that signaling events are being sent IB in accordance with RFC2833.

Media termination points (MTP) are dynamically assigned on a call-by-call basis by CUCM if required by the call setup parameters (SDP in SIP/MGCP and H.245 in H.323). MTPs can be supported in software (CUCM), hardware (DSPs), or router IOS (CPU of router) in Cisco Unified Communications. It is normally better to offload the MTP functionality burden from CUCM if possible.

Author: Dennis Hartmann

In this article

Join the Conversation

7 comments

  1. Kelly Reply

    Hi Dennis! How are you? I am in the process of integrating Unity connection with an Avaya pbx: Avaya Cisco ISR Unity connection 7.1

    DTMF not working…. any ideas what to look at? we are using dtmf-relay rtp-nte on the sip dial peer but do not see dtmf-relay happening, debugs show only some dtmf’s coming thru but not all and issue is intermittent. Configs have been tested in other enviro’s and work, so not sure what else to try. Wondering if you have any ideas?

    -Kelly

  2. Kelly Reply

    Ok, it didnt print everything I typed:

    Avaya s8700 -via QSIG- Cisco ISR -via SIP- CUC7.1

  3. ermitagno Reply

    Hi,

    I have doubts. Some webs says that RFC2833 can be either IB or OoB. I understand that if the DTMF is in the RTP even with a different Payload Type it is IB

    * How can RFC2833 can be used as OoB?

  4. Dennis Hartmann Reply

    RTP NTE should generate in band DTMF relay. OOB DTMF relay occurs in the signaling path and is not compatible with RFC2833. Kelly: It sounds like a bug. You may want to open a Cisco TAC case which is not very fun… not even for a Cisco employee. 🙂 I’m doing well. Thanks for asking.

  5. jim Reply

    Your article is incorrect. RFC2833 is the method of carrying DTMF out of band, outside of the media path. It is widely used in VoIP, because the DTMF is not subject to the compression within the media path ie g729a, which causes the tones to be distorted.

  6. Dennis Hartmann Reply

    RFC2833 is call “RTP Payload for DTMF Digits, Telephony Tones and Telephony Signals” because the digits of the dial pad are send “IN BAND (IB)” in the RTP media path (UDP even ports between 16384 and 32767).

    Out Of Band (OOB) DTMF Relay is supported as well, but OOB signaling uses SIP, H.323, or SCCP to send signaling events during an active call instead of using the RTP media path. OOB signaling is usually not supported between Cisco and third party SIP server integrations because most SIP implementations require RFC2833 (IB). A SIP Notify (OOB) packet was used to indicate DTMF digits in Type A phones and SIP trunks before CUCM 5.0. CUCM 5.0’s SIP implementation supports RFC 2833 (IB DTMF Relay).

    Feel free to read the RFC where you can read about the way that DTMF digits are encoded with Name Signaling Events (NSE) and/or Named Telephony Events (NTE) in RFC 2833. I have not read the entire thing myself, but I’ve read enough of it to understand that RFC2833 is inband.

    H.323 leverages H245 media negotiation capabilities (h245-signal and h245-alphanumeric) to send OOB DTMF-Relay.

    In band DTMF relay (RFC2833) is configured in dial-peer configuration mode with the following command:

    dtmf-relay rtp-nte

    NTE indicates Named Telephony Events in RFC2833.

    Here’s the Introduction of RFC2833 copy and pasted from:
    http://www.ietf.org/rfc/rfc2833.txt

    1 Introduction

    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.

  7. vener Reply

    RFC2833 is an InBand DTMF relay strategy using RTP where voice or media is also being sent BUT encoded differently. The OOB DTMF relaying is INFO in SIP and H245signal/H245alphanumeric.
    This Article is correct.