Friday 14 August 2015

UCCX Editor Script Repository and Reactive Debugging Not Working

In UCCX 10.0 Cisco decided to change the way UCCX works so that hostnames not IP addresses are used for inter-server communication. The UCCX Editor was also changed to use hostnames, resulting in the odd situation where you can authenticate against the UCCX server by IP address, but browsing the script repository or using reactive debugging doesn't work. This is because the UCCX Editor will try to use the hostname of the UCCX servers, if the DNS A records don't exist or you're connected via a VPN without correct DNS configuration then the DNS resolution will fail & these features won't work. The error message provided is pretty vague on this, for example if you try to use reactive debugging it will get stuck with the message "Engine hostname list is empty. Check the ldap for enabled unified ccx engines".
The solution is to kludge it by editing your local hosts file to contain the hostname & FQDN of the UCCX server(s). On Windows edit the file C:\Windows\System32\drivers\etc\hosts, example entries below:

10.15.0.5      perry
10.15.0.5      perry.somewhere.com

Thursday 13 August 2015

7936 Phones and Problems With DTMF on SIP Trunks

The CUCM  SRND states that the best way to implement a SIP trunk is to set the DMTF Preference on the Trunk in CUCM to "No Preference" and use dtmf-relay sip-kpml rtp-nte on the dial-peers pointing to the CUCM server(s). This allows CUCM to decide which method to use, depending if a phone supports out of band (e.g. KPML, SIP notify, etc.) or RFC2833 & thus avoid invoking an MTP to handle DTMF inter-working unless unavoidable.
Unfortunately this doesn't work with the old 7936 conference phones, you'll get no DTMF in calls via the SIP trunk, bug reference CSCuc80321 explains in detail. In short the workaround is to use DTMF Preference "RFC2833" on the Trunk, but this will always invoke an MTP. This in turn can cause a problem if you're using G729, as the MTPs running on the CUCM server(s) as part of the IP Voice Media Streaming App service only support G711. You'll need a router to be able to provide an MTP that can handle G729, as the example configuration snippet shows:

dspfarm profile 1 mtp 
 codec g729r8
 codec g729ar8
 maximum sessions software 60
 associate application SCCP