CallManager Express

This page is intended to be a quick, easy to access resource with answers to questions regarding the day-to-day installation, maintenance and support operations of your Cisco CallManager Express environment. This site is not meant to replace Cisco's documentation but to supplement it with answers to scenarios you may encounter.

This site is being transitioned to a new maintainer and host, so check your bookmarks to make sure they are up to date. Many thanks to Pat Jensen for contributing his original site content!

Thanks to the CCME product team and the TAC support teams at Cisco for their support in providing excellent feedback and contributing ideas and resources for this site.

Configuration Guides and How-To's

How do I locate a phone on my network?

CDP (Cisco Discovery Protocol) is a layer 2 protocol that Cisco devices use to report information about themselves to the devices they are connected to. In this case, your phone supplies a CDP heartbeat to your switch to tell it about it's status - vital information such as phone loads, the type of phone connected, the amount of power it's received and the capabilities of that device.

With CallManager Express you can identify a phone by it's phone number listed in it's ephone-dn entry. You can then use the MAC address in it's associated ephone entry to locate it. On a Catalyst switch, you can use the "show cdp neighbor" command to locate a phone and identify its physical port based on it's MAC address. You can get further detail by using the "show cdp neighbor detail" command. An example is shown below:

CCME30-switch#show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone

Device ID Local Intrfce Holdtme Capability Platform Port ID
CCME30-1751V Fas 0/2 163 R Cisco 1751Fas 0/0
SEP0008E3D66320 Fas 0/5 124 H P Cisco IP PPort 1

CCME30-switch#show cdp neighbors FastEthernet 0/5 detail

Device ID: SEP0008E3D66320
Entry address(es):
IP address:
Platform: Cisco IP Phone 7940, Capabilities: Host Phone
Interface: FastEthernet0/5, Port ID (outgoing port): Port 1
Holdtime : 138 sec

Version :

advertisement version: 2
Duplex: full
Power drawn: 6.300 Watts
Management address(es):

How can I assure the reliable operation of my CCME system?

The same techniques that apply in assuring reliable operation of your routers, PBX's and servers apply in maintaining your CCME voice infrastructure. In building out your CCME solutions, whether at a single site or multiple sites, a site survey should be performed before installation to ensure the environment will be able to accommodate your equipment and supply the correct power, clean and cool air and good connectivity to the PSTN. By following these guidelines, you can assure a longer runtime and overall lifetime for your Cisco hardware.

PSTN - You have several options for connectivity to the PSTN, whether you have analog FXO/DID trunks, or a ISDN PRI circuit for larger call volumes. Make sure that you have clean relatively new wiring and jumpers from your punchdown block to your routers ports. Use TDR tested and certified CAT-5e or CAT-6 runs to carry your PSTN trunk wiring to your CCME router. In an environment where a PRI is being used, it is helpful to have several analog trunks available and configured to carry outbound calls on should your primary T1 circuit fail. If you encounter noise on your analog lines, call your LEC's repair service and have your lines tested - this is most likely to happen after a weather event or cable damage. You should always have an outside PSTN line available for emergency 911 calls in a marked and easily accessible location. It is also helpful to maintain spare VIC cards should a failure occur on your router FXO/DID trunk cards.

Space - If space permits, dedicate a rack or enclosure in your data center or phone closet to current and future voice services. Rack mount your routers and switches in a free standing rack or air-filtered closed enclosure. Leave ample room (2 to 4 rack units) for device wiring and ventilation between devices. Keep in mind it is fairly easy to remount to accommodate new devices - it is not easy however, to rewire to accommodate new devices. To prevent unnecessary downtime, wire your CCME router's cabling correctly using channels or wire management inside your enclosure. Also, keep the supplied console cables connected to the device and leave them in the rack should you need to configure it later. This is especially important if there is a tight fit inside the enclosure.

Power - Power is critical to proper operation of your routing and switching equipment. Make sure that clean, backed up power is provided by an appropriately sized UPS and that the UPS is manageable so that you can be alerted to power events. Repeated surges, spikes and brownouts can lower the life of your network gear and significantly decrease the MTBF (mean-time before failure) of your Cisco gear. The cost to purchase power infrastructure is significantly less then the cost of the downtime that will occur due to a power event. With a router running CCME and several power over Ethernet (802.1af and Cisco) switches and all associated devices (phones, APs and cameras), sizing is very important. To prevent unnecessary downtime, a UPS should be purchased at least 3x the power usage to provide longer runtimes during an outage and room to scale for growth of your networking equipment. In industrial plant and warehouse environments where generators are available, make sure that the UPS is placed in line to condition the power coming from a generator to your eqipment and to assure a seamless cut-over. Make sure to track and follow your UPS vendor's instructions on changing UPS batteries once the lifetime has expired. Many vendors supply discounts for recycling used UPS batteries as well.

Also, consider using Cisco's redundant power supply products to product your CCME infrastructure. The Cisco RPS can protect 2600 series routers and stackable switches. The larger Cisco 3745 and 3845 also has a dual power supply option.

Air - Air is a factor that most engineers don't consider when deploying voice and data solutions. Air can kill routers and switches faster then any other factor. Be sure to keep your routers and switches in a clean, filtered enclosure and perform preventative maintenance on your enclosures on a regular schedule.Keep the temperature regulated at 80 degrees or less. Keep in mind that the inside of a closed enclosure, it is 20 degrees F hotter then outside of the enclosure. Rack vent products are available to vent hent from full enclosures into an attic or back through air conditioning systems. Also, airborne particles can also clog switch and router fans and lead to premature heat death. Filters are just as important as AC is inside your enclosures. Do not leave your equipment under a desk or behind cabinets where there is not adequate ventilation, as it will become a "vacuum" and quickly clog fan assemblies and vents. Make sure to maintain a PM (preventative maintenance) schedule to replace enclosure filters and spray router and switch fans with canned compressed air.

Backups - It is very important to maintain up-to-date electronic and hardcopy versions of your CCME configurations, whether you are an installer or customer. During an outage, you don't want to have to reprovision phone sets that you added during your last MAC (moves, adds, changes) period because they were not backed up. Also, print hard copies of your configuration revisions and place them in a dated binder. Depending on your document retention policy, you may choose to store hardcopy backups of your configurations and archived call accounting off-site. If a router or switch fails, you can obtain a replacement, hot spare or cold spare and place an up to date configuration and be running within a short period of time. For more information, see How do I make an offline backup of my CallManager Express configuration?

How do I configure basic LAN quality of service for IP phones?

A basic configuration can be applied to Cisco switches to allow Cisco IP phones to dictate their quality of service to the network, ensuring that LAN-based voice calls are given priority over regular data on your network. The following configuration uses the phone's CDP (Cisco Discovery Protocol) information to determine whether it's quality of service should be trusted and dictated by the connected device. The default Class of service for PCs and networked devices is 0. As configured, Cisco IP phones will be trusted to set their own CoS to 5 automatically, regardless of which port they are plugged in to. This configuration should apply to Cisco IOS based access switches like the Catalyst 2940, 2950, 3550 and 3750.

An example quality of service configuration is shown below:

interface range FastEthernet 0/1 - 24
description Trust devices to set their own CoS
mls qos trust cos
mls qos trust device cisco-phone

If you need to apply a class of service to a device manually, say you have wireless IP phones like 7920s connected to a third-party vendors access point, you can force the switch to override the regular CoS of 0 and give priority to outgoing traffic (only) going to that access point. An example configuration is below:

interface FastEthernet0/6
description Apple Airport - CoS 5
mls qos cos 5
mls qos cos override

Keep in mind this only applies to queued outgoing traffic only. To test and troubleshoot your CoS settings, you can use the "show mls qos interface" command to tell whether a phone's CoS is trusted, or whether it is currently being overridden by your configuration. Here is an example of QoS correctly being trusted from a Cisco IP Phone:

CCME30-switch#show mls qos interface | begin FastEthernet0/5
trust state: trust cos
trust mode: trust cos
COS override: dis
default COS: 0
pass-through: none
trust device: cisco-phone

How do I fix Missed Call/Received Call numbers so that you can dial them from the menu correctly (auto-add a 9, etc.)?

By adding a translation rule to correct incoming calls caller ID information, you can remove the area code for local calls, and add a 1 for long distance calls. Add the following translation rule to your configuration then apply it to your incoming voice ports (i.e. FXO or PRI). This will enable you to correctly be able to place outgoing calls from the Missed Call/Received Calls directory. Replace 559 in the example with your area code. Remove the 9 if you don't need an outbound dial number.

voice translation-rule 1
rule 1 /^559\(.*\)/ /9\1/
rule 2 /\(..........\)/ /91\1/

voice translation-profile filter_559
translate calling 1

voice-port 1/0
translation-profile incoming filter_559

voice-port 1/1
translation-profile incoming filter_559

To test and troubleshoot the proper operation of the translation-rule, use the "test voice translation-rule 1 <number>" command. An example below shows the area code being removed, and a 9 correctly being added.

CCME30-1751V#test voice translation-rule 1 5591234567
Matched with rule 1
Original number: 5591234567 Translated number: 91234567
Original number type: none Translated number type: none
Original number plan: none Translated number plan: none

How do I block 1-900, 10-10-xxx PICs and international calls?

In your telephony-service configuration, use the after-hours block facility to block any defined patterns 24 hours a day. The following example will block 1-900, 10-10-xxx LD PIC codes and international calls. You can add additional phone numbers, by adding another pattern to the list with the beginning digits to block. Once the number is dialed, CCME will send a fast busy signal to the phone.

after-hours block pattern 1 1010 7-24
after-hours block pattern 2 1900 7-24
after-hours block pattern 3 011 7-24

To show your currently blocked patterns, use the "show telephony-service all" command. Here is an example showing the above patterns entered:

CCME30-1751V#show telephony-service all | include after-hours
after-hours block pattern 1 1010 7-24
after-hours block pattern 2 1900 7-24
after-hours block pattern 3 011 7-24

How do I set up multiple phones to share the same lines (overlay DN)?

