Cisco Call Manager Express IOS Feature for VoIP
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.
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.
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 cme-3.2.zip 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 192.168.10.1 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:
The following example follows the diagram of our sample network scenario:
- Router1(config)#ip dhcp pool VOIP
- Router1(config-dhcp)#network 192.168.10.0 255.255.255.0
- Router1(config-dhcp)#option 150 ip 192.168.10.1
- Router1(config-dhcp)#default-router 192.168.10.1
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
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:
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:192.168.20.1
- 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’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.