Showing results for 
Search instead for 
Did you mean: 

Ask the Expert: Deployment and Troubleshooting Cisco Unified Contact Center Express (UCCX) Deployments

Community Manager
Community Manager

With Anirudh Ramachandran  and Abhiram Kramadhati 

Deployment and Troubleshooting Cisco Unified Contact Center Express UCCX Deployments with Anirudh Ramachandran and Abhiram KramadhatiDeployment and Troubleshooting Cisco Unified Contact Center Express UCCX Deployments with Anirudh Ramachandran and Abhiram Kramadhati

Welcome to the Cisco Support Community Ask the Expert conversation. This is an opportunity to learn and ask questions about the latest advancements in Cisco UCCX (such as the integration of Cisco Social Miner to provide agent chat and better reporting using the Cisco Unified Intelligence Center), as well as the existing features of Historical Reporting, custom reporting using the historical database, Agent Email services, JTAPI integration with CUCM, and the HA over WAN cluster mechanism.

Anirudh Ramachandran is a customer support engineer at the Cisco Backbone Technical Assistance Center in Bangalore, India. Working in the Asia-Pacific time zone for the last two years, he focuses on Cisco Unified Contact Center Express issues and specializes in Linux, JTAPI/CTI integration, and UCCX system and database issues. He holds the CCNP Voice and UCCX Specialist certifications, and is also a Red Hat Certified Engineer. Anirudh writes tools and automates bug workarounds for UCCX in addition to working on TAC service requests, and currently has authored and co-authored seven such tools. Anirudh graduated from the National Institute of Technology Karnataka with a Bachelor of Technology in Computer Engineering.

Abhiram Kramadhati is an engineer with the Contact Center Backbone team in the Asia Pacific timezone. He has been working with UCCX since he started with Cisco 2 years ago. During his time at Cisco, he has built his expertise around UCCX Telephony applications, JTAPI integration, UCCX system behaviour, LDAP components and also UCCX as IPIVR in UCCE environments. He also works on other technologies including Unified Communications Manager and UCCE. He has been involved in many technical escalations in the region. Abhiram is a Telecommunications engineer from Bangalore, India.

Remember to use the rating system to let Anirudh and Abhiram know if you have received an adequate response. 

They might not be able to answer each question due to the volume expected during this event. Remember that you can continue the conversation on the Collaboration, Voice and Video Contact Center subcommunity discussion forum shortly after the event. This event lasts through May 3, 2013. Visit this forum often to view responses to your questions and the questions of other Cisco Support Community members.

65 Replies 65


Hi guys,

I have one about admin accounts: did the process changed in version 9.0 or we are still using "Administrator" with initial password "ciscocisco"? Are all accounts still stored in CUCM? Do we have a way to reach UCCX Administration if connection with CUCM is lost?



Hi Tenaro,

Thanks for your question.

A lot has changed since the windows version. While in the Windows version the username Administrator/ciscocisco is used to login for the first time into UCCX, the same username/password for 8.x is set during the install of the 8.x machine. This is known as the Application Username and this is described in the page 18 of the UCCX install guide:

During the installation, say the application username/password given by you is cisco/cisco; then you will have to use this account to login to the UCCX webpage for the first time after install. Once the integration is completed this user account cannot be used and you will have to use the UCCX administrator who is an end user who was selected in the last stage of the integration.

A little more information and also certain scenarios:

Scenario 1: You completed the install, but did not access the webpge. When you try to access it later, you forget the username and password you had selected. What do you do? You can just reset the same using the following commands:

utils reset_application_ui_administrator_name

utils reset_application_ui_administrator_password

Scenario 2: You finished the installation, integration and system was running fine. You had selected one user as admin. Due to some reason (AD integration breakdown, loss of connection to CUCM etc.), that user account access is removed. How do you now login?

In this scenario, you will have to contact Cisco TAC where we can change the system to FRESH_INSTALL mode and run through the integration part again to let you choose a new admin.

Considering this scenario and understanding that this is bit of a long procedure, a new feature was introduced in UCCX 9.x. In 9.x, the application user you have created can be used to login to the UCCX always! This user account information is stored on the UCCX and authentication also happens locally. Unlike the previous versions, you can now login to the UCCX webpage using this Application user account irrespective of whether the CUCM is available or not. You can find more information about the UCCX 9.x user accounts here:

I hope that answers your query, but please let me know if you need any calrifications.


Abhiram Kramadhati

Anthony Holloway
Cisco Employee
Cisco Employee

Hello gentlemen!  Thank you again for hosting this opportunity for us in the community.  I have another one for you, this time a little bit tickier than the last.