Multiple phones can be configured to share the same line (as in a key system) by creating an overlay directory
number. This can be accomplished first by defining the ephone-dn and then mapping it as a button on each IP
phone set. Also, multiple lines can be mapped to a single button with CME by using overlay-dn's. This is
important if you want a no-button phone like the 7905/7910/7912 to be able to pick up calls on multiple lines.

An example configuration is below, showing two phone sets mapping 2 outside lines (123-4567, 123-4568) to one line button:

ephone-dn 1
number 1000
label 559-123-4567

ephone-dn 2
number 1001
label 559-123-4568

ephone 1
mac-address 1234.5678.1234
type 7960
button 1o1,2

ephone 2
mac-address 1234.5678.1235
type 7940
button 1o1,2

Why does it take so long to dial?

You may want to change the interdigit timeout, which tells CCME how long to wait before processing the call if a direct dial-peer match is not found. You may want to adjust this based on your users preference and usability. If you find that the call is processed too quickly before the users finish dialing digits, increase the interdigit timeout. This is done in telephony-service configuration mode. See the example below:

timeouts interdigit 3

How do I setup CCME so I don't have to dial a 9 for an outside call?

If you are using CCME in a small office or home office environment, you may find it beneficial to not have to dial a 9 or a trunk access code to reach an outside line. Using the following example configuration, CCME will then rely on the interdigit timeout that is configured before sending the call to the PSTN. CCME will match a local extension (or dial-peer) before it tries to send the call out. It is not advised to use this in multiple CCME gateway environments. If the phone attempts to send digits before you have finished dialing them, adjust the interdigit timeout to a higher value. See the example below:

dial-peer voice 1 pots
destination-pattern T
port 1/0
forward-digits all

dial-peer voice 2 pots
preference 1
destination-pattern T
port 1/1
forward-digits all

timeouts interdigit 3

How do I use Centrex features on a FXO POTS line?

New to CallManager Express 3.0 is the fxo hook-flash command. It is configured in telephony-service mode. You can then use the Flash Softkey on your telephone set during a call to use Centrex services like a regular PSTN phone. Example is below:

fxo hook-flash

How do I setup XML services on CCME so I can get the weather, news and airline information?

Berbee, a Cisco IP phone XML developer, has developed a free XML based portal (like Yahoo!) that you can use on your phone to get the current weather, look up stock quotes and area codes, look at CNN news headlines and download current flight information. You can activate this on CCME by setting your XML services setting. Your CCME router and phones will need to have outbound access to the Internet, and should have a DNS server correctly propagated to your phones via DHCP. Make sure to restart your phones after implementing this, and then press the "Services" button on the phone. Configuration is below:

url services

How do I install newer CallManager 4.0 phone loads and use them with CCME?

You can download CallManager 4.0 phone loads from the CCO web site, and use the ZipScan tool to remove the phone loads from the InstallShield CABs. Warning - For phones that are not running a signed load, you will not be able to revert back to an unsigned load (older then 5.0) as Cisco now signs them for security and file integrity purposes.

To install new phones loads you will need to TFTP the Cisco Application loader, and the new signed phone load to your CCME router. Then add a tftp-server flash:<filename> statement in your CCME router for each file. Adjust the "load 7960-7940" command to point to the Cisco Application Loader .bin file, i.e. (load 7960-7940 P00305000301). You can use "debug tftp-server events", "debug ephone register" and "show ephone phone-load" to determine if your upgrades were successful.

An example is below:

tftp-server flash:P00305000301.bin
tftp-server flash:P00305000301.sbin

load 7960-7940 P00305000301

The following files would need to be copied to your router's flash memory so that the phone can upgrade to the 5.0 build:


The same process will work for the 7920 wireless phones as well, make sure to copy the load and the OS7920.txt file in this case. Please keep in mind newer builds may have bugs and incompatibilities with CCME as the newer builds are only tested against CallManager. It is recommended by Cisco to install the version 5.0 phone loads (and not the 6.0 phone loads) for consistent, reliable CCME operation. You should really only consider upgrading to a newer load for a specific feature or bug fix. If your current load works fine in your environment, don't change it.

How do I support reliable faxing with CCME?

CCME supports using the Cisco ATA-186 (analog telephone adapter) as a SCCP (skinny) device.

However, it is reported that Fax with ATA in SCCP mode can lead to prolems, so the reccomended method is to use the ATA with an H323 firmware.
You will need to TFTP the H.323 load to the ATA-186 and configure the ATA gateway IP address to point to your CCME router's IP address. Make sure that you are configured to use G.711 and no voice activity detection enabled to ensure consistent voice quality. Alternatively, you can use an FXS VIC card in your router plugged directly into the fax machine and configure the voice-port as normal in IOS. See How do I connect analog devices to CCME?

How do I register phones to CCME over the WAN (or the Internet)?

