cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
85505
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
Ayodeji Okanlawon
VIP Alumni
VIP Alumni

Great Job! I think you beat me to this..I was just working on a post like this..I might just add it to yours because mine includes detailed CUCM traces so as to help in troubleshooting..

I am not sure this point is correct. When the endpoint supports both OOB and RFC2833 and the sip trunk supports RFC 2833, then RFC 2833 will be used, not OOB to RFC 2833.

f 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

srajora
Level 1
Level 1

Crisp and to the point info regarding CUCM and DTMF interaction!

Thanks everyone. Glad to see your comments.. Its really motivating.

Regards

Lavanya

CSC -Technical community Manager

Roger Wiklund
Level 1
Level 1

Thanks, but I'm confused.

I cannot find a single mention of SIP INFO DTMF support in the SRND:http://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cucm/srnd/collab10/collab10.pdf

The only two listed OOB DTMF methods are KPML and Cisco proprietary Unsolicited NOTIFY.

This is supported by Callmanager logs aswell:

SIP DTMF Info: mLocalDtmfCaps...UNSOL=1, KPML=1, Inband=1(101)

I've managed to negotiate UNSOL so no MTP is allocated, and I can send SIP INFO with DTMF (CUCM answers with 200OK) but nothing happens. (*81 EFA code for hold)

Can you please clarify SIP INFO DTMF support?

Thanks!

Daniel Hoffman
Cisco Employee
Cisco Employee

Roger,

 

Per the Collaboration System 10 SRND, DTMF Transport over SIP Trunks:

Out-of-band (OOB) SIP DTMF signalling methods include Unsolicited Notify (UN), Information (INFO), and Key Press Mark-up Language (KPML). KPML (RFC 4730) is the OOB signalling method preferred by Cisco and is supported by Cisco Unified CM, Cisco IOS platforms (Release 12.4 and later), and most models of Cisco Unified IP Phones. INFO is not supported by Unified CM.

Roger Wiklund
Level 1
Level 1

Thanks

That explains it. So this article is wrong and should be updated to avoid confusion then.

One thing though, when I send INFO with DTMF to CUCM it accepts it with 200OK, if it's not supported should it not respond with 405 Method Not Allowed?

Chester Rieman
Cisco Employee
Cisco Employee

Don't use INFO

http://tools.ietf.org/html/draft-rosenberg-sip-info-harmful-00

Hi,

did you publish your document with the detailed CUCM traces ?

I'm reading this info and think......
My settings are correct.

In my trunk on the cucm I have no preference for dtmf and on the cube I use dtmf-relay rtp-nte as this is RFC 2833.

So when I use Jabber and call an external number with option menu it doesn't work
If I use redail on the 7942 sccp device the option menu doesn't workBut if i call the number on the 7942 the option menu work?

I have no clue where to look.

Mohit Grover
Level 1
Level 1

Hi Peter,

Collect the detailed CCM traces from CUCM for the working & non-working call.

Hi Mohit,

Thanks for the reply.

Did some more testing today.
Using jabber softphone works

Using jabber + 7925 phone works

Using 7925 phone works


Using manual dail on 7942 phone works.

redail on 7942 does not work.

Jabber + 7942 does not work.

All phones are in the same partion and CSS and use the same sip trunks.

So what is the difference making a manual call on a 7942 or press redail?

Firmware on the 7942 is SCCP42.9-4-2-1S.

regards Peter

It's working now by adding MTP on the trunk.....

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: