Cisco VOIP Basics – Installing Cisco Call Manager Express

This is the second part of my Cisco voip basics series. ( Parts 1, 3 & 4 ) Our goal in this series is to setup a working voice gateway that you could use in your home office. The following covers installation of CME 4.1, and the setup of a Cisco 7960 ip phone on the voice gateway.

Prep Work

Before diving into the installation of our call manager, you’re going to want to do some clean up on your flash. ensure you have 25M free and of course, make sure you have a backup copy of your config and IOS. Obviously a quick way to clean up the flash device would be to format it, but be careful to ensure you restore your IOS from backup and issue a write memory before rebooting.

Uploading CME

Place your CME tar file into the path of your TFTP server. The following command will download and extract the CME software into flash.

Router#archive tar /xtract tftp://[tftp server ip]/cme-basic- flash: 

Once this completes, you can optionally remove any phone files that will not be needed or used on your gateway. These files are stored in flash:/phone/[phone model]/

CME Setup

First thing we need to do is setup the local tftp server on the router. This is done to share the phone load files with your phones as they boot. If you removed any files / directories, you can remove them from the following command from config mode. You will also want to make sure these match what your CMS package comes with.

tftp-server flash:/phone/7906-7911/apps11.8-2-2ES1.sbn alias apps11.8-2-2ES1.sbn
tftp-server flash:/phone/7906-7911/cnu11.8-2-2ES1.sbn alias cnu11.8-2-2ES1.sbn
tftp-server flash:/phone/7906-7911/cvm11sccp.8-2-2ES1.sbn alias cvm11sccp.8-2-2ES1.sbn
tftp-server flash:/phone/7906-7911/dsp11.8-2-2ES1.sbn alias dsp11.8-2-2ES1.sbn
tftp-server flash:/phone/7906-7911/jar11sccp.8-2-2ES1.sbn alias jar11sccp.8-2-2ES1.sbn
tftp-server flash:/phone/7906-7911/SCCP11.8-2-2SR1S.loads alias SCCP11.8-2-2SR1S.loads
tftp-server flash:/phone/7906-7911/term06.default.loads alias term06.default.loads
tftp-server flash:/phone/7906-7911/term11.default.loads alias term11.default.loads
tftp-server flash:/phone/7921/APPS-1.0.1.SBN alias APPS-1.0.1.SBN
tftp-server flash:/phone/7921/CP7921G-1.0.1.LOADS alias CP7921G-1.0.1.LOADS
tftp-server flash:/phone/7921/GUI-1.0.1.SBN alias GUI-1.0.1.SBN
tftp-server flash:/phone/7921/SYS-1.0.1.SBN alias SYS-1.0.1.SBN
tftp-server flash:/phone/7921/TNUX-1.0.1.SBN alias TNUX-1.0.1.SBN
tftp-server flash:/phone/7921/TNUXR-1.0.1.SBN alias TNUXR-1.0.1.SBN
tftp-server flash:/phone/7921/WLAN-1.0.1.SBN alias WLAN-1.0.1.SBN
tftp-server flash:/phone/7936/cmterm_7936.3-3-12-0.bin alias cmterm_7936.3-3-12-0.bin
tftp-server flash:/phone/7940-7960/P00308000400.bin alias P00308000400.bin
tftp-server flash:/phone/7940-7960/P00308000400.loads alias P00308000400.loads
tftp-server flash:/phone/7940-7960/P00308000400.sb2 alias P00308000400.sb2
tftp-server flash:/phone/7940-7960/P00308000400.sbn alias P00308000400.sbn
tftp-server flash:/phone/7941-7961/apps41.8-2-2ES1.sbn alias apps41.8-2-2ES1.sbn
tftp-server flash:/phone/7941-7961/cnu41.8-2-2ES1.sbn alias cnu41.8-2-2ES1.sbn
tftp-server flash:/phone/7941-7961/cvm41sccp.8-2-2ES1.sbn alias cvm41sccp.8-2-2ES1.sbn
tftp-server flash:/phone/7941-7961/dsp41.8-2-2ES1.sbn alias dsp41.8-2-2ES1.sbn
tftp-server flash:/phone/7941-7961/jar41sccp.8-2-2ES1.sbn alias jar41sccp.8-2-2ES1.sbn
tftp-server flash:/phone/7941-7961/SCCP41.8-2-2SR1S.loads alias SCCP41.8-2-2SR1S.loads
tftp-server flash:/phone/7941-7961/term41.default.loads alias term41.default.loads
tftp-server flash:/phone/7941-7961/term61.default.loads alias term61.default.loads

Next, in order to setup the GUI we need to tell the http server on the router where to find the files. The following command adds the path to the http server so we can access http://[router ip]/ccme.html

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

And in order to authenticate, we’ll need to add a web administrator account.

Router(config-telephony)# web admin system name admin secret [your secret password]

Now, before you exit telephony config mode, lets finish up the initial CME configuration. As before, if you removed any phone specific files, remove them from the following config. Entire this is Router(config-telephoney)# mode…