Cisco does not currently provide technical support for CCME phone registration outside of the local network where the
router is being deployed. However, it does work with the following caveats. Please make sure you fully understand
them before attempting to deploy remote registration on your CCME network.

  • Maximum of 10 remote sites, with 1 IP phone at each remote site.
  • E911 or emergency calls are not supported from the remote IP phones.
  • All PSTN access is through the central site. PSTN termination at remote sites are not supported.
  • All calls made to and from Remote IP Phones must use G.711. These include calls from PSTN and autoattendant(AA) and voicemail access. CCME does not support the ability to provision other codecs such as G.729 for Remote IP phones.
  • <>Remote phones cannot use NAT. They must have public IP addresses.
  • CCME does not support trancoding for skinny IP phones registered across the WAN.<>
  • <>CCME does not support Call Admission Control (CAC) so minimal oversubscription of the available bandwidth should be implemented.

Thanks to tesaka @ Cisco for contributing to this scenario.

Why does the local directory or speed-dials only show up on some phones?

I have sometimes seen the flash memory on a phone getting corrupted and not correctly rendering the
Directory/Speed dial list on the phone correctly. This can remedied by checking the following things:

  • Make sure your CME router time is correct and is synced to NTP. If it is not, CME will not correctly generate a new phone configuration file.
  • Go into telephony-service and type "create cnf-files" and then reboot the problematic phone.
  • If this does not work, go into telephony-service and change the user-locale to any other language,then reboot the problematic phone. Once the language has been changed, reset it back to english and reboot it again. This should successfully resolve the problem.

How do I allow my users to setup their speed and fast dials on the CCME web server?

Make sure before you get started that the CCME web files are installed into your Flash. You can do a "dir flash:" command and look for telephony_service.html on your router. If you do not have it installed, you will need to download the CCME GUI package from Cisco's web site (see CCME Files on the Quick Links bar) and use the following command to extract them via TFTP:

archive tar /xtract tftp:// flash:

You may want to replace the listed IP above and filename as appropriate. Once the tar has been installed, you will need to configure the CCME web interface using the following commands:

ip http server
ip http authentication local
ip http path flash:

web admin system name <admin logon> password <admin password>

You can then go into each individual ephone, and set a username and password, using the following command:

ephone 1
username "patj" password CCME

Once you are finished, you can either login on the admin account as configured above, or login as an ephone user. The URL will be http://your.CCME.ip/telephony_service.html. Your users can then change their phone PINs, speed dials and fast dials if they are on a 7940/7960 set. Changes should take effect once they are saved. For users that change their speed dials often, make a shortcut on their Windows desktop to the URL so that they can connect to CCME with one click, or copy it from a login script to their PC.

To verify that the CCME web server is working correctly, you can use the "show ip http server all" and "show ip http server session-module" commands. An example is shown below:

CCME30-1751V#show ip http server all | include status
HTTP server status: Enabled

CCME30-1751V#show ip http server session-module | include ITS
ITS_LOCDIR 9 ITS Local Directory Search
ITS 8 IOS Telephony Service

How do I make an offline backup of my CallManager Express configuration?

If you are using Unity Express, you can use the built-in FTP backup on the web interface to FTP your current CCME, CUE configs and mailboxes to an FTP server running locally on your network.

If you are not using Unity Express for voicemail, you can make an offline backup of your configuration from the IOS command line. Using a terminal program like SecureCRT, Putty or HyperTerminal, you can capture a text file and use the "show running-config" command to download a backup of your current CCME and phone configurations. This is highly recommended, especially if you make frequent changes to your phone database.

If you are running a TFTP server, you can use the "copy running-config tftp" command to download a backup directly to your favorite TFTP server. If you manage multiple CCME boxes, this may be easier. With tools like Kiwi CatTools and CiscoWorks 2000 that can connect to multiple routers at once, they can be scripted and automated to perform nightly backups of your configuration files.

How do I connect multiple CallManager Express systems?

CallManager Express takes advantage of the built-in IOS dial-peer and voice-port functionality. Connecting multiple CCME systems for seamless calling is easy and effective, unless you are in a larger environment (10 or more CCME systems). With larger systems, you should take advantage of the IOS Gatekeeper functionality or SIP Register to perform site-to-site WAN based call processing. That is outside the scope of this scenario, for more information take a look at the IOS Gatekeeper or SIP reference guides, or call the TAC for assistance in deigning and configuring IOS gatekeeper functionality.

To connect two CCME systems, you will need to define a dial-peer entry on each side that points to each other, with the prefix for the extensions between those systems. Here is a network diagram showing this scenario:

scenario 1
Here is an example configuration for both systems, showing the required dial-peer commands to connect them.


dial-peer voice 10 voip
description Connection to CCME-B
destionation-pattern 11..
session target ipv4:

call-forward pattern 1...
transfer-system full-consult
transfer-pattern 1...


dial-peer voice 10 voip
description Connection to CCME-A
destionation-pattern 10..
session target ipv4:

call-forward pattern 1...
transfer-system full-consult
transfer-pattern 1...

You should then be able to perform seamless dialing, H.450.2 consultative call transfer and H.450.3 call forwarding between each site. You can add additional dial-peers to connect to multiple sites. As you can tell, the dial plan on each CCME router will get quite complex once you start adding a large number of sites. A dedicated IOS gatekeeper router is preferred in large network scenarios for WAN-based call processing.

Thanks to Richard Messinger @ Ronco and Joel Jackson @ Cisco for contributing to this scenario.

How do I add a custom text message to my telephone sets?

