During the early years of my career as a network engineer, I must admit that I felt superior to those Windows Server guys who were doing administration using GUI. My mindset was that using the command line feels more technical than doing mouse clicks to configure something. Oh boy, I was so wrong! Gradually I discovered that some Cisco technologies use GUI because you’re better off using it for some configurations. Examples of this are the CUCM, which features a full GUI-type administration, and Cisco WLC (wireless LAN controller), which has GUI administration as well as command line.

CME (CUCME) has both CLI and GUI for administration. We will discuss the administration through CLI, CME GUI, and CCP (Cisco configuration professional). This article will also include steps on how to install CME GUI and CCP.

CLI Administration

If you are used to GUI, it’s an 80% probability that you hate using CLI. It will surely hurt your head getting used to the syntax. Good thing Cisco devices come with the “?” command, which will give you a detailed description of what a specific command is for.

Once you get the feel of CLI, you will appreciate the flexibility it offers. In the higher voice certifications like CCNP-Voice, it is recommended that you use CLI. Not only is it very good for troubleshooting, but also for doing configurations which can easily be replicated through “copy and paste”. Using GUI is good in some cases, especially when dealing with adding users and phones but it doesn’t offer the whole configuration set that CLI can offer.

In the CLI, the “telephony-service” command is where almost all voice-related configurations reside. An exception to this is the “dial-peers” command. The output below shows the “telephony-service” configuration items.

Cisco Call Manager Express configuration commands.
For detailed documentation see:

 after-hours define after-hours patterns, date, etc
 application The selected application
 auto Define dn range for auto assignment
 call-forward Configure parameters for call forwarding
 caller-id Configure caller id parameters
 calling-number Replace calling number with local for hairpin
 create create cnf for ethernet phone
 date-format Set date format for IP Phone display
 default Set a command to its defaults
 dialplan-pattern Define E.164 telephone number prefix
 directory Define directory naming order or add an entry
 dn-webedit enable Edit DN through Web
 exit Exit from telephony-service configuration mode
 fxo FXO port support option in ITS
 hunt-group Define hunt group report parameter
 ip Define IP address and port for Telephony-Service/Fallback
 keepalive Define keepalive timeout period to unregister IP phones
 load Select the firmware load file
!---------------------output truncated--------------------------!

Similar to the way in which a data router is accessed, the voice router can be accessed via the following:

  • Console—connecting a Cisco rollover cable from a laptop to the router. This doesn’t require any IP address.
  • Telnet…a non-secure way of accessing the device through the network. The data is transmitted in clear text.
  • SSH—more secure way of accessing the device, as the data is encrypted.

CME Installation and Administration

Preparing Phone Firmware Files and GUI Access

A little clarification: The CME tar packages aren’t required to run CME as the feature is already available inside the IOS. This CME package contains files to enable GUI access and to allow the phones to run. You can download these individually, based on your needs, but using CME tar packages is a lot more convenient because it already contains all the files required for the CME version for a specific IOS. . In order to know which CME version you can install inside your router, you need to check the Cisco CME compatibility document that instructs what CME is suitable for an IOS version. The document can be found here.

1. New routers that are ordered for voice usually contain files to run CME GUI. For those without these files, a tar package needs to be downloaded from the Cisco website. Currently the latest version of CME is version 10 but, as mentioned above, you should check which CME version is compatible with your IOS version.

2. Once you have downloaded the file, it should be extracted to the router’s flash. Make sure your flash has enough space to save the files. Set up a TFTP or FTP server to copy the files from the PC to the router. Configure both the PC and router to be in the same subnet and physically connect the PC to the router. In my case, I used an FTP so I configured FTP username and password first before I issued the command.

CME_Intense(config)#ip ftp username intense
CME_Intense(config)#ip ftp password school
CME_Intense#archive tar /xtract flash

The files will start to get extracted as shown below.

CME_Intense#$ /xtract flash:
Loading cme-full-
extracting 7970-71-75-Background-readme-v1.txt (5134 bytes)!
extracting APPS-1.2.1.SBN (2593969 bytes)!!!!!!!!!!
extracting apps11.8-4-1-23.sbn (2925555 bytes)!!!!!!!!!!!
extracting apps31.8-4-1-23.sbn (2925555 bytes)!!!!!!!!!!!!
extracting apps37sccp.1-2-1-0.bin (7892498 bytes)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
extracting apps41.8-4-1-23.sbn (2915997 bytes)!!!!!!!!!!!!
extracting apps42.8-4-1-23.sbn (2918613 bytes)!!!!!!!!!!!
extracting apps45.8-4-1-23.sbn (2918613 bytes)!!!!!!!!!!!!
!---------------------output truncated-------------------!

3. Once the router is done extracting the files, it’s better to check the readme file that contains a copy and paste template. You will see this at the bottom part of the text file. This template contains configuration that will enable tftp service and instruct the router which firmware to load for an IP Phone model.

Figure 1. Readme file of the CME Tar Package

Below is a sample of the configuration you can see in the readme file. The tftp-server command basically tells the router to make this file available if a device requests it through tftp. The load commands tell which firmware and files the router should load for a specific IP phone model. The “create cnf-file” tells to create XML configuration for the phones that includes the firmware and files stated by the “loads” command.

