The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
This document explains the basic Cisco CallManager configuration needed to integrate with Cisco Unity Express as well as some other considerations necessary in order to successfully deploy Cisco Unity Express at a remote office branch.
Refer to the documents in Cisco Unity Express for more information about Cisco Unity Express.
Ensure that you meet these requirements before you attempt this configuration:
Basic knowledge of how to configure and use Cisco CallManager through the web administrative interface
Familiar with Cisco CallManager Call Admission Control (CAC)
Familiar with device pools
Familiar with regions and locations
Familiar with coder-decoders (codecs)
The information in this document is based on these software and hardware versions:
Cisco Unity Express 1.1 and later
Cisco CallManager 3.3(3) and later (except Cisco CallManager 4.0 and later)
All sample configurations and screen outputs are taken from Cisco Unity Express 1.1.1, Cisco CallManager 3.3(3), and Cisco CallManager 5.0.1. Cisco Unity Express must be licensed for Cisco CallManager, not Cisco CallManager Express. You cannot do both at the same time.
Note: There is no method to convert or back up and restore from a Cisco CallManager Express integrated with Cisco Unity Express to a Cisco CallManager integrated with Cisco Unity Express or vice versa. The card must be re-imaged. This means that you must reapply the software and license, and all the configuration and data, which includes voice mail messages, are lost.
Note: Cisco Unity Express 1.1.1 and 1.1.2 only integrate with Cisco CallManager 3.3(3) and software releases earlier than Cisco CallManager 4.0. These software releases do not integrate with Cisco CallManager 4.0 and later. Cisco Unity Express 2.0 integrates with Cisco CallManager 4.0 or 3.3. Cisco Unity Express 2.1 integrates with Cisco CallManager 4.1, 4.0, or 3.3. The method of integration is the same. The steps that you use in order to configure these features are virtually the same for all software releases until Cisco CallManager 5.0. From this release and later, some additional steps are required in order to configure the JTAPI user.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Refer to the Cisco Technical Tips Conventions for more information on document conventions.
Cisco CallManager integrates with Cisco Unity Express through the Java Telephony Application Programming Interface (JTAPI) protocol for voice mail and automated attendant (AA) functionality. The end user calls the directory number (DN) configured on a computer telephony integration (CTI) route point, which Cisco Unity Express controls. A Cisco Unity Express application such as voice mail is triggered and the call is redirected through JTAPI to an available CTI port. The audio greeting plays, and the user can leave a message or interact with the system through dual tone multifrequency (DTMF) tones.
Create a new Cisco CallManager region for the new Cisco Unity Express remote site if CAC and limited bandwidth are factors at your remote site. This allows you to run G.729 across the WAN and G.711 to Cisco Unity Express in conjunction with a transcoder at the remote site. The region is then applied to a new device pool. This device pool defines other things, such as whether or not Cisco Survivable Remote Site Telephony (SRST) is in use at the remote site. Additionally, a new location might need to be created for this remote site to use the CAC feature in Cisco CallManager. You can even configure the transcoder in Cisco IOS® in advance and make sure that it is registered. This is described in more detail later in this document.
These configuration tasks are required for integration with Cisco Unity Express:
Create one CTI port for each Cisco Unity Express port on the Cisco CallManager. For example, create eight CTI ports if the Cisco Unity Express system is licensed for eight ports. Issue the show software licenses command in order to do this. You must configure a DN for each port. But, the DN has no correlation with the actual number that users or outside callers must dial.
Add a CTI route point for each entry point in the Cisco Unity Express system. For example, you can add one route point for the voice mail pilot number, one or more for an AA, and one for the Greeting Managment System (GMS). These devices do not reflect the number of ports in any way. For instance, if you want the voice mail pilot number to be extension 2500, then that DN should be configured on the route point.
For Cisco CallManager versions 5.0 and later - Create a JTAPI user that the Cisco Unity Express uses in order to log into the Cisco CallManager and take control of the Route Point and CTI port devices. The user should be created as an Application User. Next, the Standard CTI Enabled group policy must be applied and all Route Points and CTI ports must be associated with the user.
For CallManager versions prior to 5.0 - Create a JTAPI user that the Cisco Unity Express uses in order to log into the Cisco CallManager and take control of the Route Point and CTI port devices. Mark the Enable CTI application checkbox. The route points and CTI ports must be associated with this JTAPI user.
(Optional) Configure voice mail profiles if you want to use Cisco Unity Express for voice mail. Configure Call Forward Busy (CFB) or Call Forward No Answer (CFNA) settings to use this profile. Voice mail profile creation involves the creation of a voice mail pilot number. This number is used on the route point for voice mail configuration and the voice mail profile.
(Optional) Create users on Cisco CallManager and have phones associated with them if necessary. These users can be imported later when the Cisco Unity Express Initialization Wizard runs. This step saves the need to re-enter all users created in Cisco CallManager in Cisco Unity Express. The accounts are created once in Cisco CallManager and then imported into Cisco Unity Express.
(Optional) Transcoding can be necessary if the Cisco Unity Express module is at a remote branch. Unity Express requires more bandwidth than is usually suitable for a remote branch (80 kbps with no compression) since Cisco Unity Express only allows the G.711 U-law codec. You can configure transcoding to work around this limitation. This assumes that proper hardware domain specific part (DSP) resources are available. This allows Cisco Unity Express to stream audio at G.711 to the gateway and G.729 from the gateway across the WAN.
(Optional) A QoS configuration might be required if the audio stream passes across an IP WAN to reach the Cisco Unity Express AIM.
(Optional) You might want Cisco SRST for phones, voice mail, and AA functionality during a WAN failure. This requires a license and configuration on the Cisco SRST router. You must physically install the Cisco Unity Express AIM on the Cisco SRST router.
Note: Prior to Cisco Unity Express version 2.3, the message waiting indicator (MWI) did not work during fallback mode.
Run the Cisco Unity Express Initialization Wizard - This is an easy way to set up the integration on the Cisco Unity Express side and create mailboxes for imported users. You can configure the Cisco Unity Express system without the Initialization Wizard. Run the Initialization Wizard if the GUI is to be used for administration.
The Cisco Unity Express and Cisco CallManager integration should now work. You can configure other features on the Cisco Unity Express.
In this section, you are presented with the information to configure the features described in this document.
CTI ports are virtual lines that can send and receive audio but are controlled through the JTAPI protocol by Cisco Unity Express. A CTI port must be defined for each Cisco Unity Express port that is licensed. The name that each port receives is irrelevant.
Note: There are no serious side effects if more ports are defined in Cisco CallManager than are available in Cisco Unity Express. The maximum number of licensed ports in Cisco Unity Express or the total number of CTI ports defined in Cisco CallManager are used (depends on which one is lower). Keep in mind that the Cisco Unity Express Initialization Wizard checks the licensed ports. A warning message displays if more ports are associated than are licensed in Cisco Unity Express. These ports can later be reassociated through the Cisco Unity Express GUI or CLI.
Choose Device > Phone from the Cisco CallManager Administration Page.
Click Add a new phone.
Choose CTI port for the phone type and assign a name.
The device pool must match the device pool as all devices on the site where the Cisco Unity Express is installed. In this case, the device pool is RemoteSite1. It is crucial to be familiar with these concepts since the device pool controls the codec with the regions setting. Cisco Unity Express must be G.711 only. Therefore, it is possible that a transcoding device is also required in this device pool to allow for G.729 across the WAN. The calling search space should allow the system to transfer to any desired number. Cisco Unity Express places no restrictions on the numbers that can be called. This can be unexpected when a dial-by-extension call is placed from within an AA. Therefore, it is important to apply any call restrictions through this calling search space. You might need to set the Location field, as this is used for CAC across the WAN. The remote location is RemoteSite1 in this example.
Assign a DN to the CTI port once the device has been set up.
Assign only one number. There are usually no options other than the possibility of a partition that needs to be assigned on the Directory Number window. This is because things like the calling search space must be assigned on the device already. Do not set any forwarding or other settings on this port. The only thing that can be useful is to configure a display parameter such as "Cisco Unity Express Port 1".
Ensure that the calling search space on the CTI route point contains the partition, which is Site1CUE in this example, to which the DNs of the CTI ports are added.
The finished product looks like this:
Repeat each of these steps manually until all the ports are configured.
Note: None of the CTI ports can ever be called directly. The only way that calls end up on these ports is when a user dials a CTI route point. Cisco Unity Express controls this and then redirects it to one of these ports, which Cisco Unity Express also controls.
The CTI route point is a virtual device controlled by Cisco Unity Express. The CTI route point can receive multiple simultaneous calls and redirect them to the CTI ports configured earlier. You can play audio and record messages here.
At least these three CTI route points are normally added:
One for voice mail
One for each AA
One for the GMS to manage recorded prompts in the system
Complete these steps to set up each CTI route point:
Note: You must repeat these steps for each route point.
Choose Device > CTI Route Point from the Cisco CallManager Administration Page.
Click Add a New CTI Route Point.
Name the device, for example, CUE_Voicemail, CUE_AA1, or CUE_GMS.
Configure the device pool and location. Configure these items the same way as the CTI ports.
Configure the calling search space and ensure that this includes the partition that contains the DNs of the CTI ports.
Add a DN for each route point.
Use the same calling search space that is selected for the device on the line configuration. This is very important since the MWI does not work if the calling search space is not applied to the line configuration in some early Cisco CallManager 4.0 software releases. Refer to Cisco bug ID CSCef80217 (registered customers only) . This is only a problem once Cisco Unity Express is integrated with Cisco CallManager 4.0. Set up the system in order to avoid such problems. No other options are necessary, except possibly a partition.
Note: This partition must be in the calling search space of all devices that intend to reach this Cisco Unity Express system.
Note: Configure only one DN for each route point.
For example:
In order for Cisco Unity Express to be able to answer calls and function properly in a Cisco CallManager environment, an Application user must be created, which is allowed to control the devices (CTI ports and Route Points) which it is supposed to use. When you use multiple Cisco Unity Express modules, this can be the same user, or multiple users, and make sure that all devices that should be controlled by the account are associated with it. The Route Point is essentially the number that a user calls in order to reach voicemail, an auto attendant, or a custom script in Cisco Unity Express. Cisco Unity Express looks at the dialed number and matches that to a number in its configuration in order to determine which application, for example, voicemail, an auto attendant, and so forth, needs to be invoked.
Choose User Management > Application User from the Cisco CallManager Administration page.
Click Add New in order to create a new user.
Specify a User ID.
Click Save.
In the Device Information field, under Available Devices, select the Route Point(s) and CTI ports that are associated with the ID, then press the down arrow in order to move them into the Controlled Devices box.
Alternatively, use the Find more Route Points and Find more Phones (for the CTI ports) buttons in order to locate the devices. From the window that is opened, devices can be searched and selected. Once complete, the Add Selected button is pressed in order to move the selections to the Controlled Devices box.
Click Save.
In the Permissions Information section, click Add to User Group. In the open window, search for Standard CTI Enabled. Choose the check box next to the Standard CTI Enabled group. Click Add Selected.
Click Save. The Roles box in the Permissions Information section now include Standard CTI Enabled as well as the previous Groups box.
When you create a user with CTI application use enabled and select the CTI Ports and route points created, this allows Cisco Unity Express to gain control over calls placed to the CTI port and route point numbers configured earlier.
Choose User > Add a New User from the Cisco CallManager Administration page.
Create a user ID and username.
You can use something logical for example, site1cue, or something similar even though the name is arbitrary.
Carefully note the password since this user ID and password combination is required when Cisco Unity Express is configured.
This ensures a proper login to Cisco CallManager. Create a user even though the PIN is not used.
Choose Enable CTI Application Use and press Insert in order to create the user.
Click the Device Association hyperlink and choose all the CTI port and CTI route point devices created earlier.
No primary extension is necessary. Choose Update Selected. Run the Initialization Wizard. Once that is done, you can call the numbers configured in the route point(s) and Cisco Unity Express answers. Other options such as voice mail profiles and transcoding can be required.
Voice mail profiles provide an easy way to manage multiple voice mail systems. A voice mail profile is used when you press the Messages button on a phone. Also, you can avoid the need to manually configure the CFB and CFNA numbers when you forward calls to voice mail.
The voice mail pilot number is configured with the DN on the CTI route point that is configured for voice mail.
The Cisco CallManager Administration Guide explains in detail how to configure a voice mail profile. But, you generally only need to add a pilot number and then a voice mail profile, usually a name is selected that identifies the remote site, with the pilot number selected. The profile is then applied to individual phone DNs. This enables you to check the Voicemail selection for CFB, CFNA, or even Call Forward All (CFwdAll).
Note: Since Cisco Unity Express uses JTAPI to interface with the Cisco CallManager, no MWI on and off numbers need be configured.
Cisco Unity Express can import users and user extensions created in Cisco CallManager. Cisco Unity Express also has the capability to create voice mailboxes for those subscribers on the fly. This information is imported through AVVID XML Layer (AXL) either while the Cisco Unity Express Initialization Wizard runs or later through the Cisco Unity Express administrative web interface. In order to import users, you must first create them in Cisco CallManager.
An administrator account and password is required on the Cisco CallManager for authentication in order to import users. Access the Cisco CallManager Administration Page and choose User > Add a New User in order to import a user. From here, the user is created and a phone can be associated with the Device Association hyperlink after the user has been added.
The actual import to Cisco Unity Express can be done when the Initialization Wizard runs or on a system that already runs Cisco Unity Express. Log on to the Cisco Unity Express web page as a user with administrative rights and choose Configure > Users. Then click Import. Click the Find hyperlink and enter the full user ID in each case. You can enter multiple user IDs separated by commas or on new lines. Cisco Unity Express logs into the Cisco CallManager and retrieves the usernames and extensions when you click Find again. After you select all desired users, you can specify:
The primary phone number of each user
Whether or not the users can have a voice mailbox on the Cisco Unity Express system
Whether or not they can have administrative rights to the system
Then click Import.
Note: Only full user IDs can be specified. No wildcards or partial matches are allowed when you search for users.
Cisco Unity Express currently only supports audio streams that are in the G.711 U-law format. The bandwidth required for G.711 (80 kbps per call uncompressed) can be prohibitive in an environment where audio streams that reach the Cisco Unity Express AIM originate from across the WAN. Therefore, use G.729 across the WAN and use transcoding capabilities in the router to convert to G.711 for the Cisco Unity Express AIM.
This is an example of an IOS router with a High-Density Voice Network Module (NM-HDV) configured for transcoding:
voice-card 1 dsp services dspfarm ... sccp local FastEthernet0/0 sccp sccp ccm 14.80.227.127 priority 1 sccp ip precedence 3 sccp mtp sessions 4 ! dspfarm transcoder maximum sessions 4 dspfarm !
A transcoder is added in the Cisco CallManager in the MTPxxxxxxxxxxxx format. The xxxx is the MAC address of the interface that registers to the Cisco CallManager. In this case, issue the show interface FastEthernet 0/0 command in Cisco IOS in order to find FastEthernet 0/0.
One of the current limitations is that the JTAPI (CTI-quick buffer encoding [QBE]) signaling packets are unmarked (TOS = 0) when the Cisco Unity Express AIM transmits them. In order to correct this, use an access control list (ACL) on the router that has the Cisco Unity Express AIM installed to mark and prioritize the traffic.
The JTAPI signaling from the Cisco CallManager is correctly marked with a differentiated services code point (DSCP) value of AF31 (TOS 0x68).
The JTAPI signaling protocol uses TCP port 2748. Dedicate 20 kbps for each Cisco Unity Express site for this traffic.
All Real-Time Protocol (RTP) audio traffic from the Cisco Unity Express AIM or the IP phone is correctly marked with a DSCP value of 0xEF.
This example shows a sample configuration for this on the router where a.b.c.d is the IP address of the Cisco Unity Express AIM:
access-list 101 permit tcp host a.b.c.d any eq 2748 ! class-map match-all cti-qbe match access-group 101 ! policy-map cti-qbe class cti-qbe set dscp af31 bandwidth 20 ! interface Serial0/1 service-policy output cti-qbe
Cisco SRST is used for emergency phone and voice mail services when the WAN that connects a remote site to a Cisco CallManager is down. There is nothing to do if the Initialization Wizard is used to set up the system in Cisco Unity Express. You can use this basic configuration in the Cisco IOS configuration:
dial-peer voice 1 voip description Local NM-CUE (CME) Voicemail destination-pattern 28000 session protocol sipv2 session target ipv4:172.18.106.107 dtmf-relay sip-notify codec g711ulaw no vad ! dial-peer voice 2 voip description Local NM-CUE (CME) Auto Attendant destination-pattern 28100 session protocol sipv2 session target ipv4:172.18.106.107 dtmf-relay sip-notify codec g711ulaw no vad ! dial-peer voice 3 voip description Local NM-CUE (CME) Greeting Management System destination-pattern 28111 session protocol sipv2 session target ipv4:172.18.106.107 dtmf-relay sip-notify codec g711ulaw no vad ! ! call-manager-fallback ip source-address 172.18.106.105 port 2000 max-ephones 52 max-dn 208 voicemail 28000 call-forward busy 28000 call-forward noan 28000 timeout 12 !
The three configured destination patterns (28000, 28100, and 2111) correspond to the three DNs assigned to the route points. The CTI ports are not referenced anywhere.
The Cisco Unity Express is set up automatically when you use the Initialization Wizard. This portion must be in the configuration in order to verify from the CLI:
ccn subsystem sip gateway address "172.18.106.105" end subsystem ... ccn trigger sip phonenumber 28000 application "voicemail" enabled locale "en_US" maxsessions 4 end trigger ccn trigger sip phonenumber 28100 application "autoattendant" enabled locale "en_US" maxsessions 4 end trigger ccn trigger sip phonenumber 28111 application "promptmgmt" enabled locale "en_US" maxsessions 1 end trigger
The gateway address is the Cisco SRST router. The phone number parameters must be the same as the route point DNs.
The Initialization Wizard configures the system with the integration parameters and can import users and create mailboxes. You need these items to configure Cisco CallManager for redundancy:
The CTI ports and route points configured in Cisco CallManager
The JTAPI user created and the devices associated with the user
A username and password for Cisco CallManager web access
The Cisco CallManager IP address along with any other Cisco CallManager in the cluster
Note: The Web User Name field is not the Cisco CallManager administrator account when multilevel administration access (MLA) is installed on the Cisco CallManager. Instead, you must use a local system administrator account such as "administrator" along with the password.
Note: The Initialization Wizard checks to make sure that the JTAPI and web user accounts and passwords are correct. The Initialization Wizard also checks to ensure that a compatible Cisco CallManager level is installed. The Initialization Wizard does not allow you to continue unless these values are all correct.
Refer to Configuring the System for the First Time for additional information on the Initialization Wizard.
You can only run the Initialization Wizard once during an install or after a re-install or upgrade. It is required if you want GUI access to Cisco Unity Express.
A complete sample configuration for Cisco Unity Express integrated with Cisco CallManager looks similar to this:
Note: Never copy or paste this configuration into a live system. Pay attention to the fact that you have JTAPI and The Switched Multimegabit Data Service (SMDS) Interface Protocol (SIP) triggers that point to the same applications and have the same phone numbers assigned to them. The CCN subsystem SIP gateway address points to the Cisco SRST router, and the CCN subsystem JTAPI points to the Cisco CallManager. The MWI parameters are the default ones and these are not used. You cannot get MWI to work in Cisco SRST mode no matter what is configured.
VNT-AIM-CUE1#show run Generating configuration: clock timezone America/New_York hostname VNT-AIM-CUE1 ip domain-name cisco.com ntp server 172.18.106.15 groupname Administrators create username administrator create username marschne create username jdoe create username marschne phonenumber "2104" username jdoe phonenumber "2103" groupname Administrators member administrator groupname Administrators member marschne groupname Administrators privilege superuser groupname Administrators privilege ManagePrompts backup server url "ftp://127.0.0.1/ftp" credentials hidden "EWlTygcMhYmjazXhE/VNXHCkplVV4KjescbDaLa4fl4WLSPFvv1rWUnfGWTYHfmPSd8ZZNgd+ Y9J3xlk2B35jwAAAAA=" ccn application autoattendant description "autoattendant" enabled maxsessions 4 script "aa.aef" parameter "MaxRetry" "3" parameter "operExtn" "0" parameter "welcomePrompt" "AAWelcome.wav" end application ccn application ciscomwiapplication description "ciscomwiapplication" enabled maxsessions 4 script "setmwi.aef" parameter "strMWI_OFF_DN" "8001" parameter "strMWI_ON_DN" "8000" parameter "CallControlGroupID" "0" end application ccn application promptmgmt description "promptmgmt" enabled maxsessions 1 script "promptmgmt.aef" end application ccn application voicemail description "voicemail" enabled maxsessions 4 script "voicebrowser.aef" parameter "logoutUri" "http://localhost/voicemail/vxmlscripts/mbxLogout.jsp" parameter "uri" "http://localhost/voicemail/vxmlscripts/login.vxml" end application ccn engine end engine ccn subsystem jtapi ctiport 28001 28002 28003 28004 ccm-manager address 14.80.227.127 14.80.227.128 ccm-manager credentials hidden "+DuGhIBvqsghj6p6aBUoRQ4E0vzCD5YHSd8ZZNgd+ Y9J3xlk2B35j0nfGWTYHfmPSd8ZZNgd+Y9J3xlk2B35jwAAAAA=" end subsystem ccn subsystem sip gateway address "172.18.106.105" end subsystem ccn trigger jtapi phonenumber 28000 application "voicemail" enabled locale "en_US" maxsessions 4 end trigger ccn trigger jtapi phonenumber 28100 application "autoattendant" enabled locale "en_US" maxsessions 4 end trigger ccn trigger jtapi phonenumber 28111 application "promptmgmt" enabled locale "en_US" maxsessions 1 end trigger ccn trigger sip phonenumber 28000 application "voicemail" enabled locale "en_US" maxsessions 4 end trigger ccn trigger sip phonenumber 28100 application "autoattendant" enabled locale "en_US" maxsessions 4 end trigger ccn trigger sip phonenumber 28111 application "promptmgmt" enabled locale "en_US" maxsessions 1 end trigger voicemail default expiration time 30 voicemail default language en_US voicemail default mailboxsize 420 voicemail recording time 900 voicemail default messagesize 60 voicemail operator telephone 0 voicemail capacity time 480 voicemail mailbox owner "jdoe" size 420 description "jdoe mailbox" end mailbox voicemail mailbox owner "marschne" size 420 description "marschne mailbox" end mailbox end
Use this section in order to confirm that your configuration works properly.
The Cisco CLI Analyzer (registered customers only) supports certain show commands. Use the Cisco CLI Analyzer in order to view an analysis of show command output.
Place a call to the DNs configured for each route point. Choose Device > Phone from the Cisco CallManager Administration Page and find the ports in order to verify that the CTI ports are registered. The Status column shows the Cisco CallManager IP address to which the port is registered. The IP Address column shows the Cisco Unity Express IP address. The port is not registered if this field displays Not found.
From the Cisco Unity Express module, issue the show ccn status ccm-manager command.
br2011-cue>show ccn status ccm-manager JTAPI Subsystem is currently registered with Call Manager: 14.86.11.11 JTAPI Version: 3.0(2.3) Release
There is currently no specific troubleshooting information available for this configuration.