How To – Get started with Cisco CME

For some time now I’ve had a Cisco 2621XM router kicking around in a cupboard. The great thing about these devices is that they’re capable of running Cisco Communications Manager Express. Cisco CME is great functionality to be embedded into these kinds of devices, it makes a great choice for a branch-office VoIP PBX where only a handful of extensions are required. If you’re just using IP telephony, you just need a basic voice device – no FXO or FXS modules.

What equipment do I need?

A budget lab would work well with either a 1760 or a 2621XM, both of which sell for about £20 on eBay UK. If you’re keen to connect the device up to an analogue system, either using a normal telephone line or some analogue phones you already have you’ll need either FXO or FXS cards.

FXO stands for Foreign Exchange Office, this is the line coming into your property from a telephone provider (BT etc).
FXS stands for Foreign Exchange Station, this is a line you’d connect up to your existing analogue handsets.

These cards, known a VIC’s, can be quite pricey and on the 2621XM will require an intermediate card (NM-2V). If you’re looking at using analogue services it’s probably best to opt with the 1760 to avoid needing this. A 2 port FXO/FXS card sells for around £50.

Basic configuration

I’m going to skip the absolute basics of getting your device attached to the LAN etc and assume you’ve already done that and focus on the voice setup.

First you’ll need to put some content on our Flash. This comprises of ring tones, backgrounds, phone boot files and some other bits. Because of the limited flash capacity you’ll probably want to delete everything off other than the bare essentials. Then probably even open up the cme tar file and remove the files for phones you don’t have. I used 7-Zip to open the tar file and remove almost everything from the “phone” directory.

Router#archive tar /xtract tftp://TFTP Server IP/cme-basic- flash:

Once the contents is on the flash, you’ll need to tell the built-in TFTP server on the router that it can provide some files to your phones as they boot from DHCP. To do that, run the “tftp-server” command to specify the files. As I only have one model of phone I removed the rest from the TAR file before transferring it to the device, so only had one set to load:

Router(config)#tftp-server flash:/phone/7921/APPS-1.0.1.SBN alias APPS-1.0.1.SBN
Router(config)#tftp-server flash:/phone/7921/CP7921G-1.0.1.LOADS alias CP7921G-1.0.1.LOADS
Router(config)#tftp-server flash:/phone/7921/GUI-1.0.1.SBN alias GUI-1.0.1.SBN
Router(config)#tftp-server flash:/phone/7921/SYS-1.0.1.SBN alias SYS-1.0.1.SBN
Router(config)#tftp-server flash:/phone/7921/TNUX-1.0.1.SBN alias TNUX-1.0.1.SBN
Router(config)#tftp-server flash:/phone/7921/TNUXR-1.0.1.SBN alias TNUXR-1.0.1.SBN
Router(config)#tftp-server flash:/phone/7921/WLAN-1.0.1.SBN alias WLAN-1.0.1.SBN

Once that’s done the next step is to set-up the web-based GUI. You need to tell the router to enable the HTTP server and to use a specific path:

Router(config)#ip http server
Router(config)#ip http path flash:gui

With that done you’ll now be able to access the web management at http://Router IP/ccme.html However a web administrator account will need to be created so you can sign in. To do that, enter the telephony-service config mode and create one:

Router(config-telephony)#web admin system name admin secret Your password

A very important step is to configure how many extensions and phones the environment is going to have, this will effect the memory consumption on the device. For a home lab, 10 extensions and 5 phones is probably enough:

Router(config-telephony)#max-dn 10
Router(config-telephony)#max-ephones 5

Before exiting, specify the firmware the router is going to supply for phones. Since I only have one device, this is pretty easy.

Router(config-telephony)#load 7921 CP7921G-1.0.1
Router(config-telephony)#create cnf-files

The basic CME setup is now complete. All that remains at this point is to point phones at the router for TFTP and creating some extensions.

Pointing phones to CME

Getting phones to talk to CME is a piece of cake, we simply need to specify DHCP option 150, for example:

ip dhcp pool LAN
   option 150 ip
   lease 7

In the above example, the IP address of the router is

Setting up a phone

Before you start you need to obtain the MAC address of a the phone, this can be found on a little white sticker underneath the phone. In CME a telephone extension is referred to as an Ethernet phone directory number. Or more simply ephone-dn. Begin by setting up the extension:

ephone-dn  1
 number 101
 label "Dave Hope"
 name "Dave Hope"

The “number” option specifies the extension number, “label” specifies the name as it appears on the device and “name” will show up on Caller ID. You now have your first extension configured. The final process is to map this extension to a handset using the ephone command:

ephone  1
 description "Daves's Desk"
 mac-address 0000.0000.0001
 type 7920
 button  1:1

The “button” command is what maps this phone to the extension (ephone-dn) you created a moment ago.

Power on your phone and you’re good to go.

If there’s any interest in making a mini-series on this subject, let me know and I’ll write up how to setup an FXO card so that you can make outbound calls.

Published by

Dave Hope

Dave works in IT for a leading UK based retirement developer, in his spare time he enjoys tinkering with technology and rock climbing.

3 thoughts on “How To – Get started with Cisco CME”

  1. Dave, this was great !!
    It got me on the way with my first CME !! ( on a 1760)
    Would be great if you could do a step by step on converting 7906/7912s from SIP to SCCP – hint..hint

    Again, Thanks !


    1. Glad to be of assistance. I’m in the process if moving house at the moment so things are a bit busy, but once I’ve settled I may set CME up again and blog some more on the subject.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.