Cisco Unified Border Element (SP Edition) Configuration Guide: Unified Model
Implementing Interworking DTMF

Table Of Contents

Implementing Interworking DTMF

Contents

Restrictions

Prerequisites—Implementing Interworking DTMF

Information About Interworking DTMF

DTMF Packet Generation

DTMF Packet Detection

Implementing Interworking DTMF

Configuring Default Duration of a DTMF Event

DTMF Relay Using SIP NOTIFY Messages

Configuring Default Duration of a SIP NOTIFY DTMF Relay Event

SIP NOTIFY Examples


Implementing Interworking DTMF


Cisco Unified Border Element (SP Edition) enables interworking between in-channel real-time transport protocol (RTP) signaling using the audio/telephone-event MIME type (RFC 2833) to and from out-of-band signaling using the SIP INFO or SIP NOTIFY method.

Cisco Unified Border Element (SP Edition) was formerly known as Integrated Session Border Controller and may be commonly referred to in this document as the session border controller (SBC).

For a complete description of commands used in this chapter, refer to the Cisco Unified Border Element (SP Edition) Command Reference: Unified Model at http://www.cisco.com/en/US/docs/ios/sbc/command/reference/sbcu_book.html.

For information about all Cisco IOS commands, use the Command Lookup Tool at http://tools.cisco.com/Support/CLILookup or a Cisco IOS master commands list.

Feature History for Implementing Interworking DTMF on Cisco Unified Border Element (SP Edition)

Release
Modification

Cisco IOS XE Release 2.1

Interworking DTMF was introduced on the Cisco ASR 1000 Series Aggregation Services Routers.

Cisco IOS XE Release 2.4

Introduced support for DTMF Relay Using SIP NOTIFY Messages on the unified model.


Contents

Restrictions

Prerequisites—Implementing Interworking DTMF

Information About Interworking DTMF

Implementing Interworking DTMF

DTMF Relay Using SIP NOTIFY Messages

Restrictions

The following are restrictions of the Implementing Interworking DTMF feature:

When the SBC inspects the accept header in the endpoint's messages, the absence of the accept header means "application/sdp" is supported.

The SBC does not support signaling and media DTMF interworking when transcoding is performed on the call.

When audio transcoding is in operation, the SBC does not support sending and receiving RFC 2833 in-band packets to and from the SBC and interworking RFC 2833 packets with out-of-band SIP INFO or SIP NOTIFY Relay messages on the other call leg.

The SBC does not support the scenario where a caller only supports sending RFC 2833 in-band packets to a callee that supports both RFC 2833 and out-of-band SIP INFO and SIP NOTIFY Relay. In this case, the DTMF digits received out-of-band on the callee side is not able to be translated into RFC 2833 packets on the caller side.

The SBC does not support configurable outbound RFC 2833 payload type for SIP to SIP calls when the inbound call side does not support RFC 2833.

Prerequisites—Implementing Interworking DTMF

The following prerequisites are required to implement interworking DTMF:

Before implementing interworking DTMF, Cisco Unified Border Element (SP Edition) must already be configured. See the procedures described in Chapter 2, "Configuring Cisco Unified Border Element (SP Edition)."

Information About Interworking DTMF

Cisco Unified Border Element (SP Edition) automatically selects the best signaling technique based on the capabilities of the endpoints in a call. Dual-tone multifrequency (DTMF) Interworking is employed:

If the caller and callee support non-overlapping DTMF event mechanisms (for example, if the caller supports sending DTMF using the SIP INFO method only and the callee supports receiving DTMF only using in-channel RTP signaling).

If the caller side supports in-channel RTP signaling and SIP NOTIFY, and the callee side supports SIP NOTIFY.

Cisco Unified Border Element (SP Edition) supports interworking between peers that only support DTMF in the media stream and peers that only support DTMF in SIP INFO and SIP NOTIFY methods. It also supports passing DTMF through in either mode, if both sides support the mode.

Cisco Unified Border Element (SP Edition) detects whether an endpoint supports sending DTMF tones in SIP INFO messages and SIP NOTIFY messages by inspecting the accept header in the endpoint's messages. See Figure 4-1 for a sample call flow.

If the accept header lists application/dtmf-relay (SIP INFO), then the endpoint supports it.

An INFO or NOTIFY message is expected to carry a single DTMF tone, with an optional duration. If no duration is specified, then the default is 250ms for an INFO message and 200ms for a NOTIFY message.

DTMF interworking for RFC 2833 in-band packets when transcoding is not in operation is supported.

In the case of interworking of DTMF relay using Network Terminating Equipment (NTE) (RFC 2833) and out-of-band DTMF using SIP INFO or SIP NOTIFY, Cisco Unified Border Element (SP Edition) detects NTE packets with DTMF digits and punts them to the Route Processor (RP) for processing. In the reverse direction, the RP instructs the Cisco Unified Border Element (SP Edition) to insert NTE DTMF packets in an RTP stream. In order to do this, Cisco Unified Border Element (SP Edition) modifies the RTP headers to insert proper SSRC values, timestamps and sequence numbers. This special processing needs to be done only on flows that require the interworking. Such flows are going to be marked during the call-setup.

