cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
87527
Views
55
Helpful
12
Comments

This blog is intended to help you understand the SIP DTMF Options supported by Cisco Unified Communications Manager (CUCM).

SIP DTMF options supported by CUCM:

DTMF can be sent either in band or out of band (OOB)

  • In Band transmission

       - RFC 2833 (RTP-NTE)

  • Out of Band transmission

       - KPML (RFC 4730)

       - SIP Notify (RFC 3265)

       - SIP Info (RFC 2976)

DTMF with MTP Involvement

  • If MTP not checked on SIP trunk, User side is OOB

If MTP is required due to Asymmetric DTMF relay support, MTP will be invoked by CCM and OOB input will be injected to RTP by CCM via SCCP.

  • If MTP is checked on SIP trunk, User side is OOB

MTP will be invoked by CCM and OOB input will be injected to RTP by CCM via SCCP.

  • If MTP is checked on SIP trunk, both sides are RFC 2833

MTP will be invoked by CCM and RFC2833 pass-through is required on MTP

  • If MTP is checked on SIP trunk, User Side is OOB and RFC 2833, SIP trunk side is RFC 2833

MTP will be invoked by CCM and OOB input will be injected to RTP by CCM via SCCP only when MTP does not support pass-through

Note: User side = phone registered to call manager placing an outbound call

SIP Trunk Early offer

Outbound Early Offer - MTP required checkbox needed for early offer before CUCM 8.5(1). 

CUCM 8.5 supports early offer (without requiring MTP) when the call gets initiated from one of the following devices:

  •     SIP phones
  •     SCCP phones with SCCP v20 support (which provides media port information through the getPort capability)
  •     MGCP gateways
  •     Incoming H323 fast start calls
  •     Incoming early offer SIP trunk calls

Note: For the endpoints where the media port information is not available (e.g. H323 slow start calls or delayed offer SIP calls or legacy SCCP phones), Cisco Unified Communications Manager still allocates an MTP in order to provide SDP in the initial INVITE.

SIP Trunk DTMF Options

No Preference: CUCM will pick the DTMF method to negotiate DTMF, so an MTP is not required for the call. If Cisco Unified Communications Manager has no choice but to allocate an MTP (if the Media Termination Point Required check box is checked), SIP trunk will negotiate DTMF to RFC2833.

RFC 2833: CUCM makes every effort to negotiate RFC2833 regardless of MTP usage. Will fallback to OOB if needed.

OOB and RFC 2833: If both out of band and RFC2833 should be used for DTMF.

RFC 2833

12/11/2011 09:53:17.399 CCM|//SIP/SIPUdp/wait_UdpDataInd: Incoming SIP UDP message size 1125 from 10.10.202.1:[58926]:

INVITE sip:5002@10.10.210.10:5060 SIP/2.0

Via: SIP/2.0/UDP 10.10.202.1:5060;branch=z9hG4bK1825C

Remote-Party-ID: <sip:3001@10.10.202.1>;party=calling;screen=no;privacy=off

From: <sip:3001@10.10.202.1>;tag=5567AC-10F9

To: <sip:5002@10.10.210.10>

Date: Sun, 11 Dec 2011 17:53:17 GMT

Call-ID: D6FB694A-235711E1-8082DD38-3AA6E2D2@10.10.202.1

Supported: 100rel,timer,resource-priority,replaces,sdp-anat

Min-SE:  1800

Cisco-Guid: 3600640543-592908769-2155732280-984015570

User-Agent: Cisco-SIPGateway/IOS-12.x

Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER

CSeq: 101 INVITE

Max-Forwards: 70

Timestamp: 1323625997

Contact: <sip:3001@10.10.202.1:5060>

Expires: 180

Allow-Events: telephone-event

Content-Type: application/sdp

Content-Disposition: session;handling=required

Content-Length: 267

v=0

o=CiscoSystemsSIP-GW-UserAgent 914 6925 IN IP4 10.10.202.1

s=SIP Call

c=IN IP4 10.10.202.1

t=0 0

m=audio 18010 RTP/AVP 0 101 19