Working with Dates

1.  The documentation for the UCCX 9.0 Programming Guide Volume 3 - Expression Language Reference, Date section, Figure 3-14 shows an outdated screenshot of the dialog box for the Expression Editor, specifically the Date tab.  I'm not sure which version of UCCX made this screenshot obsolete, but I have documented the difference in the following comparison between it and UCCX 8.5(1)SU2.

Document in question:

Comparison Screenshot

2.  Which leads me to the actual documentation within that document on how one is supposed to create Dates.  Just below that figure, in the section titled:  Date tab Syntax Buttons, the documentation is inline with the outdated screenshot, and not the current iteration of the product.

3.  And finally, since there is no documentation on the subject of creating a Date object with the Timezone specified, as indicated as being possible by the new D[?, ?] button seen above in my comparison, and below with the tooltip, I am left with a bit of a problem when it comes to instantiating Date objects with the TZ specified, or for that matter, changing the TZ once the Date object had already been created.

Date Button

Since D[now] is the default value when creating dates, I already know that "now" is a keyword which replaces date literals such as: January 1, 1970.  So the first thing I tried to do was create the Date like this:  D[now, TZ[primary]], which did not work, as seen in the below error screenshot.  The numbers show the order of operations.

I then moved from trying to set the TZ initially, to setting the timezone post creation.  This proved to be a challenge as well, because after looking through the list of available Date methods in the drop down list, I didn't see one to set the TZ, only one to get it.

You didn't think I was going to forget the screenshot did you? 

I summary, how does Cisco expect us to create a Date object with the Timezone specified, or for that matter, change/set the Timezone after the Date object is created?

Thank you again for taking the time to speak to us all here in the community.  It's such a great service you guys are giving us, and I'm happy to be a part of it.  I look forward to your response.

Anthony Holloway

Please use the star ratings to help drive great content to the top of searches.

Hi Anthony,

The documentation is out of date, agreed. We will get that fixed, sorry about the oversight! Please refer to CSCug58305 for details.

The on-hover helptext is still present, though:

D[? , ?]: Date with timezone

?.tz: The time zone associated with the date. Returns a value of the TimeZone type.

?.indt: Boolean, returning if the date is in Daylight Savings Time

? indt ?: Operator that checks if the left-hand date falls in the Daylight Savings Time for the right-hand timezone.

When I use the value


in a Date variable, the value gets set to

D["April 26, 2013 10:28:57 AM IST", TZ[Asia/K0lkata]] (please use o instead of 0 there, I made the replacement as the word triggers spam filters! )

You can use a similar convention to set your Date values. The value within TZ[] is adherent to the IANA tz database's uniform naming convention by  Paul Eggert. Here's the list.

Date today

Set today = D["April 26, 2013 10:28:57 AM IST", TZ[Asia/K0lkata]]

Thanks & Regards,


"Protocol, then product"

Thanks & Regards, Anirudh "Protocol, then product"

That's too funny.  Typing the city name filters out your reply?  Wow.  I would have never guessed it.

Thank you for the documentation enhancement.  That will really up us in the community to use the product to it's full potential.

Also, I see what you're saying about the D[?, ?] convention, however, I would never hard code a date in a date variable which is trying to reference the current day.

E.g.,  It's common place to do this when working with the current date:

Set today = D[now]

However, that uses the timezone of the master server, and my master server is in one timezone, addressible with TZ[primary], but my call centers are in many other timezones.

Doing something like this makes much more sense:

Set today = D[now, TZ[America/Chicago]]

Unfortunately that does not work.  I gave a screenshot of the error in my last post.

I did find a work around for the time being, but I'd really like to see the above date creation + timezone setting syntax implemented.  Not too mention a method added to the Date method list for setting the timezone.  A la void ?.setTimezone(Timezone).


Set today = D[D[now], TZ[America/Chicago]]

The workaround actually serves as an instatiation workaround, as well as a modification of the timezone post creation:

Set today = D[now]

Set today_tz_est = D[today, TZ[America/New_York]]

Set today_tz_cst = D[today, TZ[America/Chicago]]

Thanks again!  Excellent supprt so far!

Anthony Holloway

Please use the star ratings to help drive great content to the top of searches.

Hi Anthony,

That's the enhancement we identified as well. We should get a date method accessible from the expression editor that allows change of timezone.

I have filed enhancement request CSCug63478 to track this request.

Thanks & Regards,
"Protocol, then product"

Thanks & Regards, Anirudh "Protocol, then product"

Anthony & Anirudh,