DTMF Packet Generation

When the NTE packets are to be inserted in the middle of a stream that is already sending RTP voice packets, then the NTE packets will replace the RTP voice packets in a one-to-one manner so that subsequent voice packets will not need to update their RTP sequence numbers.

DTMF Packet Detection

To detect DTMF NTE packets, Cisco Unified Border Element (SP Edition) looks at the payload type of every RTP packet and compares it with that of NTE. In case of a match, Cisco Unified Border Element (SP Edition) looks at the event number to determine that it is a DTMF digit. Cisco Unified Border Element (SP Edition) then copies these packets to the RP.

Figure 4-1 Sample Call Flow with DTMF interworking

Implementing Interworking DTMF

The following section describes how to configure the default duration of a DTMF event.

Note that Cisco Unified Border Element (SP Edition) may require you to configure header Allow, header Accept, and method INFO as shown below:

sbc test 
 sbe 
  sip header-profile default 
   header Allow 
   header Accept 
   sip method-profile default 
   method INFO 

Configuring Default Duration of a DTMF Event

This task configures the default duration of a DTMF event.

SUMMARY STEPS

1. configure

2. sbc sbc-name

3. sbe

4. vdbe

5. dtmf-duration duration

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

configure

Example:

Router# configure

Enables global configuration mode.

Step 2 

sbc sbc-name

Example:

Router(config)# sbc mysbc dbe

Creates the SBC service on the SBC called "mysbc" and enters into SBC configuration mode

Use the sbc-name argument to define the name of the service.

Step 3 

sbe

Example:

Router(config-sbc)# sbe

Enters the mode of the signaling border element (SBE) function of the SBC.

Step 4 

vdbe

Example:

Router(config-sbc-sbe)# vdbe

Enters the mode of an vDBE entity within an SBC service.

Step 5 

dtmf-duration duration

Example:

Router(config-sbc-vdbe)# dtmf-duration 300

Configures the default duration of a DTMF event in milliseconds.

DTMF Relay Using SIP NOTIFY Messages

In Cisco IOS XE Release 2.4, Cisco Unified Border Element (SP Edition) adds support for DTMF Relay Using SIP NOTIFY Messages. This is an out-of-band procedure for DTMF relay and is sometimes referred to as NOTIFY-based DTMF Relay.

DTMF tones are the tones that are generated when a telephone key is pressed on a touchtone phone. Sometimes the called endpoint needs to hear those tones, such as when you enter digits during the call in response to a menu. However, low-bandwidth codecs can distort the sound. DTMF relay allows that tone information to be reliably passed from one endpoint to the other. By default, SIP uses in-band signaling, sending the DTMF information in the voice stream. If no DTMF relay method is configured, the tones are sent in-band. However, you can configure DTMF relay to use SIP NOTIFY messages for transmitting DTMF tone information.

Cisco Unified Border Element (SP Edition) supports two out-of-band procedures for DTMF relay. One uses SIP INFO methods, and the other uses SIP NOTIFY methods. The SIP INFO method sends DTMF digits in INFO messages. It is always enabled. When a gateway receives an INFO message containing DTMF relay information, it sends the corresponding tone.

SIP NOTIFY DTMF relay is negotiated by including a Call-Info field in the SIP INVITE and response messages, on a per-adjacency basis. This field indicates an ability to use NOTIFY for DTMF tones and the duration of each tone in milliseconds. When a DTMF tone is generated, the caller sends a NOTIFY message to the callee. When the callee receives the NOTIFY, it responds with SIP 200 OK and plays the DTMF tone.


Note For Cisco IOS XE Release 2.4 and later, this feature is supported in the unified model only.


You can configure a preferred SIP signaling DTMF transport method for endpoints on an adjacency. If Cisco Unified Border Element (SP Edition) has received DTMF information on a call and is sending it to an endpoint on the adjacency, then Cisco Unified Border Element (SP Edition) uses a preferred DTMF method to send the information onwards, provided the endpoint supports this method. You can set one of the following DTMF relay methods as the preferred method:

SIP NOTIFY DTMF Relay (default value)

SIP INFO DTMF Relay

Use the dtmf prefer sip [ info | notify ] command to configure the preferred relay method.

The default on the Cisco Unified Border Element (SP Edition) is the SIP-NOTIFY relay method. However, Cisco Unified Border Element (SP Edition) uses the RTP-NTE in-band DTMF relay method if the other side does not support SIP-NOTIFY. If no DTMF relay method is configured, the tones are sent in-band.

When SIP NOTIFY relay is enabled on an adjacency, then:

The SBC accepts in-call, out-of-subscription NOTIFY messages with a DTMF Payload. These messages are not required to contain a Subscription-State header.

The SBC accepts a Call-Info header in an INVITE message specifying a telephone-event that indicates support for SIP NOTIFY DTMF Relay.

Configure the NOTIFY interval. You need to configure the maximum interval in milliseconds that the SBC waits between NOTIFY messages for a single DTMF event.

In this case, the SBC has not received an inbound Call-Info header specifying the negotiated duration, so this value is used instead.