c=IN IP4 10.10.202.1

a=rtpmap:0 PCMU/8000

a=rtpmap:101 telephone-event/8000

a=fmtp:101 0-16

a=rtpmap:19 CN/8000

a=ptime:20


•Supports RFC2833 rtpmap: 101  a=rtpmap:<payload type> <encoding name>/<clock rate>[/<encoding parameters>]

RFC-1.png

Key Press Markup Language (KPML)

  • KPML procedures use a SIP SUBSCRIBE message to register for DTMF digits. The digits themselves are delivered in NOTIFY messages containing an XML encoded body.
  • Out of Band DTMF
KPML

12/19/2011 11:28:56.437 CCM|//SIP/SIPUdp/wait_UdpDataInd: Incoming SIP UDP message size 852 from 14.48.20.15:[56433]:

SUBSCRIBE sip:7071@14.48.46.2:5060 SIP/2.0

Via: SIP/2.0/UDP 14.48.20.15:5060;branch=z9hG4bK3B9BB

From: <sip:2001@14.48.20.15>;tag=5B649D48-1331

To: <sip:7071@14.48.46.2>;tag=76443782-f2df-4954-81c7-811f18c00b73-25783280

Call-ID: 5FF97038-299511E1-8871E130-CC2C3FF8@14.48.20.15

CSeq: 102 SUBSCRIBE

Max-Forwards: 70

Date: Mon, 19 Dec 2011 16:28:56 GMT

User-Agent: Cisco-SIPGateway/IOS-12.x

Event: kpml

Expires: 7200

Contact: <sip:14.48.20.15:5060>

Content-Type: application/kpml-request+xml

Content-Length: 327

<?xml version="1.0" encoding="UTF-8"?><kpml-request xmlns="urn:ietf:params:xml:ns:kpml-request" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:kpml-request kpml-request.xsd" version="1.0"><pattern persist="persist"><regex tag="dtmf">[x*#ABCD]</regex></pattern></kpml-request>

12/19/2011 11:28:56.439 CCM|//SIP/SIPUdp/wait_SdlSPISignal: Outgoing SIP UDP message to 14.48.20.15:[5060]:

SIP/2.0 200 OK

Date: Mon, 19 Dec 2011 16:28:56 GMT

From: <sip:2001@14.48.20.15>;tag=5B649D48-1331

Content-Length: 0

To: <sip:7071@14.48.46.2>;tag=76443782-f2df-4954-81c7-811f18c00b73-25783280

Contact: <sip:14.48.46.2:5060>

Expires: 7200

Call-ID: 5FF97038-299511E1-8871E130-CC2C3FF8@14.48.20.15

Via: SIP/2.0/UDP 14.48.20.15:5060;branch=z9hG4bK3B9BB

CSeq: 102 SUBSCRIBE

12/19/2011 11:28:59.026 CCM|//SIP/SIPUdp/wait_UdpDataInd: Incoming SIP UDP message size 642 from 14.48.20.15:[56433]:

NOTIFY sip:14.48.46.2:5060 SIP/2.0

Via: SIP/2.0/UDP 14.48.20.15:5060;branch=z9hG4bK3D25F0

From: <sip:2001@14.48.20.15>;tag=5B649D48-1331

To: <sip:7071@14.48.46.2>;tag=76443782-f2df-4954-81c7-811f18c00b73-25783280

Call-ID: 5FF97038-299511E1-8871E130-CC2C3FF8@14.48.20.15

CSeq: 104 NOTIFY

Max-Forwards: 70

Date: Mon, 19 Dec 2011 16:28:59 GMT

User-Agent: Cisco-SIPGateway/IOS-12.x

Event: kpml

Subscription-State: active

Contact: <sip:14.48.20.15:5060>

Content-Type: application/kpml-response+xml

Content-Length: 113

<?xml version="1.0" encoding="UTF-8"?><kpml-response version="1.0" code="200" text="OK" digits="1" tag="dtmf"/>

Subscribe followed by 200 OK for the subscribe, then we will see NOTIFY messages with an XML body containing the digit pressed

SIP Notify / Unsolicited Notify

