DTMF Events through SIP Signaling

•Third-party call control, or other signaling mechanisms, to provide enhanced services, such as calling card and messaging services.

•Communication with the application outside of the media connection.

The DTMF Events through SIP Signaling feature allows telephone event notifications to be sent through SIP NOTIFY messages, using the SIP SUBSCRIBE/NOTIFY method as defined in the Internet Engineering Task Force (IETF) draft, SIP-Specific Event Notification.

The feature also supports sending DTMF notifications based on the IETF draft: Signaled Telephony Events in the Session Initiation Protocol (SIP) (draft-mahy-sip-signaled-digits-01.txt).

Prerequisites for DTMF Events through SIP Signaling

Cisco Unified Border Element

•Cisco IOS Release 12.2(11)T or a later release must be installed and running on your Cisco Unified Border Element.

Cisco Unified Border Element (Enterprise)

•Cisco IOS XE Release 2.5 or a later release must be installed and running on your Cisco ASR 1000 Series Router.

Restrictions for DTMF Events through SIP Signaling

The DTMF Events through SIP Signaling feature adds support for sending telephone-event notifications via SIP NOTIFY messages from a SIP gateway. The events for which notifications are sent out are DTMF events from the local Plain Old Telephone Service (POTS) interface on the gateway. Notifications are not sent for DTMF events received in the Real-Time Transport Protocol (RTP) stream from the recipient user agent.

Configuring DTMF Events through SIP Signaling

To configure the DTMF Events through SIP Signaling feature, perform the following steps.

SUMMARY STEPS

1. enable

2. configure terminal

3. sip-ua

4. timers notifynumber

5. retry notify number

6. exit

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Router> enable

Enters privileged EXEC mode or any other security level set by a system administrator.

•Enter your password if prompted.

Step 2

configureterminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3

sip-ua

Example:

Router(config)# sip-ua

Enters SIP user-agent configuration mode.

Step 4

timers notifynumber

Example:

Router(config-sip-ua)# timers notify 100

Sets the amount of time that the user agent waits before retransmitting the Notify message. The argument is as follows:

•number—Time, in milliseconds, to wait before retransmitting. Range: 100 to 1000. Default: 500.

Step 5

retry notifynumber

Example:

Router(config-sip-ua)# retry notify 6

Sets the number of times that the Notify message is retransmitted to the user agent that initiated the transfer or Refer request. The argument is as follows:

•number—Number of retries. Range: 1 to 10. Default: 10.

Step 6

exit

Example:

Router(config-sip-ua)# exit

Exits the current mode.

Verifying SIP DTMF Support

To verify SIP DTMF support, perform the following steps as appropriate (commands are listed in alphabetical order).

SUMMARY STEPS

1. show running-config

2. show sip-ua retry

3. show sip-ua statistics

4. show sip-ua status

5. show sip-ua timers

6. show voip rtp connections

7. show sip-ua calls

DETAILED STEPS

Step 1 show running-config

Use this command to show dial-peer configurations.

The following sample output shows that the dtmf-relay sip-notifycommand is configured in dial peer 123:

Router# show running-config

.

.

.

dial-peer voice 123 voip

destination-pattern [12]...

monitor probe icmp-ping

session protocol sipv2

session target ipv4:10.8.17.42

dtmf-relay sip-notify

The following sample output shows that DTMF relay and NTE are configured on the dial peer.

Router# show running-config

!

dial-peer voice 1000 pots

destination-pattern 4961234

port 1/0/0

!

dial-peer voice 2000 voip

application session

destination-pattern 4965678

session protocol sipv2

session target ipv4:192.0.2.34

dtmf-relay rtp-nte

! RTP payload type value = 101 (default)

!

dial-peer voice 3000 voip

application session

destination-pattern 2021010101

session protocol sipv2

session target ipv4:192.0.2.34

dtmf-relay rtp-nte

rtp payload-type nte 110

! RTP payload type value = 110 (user assigned)

!

Step 2 show sip-ua retry

Use this command to display SIP retry statistics.

Router# show sip-ua retry

SIP UA Retry Values

invite retry count = 6 response retry count = 1

bye retry count = 1 cancel retry count = 1

prack retry count = 10 comet retry count = 10

reliable 1xx count = 6 notify retry count = 10

Step 3 show sip-ua statistics

Use this command to display response, traffic, and retry SIP statistics.

Tip To reset counters for the showsip-ua statistics display, use the clear sip-ua statisticscommand.

Router# show sip-ua statistics

SIP Response Statistics (Inbound/Outbound)

Informational:

Trying 4/2, Ringing 2/1,

Forwarded 0/0, Queued 0/0,

SessionProgress 0/0

Success:

OkInvite 1/2, OkBye 0/1,

OkCancel 1/0, OkOptions 0/0,

OkPrack 2/0, OkPreconditionMet 0/0,

OkNotify 1/0, 202Accepted 0/1

Redirection (Inbound only):

MultipleChoice 0, MovedPermanently 0,

MovedTemporarily 0, SeeOther 0,

UseProxy 0, AlternateService 0

Client Error:

BadRequest 0/0, Unauthorized 0/0,

PaymentRequired 0/0, Forbidden 0/0,

NotFound 0/0, MethodNotAllowed 0/0,

NotAcceptable 0/0, ProxyAuthReqd 0/0,

ReqTimeout 0/0, Conflict 0/0, Gone 0/0,

LengthRequired 0/0, ReqEntityTooLarge 0/0,

ReqURITooLarge 0/0, UnsupportedMediaType 0/0,

BadExtension 0/0, TempNotAvailable 0/0,

CallLegNonExistent 0/0, LoopDetected 0/0,

TooManyHops 0/0, AddrIncomplete 0/0,

Ambiguous 0/0, BusyHere 0/0