Cisco IP Phones feature a customizable text message at the bottom of the phone screen near the hotkeys that you can change to your company name, location information, or for event purposes. It is set system wide for all phones and will generally take effect instantly, without having to restart phone sets. An example configuration is below:

system message Happy holidays from XYZ Company!

Another good idea is to set it to the address for that site location, so that mobile users know their current address, or provide your help desk contact information.

How do I set up a basic automated attendant on my CCME router?

CCME ships with a basic configurable automated attendant that can be deployed on your router, without additional hardware. The CCME AA software is a customizable TCL script that is located in the main CCME package. It is a tar file that is extracted via TFTP to your router's flash memory. The AA asks the caller where to forward an extension when an incoming call arrives and then sends the call off, or can forward the call to an operator to be directed. The premade audio files can be modified to suit your purposes, i.e. "Hello, you've reached Pat's Auto. Your call is very important to us. If you know your parties extension, please dial it now otherwise press 0 or hold for an operator."

Once extracted to your router, you then setup a custom voice application and add it to your incoming voice ports. Keep in mind, the AA software is built to handle incoming calls from your voice ports only. You will not be able to dial to it directly from your IP phone sets.

Using the following commands, you can download and install the CCME AA to your router. You will need to obtain the CCME AA package from CCO.

archive tar /xtract tftp:// flash:

You may want to replace the listed IP above and filename as appropriate. Once the tar has been installed, you will need to configure the automated attendant using the following commands:

call application voice ccmeaa flash:its_Cisco.
call application voice ccmeaa language 1 en
call application voice ccmeaa aa-pilot <a pilot number used to reach the AA - should be a number not used elsewhere>
call application voice ccmeaa operator <your operator/receptionist number>
call application voice ccmeaa set-location en 0 flash:

Once you have set your pilot number and where the AA should send calls to the operator, you can then apply your automated attendant to the voice ports you would like it to answer. The example below is for analog FXO ports:

dial-peer voice 1 pots
application ccmeaa
port 1/0
dial-peer voice 2 pots
application ccmeaa
port 1/1

Alternately, for an ISDN PRI here is an example:

dial-peer voice 1 pots
application ccmeaa
incoming called-number 1000 !(for 555-1000 to ring to the AA)
port 1/0:23

Once the AA is installed and tested, you can use the stock audio files to create your own AA using your favorite sound editor tools. Make sure to see the following section on how to install custom ring tones to find out how to properly format and save your AA audio files.

How do I install custom ring tones for my 7920/7940/7960 series sets?

Installing ring tones on a CCME router is a three step process. First, you need to obtain ring tone audio files - these are 8khz 8-bit mono u-Law WAV audio files (just like Music on Hold). You then need to create a RingList.xml file which lists the display names of the ringers, and their file name. Then you need to TFTP those files onto your router, and create a "tftp-server flash:<filename>" entry for RingList.xml, and each ring tone individually.

There are 45 ringtones for Cisco 7920/7940/7960 sets on the Quick Links bar. You can open them with WinZip and extract them to a directory. Then make a RingList.xml that looks like this:

<DisplayName>Indian Call</DisplayName>
<DisplayName>Cartoon Split</DisplayName>

Replace the Display Name and File Name with as many ring tones as you would like to have available. There is a current limitation in early 7920 software in which you can only download 16 ringtones - keep this in mind if you use wireless sets. Then, use your favorite TFTP server and copy your RingList.xml and .raw ring files to your CCME router using the "copy tftp flash" command. Make sure to answer "n" when IOS asks to erase your current flash. Always make a backup of your router's configuration when making changes. After you've copied the ring tones to your router, use the tftp-server flash:<filename> command to tell IOS to serve up your ring tones to your phone sets. An example is below:

tftp-server flash:RingList.xml
tftp-server flash:indiancall.raw
tftp-server flash:cartoonsplit.raw

You should then be able to immediately go into Settings, Ring Type and select and preview your new ring tones. If you have problems, make sure that the tftp-server statements are listed in your configuration, and that you have a valid RingList.xml using the format above, or download an example RingList.xml from the Quick Links bar. The following command can be used to verify proper TFTP server operation:

CCME30-1751V#show running-config | include tftp-server
tftp-server flash:RingList.xml
tftp-server flash:loudlaser.raw

How do I control my phone from my PC running Outlook?

You can control your phone from your PC using the Cisco TAPI stack for Windows. This will allow you to use Phone Dialer and Microsoft Outlook to call contacts directly, and get screen pop ups with contact and notes information when a call is received. Keep in mind that your audio path will go through your phone. Cisco's TAPI stack for CCME does not support multiple lines or audio through the PC yet.

To get started, you will need to assign a username and password to the ephone entry on the CCME router. This provides security so that desktop users can logon to that phone. An example on how to do this is below:

ephone 1
username "patj" password CCME

Once you set passwords on your phone sets, you will need to install the TAPI stack on each PC that will be using their phone. The stack comes with the CCME zip file that you downloaded from CCO. However if you need it, there is a Quick Link to the CCME files to download it. Run the setup.exe and fill out the options for your IP, username and password for the phone.