Unsolicited Notify procedures are used to transport DTMF digits using SIP NOTIFY messages. Unlike KPML, these NOTIFY messages are unsolicited, and there is no prior registration to receive these messages using a SIP SUBSCRIBE message. But like KPML, Unsolicited Notify messages are out-of-band.

Also unlike KPML, which has an XML encoded body, the message body in these NOTIFY messages is a 10-character encoded digit, volume, and duration, describing the DTMF event.

SIP Notify Advertisement

12/15/2011 09:49:55.885 CCM|//SIP/SIPUdp/wait_UdpDataInd: Incoming SIP UDP message size 1190 from 14.48.20.15:[50042]:

INVITE sip:7071@14.48.46.2:5060 SIP/2.0

Via: SIP/2.0/UDP 14.48.20.15:5060;branch=z9hG4bK212336

Remote-Party-ID: <sip:2001@14.48.20.15>;party=calling;screen=no;privacy=off

From: <sip:2001@14.48.20.15>;tag=46709670-256F

To: <sip:7071@14.48.46.2>

Date: Thu, 15 Dec 2011 14:49:55 GMT

Call-ID: E33AD68B-266211E1-885DE130-CC2C3FF8@14.48.20.15

Supported: 100rel,timer,resource-priority,replaces,sdp-anat

Min-SE:  1800

Cisco-Guid: 3780284024-643961313-2287526192-3425452024

User-Agent: Cisco-SIPGateway/IOS-12.x

Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER

CSeq: 101 INVITE

Max-Forwards: 70

Timestamp: 1323960595

Contact: <sip:2001@14.48.20.15:5060>

Call-Info: <sip:14.48.20.15:5060>;method="NOTIFY;Event=telephone-event;Duration=2000"     

Expires: 180

Allow-Events: telephone-event

Content-Type: application/sdp

Content-Disposition: session;handling=required

Content-Length: 245

SIP Notify Digit

To use SIP-Notify, the SIP Trunk Security Profile needs to accept unsolicited notification

SIP Notify Digit

12/15/2011 09:50:01.877 CCM|//SIP/SIPUdp/wait_UdpDataInd: Incoming SIP UDP message size 539 from 14.48.20.15:[50042]:

NOTIFY sip:7071@14.48.46.2:5060 SIP/2.0

Via: SIP/2.0/UDP 14.48.20.15:5060;branch=z9hG4bK251965

From: <sip:2001@14.48.20.15>;tag=46709670-256F

To: <sip:7071@14.48.46.2>;tag=76443782-f2df-4954-81c7-811f18c00b73-25783179

Call-ID: E33AD68B-266211E1-885DE130-CC2C3FF8@14.48.20.15

CSeq: 104 NOTIFY

Max-Forwards: 70

Date: Thu, 15 Dec 2011 14:50:01 GMT

User-Agent: Cisco-SIPGateway/IOS-12.x

Event: telephone-event

Subscription-State: active

Contact: <sip:14.48.20.15:5060>

Content-Type: audio/telephone-event

Content-Length: 4

12/15/2011 09:50:01.879 CCM|getUnsolNotifyContents: Unsol NOTIFY message body is 0x040001f4, len=4

12/15/2011 09:50:01.879 CCM|getUnsolNotifyContents: getUnsolNotifyContents: Parsed digit=4, duration=500, end flag=0, duplicateEvent=0

SIP INFO

CUCM and IOS gateways can receive SIP INFO (RFC 2976) messages for DTMF but cannot generate them (CSCse50733)

SIP INFO

INFO sip:2143302100@172.17.2.33 SIP/2.0

Via: SIP/2.0/UDP 172.80.2.100:5060

From: <sip:9724401003@172.80.2.100>;tag=43

To: <sip:2143302100@172.17.2.33>;tag=9753.0207

Call-ID: 984072_15401962@172.80.2.100

CSeq: 25634 INFO

Supported: 100rel

Supported: timer

Content-Length: 26

Content-Type: application/dtmf-relay

Signal= 1

Duration= 160

Hope this is helpful. Thanks.

12 Comments
Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: