Cisco Call Manager Express IOS Feature for VoIP

- select the contributor at the end of the page -
Cisco Call Manager Express (CME) is an enhanced IP telephony solution that is integrated into Cisco IOS. It is an ideal solution for small business customers to efficiently use their existing IP data connectivity to incorporate the deployment of voice and IP telephony. Being able to support IP telephony and IP data traffic through a single global converged solution is of great benefit to the customers both for optimizing their operations and for limiting their maintenance costs.

In this article I will present the process of setting up the Cisco call manager express and configuring basic services. Cisco CME has evolved throughout the years, starting from Cisco IOS Telephony Services to Cisco CME 3.0, 3.2 and so on.

For CME 3.2 the minimum Cisco IOS release required is the 12.3(11)T. Always make sure that your router is loaded with the appropriate IOS release to support the functions you are interested in. This article will focus on CME 3.2 using a Cisco router loaded with Cisco IOS Release 12.3(11) T.

Cisco CME Sample Network Scenario

The following figure presents a typical CCME deployment with CME routers interconnected via an IP based technology (Frame relay) and several IP phones and computers connected to them. Moreover, ISDN connectivity is provided through the CME routers.

Cisco Call Manager Express - 1

Installing CME Firmware Files

CME requires certain files to be installed in the router's flash. These special files can be obtained via a zip bundle file from the Cisco Software Center. Among other things, this zip file contains the firmware files of Cisco IP phones and has to be unzipped prior to be transferred to the flash.

After obtaining this archive file (either or cme-basic.3.2.tar) you should uncompress it into your tftp server and use the copy tftp flash command to transfer the files to the router's flash. You should transfer only the firmware files for the phones types that are used in your network.

Afterwards, the following commands need to be provided for preparing the CME to be able to deliver the appropriate IP phone firmware and configuration on a need-to-need basis.

  • Enable router as tftp server and specify the firmware file that the CME will provide access to by IP phones:

    • Router(config)# tftp server flash:[firmware filename]
    • E.g. Router(config)#tftp server flash: P0030702T023.sbn

  • Specify the Cisco IP phone firmware file to be used by specific IP phone types when they register on the system (Throughout the article I assume that Cisco 7940 IP phone is used):

    • Router(config)# telephony
    • Router(config-telephony)#load [phone-type] [firmware-type]
    • E.g. Router(config-telephony)#load 7960-7940 P0030702T023

  • Specify the IP address and port number (default port is 2000) on the CME router that is used for registering IP phones and providing their configuration files (XML files generated by the CME router):

    • Router(config-telephony)#ip source-address [CME ip address] port [port number]
    • E.g. Router(config-telephony)#ip source-address port 2000

  • Build the XML configuration files that need to be provided to the IP phones when the later are registered:

    • Router(config-telephony)#create cnf-files
    • E.g. Router(config-telephony)#create cnf-files

Setting up DHCP Service for the CME

When a Cisco IP phone is attached to the network it queries for DHCP server. The DHCP server responds by assigning an IP address to the phone and providing the IP address of the TFTP server (CME router) for the phone to use to download its firmware and configuration file.

To configure a DHCP pool of IP addresses and to specify the IP address for the TFTP server and the default router use the following command set:

Cisco Call Manager Express - 2

The following example follows the diagram of our sample network scenario:

  • Router1(config)#ip dhcp pool VOIP
  • Router1(config-dhcp)#network
  • Router1(config-dhcp)#option 150 ip
  • Router1(config-dhcp)#default-router

Manually Setting up Phones and Extensions

Before configuring extensions on the phones, you need to understand the concept of "ephones" and "ephone-dn". The "ephone-dn" represents a virtual voice port on the CME system. The more virtual ports you define the more simultaneous call connections can occur.

In contrast to the ephone-dn, an "ephone" represents a physical telephone device on the CME. Therefore to configure basic phone setup you need to specify at least one ephone-dn, provide extension numbers to it and associate a line button on the IP phone with the ephone-dn.

In detail, the following needs to take place:

  • Configure a directory number (ephone-dn) with one voice port and two voice channels:

    • Router(config)# ephone-dn [directory number] dual-line
    • E.g. Router(config)#ephone-dn 1 dual-line

  • Associate a primary and secondary extension numbers to this ephone-dn:

    • Router(config-ephone-dn)# number [extension 1] secondary [extension 2]
    • E.g. Router(config-ephone-dn)#number 1000 secondary 4417021000

  • Enter ephone configuration mode and specify the MAC address of the IP phone which is under configuration:

    • Router(config)#ephone 1
    • Router(config-ephone)#mac-address [phone's MAC address]
    • E.g. Router(config-ephone)#mac-address 2965.f345.2256.a123

  • Associate a button number on the ephone with the specific ephone-dn

    • Router(config-ephone)#button [button number]:[ephone-dn number]
    • E.g. Router(config-ephone)#button 1:1

Connecting Multiple Cisco CME Routers

To be able to direct VoIP calls to and from a second CME system you need to specify the dial patterns on both systems that will trigger a remote connection to the partner site.

You need to configure a dial-peer, associate a destination pattern to it and specify the remote CME's IP address. A destination pattern consists of the exact dial digits or wildcard digits, for example "50.." means anything that has a total of four digits and the first two constitute the number "50".

Here are the necessary commands to do so:

Cisco Call Manager Express - 3

According to our sample network scenario, the following needs to be configured on Router 1:

  • Router1(config)#dial-peer voice 10 voip
  • Router1(config-dial-peer)#description connect to CCME-2
  • Router1(config-dial-peer)# destination-pattern 5...
  • Router1(config-dial-peer)# session target ipv4:
  • Router1(config-dial-peer)# dtmf-relay h245-alphanumeric

Connecting to the ISDN Network

What is missing now is the configuration for making calls to the PSTN and for directing incoming calls from the PSTN to the appropriate IP phone. The commands are really straight forward.

Below I present the configuration needed for receiving a call to number 4417021000 and making calls to the PSTN assuming that an ISDN card is installed on port 0/2 on the CME router. Notice that I use a "pots" dial-peer for PSTN connections.

Cisco Call Manager Express - 4

Final Thoughts

Cisco's CME architecture provides all the necessary telephony services that small to medium size business need. It offers the benefit of using the current data infrastructure for carrying voice traffic hence eliminating added costs. Moreover the ability of configuring advance services is supported and can be very helpful for satisfying specific business needs.

Get our content first. In your inbox.

Loading form...

If this message remains, it may be due to cookies being disabled or to an ad blocker.


Stelios Antoniou

Stelios Antoniou holds a BSc in Electronic Engineering and an MSc in Communication Networks. He has over three years of experience in teaching MS Office applications, networking courses and GCE courses in Information Technology. Stelios is currently working as a VoIP Engineer in a Telecom company, where he uses his knowledge in practice. He has successfully completed training on CCNP topics, Linux and IMS. His enthusiasm, ambition and knowledge motivate him to offer his best. Stelios has written many articles covering Cisco CCENT, CCNA, and CCNP.