Once you finished, make sure to reboot. For some reason, a consistent TAPI connection is not made with CCME until after you reboot. You can then run the Phone Dialer on your Windows box, and set Line 1 on your phone as your primary line. Leave Phone Dialer running for screen pop-ups. You should be able to right click on address entries within Outlook and select Call Contact to dial them from your phone set.

If you need to change username information, you can go into the modem control panel, under Advanced and then go into the Properties to reset the IP and account configuration. You will need to reboot after you make changes. You can use the "debug ephone reg" and "show ephone reg" to verify that the TAPI ports are being registered correctly, with the correct password information. Note the passwords are shown in clear text.

How do I create and install my own custom music on hold?

Like custom ringtones, music on hold files need to be 8khz 8-bit mono u-Law audio in WAV or AU format. You can use Microsoft Sound Recorder (included with most versions of Windows) to create your own music on hold, or convert an existing MP3 or other formats. Just make sure that when you save it, you have the correct options selected. You can do this by clicking on Change under Save As.. A screen shot from Sound Recorder is below:

Sound Recorder dialog

Once you have created the MOH file, you can use your favorite Windows TFTP server (I prefer Solarwinds free TFTP server, see the link under Quick Links) and copy it to your router using the "copy tftp flash" command. Try and keep it as small as possible so that it will fit in the router's flash memory and you will have future room for growth for more phone loads.

Remember that it loops as well so it should have a seamless beginning and end to the audio file. Music on hold can also be multicasted through your WAN if you have multiple CCME gateways. For more information, see the Cisco CCME Administration Guide. There are also professional audio tools that can be used for seamless and easy development of your own music on hold audio. Sony Acid Pro is good for developing MOH loops, as well as Syntrillium/Adobe CoolEdit. There are demonstration versions available for testing. An example configuration is below:

moh mymoh.wav

How do I setup and configure CCME and Unity integration?

Setting up Unity integration with CCME is quite simple and involves three processes: Setting up the skinny ports that Unity attaches to, assigning the VM ports a phone number, and configuring message waiting indication. Depending on how many voicemail ports you have, you will associate a voicemail Device ID to that port, and then assign those ports a number. An example configuration is below, broken down in sections to be more easily comprehendable. For more information, see the Cisco Unity CCME integration guide on the Quick links bar listed above.

Step 1 - Set up the skinny ports that Unity attaches to. Add as many as you have licensed.

ephone 1
vm-device-id CiscoUM-VI1
button 1:1

ephone 2
vm-device-id CiscoUM-VI2
button 1:2

ephone 3
vm-device-id CiscoUM-VI3
button 1:3

Step 2 - Assign the Unity VM ports a phone number. Copy ephone-dn 2 for as many ports as you have, increasing the preference for each port. Optimally, you should configure one VM port with an inaccessible number (like A01), so it can be used to send message waiting indication reliably in the event all ports are being used by a call.

voicemail 5000

ephone-dn 1
number 5000
name Unity Voicemail
no huntstop

ephone-dn 2
number 5000
name Unity Voicemail
preference 1

ephone-dn 3
number A01
name Unity Voicemail MWIs

Step 3 - Set up message waiting indication virtual numbers, so that Unity can call CCME and ask it to light a message light on a phone. You can call these numbers directly to fix a stuck lamp as well.

ephone-dn 4
number 9998 secondary 9999
mwi on-off

Make sure to restart the phones once you are done. Unity should be registered with the default CallManager integration settings. For more complex configurations, see the Unity CCME Integration guide on the Quick links bar.

How do I optimize wireless coverage for my 7920 phone sets?

If you are building out a wirelesss network to support IP telephony, it is important that you design based around three factors: VLAN support, Quality of Service and Roaming. These three aspects of your wireless network will highly affect whether your wireless IP telephony implementation is successful. Some customers already have deployed wireless networks that do not use Cisco's access point products - which is fine, so long as you keep voice traffic, latency and jitter in mind when you deploy your wireless handsets. Cisco advises no more then 8 IP phone sets should be associated to more then one AP at once. This is not for bandwidth reasons (~512k at G.711) but for latency and jitter issues when all phones are handling an active call. A break down of these factors in detail is below:

  • VLAN support - It is important to break your voice and data traffic into separate VLANs, as you can apply a higher quality of service separately to your voice VLAN. It also provides a layer of abstraction for security, separating your voice traffic from your data network. Cisco's AP350, AP1200 and AP1300 products support wireless VLANs by using separate SSID wireless network IDs. They can backhaul via VLAN trunking (802.1Q) to a switch that supports it. Your switches are just as important as your AP infrastructure.
  • Quality of Service - In a wireless environment, you'll have additional data in the background, where it is inventory or asset management (retailers, warehouses) or other types of bursty applications (telemedicine) . It is important to separate this traffic and allow priority for voice traffic, so that it is queued and leaves the WLAN first and that packet delivery is consistent and reliable. This reduces jitter (variable delays in packet transmissions) which have the capability to lower voice quality. If your already deployed AP's do not support VLANs and QoS, you can overlay a separate voice wireless network, or mitigate non-voice saturation on your APs by applying QoS at the switch level to ensure the AP does not get saturated with incoming application data. You may have variable levels of success depending on the type of pre-existing traffic.
  • Roaming - This is one of the most common problems with customer-installed WLAN infrastructure. A proper site survey should be performed to determine seamless coverage areas for AP handoffs. This is generally not an issue with typical PCs or PDAs connected to the WLAN - but once IP phones are added to the network and users begin taking advantage of the mobility, it will result in many dropped calls and degraded voice quality as IP phones leave the coverage area. For consistent reliable roaming, access points will need to be optimized for RF power levels and 802.11 channel overlap. Also, authentication and encryption on the wireless network (LEAP or WEP) will need to be configured to allow secure voice connections.

