Background
Recently, I have been able to work on Cisco’s IP Video Communications (IPVC) solution portfolio based on the Tandberg acquisition. Cisco is now referring to this collectively as Cisco’s TelePresence solution.
I have a few blogs in the works on this. Today I wanted to take a little time to discuss a recent issue a customer of ours encountered.
The Stage
For sake of discussion, consider the following playing field:
Our customer was running H.323 on the voice gateway and they used Cisco’s deployment guide for integrating the CUCM and VCS platforms. They provisioned a SIP trunk between the VCS and CUCM in accordance with Cisco’s Neighbor Zone approach.
The Problem
In this configuration, the customer was able to dial the auto attendant on their MCU and access meetings using DTMF from Cisco IP phones. However, the customer was not able to pass DTMF for PSTN callers.
The root cause came down to how DTMF relay was configured on the VoIP dial-peers. The dial-peers were configured to use “dtmf-relay h245-alphanumeric”. Since the SIP trunk to the VCS was configured for RFC 2833 support there was a conflict in DTMF relay methodology. In this specific use case, the CUCM tried to engage a media termination point (MTP) resource unsuccessfully and the DTMF failed to be relayed.
The Solution
VoIP dial-peers on H.323 gateways have several DTMF options. At a high-level:
- Use Cisco-proprietary RTP. DTMF tones sent “in-band” with the RTP channel as voice data.
- Using H.245 signaling or H.245 alphanumeric method. These methods separate DTMF digits from the voice stream and send them through the H.245 signaling channel instead of the media channel. All H.323 v2 compliant systems support “h245-alphanumeric”. The “h245-signal” method is optional.
- Use Named Telephone Events (NTEs). Using NTE provides a standard way to transport DTMF tones in RTP packets according to section 3 of RFC 2833.
So, using NTE made the most sense since it allows the H.323 gateway and the VCS SIP trunk to negotiate the DTMF relay method. A sample dial-peer:
dial-peer voice 100 voip description cucm01 destination-pattern 4445551212 voice-class codec 10 session target ipv4:10.10.10.10 dtmf-relay rtp-nte
After making this change, DTMF worked as desired.
thanks for this tutorial .i would like to know how to integrate codian GW with CUCM :so in this cas we can make videoconferencing sessions via ip phone with external participants.
Hello William,
Actually I am having a similiar problem in a different setup. I have registered a Codian MCU directly to CUCM. Also I have Cisco Unified Contact Center application to provide call center feature. I have defined Contact Center IVR number as an endpoint on the MCU. When I call to the conference on the MCU, the MCU dials the IVR number. But I can not send DTMF through the MCU to the IVR. What do you think is the problem.
I will appreciate it if you advice me how to solve the issue.
Best regards,
Tufan