I ran into this same issue awhile ago (~2009).  Since I couldn't get around it easily I decamped from the native calendar classes and switched to the Joda class.  I found Joda to be much easier to work in than the native classes and have never gone back.

Interestingly the Joda classes have been widely adopted by the Java community and actually incorporated into Java 8.  I'd love for Joda to be offered as an alternative or at least allowed to be used if & when the CCX Engine adopts Java 8 in the far future.


Please help us make the communities better.  Rate helpful posts!

Please help us make the communities better. Rate helpful posts!


I do like the chaining of methods:

public boolean isRentalOverdue(DateTime datetimeRented) {
  Period rentalPeriod = new Period().withDays(2).withHours(12);

Could you create a post or a document with a writeup on how to properly use this in a script?

Anthony Holloway

Please use the star ratings to help drive great content to the top of searches.


that's amazing team...good luck guys

did you have experience about using third party sip phones as agent or not? i need to configure SNOM phone as gaent of CCX server. any idea about that?

Hi Sara,

That's a good question there. Selecting the right phone for a UCCX deployment is a little tricky. UCCX needs to be able to take control of and monitor the phone to achieve the following functionality:

  • Sending calls to agents.
  • Identifying agents who are Ready to take ICD calls.
  • Gathering data for Historical Reports / CUIC to identify agent details: time spent talking, time spent on non-ACD calls, time spent on outbound campaigns, etc.

UCCX does not control calls: CUCM does, as the call-processing agent. UCCX only makes requests using JTAPI functions to the CUCM CTIManager, and thus gets control of and monitors agent phones.

Now, to be able to get CTI control of any phone is not an easy matter. Cisco Development has tested UCCX only against a specific set of phones, which are listed per UCCX version in the Compatibility Matrix. Hence, we recommend using only phones that are listed there. Other phones are not supported: by this, we do not mean that it will not work. We only mean that we have not tested the integration, and there could be unforeseen issues with them.

For example, I have deployed UCCX in my lab against an incompatible CUCM, and can identify - both through functionality testing and log analysis - that UCCX has trouble speaking an outdated JTAPI to an outdated CUCM. It's like someone from the medieval-age England speaking with a modern-age rapper: they may be able to understand each other to a greater or lesser degree, but one never knows what misunderstandings / lack of understanding may occur.

TL/DR: We recommend using only phones listed in the Compatibility Matrix with UCCX. Other phones may work, but they are not tested by Cisco, and hence are not supported.

Thanks & Regards,
"Protocol, then product"

Thanks & Regards, Anirudh "Protocol, then product"


Hi ,

I have deployed uccx 9.0 in a customer site. I have integrated it with socialminer for Webchat.

All those are working fine. The query we have is after the chat session is closed can the chat history can be sent to the customers mail id. Is this configurable to do so?

If so can you share some documents regarding the configuration.



Hi Rahul,

Thanks for your question.

The transcript of every chat session is stored in the database of the SocialMiner server, sicne the socialminer is the entity which is hosting the chat room/chat session. The transcript of a chat session is saved only after a chat session ends i.e. if one of the parties do not close the webpage, then the chat session is not saved until the chat inactivity timeout expires (this can be set in the Social Miner Configuration page on the UCCX).

You can also, as an administrator, control the purge settings for removing old chat transcripts from the SocialMiner server. Tranascripts take the majoority of the space in the SocialMiner Configuration.

Once the chat is completed, you can search for the chat in the "Search" toolbar on the SocialMiner. Clicking on the Chat title, will open up the entire history. This can be sent to the customer if needed. You can find the details here:

However, the configuration of automatically sending the transcript to the customer is not available. But this should not stop you from building that capability using the API's available for SocialMiner. You can get your hands dirty at this and reach out to the Cisco Developer Community for more assistance on this:


Abhiram Kramadhati

Anas Abueideh

Dear Experts,

I have UCCX 9 and I need to generate prompts in the script for numbers in 2 languages, English and Arabic. when I try to generate the prompt, I have only english option. Can we solve this issue and add Arabic language ?

Thanks in advance


Hi Anas,

Have you tried the "Create Language Prompt" option?

While configuring that step, you can select the Arabic language there using the language selector (the blue drop-down arrow to the right of the Language text box):

You can refer to the Step Reference Guide, page 173 for details about the step.

Thanks & Regards,
"Protocol, then product"

Thanks & Regards, Anirudh "Protocol, then product"

Hi Anirudh,

thanks a lot for your reply. I try to configure the "create language Prompt" withou success. I didn't find any other language. I just found english.

I think we need to add the language in the app admin, right ?

thanks in advance


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:

Recognize Your Peers