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.
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-220.127.116.11.tar 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-service 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 network 10.1.1.0 255.255.255.0 option 150 ip 10.1.1.1 lease 7 !
In the above example, the IP address of the router is 10.1.1.1.
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.