Friday, 21 March 2014

Attendant Console Installation Problems

Installing the Attendant Console usually involves me tripping over one or more of the following problems...

Remote Desktop
The Cisco TAPI driver installation fails to work properly if you're using remote desktop to connect to the AC server. Use VNC, physical or  VM console access to do the installation.

TAPI Driver Configuration Failure
Sometimes despite using VNC or physical access to do the installation, the Cisco TAPI driver fails to be configured correctly. If you open the Control Panel "Phone and Modem" applet & select the Advanced tab there should be "CiscoTSP001.tsp" or similarly named present in the list of Providers. If it's not present you need to click Add & select it from the list, if it's not in this list manually install the Cisco TAPI driver. If you select "CiscoTSP001.tsp", click Configure & none of the settings inputted during the Attendant Console installation are actually present, you'll need to enter them again into the various tabs. If the Timer Settings on the Advanced tab are absent, then use the following:

TimerValue
Synchronous Message Timeout15 seconds
Requested Heartbeat Interval30 seconds
Connect Retry Interval30 seconds
Provider Open Completed Timeout50 seconds

Error -206 When Synchronising to Cisco Unified Communications Manager
The device synchronisation will fail with the following error message:

Error Code: -206
Error Description: The specified table (owneruserid) is not in the database.

This error occurs if your template device has a Subscribe CSS configured, the Cisco AC troubleshooting guide says "To prevent this error, edit the Phone Template Configuration to include an Owner User ID under the Device Information. We recommend that you use the Application User ID allocated for Cisco Unified Attendant Console Advanced for the Owner User ID". However this is incorrect as it isn't possible to assign an Application User as the owner of a phone, therefore the solution is either to have no Subscribe CSS configured or assign an End User (not Anonymous).

CTI Devices Not Registering
If everything looks OK (e.g. application user group membership & device association) but the CTI devices refuse to register, first make sure the Common Device Profile they're using has only IPv4 enabled. Currently enabling IPv6 prevents the AC from controlling the CTI devices.
Sometimes it's also necessary to un-install & then re-install the TAPI driver, you can download the correct version from CUCM under Application > Plugins > Cisco TAPI Driver. See the previous note about TAPI driver configuration.

For any other issues refer to the latest CUAC Advanced Troubleshooting Guide.

Tuesday, 25 February 2014

Jabber for Windows/Mac With Telephone Number as Username

Jabber for Windows & Mac assumes that the sAMAccountName & userPrincipalName in Active Directory provide the correct username. However if in CUCM you're using the telephoneNumber or ipPhone field as the username (which I've seen many times!) Jabber won't work properly. When you view a contact in Jabber the IM address will show the incorrect username, for example dave@example.com instead of 4321@example.com.
In the days of CUPC you could edit the LDAP attribute mappings in the CUPS GUI, but for Jabber you have to create an XML file to configure the attribute mappings. Assuming you're using the telephoneNumber field as the username, create a file in UTF-8 encoded text file named jabber-config.xml containing the following:

<?xml version="1.0" encoding="utf-8"?>
<config version="1.0">
 <Directory>
   <UserAccountName>telephoneNumber</UserAccountName>
   <DomainName>telephoneNumber</DomainName>
 </Directory>
</config>


Upload this file to all your TFTP servers & restart the TFTP service on them. Now when Jabber loads it will download this file & assign the correct LDAP attribute mappings.
There's a bunch of other settings for Jabber that you can only configure via an XML file, fortunately Cisco have released a tool to help automate this process.

Wednesday, 22 January 2014

Useful Debugs

There's a multitude of debugs on Cisco routers, below are some that I frequently find useful for VoIP troubleshooting:


CommandPurpose
debug ccsip messagesShows the SIP messages being sent & received
debug gatekeeper call 5Shows gatekeeper call processing, including bandwidth requests
debug gatekeeper main 5Shows gatekeeper address resolution, including zone/prefix matching
debug h225 asn1Shows H225 messages being sent & received
debug isdn q931Shows ISDN Q931 messages, including calling & called number
debug rasShows summary of H225 RAS messages being sent & received
debug voice ccapi individual 2Shows a summary of call setup messages regardless of protocol, including calling & called number
debug voip ipipgwShows the CUBE processing, such as when it needs to invoke a transcoder

Don’t forget to add voice iec syslog to your configuration too, this enables a lot of useful information to be logged.

Thursday, 7 November 2013

UCCX Demo Licence

If you're building a lab, UCCX won't let you proceed through the initial set up without a valid licence file. Fortunately Cisco allow you to use a 30 day demo licence for any Standard, Enhanced or Premium, these are located in the DemoLicense folder on the install DVD. However if you don't have an install DVD or ISO to hand there is another way - you can download a UCCX update patch, open it with a tool like 7-Zip & extract the relevant demo licence file from it. Just remember that the licences are tied to the major UCCX version, so a UCCX 8.x install requires a UCCX 8.x licence file.

Friday, 18 October 2013

Troubleshooting Database Replication

Whilst wrangling with a particularly thorny database replication failure I found an in depth Cisco troubleshooting guide to database replication. Well worth a read if dealing with issues that utils dbreplication repair all doesn't fix.

Monday, 22 July 2013

HLog and 6900 Series Phones

Unfortunately the 6900 series phones don't have any visible notification of whether or not the phone is logged into hunt groups. This means that once the message displayed after pressing the HLog softkey disappears, there's no way of telling if your phone will take calls from hunt groups, other than to press HLog again. This is a rather bizarre omission given that queuing on hunt pilots is one of the big new features in CUCM 9.x & that in 9.0 it actually automatically HLogs you out if you don't answer a call from a hunt pilot with queuing enable. Thus it's easy to get into a situation where no one is receiving calls from hunt groups & they have no idea why.
Thankfully in CUCM 9.1 you can disable the auto HLog out of phones via "Automatically Logout Hunt Member on No Answer" within the line group settings. But this still leaves 6900 series phones with no indication of HLog status. The solution is to use a custom phone button template with one of the buttons being the HLog PLK, for example:


The LED on that button then indicates whether or not the phone is logged in to hunt groups. This is actually pretty handy for 7900 series phones too, as their "Logged out of Hunt Group" status message gets overwritten by the number of missed calls status message.

Wednesday, 17 July 2013

Installing Updates With Invalid Licensing

If you try to install an update on to CUCM without valid licences installed it will block it & display the error message "Upgrades are prohibited during the licensing grace period". When you're midway through doing physical to virtual migration & major upgrade this can be a pain as Cisco GLO can take up to 72 hours to respond to licence migration requests.
Fortunately there is a way round this to get the patches installed & then go back to Cisco for licence migration. You'll need to download a CentOS minimal install ISO & boot the CUCM server from it, then follow these steps:
  1. Select rescue installed system, skip the media check & select the appropriate language, keyboard layout, etc.
  2. Select local CD/DVD & don't start networking
  3. Select continue to mount the file system & continue through the information messages. If in doubt about which partition is active, you can boot off the CUCM Recovery DVD & use it to list the partition layout
  4. Start the shell
From the shell run the following commands:

chroot /mnt/sysimage
cp /usr/local/platform/conf/licexpiry.txt licexpiry.txt.bak
rm /usr/local/platform/conf/licexpiry.txt


Next you need to stop SELinux from choking on the changes made to the filesystem, so we need turn off enforcing. Run the following command to locate the grub.conf files:

find ./ -name "grub.conf"

Now use vi to edit the grub.conf files & add enforcing=0 to the end of the line which says kernel, for example:

kernel /boot/vmlinuz-2.6.18-274.12.1.el5PAE ro root=LABEL=/partB clock=pmtmr divider=4 crashkernel=128M@16M enforcing=0

Now you can exit to reboot the server. Without licexpiry.txt present you can continue installing patches to get the desired version of CUCM.