RequestCancel 1/0, NotAcceptableMedia 0/0

Server Error:

InternalError 0/1, NotImplemented 0/0,

BadGateway 0/0, ServiceUnavail 0/0,

GatewayTimeout 0/0, BadSipVer 0/0,

PreCondFailure 0/0

Global Failure:

BusyEverywhere 0/0, Decline 0/0,

NotExistAnywhere 0/0, NotAcceptable 0/0

SIP Total Traffic Statistics (Inbound/Outbound) /* Traffic Statistics

Invite 3/2, Ack 3/2, Bye 1/0,

Cancel 0/1, Options 0/0,

Prack 0/2, Comet 0/0,

Notify 0/1, Refer 1/0

Retry Statistics /* Retry Statistics

Invite 0, Bye 0, Cancel 0, Response 0,

Prack 0, Comet 0, Reliable1xx 0, Notify 0

Following is sample output verifying configuration of the SIP INFO Method for DTMF Tone Generation feature:

Router# show sip-ua statistics

SIP Response Statistics (Inbound/Outbound)

Informational:

Trying 1/1, Ringing 0/0,

Forwarded 0/0, Queued 0/0,

SessionProgress 0/1

Success:

OkInvite 0/1, OkBye 1/0,

OkCancel 0/0, OkOptions 0/0,

OkPrack 0/0, OkPreconditionMet 0/0

OkSubscibe 0/0,OkNotify 0/0,

OkInfo 0/0, 202Accepted 0/0

Redirection (Inbound only):

MultipleChoice 0, MovedPermanently 0,

MovedTemporarily 0, SeeOther 0,

UseProxy 0, AlternateService 0

Client Error:

BadRequest 0/0, Unauthorized 0/0,

PaymentRequired 0/0, Forbidden 0/0,

NotFound 0/0, MethodNotAllowed 0/0,

NotAcceptable 0/0, ProxyAuthReqd 0/0,

ReqTimeout 0/0, Conflict 0/0, Gone 0/0,

LengthRequired 0/0, ReqEntityTooLarge 0/0,

ReqURITooLarge 0/0, UnsupportedMediaType 0/0,

BadExtension 0/0, TempNotAvailable 0/0,

CallLegNonExistent 0/0, LoopDetected 0/0,

TooManyHops 0/0, AddrIncomplete 0/0,

Ambiguous 0/0, BusyHere 0/0,

BadEvent 0/0

Server Error:

InternalError 0/0, NotImplemented 0/0,

BadGateway 0/0, ServiceUnavail 0/0,

GatewayTimeout 0/0, BadSipVer 0/0

Global Failure:

BusyEverywhere 0/0, Decline 0/0,

NotExistAnywhere 0/0, NotAcceptable 0/0

SIP Total Traffic Statistics (Inbound/Outbound)

Invite 0/0, Ack 0/0, Bye 0/0,

Cancel 0/0, Options 0/0,

Prack 0/0, Comet 0/0,

Subscribe 0/0, Notify 0/0,

Refer 0/0, Info 0/0

Retry Statistics

Invite 0, Bye 0, Cancel 0, Response 0, Notify 0

Step 4 show sip-ua status

Use this command to display status for the SIP user agent.

Router# show sip-ua status

SIP User Agent Status

SIP User Agent for UDP : ENABLED

SIP User Agent for TCP : ENABLED

SIP User Agent bind status(signaling): DISABLED

SIP User Agent bind status(media): DISABLED

SIP max-forwards : 6

SIP DNS SRV version: 2 (rfc 2782)

SDP application configuration:

Version line (v=) required

Owner line (o=) required

Session name line (s=) required

Timespec line (t=) required

Media supported: audio image

Network types supported: IN

Address types supported: IP4

Transport types supported: RTP/AVP udptl

The following sample output shows that the time interval between consecutive NOTIFY messages for a telephone event is the default of 2000 ms:

Router# show sip-ua status

SIP User Agent Status

SIP User Agent for UDP : ENABLED

SIP User Agent for TCP : ENABLED

SIP User Agent bind status(signaling): DISABLED

SIP User Agent bind status(media): DISABLED

SIP early-media for 180 responses with SDP: ENABLED

SIP max-forwards : 6

SIP DNS SRV version: 2 (rfc 2782)

NAT Settings for the SIP-UA

Role in SDP: NONE

Check media source packets: DISABLED

Maximum duration for a telephone-event in NOTIFYs: 2000 ms

SIP support for ISDN SUSPEND/RESUME: ENABLED

Redirection (3xx) message handling: ENABLED

SDP application configuration:

Version line (v=) required

Owner line (o=) required

Timespec line (t=) required

Media supported: audio image

Network types supported: IN

Address types supported: IP4

Transport types supported: RTP/AVP udptl

The following sample output shows configuration of the SIP INFO Method for DTMF Tone Generation feature:

Router# show sip-ua status

SIP User Agent Status

SIP User Agent for UDP : ENABLED

SIP User Agent for TCP : ENABLED

SIP User Agent bind status(signaling): DISABLED

SIP User Agent bind status(media): DISABLED

SIP max-forwards : 6

SIP DNS SRV version: 2 (rfc 2782)

SDP application configuration:

Version line (v=) required

Owner line (o=) required

Session name line (s=) required

Timespec line (t=) required

Media supported: audio image

Network types supported: IN

Address types supported: IP4

Transport types supported: RTP/AVP udptl

Step 5 show sip-ua timers

Use this command to display the current settings for SIP user-agent timers.

Router# show sip-ua timers

SIP UA Timer Values (millisecs)

trying 500, expires 300000, connect 500, disconnect 500

comet 500, prack 500, rel1xx 500, notify 500

Step 6 show voip rtp connections

Use this command to show local and remote Calling ID and IP address and port information.