Contact Center Troubleshooting Tips for the CCIE Voice Lab Exam

VN:F [1.9.6_1107]
Rating: 5.0/5 (1 vote cast)
By Vik Malhi on May 5th, 2010

If I had two words to describe the one topic on the CCIE Voice Lab blueprint that have candidates running scared, I would without hesitation say the words Contact Center.

I know most of the readers of this article would like me to spend my Sunday writing a 40000 word essay on everything you need to know about Contact Center scripting- however for the sake of my marriage and to ensure my kids will look after me when I am old and decrepit, I shall use this article to give an overview of some of the things that can go wrong with your Contact Center in the lab exam. Besides, a 40000 word essay would in effect hand you a Contact Center waiver and there’s no place for any more of those (sorry if you don’t know what I’m talking about right now- I’ll keep on the straight and narrow for the rest of this article- promise!).

The first thing you’ll have to check is that the JTAPI integration between UCM and CCX is correctly configured. You need to start the CTI Manager on both the Publisher and Subscriber UCM servers and tell the CCX who is the primary and secondary CTI Manager (UCM Telephony Provider). Once this is done you will need to work on ensuring that when a caller dials a specified DID number, the UCM can direct the call to the appropriate script within the CCX server- a script that you will most likely have to modify.

CCX Terminology

A UCM Telephony (JTAPI) Trigger will need to be created on the CCX server. This really doesn’t mean very much does it? Well in layman’s terms this means that a Directory Number is created on the UCM server- this DN is assigned to a CTI Route Point. CCX knows about this number too- it associates this number with a bunch of CTI Ports (UCM Telephony Call Control Group) as well as an application in CCX which points to a script.

You can think of the flow in CCX as follows:

UCM Telephony Trigger ——> JTAPI Call Control Group ——> Application ——> script

The CTI Port is just like a softphone- it is a logical VOIP endpoint with which the caller will be connected. In other words UCM will establish an RTP stream between the caller and CTI Port so that the caller will be able to hear any prompts that are used in the script. The difference between a CTI Route Point and CTI Port is that one CTI Ports is engaged when an RTP Stream is established between a caller and CCX whereas the CTI Route Point is responsible only for signaling to CCX in order to select an associated application and CTI Port Group (Call Control Group).

