CUC (6) CUCM (28) Jabber (6) Python (2) Routing (3) Solarwinds Orion NPM (4) switching (1) Video (6) voice (3)

Wednesday, 20 February 2013

Cisco Unity Connection Call Handlers

Call Handlers are a very good way to implement simple call flows. For more complex call flows and IVR's; CUC is definitely not the place. CUC is the place to set up call flows for extension that require an automated open/closed greeting for instance for reception numbers. This is exactly what I will elaborate on in this post.

There are a few steps that will need to be taken in order to have a functional open/closed call handler:

  1. Set up a holiday schedule
  2. Set up a schedule for the business hours
  3. Set up a call handler
  4. set up a CTI Route point to direct CUCM to CUC
  5. Set up a direct routing rule.

Back to my example, I want to set up a call handler with extension 100 that will do an open and closed, as well as holiday check and if open will send the call to (in this case) an attendant console Q.

1.Set up a holiday schedule

This schedule will be checked by the call handler to see if the holiday greeting needs to be played to the caller.

As you can see the holiday schedule is comprised of different elements, each representing a holiday. The schedule can span multiple years, its a bit tedious to put them in, but I suggest you populate a couple of years, so you're done with it.

2.Set up a Time of day schedule

As you can see below, I have set the business hours to be mon-sat 8am to 6 pm.

This schedule represents the times when the handler should invoke the "open" action, i.e. forward the incoming call to the attendant console Q.

After these two schedules have been defined, when an incoming call hits the x100 call handler and if it is outside of the holiday schedule and outside of the business hours, the closed greeting will be played.

Once the Time and holiday schedules are configured, you will need to, at least, enable the holiday and closed greetings, as per below

3. Set up a call handler

After all the prep work of steps 1 and 2, you can now start configuring the call handler; a system call handler to be more exact. You will see a bunch of other pre-populated system call handlers as well, dont worry about those. Also I have created a greeting administrator call handler, more about this in my next post.

OK, so now I will drill into this call handler with extension 100 (not depicted above). Below is a screen shot of the x100 call handler that I will use for this example.

As you can see the extension for this call handler is set to 100. The active schedule is set to the one reflected in step 2.

Now go into the greetings section of the particular call handler (see below)

As you can see, this shows the various greetings applicable to the call handler and their action in the case where they are triggered.

The closed, holiday and standard greeting should all be enabled. The alternate greeting overwrites all of these in case it gets enabled (for instance through the greeting administrator). This alternate greeting could be particularly handy in cases were for instance the building is evacuated, or the reception is unavailable for other reasons.

Now, the standard greeting is the one that is invoked when the Time of Day schedule is open, because on those times the receptionist is available.

The way this is done is by transferring the call after the greeting to another call handler. As you can see the call handler that I have filled in here, is the same as the one in which we already are, and you would think that I have just created a loop and it would never arrive at the attendant console Q this way. However, I have also put in a Transfer rule in this call handler

As you can see, once the standard greeting get hit in our x100 call handler, it will transfer the call to extension 105, which is the reception Q on the attendant console for this particular branch.

It would make much sense to do anything else but transfer the call to another extension during business hours, but then again there are many different scenarios and requirements possible. This I guess is the most obvious one

4. Set up a CTI route point to connect CUCM to CUC

Up to this point you still will not be able to dial into your call handler to test it from any phone on your cluster.
I will not spent much time on this but, you can use a CTI Routepoint that has the extension of your call handler and point it to your CTI ports that are used for your voice mail system (do a forward all to VM on the CTI RP)

You can also configure a hunt pilot and let it hunt the voice mail ports (the way I always do it,so you can incorporate so mechanism of fail over in case your CUC server falls over). 

A third option is to add a directory number and Call Forward All this to Voice mail. I personally choose to use a CTI RP, because directory numbers tend to get deleted over time, because they are not tied to a device. But that is just personal preference.

5. Set up a direct routing rule (optional)

If you have set up your call handler with the same extension as your CTI RP/Hunt Pilot or directory number (remember there are 3 options in step 4), you should be able to dial into your call handler from a phone. You could decide to add a direct routing rule to provide additional granularity, in terms of called number or calling number. As can be seen from the screenshot below, there is a direct routing rule for dialled number 100.

If we drill into the particular routing rule for dialed number 100, we can see the following:

This sends an incoming call to the appropriate call handler (the one that I have discussed previously), and choose  "Go directly to greetings"

the condition to do this is as follows:

with this, you should now be able to test your call handler.  Good luck.     

Be careful with direct routing rules, as the order of the rules matters. There should already be 2 rules pre-populated; attempt sign in and opening greeting.

In my next post I will explain how the greeting administrator works, setting the call handler owner etc.


  1. so how did you setup a call handler for the Attendant console Que?

  2. ok, figured it out, this was very informative, thanks.

  3. thanks - got it working much quicker than wading through cisco manuals.

  4. Thanks Mark, cos if it aint been blogged it aint worth sharing, (or it doesnt exist yet)

  5. How would I go about having multiple holiday messages. Management wants separate messages for Easter, Thanksgiving, Christmas, etc.

  6. Reech, sorry for the late reply, as far as I know this cant be done on a single extension, seeing you set up a singleholiday schedule per call handler with a single holiday greeting. you would need different call handlers and each one would need a separate holiday greeting; easter, thanksgiving etc etc. If you did somehow manage to do this, lemme know how and I will add it to the post.

  7. dear sir dennis i need your help sir please.. how can i contact you.. i want your email id or block link..or face book account.. or linked in....please get me back when you free...thanks...

  8. my email id is ...shazeb quadri is face book account name...

  9. Hi Experts , I want to set IVR using CUC , will you please guide me .
    Once any one call on 1000 below prompt will play :
    "Welcome to WebTech System, please enter the 4 digits extension you wished to reach or press 0 to reach the Reception or Operator."

    I am not getting by using which Call handler I can achieve this requirement . How to accept this 4 digit and transfer it correct employee extension ?

    Will you please help me out hear with solution , Thanks in Advance !!!