Use the dtmf sip notify interval command.

You can also configure a default duration. This specifies the duration in milliseconds that the SBC advertises on the outbound DTMF transport method if the inbound side of the call does not supply a duration.

Use the dtmf sip default duration command.

Configuring Default Duration of a SIP NOTIFY DTMF Relay Event

This task configures parameters for a SIP NOTIFY DTMF Relay:

SUMMARY STEPS

1. configure terminal

2. sbc sbc-name

3. sbe

4. adjacency sip adjacency-name

5. dtmf prefer sip {info | notify}

6. dtmf sip notify interval int_ms

7. dtmf sip default duration dur_ms

8. end

9. show sbc sbc-name sbe adjacencies adjacency-name detail

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

configure terminal

Example:

Router# configure terminal

Enables global configuration mode.

Step 2 

sbc sbc-name

Example:
Router(config)# sbc mySBC 

Creates the SBC service on the SBC and enters into SBC configuration mode.

Step 3 

sbe

Example:

Router(config-sbc)# sbe

Enters the mode of the signaling border element (SBE) function of the SBC.

Step 4 

adjacency sip adjacency-name

Example:

Router(config-sbc-sbe)# adjacency sip

SoftSwitch

Configures an adjacency on the SBC and enters the mode of an SBE SIP adjacency.

Use the adjacency-name argument to define the name of the service.

Step 5 

dtmf prefer sip {info | notify}

Example:

Router(config-sbc-sbe-adj)# dtmf prefer sip notify

(Optional) Configure SIP NOTIFY DTMF relay as the preferred DTMF transport method for endpoints on this adjacency. This is optional because SIP NOTIFY is the default on the SBC.

Step 6 

dtmf sip notify interval int_ms

Example:

Router(config-sbc-sbe-adj)# dtmf sip notify 1000

(Optional) Configures the maximum interval in milliseconds that the SBC waits between NOTIFY messages for a single DTMF event.

int_ms is the duration in milliseconds (ms). The range is 1 to 100,000 ms. The default is 2000 ms.

Step 7 

dtmf sip default duration dur_ms

Example:

Router(config-sbc-sbe-adj)# dtmf sip default duration 300

(Optional) Specifies the duration in milliseconds that the SBC advertises on the outbound DTMF transport method if the inbound side of the call does not supply a duration.

dur_ms is the duration in milliseconds (ms). The range is 1 to 180,000 ms. The default is 200 ms.

Step 8 

end

Example:

Router(config-sbc-sbe-adj)# end

Exits sip adjacency configuration mode and returns to Privileged EXEC mode.

Step 9 

show sbc sbc-name sbe adjacencies adjacency-name detail

Example:

Router# show sbc mySBC sbe adjacencies SoftSwitch detail

Display all the fields in the specified SIP adjacency, including that SIP NOTIFY relay is enabled, the interval and default duration in milliseconds.

SIP NOTIFY Examples

The following example disables SIP NOTIFY relay for adjacency ADJ2 and configures SIP INFO as the preferred DTMF Relay method:

configure terminal
 sbc mySbc 
  sbe 
   adj sip ADJ2
    dtmf disable sip notify 
    dtmf prefer sip info
    dtmf sip default duration 330

The following example displays all the fields in the SoftSwitch SIP adjacency, showing that the SIP NOTIFY relay method is enabled, and the interval and default duration in milliseconds:

router# show sbc mySBC sbe adjacencies SoftSwitch detail
SBC Service "mySBC"
  Adjacency SoftSwitch (SIP)
    Status:                    Attached
    Signaling address:         100.100.100.100:5060, VRF Admin
    Signaling-peer:            10.10.51.10:5060
    Force next hop:            No
    Account:               
    Group:                     None
    In header profile:         Default
    Out header profile:        Default
    In method profile:         Default
    Out method profile:        Default
    In UA option prof:         Default
    Out UA option prof:        Default
    In proxy opt prof:         Default
    Out proxy opt prof:        Default
    Priority set name:         None
    Local-id:                  None
    Rewrite REGISTER:          Off
    Target address:            None
    Register Aggregate:        Disabled
    NAT Status:                Auto Detect
    Reg-min-expiry:            30 seconds
    Fast-register:             Enabled
    Fast-register-int:         30 seconds
    Authenticated mode:        None
    Authenticated realm:       None
    Auth. nonce life time:     300 seconds
    IMS visited NetID:         None
    Inherit profile:           Default
    Force next hop:            No
    Home network Id:           None
    UnEncrypt key data:        None
    SIPI passthrough:          No
    Rewrite from domain:       Yes
    Rewrite to header:         Yes
    Media passthrough:         No
    Preferred transport:       UDP
    Hunting Triggers:          Global Triggers
    Redirect mode:             Pass-through
    Security:                  Untrusted
    Outbound-flood-rate:       None
    Ping-enabled:              No
    Signaling Peer Status:     Not Tested
    DTMF SIP NOTIFY Relay:     Enabled
    DTMF SIP NOTIFY Interval:  1000 ms
    DTMF SIP default duration: 300 ms
    DTMF Preferred Method:     SIP NOTIFY