Error activating Subscriber UCCX services

After installing a second UCCX node, the CCX services (CCX Config/Agent/Historical Datastore) fail start.

nested exception is: com.cisco.database.util.DBException: Replication is not setup

Today, our UCCX subscriber (part of a 2-node cluster running 9.0(2)) went down and we needed to replace it by fresh installing another UCCX subscriber in its place.

I removed the UCCX-SUB virtual machine and launched a reinstall , but I faced an error in the “Network Connectivity Validation” step stating a problem with UCCX-PUB (it throws an error about a firewall issue, where both machines are on the same VLAN lol, anyway).

So I planned a maintenance window the same night in order to restart the UCCX Publisher node. (in fact, after removing a node in the cluster in order to readd it, the publisher needs to get restarted)

So I deleted first the UCCX-SUB virtual machine, then removed the instance of UCCX-SUB on the Publisher from the menu System > Server.

When UCCX-PUB is back online, I readded UCCX-SUB in the same menu System > Server.

I launched the reinstall and everything went smoothly.

uccx-install

To re-establish the replication between the Publisher and the Subscriber, we need to login to UCCX-SUB AppAdmin in order to give some information which are : UCCX-PUB IP address, administrator username and password and the type of deployment (LAN or WAN).

Next, the wizard will start the UCCX services. However the service activation step failed stating :

Activation failed – Activated
Component Controller CRS Agent Datastore on node 2 : Enable; nested exception is: com.cisco.database.util.DBException: Replication is not setup. Please setup replication and try activating the component.Number of nodes defined is 1

uccx-service-activation-failed.png

In fact, the problem is due to the UCCX replication not being setup. (I insist! UCCX replication, not the usual IDS database replication as in CUCM). The UCCX replication can be verified with the command “utils uccx dbreplication status” on the UCCX-SUB which will throw an error, whereas the usual command “utils dbreplication runtimestate” will show “2” good). We need to focus on UCCX Replication.

Also, the Config Datastore and Historical Datastore services activation throw the same errors.

The problem is because we need to do the following on UCCX Publisher side :

  1. reset the replication and
  2. Enable CDS and HDS

So go the UCCX Serviceability on UCCX-PUB, menu Tools > Datastore Control Center > Replication Servers.

reset-replication.png

Click “Reset Replication”, the step will take a couple of minutes (depending on the size of deployment). Following thing, click the “Enable CDS and HDS”. Wait for it to complete (nevermind if it will return back with the message “Timeout”, we will be running again the service activation step on UCCX-SUB and everything should work fine).

So, we get back to the UCCX-SUB AppAdmin web page, we login and input again the UCCX-PUB IP address, administrator username and password and the type of deployment (LAN or WAN), then click Next.

The services will be -hopefully- brought up and the you can go ahead to Next step which is a summary then your cluster is all good!

Of course, all this need to be done in offhours!

Hide participants in a WebEx Meeting

As a meeting host and in the WebEx meeting window, go to the menu Participants > Assign Privileges and untick View Participant List in the “Participants” tab.

I received a feature request from a customer who has a WebEx deployment.

He has a meeting with partners from other companies. The participants are competitors.
So the customer doesn’t want the participants to see each one others.

I wasn’t sure that this feature is available in Cisco WebEx, I google it and did not find relevant information, but while tweaking the WebEx Meeting menus I found that it’s possible to hide participants.

As the Meeting Host, go to the menu Participant then Assign Privileges.cwms-host

Go to the “Participants” tab. By default, the privilege View Participant List is assigned to all participants.

hide-participant-untick

Untick that checkbox and validate by clicking “Assign”.

This way the Participants List panel is removed and unavailable for meeting attendees.

Of course, do this before the meeting begins in order that the participants don’t see the other ones when joining the meeting.

7821/7841/7861 locale installation on CME

You need the file “sp-sip.jar”.
Don’t forget to put it in the correct folder such as “SIP_French_France” !

I tried to install French language to an IP Telephony deployment based on CME and the latest 7800 IP phone Series. I have searched on Google for the .jar file needed by these IP phones in order to be localized but have not find any clear information.

So I have turned on the “hard way” mode in order to find that information.

The first thing I’ve done is to enable the TFTP debug through “debug tftp events” on the CME. Generally speaking this command is a good troubleshooting tool, for example to double check that the IP phone is actually reaching the TFTP server and correctly downloading its files.

(I assume here that you already configured the locale commands on voice register global)

Here is the output :

locale-7821-cme

The interesting line in the debug is :

TFTP: Looking for SIP_French_France/sp-sip.jar

The IP phone looks for the file sp-sip.jar and not less importantly under the folder SIP_French_France.

So I uploaded the file to flash: and then published it on the tftp server through these commands :

Router#conf t
Router(config)# tftp-server flash:sp-sip.jar alias SIP_French_France/sp-sip.jar

It’s important to publish the file on the correct folder which is similar to the syntax “SIP_language_country“.

Afterwards the 7821/7841/7861 IP phones correctly downloads the locale file and hopefully reset and start using the target language.

The locale files are available through Cisco under this link (CCO account needed)

Yes the file is very heavy. Because it contains files for all languages, and just need to pick up the file for the language you need. All this for a 34kb file!