Table Of Contents
DTMF Events through SIP Signaling
Configuring DTMF Events through SIP Signaling
DTMF Events through SIP Signaling
The DTMF Events through SIP Signaling feature provides the following:
•DTMF event notification for SIP messages.
•Capability of receiving hookflash event notification through the SIP NOTIFY method.
•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
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
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 notify number
5. retry notify number
6. exit
DETAILED STEPSVerifying 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-notify command is configured in dial peer 123:
Router# show running-config...dial-peer voice 123 voipdestination-pattern [12]...monitor probe icmp-pingsession protocol sipv2session target ipv4:10.8.17.42dtmf-relay sip-notifyThe following sample output shows that DTMF relay and NTE are configured on the dial peer.
Router# show running-config!dial-peer voice 1000 potsdestination-pattern 4961234port 1/0/0!dial-peer voice 2000 voipapplication sessiondestination-pattern 4965678session protocol sipv2session target ipv4:192.0.2.34dtmf-relay rtp-nte! RTP payload type value = 101 (default)!dial-peer voice 3000 voipapplication sessiondestination-pattern 2021010101session protocol sipv2session target ipv4:192.0.2.34dtmf-relay rtp-ntertp 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 retrySIP UA Retry Valuesinvite retry count = 6 response retry count = 1bye retry count = 1 cancel retry count = 1prack retry count = 10 comet retry count = 10reliable 1xx count = 6 notify retry count = 10Step 3 show sip-ua statistics
Use this command to display response, traffic, and retry SIP statistics.
Tip To reset counters for the show sip-ua statistics display, use the clear sip-ua statistics command.
Router# show sip-ua statisticsSIP Response Statistics (Inbound/Outbound)Informational:Trying 4/2, Ringing 2/1,Forwarded 0/0, Queued 0/0,SessionProgress 0/0Success:OkInvite 1/2, OkBye 0/1,OkCancel 1/0, OkOptions 0/0,OkPrack 2/0, OkPreconditionMet 0/0,OkNotify 1/0, 202Accepted 0/1Redirection (Inbound only):MultipleChoice 0, MovedPermanently 0,MovedTemporarily 0, SeeOther 0,UseProxy 0, AlternateService 0Client 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/0RequestCancel 1/0, NotAcceptableMedia 0/0Server Error:InternalError 0/1, NotImplemented 0/0,BadGateway 0/0, ServiceUnavail 0/0,GatewayTimeout 0/0, BadSipVer 0/0,PreCondFailure 0/0Global Failure:BusyEverywhere 0/0, Decline 0/0,NotExistAnywhere 0/0, NotAcceptable 0/0SIP Total Traffic Statistics (Inbound/Outbound) /* Traffic StatisticsInvite 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/0Retry Statistics /* Retry StatisticsInvite 0, Bye 0, Cancel 0, Response 0,Prack 0, Comet 0, Reliable1xx 0, Notify 0Following is sample output verifying configuration of the SIP INFO Method for DTMF Tone Generation feature:
Router# show sip-ua statisticsSIP Response Statistics (Inbound/Outbound)Informational:Trying 1/1, Ringing 0/0,Forwarded 0/0, Queued 0/0,SessionProgress 0/1Success:OkInvite 0/1, OkBye 1/0,OkCancel 0/0, OkOptions 0/0,OkPrack 0/0, OkPreconditionMet 0/0OkSubscibe 0/0, OkNotify 0/0,
OkInfo 0/0, 202Accepted 0/0Redirection (Inbound only):MultipleChoice 0, MovedPermanently 0,MovedTemporarily 0, SeeOther 0,UseProxy 0, AlternateService 0Client 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/0Server Error:InternalError 0/0, NotImplemented 0/0,BadGateway 0/0, ServiceUnavail 0/0,GatewayTimeout 0/0, BadSipVer 0/0Global Failure:BusyEverywhere 0/0, Decline 0/0,NotExistAnywhere 0/0, NotAcceptable 0/0SIP 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/0Retry StatisticsInvite 0, Bye 0, Cancel 0, Response 0, Notify 0Step 4 show sip-ua status
Use this command to display status for the SIP user agent.
Router# show sip-ua statusSIP User Agent StatusSIP User Agent for UDP : ENABLEDSIP User Agent for TCP : ENABLEDSIP User Agent bind status(signaling): DISABLEDSIP User Agent bind status(media): DISABLEDSIP max-forwards : 6SIP DNS SRV version: 2 (rfc 2782)SDP application configuration:Version line (v=) requiredOwner line (o=) requiredSession name line (s=) requiredTimespec line (t=) requiredMedia supported: audio imageNetwork types supported: INAddress types supported: IP4Transport types supported: RTP/AVP udptlThe 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 statusSIP User Agent StatusSIP User Agent for UDP : ENABLEDSIP User Agent for TCP : ENABLEDSIP User Agent bind status(signaling): DISABLEDSIP User Agent bind status(media): DISABLEDSIP early-media for 180 responses with SDP: ENABLEDSIP max-forwards : 6SIP DNS SRV version: 2 (rfc 2782)NAT Settings for the SIP-UARole in SDP: NONECheck media source packets: DISABLEDMaximum duration for a telephone-event in NOTIFYs: 2000 msSIP support for ISDN SUSPEND/RESUME: ENABLEDRedirection (3xx) message handling: ENABLEDSDP application configuration:Version line (v=) requiredOwner line (o=) requiredTimespec line (t=) requiredMedia supported: audio imageNetwork types supported: INAddress types supported: IP4Transport types supported: RTP/AVP udptlThe following sample output shows configuration of the SIP INFO Method for DTMF Tone Generation feature:
Router# show sip-ua statusSIP User Agent StatusSIP User Agent for UDP : ENABLEDSIP User Agent for TCP : ENABLEDSIP User Agent bind status(signaling): DISABLEDSIP User Agent bind status(media): DISABLEDSIP max-forwards : 6SIP DNS SRV version: 2 (rfc 2782)SDP application configuration:Version line (v=) requiredOwner line (o=) requiredSession name line (s=) requiredTimespec line (t=) requiredMedia supported: audio imageNetwork types supported: INAddress types supported: IP4Transport types supported: RTP/AVP udptlStep 5 show sip-ua timers
Use this command to display the current settings for SIP user-agent timers.
Router# show sip-ua timersSIP UA Timer Values (millisecs)trying 500, expires 300000, connect 500, disconnect 500comet 500, prack 500, rel1xx 500, notify 500Step 6 show voip rtp connections
Use this command to show local and remote Calling ID and IP address and port information.
Step 7 show sip-ua calls
Use this command to ensure the DTMF method is SIP-KPML.
The following sample output shows that the DTMF method is SIP-KPML.
router# show sip-ua callsSIP UAC CALL INFOCall 1SIP Call ID : 57633F68-2BE011D6-8013D46B-B4F9B5F6@172.18.193.251State of the call : STATE_ACTIVE (7)Substate of the call : SUBSTATE_NONE (0)Calling Number :Called Number : 8888Bit Flags : 0xD44018 0x100 0x0CC Call ID : 6Source IP Address (Sig ): 192.0.2.1Destn SIP Req Addr:Port : 192.0.2.2:5060Destn SIP Resp Addr:Port: 192.0.2.3:5060Destination Name : 192.0.2.4.250Number of Media Streams : 1Number of Active Streams: 1RTP Fork Object : 0x0Media Mode : flow-throughMedia Stream 1State of the stream : STREAM_ACTIVEStream Call ID : 6Stream Type : voice-only (0)Negotiated Codec : g711ulaw (160 bytes)Codec Payload Type : 0Negotiated Dtmf-relay : sip-kpmlDtmf-relay Payload Type : 0Media Source IP Addr:Port: 192.0.2.5:17576Media Dest IP Addr:Port : 192.0.2.6:17468Orig Media Dest IP Addr:Port : 0.0.0.0:0Number of SIP User Agent Client(UAC) calls: 1SIP UAS CALL INFONumber of SIP User Agent Server(UAS) calls: 0
Troubleshooting Tips
•To enable debugging for RTP named-event packets, use the debug voip rtp command.
•To enable KPML debugs, use the debug kpml command.
•To enable SIP debugs, use the debug ccsip command.
•Collect debugs while the call is being established and during digit presses.
•If an established call is not sending digits through KPML, use the show sip-ua calls command to ensure SIP-KPML is included in the negotiation process.