load 7936 cmterm_7936.3-3-12-0
load 7906 SCCP11.8-2-2SR1S
load 7911 SCCP11.8-2-2SR1S
load 7941 SCCP41.8-2-2SR1S
load 7961 SCCP41.8-2-2SR1S
load 7960-7940 P00308000400
load 7921 CP7921G-1.0.1
create cnf-files

Finalizing Router Setup

Now that we’ve got CME up and running, you need to setup DHCP and you should probably go ahead and set your clock and configure ntpd. I’m not going to walk you through the entire dhcp config, but there is an option you need to add. Option 150, this tells your phones where their tftp server is. In our case, its going to be the IP address for your voip vlan. Here is a very basic example..

ip dhcp pool VOIP
   option 150 ip
   lease 7
interface FastEthernet0/0
 description Internal VLAN
 ip address
 speed auto
interface FastEthernet0/0.2
 description VOIP VLAN
 encapsulation dot1Q 2
 ip address

Setting up our first Cisco IP Phone

Ok, we’re finally ready to configure out first Cisco IP phone. Go ahead and get the mac address of the bottom of the unit and configure a port on your switch for the vlan (or if you’re not using any of that you can just plug a crossover cable into the front of your router… ). Plug everything in, except the power for the phone. In our example, we’re going to setup this phone with extension 99 for the office line, and extension 66 for our home line. We need to configure each extension as an Ethernet phone directory numbers or ephone-dn.

ephone-dn  1
 number 88
 label Office  <-- shows on display for line button
 name Office   <-- shows on caller id
ephone-dn  2
 number 55
 label Home
 name Office

Once we have those configured, we can configure our ephone with the mac address from the bottom of your phone and attach our dn's to the buttons on the phone. Here is an example using the 7960.

ephone  1
 description Home Office
 mac-address 0017.94AF.1E62     <--- your phones mac address
 type 7960
 button  1:1 2:2        <--- maps the phone buttons to ephone-dns

That it! Go ahead and write this config out to flash, and power your phone up. Once it gets an ip address and downloads its configuration you should have 2 lines marked on your screen and you should be able to start making calls to your FXS ports. My next post is going to cover setting up your FXO lines and outbound dialing, including dial plans and a simple trunk group.

Network engineer currently servicing the enterprise data center market. I started working on networks in the '90s and still feel like that was just a few years ago. Jack of all trades, master of none; I love to learn about everything. Feel free to ask me about photography, woodworking, nhra, watches, or even networking! -- For feedback, please leave a comment on the article in question, and I'll gladly moderate it several weeks later. For everything else including fan mail or death threats, contact me via twitter.
  • jamesleon

    Great stuff! Thank you I just got my 1st cme 4.1 router cant wait to try.

    • Glad you like it ! The next voip update should be coming either Friday, or I'll hold it over until Monday if its not ready.

      • mandeepmails


        i'm just a beginner to VOIP with query. Gentleman "is this okay to remove the phone files from flash which aren't related to my cisco lab setup?"

        1-All phones i've are 7961 series.
        2-CME which i'wm using contains files for 7906-7911,7914,7920,7921,7931,7937,7940-7960,7942-7962,7945-7965,7970-7971,7975………….and 7941-7961.

        I've 3-2811(256/128) and 3725(128/64)..all with limited flash. i didn't know, it'll be this limited. so thinking about the same..

        Being honest, if anything can be done to do this…that'll be simply great. otherwise i'll be looking for bigger size flash may be 256MB would do. plz advice :-)

  • krunal

    really great post sir…i m just CCNA and learning all this things on my own…really helpful….

  • clay

    I got the error 'tftp file not found'. I followed your example pretty closely?

    • Tony

      Can you be more specific?

  • angel

    j'aimerais que vous m'aidez car c'est urgent pour j'ai perdu ce que j'ai sauvegarder donc si quelle qu'un a une configuration de la voip sur packet tracer avec 3pc et 3ip phone router switch téléphone normal j'aimerais bien s'il peu m'envoyer car j'en es vraiment besoin de mon travaille s'il vous plais si quelle qu'un a cette simulation envoyer moi sur merci

  • CJL

    Thanks for this really helpfull tutorial. I am kind off new to cme and had to prepare 2 cme for testing purpose. You saved me hours of googleling.

    Again, Great Job.

    French Fan ^^

  • Adonay

    Hi, install the CME 7.0 on a Cisco 2801 with IOS c2801-adventerprisek9-mz.124-25e.bin and I want install a 7921G ip phone. My problem is that in telephony-service dosen´t exist
    (load 7921 xxxxxx.loads ) only appears (load 7920)
    and ephone 1 command appears
    type 7920 and 7921 dosen't exist

    what can i do?

  • Thanks for sharing this guide in setting up CME 4.1. and the program running smoothly very helpful.

  • Silas

    Great job there! Can’t wait to try it out.