The sequence of events when somebody dials the CTI Route Point DN (Trigger in CCX) is as follows:

  • UCM sends CCX the call – the signaling includes the dialed number which matches on a UCM Telephony Trigger defined within CCX.
  • An available CTI Port is chosen from the Call Control Group which has been associated with the Trigger.
  • Each of the CTI Ports also has an assigned DN. CCX returns the DN of the selected CTI Port to UCM which in turn connects the caller to the CTI Port.
  • CCX receives the call on the chosen CTI Port. The script that the associated application points to is invoked
  • After the “Accept” step, the call is answered by CCX and the caller is connected to a CTI Port.
  • The remaining steps within the script are executed.
  • Next, we are going to talk about 3 fairly basic but common troubleshooting problems which give you an idea of a few things that can go wrong with your CCX integration.

    Calling CCX from over the WAN

    The prompts defined on disk within CCX exist as wav files and can be encoded using g711ulaw or g729 but not both. Typically g711ulaw will be used – the knock on effect of this is that callers dialing in from over the WAN using g729 will not be able to be successfully connected to the CTI Ports due to CCX being restricted to using g711ulaw. This brings about the need for a transcoder be accessible to the CTI Ports used for CCX- these should be placed at the same site as the CCX server.

    CSQ Variable not set

    For routing calls to specific queues defined within CCX, users must be created within UCM. The user must have an associated device and also an extension configured on this device must be marked for ICD routing. BTW- the agent phone must also be associated with the resource manager user which CCX uses for monitoring the state of the agent’s phone. Within CCX, the agent is assigned a skill or is placed into a Resource Group. Contact Service Queues (CSQ) is configured and point to Skills and/or Resource Groups. The Select Resource step contains a CSQ variable. The flow defined in CCX is as follows:

    Select Resource ——> CSQ ——> Skills/Resource Group ——> Agent ICD Extension

    There is a mapping between the dialed number and CSQ- the CSQ is defined as a variable within the script. The script is associated to the Trigger. You must ensure that the CSQ variable is set to a valid CSQ name defined within the RMCM subsystem. This can be done within the script or on the CCX GUI when defining the Application since the CSQ variable within the script should be defined as a parameter (meaning that you can hardcode what value this is set to). Should you fail to set the CSQ variable correctly the Select Resource step has no associated resources and the error prompt will be played to the caller- this states that the “system is unavailable” and “to call back later”.

    ICD Agent not able to receive any calls

    Once the Select Resource step has selected an appropriate agent (appropriate meaning that the agent is sufficiently skilled to be able to receive calls directed into the queue and is logged in and ready) the CCX server will inform UCM to disconnect the caller audio stream with the CTI Port and to connect the caller to the selected Agent ICD Extension. An RTP stream between the calling phone/gateway and the agent phone will be established. In order for UCM to route the call to the ICD DN of the Agent Phone, the Calling Search Space (CSS) of the CTI Port is used. If the CSS of the CTI Ports (Call Control Group) has not been set correctly the Agent can never receive the call and the caller will be placed back into the queued branch of the select resource step.

    Vik Malhi – CCIE #13890
    Instructor – IPexpert, Inc.
    Mailto: vmalhi@ipexpert.com

    Contact Center Troubleshooting Tips for the CCIE Voice Lab Exam, 5.0 out of 5 based on 1 rating
    Share and Enjoy:
    • RSS
    • Twitter
    • Facebook
    • Google Bookmarks
    • Digg
    • Print
    • Technorati
    • Slashdot
    • LinkedIn
    • del.icio.us
    • Reddit
    • Sphinn
    • Mixx
    • Blogplay
    • Netvibes
    • NewsVine
    • Live
    • Ping.fm
    • MySpace
    • Yahoo! Bookmarks
    • Yahoo! Buzz

    Tags: , ,

    7 Responses to “Contact Center Troubleshooting Tips for the CCIE Voice Lab Exam”

    1. Akash says:

      Very helpful article, good troubleshooting reference

      VA:F [1.9.6_1107]
      Rating: 0.0/5 (0 votes cast)
    2. Good blog post, Vik. Looking forward to the bootcamp next week.

      VA:F [1.9.6_1107]
      Rating: 0.0/5 (0 votes cast)
    3. Gobind Singh Gill says:

      Great post! I was looking for something on UCCX for a while now.

      VA:F [1.9.6_1107]
      Rating: 0.0/5 (0 votes cast)
    4. Roger Källberg says:

      Right on as always :-)

      VA:F [1.9.6_1107]
      Rating: 0.0/5 (0 votes cast)
    5. k says:

      I like your article very much. Especially, it is very helpful for self-study person.

      VA:F [1.9.6_1107]
      Rating: 0.0/5 (0 votes cast)
    6. If I might also note a few other oddities and helpful hints for those people new to UCCX…

      1. Usernames and Passwords are both case sensitive.

      2. If you want a place to look if you are experiencing errors. c:\program files\wfavvid\log\MIVR is the directory. Sort it by date and look at the latest log file to see what is the matter.

      3. NEVER close the pop-up window when creating/modifying CTI Route points / CTI Ports. If you made a mistake, let it finish, you’ll be better off overall.

      4. If you screw up the creation of a port/route-point and you cannot undo it from appadmin in UCCX, go ahead and delete it from the dial-plan in CUCM (be sure to also delete the extension from unassigned numbers in the route plan report too) and then restart the Node manager in UCCX before you try again.

      5. TIP: check the CUCM route plan report (normal and unassigned) before trying to create a cti-route point or cti-port range. UCCX appadmin does not allow dial-plan conflicts. For a CTI Route-point it will just complain. For a CTI Port it will just skip it and go to the next available number.

      6. TIP Be sure to associate the agents phone with the RMCM application user!

      VA:F [1.9.6_1107]
      Rating: 0.0/5 (0 votes cast)
    7. Kumar Vishal says:

      Thanks a lot!!!!

      VA:F [1.9.6_1107]
      Rating: 0.0/5 (0 votes cast)

    Leave a Reply