tftp-server flash:SCCP31.8-4-2S.loads
tftp-server flash:apps37sccp.1-2-1-0.bin
tftp-server flash:SCCP11.8-4-2S.loads
tftp-server flash:SCCP41.8-4-2S.loads
tftp-server flash:SCCP42.8-4-2S.loads
cnf-file location flash:
load 7931 SCCP31.8-4-2S.loads
load 7937 apps37sccp.1-2-1-0.bin
load 7906 SCCP11.8-4-2S.loads
load 7911 SCCP11.8-4-2S.loads
load 7941 SCCP41.8-4-2S.loads
load 7942 SCCP42.8-4-2S.loads
create cnf-file

4. Some specific configurations are required to enable GUI access. The excerpt below shows the configuration required. Take note that if you commit a mistake on the “ip http flash:/gui,” you will see a blank gray page. Always check the readme file contained in the CME package to know exactly which directory you should configure. The “web admin system” command enables only the user specified to access the CME GUI page.

CME_Intense#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
CME_Intense(config)#ip http server
CME_Intense(config)#ip http path flash:/gui
CME_Intense(config)#ip http authentication local
web admin system name admin password pass1234

5. Access the CME GUI Page by going to the URL “http://<ip address>/ccme.html.” Log in and you should be able to see the home page.

Figure 2. CME Home Page

CME GUI Administration

We can all agree that learning how to use the GUI is easier than remembering the command syntax. If you have an onsite IT guy who does most of the all-around work, using GUI is a great tool for the day-to-day tasks. The guy doesn’t need a lot of time to learn but is taught how to navigate the GUI to do simple tasks. With detailed documentation available, even a non-technical guy can do simple tasks using the GUI. This proves that the GUI simplifies anything that looks complicated in the command line. In fact, if you forget some commands, you can go to the GUI page to configure here and there; afterwards go to the router and you will see the commands already applied.

The CME GUI consists mainly of telephony features. It might not be complete, but it gets the job done. Another thing I like about it is that it comes with a handy Help page. This can be accessed by clicking on Help->Configuration.

Figure 3. CME Help Page

CCP Installation and Administration

CCP is an application developed by Cisco that can be used to simplify router configuration. This allows configuration for routing, switching, NAT, QoS, CME, and a lot more. Unlike the CME GUI, the CCP offers step-by-step wizard-based configurations. The CCP has a lot more to offer than the CME GUI.

Download the latest CCP software from the Cisco download page. Before installation of the software, the commands below are required for CCP to work.

CME_Intense#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
CME_Intense(config)#interface fa0/0
CME_Intense(config-if)#ip address
CME_Intense(config-if)#no shutdown
CME_Intense(config)#username peterson privilege 15 secret secretpassword
CME_Intense(config)#ip http server
CME_Intense(config)#ip http secure-server
% Generating 1024 bit RSA keys, keys will be non-exportable...[OK]
*Mar 1 00:07:22.863: %SSH-5-ENABLED: SSH 1.99 has been enabled
*Mar 1 00:07:23.427: %PKI-4-NOAUTOSAVE: Configuration was modified. Issue "write memory" to save new certificate
CME_Intense(config)#line vty 0 4
CME_Intense(config-line)#login local
CME_Intense(config-line)#transport input all

The username and password are required for CCP to access the router and make changes to the configuration. The username is recommended to have level 15 privileges. By default, CCP uses telnet and HTTP to connect to the router and configure it. Figure 4 below shows a “Connect Securely” checkbox that will enable CCP to use the more secure protocols, SSH and HTTPS, instead. Enter the username and password you have just configured as shown below. After the authentication and the credentials are accepted, the CCP will do a discovery on the device’s hardware, IOS software and interfaces. If the device isn’t discovered, you will see a “Discover” button after logging in. Figure 5 shows a discovered router. Notice that the sections on the left side are now clickable.

Figure 4. Initial CCP Setup

Figure 5. After Device Discovery

When you go to the Unified Communications part, initially you will notice that only one part is available. This is because the router has not been configured to support CME features. There are four options available, as shown in Figure 6.

Cisco Unified Communications Manager Express—When the router is a standalone call processing system, this option is used.

Gateway—If there is a CUCM available and the router has connections to the PSTN. The router will allow the VOIP network to talk to the PSTN network on the outside world.

Cisco Unified CMED as SRST—This is a bit different than CME in the sense that the initial registration of the phones goes to CUCM. If the phones lose connection to the CUCM, the phones will fall back to the CME as the secondary call processing system.

None—No Unified Communications features enabled.

Figure 6. CME Initial Options

After you have chosen an option, a window will pop up, displaying a preview of commands that the CCP will configure on the router. Click the “Deliver” button to push the configuration to the router.

Once the configuration is applied on the router, the other features of UC can already be configured within CCP, as shown in Figure 7. You can start adding users and phones to your CME using CCP.

Figure 7. CCP Unified Communications Section

In the next article, we will discuss how to add users and phones through CLI and CCP. I hope this has been an enjoyable read! Have a good one now.


CME Software Compatibility


CME Installation


Cisco CCP


Cisco CCP Express


CCNA Voice Official Certification Guide by Jeremy Cioara