How can I add overhead paging to my CCME system?

Depending on your current environment, station-to-station intercom or group paging may not be acceptable.
If you are in a warehouse, transportation or retail environment - you may need a louder, large area of paging zone coverage. This is fairly common with the existing installed base of KSU and PBX solutions.
Overhead paging devices can be integrated into a CallManager Express environment, sometimes just as easy as adding an additional analog handset or fax machine. When looking at adding overhead paging to your system, make sure to look at the following factors:

  • Interface - Many common paging systems use an FXS port on your router to communicate, and are configured like a standard analog handset to CCME. It is important that you verify vendor availability of the interface ports used to connect to your router in advance of the implementation. Also, if you need to purchase and add an FXS VIC card to your router or IAD ,make sure that you have DSP resources available to drive the newly added ports. The "show voice dsp" command will show you many channels of external voice that your CCMErouter can currently support.
  • Wiring - If this is an existing installation, your wiring to your paging zones should be fine. Keep in mind that if you are adding new zones, wiring will have to be installed to accommodate the newly added speakers. If you are moving your paging system from a phone closet or MPOE to your data center, that wiring will need to be repulled as well.
  • Space - Most paging systems are installed onto a wood backboard on a wall in an existing phone room or closet. Make sure to verify availability and accessibility to that closet before the new system is installed.
  • Power - A majority of overhead paging systems are AC based, and will use a wall mounted power ransformer to supply voltage to the paging system. If you have DC-based phone facilities in your closet, be sure to ask your paging vendor if they can accommodate your power solution.

How can I secure CCME and prevent toll fraud?

Securing CCME is a two-pronged process - encompassing both your voice and data network facilities. Network facing refers to routing and switching infrastructure security. Voice facing refers to toll, voice messaging and phone security, internally and externally to your organization. Network security itself is beyond the scope of this document, but Cisco provides several features that can help secure your data infrastructure such as IOS Auto-Secure. Please study the Cisco SAFE blueprints for more information on how to secure your voice and data infrastructure.

On the voice side, there are several features in CCME that you can take advantage of to secure your voice infrastructure and prevent toll fraud:

  • Call Blocking - This gives you the ability to block calls 24 hours a day, 7 days a week. It is recommended that you block known prefixes that you will not use, such as international calling patterns (011), long distance PIC codes (10-10-xxx) and 1-900 numbers to prevent toll fraud. For more information, see How do I block 1-900, 10-10-xxx PICs and international calls?
  • Phone PINs - This gives you the ability to log in to a phone, and bypass time of day and blocking restrictions and make outbound phone calls.
  • PIN Timeouts - This gives you the ability to lock out a phone after a predetermined amount of time to prevent users in a high traffic zone from terminating toll calls from a phone.
  • Time Based Blocking - This gives you the ability to prevent outbound phone calls, based on time of day. This is important in an 8-5 operation where maintenance and janitorial facilities have access to your voice network after hours.

For more details on these features, please look at the latest version of the CallManager Express manual shown on the Quick Links bar above.

How do I create a system wide phone directory?

To configure a searchable system wide phone directory that is accessible via the Directories button on your phone, you will need to create a directory entry database on your CCME router. CCME can store up to 100 searchable names and phone numbers, with a customizable search order.

An example configuration is below, with first name being listed first.

directory first-name-first
directory entry 1 5551212 name "Pat Jensen"
directory entry 2 5552323 name "Sarat Khilnani"
directory entry 3 5559111 name "Ron Lewis"

Then by pressing the Directories button on your phone, and selecting Local Directory, you can then search against the CCME system wide phone directory. To erase all directory entries on your router quickly, use the "directory entry clear" command in telephony-service configuration mode.

How do I check for known CCME issues, bugs and workarounds?

If you have a CCO account that is registered to a SmartNet contract, you can use the Bug Navigator to search for known issues.

The URL is

Alternately, you can use the IP Telephony Network Professionals connection, or Google Groups to search for reported issues and workarounds, or ask questions to people with experience on the CCME product.

How do I set up Caller ID blocking?

Caller ID blocking can be handled two ways for your users, either by call, or by directory number. Per call blocking allows you to dial a special predetermined prefix to block outgoing caller ID. Per DN blocking allows you to always block caller ID coming from a certain ephone-dn. Caller ID blocking from CCME is only supported in a T1/PRI environment. Analog FXO caller ID blocking can be activated by your LEC on your lines, or you can set up your dial plan to allow you to send the outbound CLASS code to block it per call.

