- Cisco call handler with Cisco Unity Connection messaging - Tue, Aug 8 2023
- Cisco CUCM (CallManager) architecture - Wed, Sep 28 2022
- Install PyAutoGUI for Windows GUI automation - Thu, Jul 14 2022
While Unity and CUCM are both Cisco products, their look and feel are different. CUCM has drop-down menus at the top, and Unity has menu items on the left.
In this article, we will look at how to build a simple caller attendant to answer calls and prompt the user with a few options.
As mentioned earlier, CallManager and Unity are two separate systems. To send a call to Unity, we must route the call from the CallManager over to the Unity system. In CUCM CallManager, this is often done with what is called a CTI route point. The term CTI stands for computer telephony integration, and a route point can be thought of as a phone or station that routes or sends the call to Unity.
From CUCM, we add a CTI Route Point from the Device menu via Device.
Select Add New, and the CTI Route Point Configuration comes up. All fields with an asterisk are required. Other fields are optional.
Click Save when completed. Now you will see the option at the bottom to add an extension for the route point.
Click the Line 1 link to add an extension. This needs to be a unique number that is not in use. In this example, we will use 7013.
This screen is the same screen you might see when configuring an extension on a phone. Again, the required fields are marked with an asterisk. The most important step is to check the box to forward all to voicemail (Use Device Pool Calling Party Transformation CSS). This causes CUCM to SEND the calls to Unity and look for extension 7013 in Unity.
Click SAVE when complete.
Now, we move over to Unity to build the caller attendant. From the left-hand menu, select System Call Handlers. Unity uses the term "call handler" to refer to a caller attendant.
Unity will display all the call handlers configured in the system. From the top drop-down, select Call Handler > New Call Handler.
On the New Call Handler page, enter a name and an extension. While the extension is optional, we need it in this example, since CUCM will look to match the CTI route point number to a number in Unity. Once complete, click Save.
The main screen for the caller attendant is now displayed. Notice that the extension is shown, as well as the active schedule. The active schedule will be important when we look at the next sections.
Before we move further, let's discuss how the flow works in a caller attendant. When a call is presented to a caller handler, Unity first looks at the transfer rules. The transfer rules determine whether a call is sent to the call handler's greeting or to another destination, such as another call handler, another extension, or an external number. We often think of a call handler as a recording that prompts the user to press a button, but we may also use a call handler to route a call based on the time of day. This is where the schedule comes in.
Now, let's back up one more step and look at the schedule. The schedule defines when a business is open or closed. When a business is open, we follow the Standard transfer rule, and when closed, we follow the Closed transfer rules.
From the left-hand menu, select Schedules under System Settings.
The system will display all the schedules. In this example, let's create a new schedule by selecting Schedule > New Schedule.
Give the schedule a name, and if applicable, select a holiday schedule. A holiday schedule is a global schedule that, when assigned to a regular schedule, will override the regular schedule on any holiday defined in it. Click Save when done.
A blank schedule will be displayed. Now, we must add details to define when the business is open. Any hours we are not open, we are closed.
Click Add New under Schedule Details, and the New Schedule Detail dialog box will appear. Give the schedule detail a name and define the days and hours. Here, we will do a simple 8 AM–5 PM workday. Click Save when done.
Click the Edit Schedule Basics link at the top to return to the schedule screen to see your update.
The dark areas indicate open hours, and the light area indicates closed hours.
Now, let's return to the call handler and update the schedule with the schedule we just created. Select System Call Handlers from the left menu, and select the call handler you created. Select the schedule we created to apply it to the call handler.
Now, let's have a look at the transfer rules. Earlier, I mentioned the transfer rules determine whether the call handler sends calls to the call handler's greetings or transfers calls to another extension. To modify the transfer rules, click Edit > Transfer Rules.
By default, the Transfer Rules page shows the extension that was assigned to the call handler, and the Standard transfer rule will be enabled; it cannot be disabled.
Note: If the alternate transfer rule is enabled, its action will override any other rules or schedules.
If you click the Standard transfer rule link, you can configure the details of the rule—primarily if the rule sends calls to a greeting or an extension. In this example, we can leave the defaults to allow the transfer rule to send calls to the standard greeting.
Next, let's have a look at the greeting setup. Select Edit > Greetings.
A list of greetings associated with the call handler appears.
Clicking the Standard greeting link shows us the greeting configuration. The top half of the screen allows us to control what callers hear and what they can do during the greeting. Notice that the Standard greeting is enabled and cannot be disabled. If an audio greeting has not been recorded, users will hear a default greeting stating, "Sorry, is not available. Record your message at the tone."
Clicking the personal recording allows a recording to be created on a PC with a headset and microphone, or the system administrator can configure the caller attendant to allow the call handler's Greetings Administrator to record a message. We can also ignore button presses while the greeting is playing so that the caller must listen to the full message before selecting or trying to dial other numbers.
We can also define what happens after the greeting plays. The default is to take a message, but we can also choose other actions, as seen below.
Other options can be selected as well, such as sending to another call handler, a directory handler, or a user's voice mail box.
In this example, we set the call handler to hang up after the message. We want the user to make a selection that will route the call to another department. We will set the After Greeting action to Hang Up, and we will add a delay of 5 seconds to give the user time to make a selection while the greeting is playing. We could also set the greeting to replay a number of times, or later in the caller input section, we could define a button press that would replay the greeting.
The last thing we will look at is caller input options. What actions do we take when the user presses a button on their phone? For instance, you have recorded a greeting that tells the user to press 1 to be directed to the sales department, press 2 to be directed to the accounting department, etc. This is handled by the caller input options. From the caller attendant menu, select Edit > Caller Input.
The Caller Input options display all the phone keypad options on the left and the actions on the right.
If we click the link for "1," we can define the action to take when the caller presses 1 on their phone's keypad. In this case, we will select Transfer To Alternate Contact Number.
We put the extension or number we wish to route the call to in the Extension or URI field. The Description field is optional for us to use for documentation.
If we return to the Caller Input menu, we can see the change.
The process is repeated for each button option you wish to define. We have now built a simple call handler from start to finish.
In this article, we looked at how to configure a basic caller attendant using the Cisco Unity Messaging System and Cisco CUCM. We discussed the call flow from CUCM to Unity and looked at the basic setup of the caller attendant. We configured a basic caller attendant with a daily schedule to play a greeting and transfer the caller to another extension based on pushing a button on their phone's keypad.
Subscribe to 4sysops newsletter!
The Cisco Unity Connection Messaging System is a powerful tool for call routing and offers many different configuration options. This article only scratched the surface of what can be configured with this system.