To configure it per call, you can configure a prefix like the example below:

caller-id block code *10

To configure it per DN, you can configure the DN like the example below:

ephone-dn 1
caller-id block

How do I set up phone paging?

Configuring phone to phone paging is a two step process. First, you should determine your paging "zones", or who should be paged. This can be by department, workgroup or all users. You then place each member into a paging-dn or zone. And then, just like a regular phone, you create a ephone-dn and assign it a phone number to reach that zone.

Follow this example to configure paging:

ephone 1
paging-dn 1
ephone 2
paging-dn 1
ephone 3
paging-dn 1

ephone-dn 1
number 2000

Alternately, if you have a switched network that encompasses your voice infrastructure, you can preserve bandwidth by enabling the multicast paging feature. Instead of individual unicast streams being sent to each phone in the paging group, you can send one multicast stream out, conserving bandwidth. An example is below:

ephone-dn 1
number 2000
paging ip port 2000

How do I migrate from CCME to CallManager and SRST?

Migrating from CCME to a full blown Cisco CallManager installation can be broken down into several tasks. The key to a successful migration is the same as installing CCME, it is all about preparation, planning and getting a good picture of the current state of your network.

  • Identify phone assets - Collect your existing CCME router configurations to identify phones, user names and phone locations. Populate an Excel spreadsheet with ephone and ephone-dn information so that you can import it into BAT to bulk create phones and directory information into CallManager. If additional growth prompted you to move to a CallManager deployment, purchase additional switches, phones and ATAs.
  • Identify features and trunks - Get a good idea for what features you are currently using in CCME, and find out if they are currently supported with your version of CallManager. Features like intercom and paging may require extra applications (at an added cost, with additional integration time) to perform the same functionality in CM, depending on your needs. Inventory trunk circuits at each CCME site and determine if any additional trunks will be required to handle traffic from the new CM deployment. This includes additional trunks for tail-end hop off, and SRST for redundancy at those locations. Contact your LEC to order any additional circuits required.
  • Identify voice mail integration - Check compatibility for integration with your existing voice mail systems. Extra hardware may be required if your legacy voice mail system does not support digital trunking or SMDI.
  • Install and implement - Install, configure and test CallManager, Voicemail, Directory (LDAP or AD), DHCP services and test operations and bulk add phones with BAT.
  • Configure routers and SRST functionality - Reconfigure branch routers with SRST. Add SRST locations into CallManager. Verify incoming calls from SRST are routed correctly and dial plans support outbound calls. Verify failover to SRST works correctly during non-peak time.

How do I connect analog devices to CCME?

In a CCME environment, you have several options for analog connectivity. The key differences are the feature sets available to each connected device. You can use a Foreign Exchange Station (FXS) port on a CCME router or other IP router on your network, to connect analog phones, paging systems, fax machines and modems. FXS ports are not provisioned and administered from within CCME, they are configured separately. A voice-port and dial-peer will have to be configured for each individual FXS port. They do not currently support features like message waiting indication. An example configuration for an FXS port is below:

voice-port 1/0
station name Shipping
station number 1100

dial-peer voice 10 pots
destination-pattern 1100$
port 1/0

You can also use an analog gateway product like the Cisco ATA-186/188. This is a small Ethernet connected gateway which provides dual analog ports for phones, fax machines and modems. The ATA is administered just like a standard IP phone from within CCME, and gives you message waiting indication, Caller ID, call waiting and forwarding features. An example configuration for an ATA-188 is below:

ephone 6
mac-address 1234.1234.1234
type ata
button 1:6

ephone-dn 6
name Bus Yard
number 1200

Cisco makes a high density analog gateway called the VG-224 and VG-248 (24 and 48 ports respectively). It supports all analog features like MWI, Caller ID, call waiting, sttuter dialtone, transfer and forwarding. It enables you to use your existing punchdown infrastructure, without rewiring or distributing small adapters to your users. It can take advantage of your closet power protection for a higher reliability solution. Recent versions of CCME support the VG series Analog Voice Gateway.

A recent addition to Cisco's IOS is controlly FXS port in SCCP mode, by implementing SCCP client on the router (selected models). This technique allows a CCME to use local or remote FXS ports as if these where ephones, hence a better integration and homogeneity of features is achieved.

Analog modems and faxes hooked up to an analog gateway are not known to have high connectivity rates over the PSTN. There are a lot of variables that can garble fax communications and cause erratic modem connections. On the CCME side, network conditions such as jitter, echo cancellers and lack of QoS can effect outbound data transmissions. On the PSTN side, wire quality, compression and Pairgain multiplexers can effect outbound data calls as well. Depending on the type of PSTN connectivity you use (FXO/BRI/PRI), you may or may not exceed 14.4k for faxes and 28.8k for modem connectivity. In these cases, it may be helpful to maintain existing telco circuits where analog data quality is important.


6/6/05 - Migrated to Voip-Info Wiki.
22/7/05 - Original Source Referenced.
24/7/06 - Added Highlighting
Created by: patjensen, Last modification: Sat 28 of Apr, 2012 (01:50 UTC) by admin
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+