Basically I am writing this post mainly for me to refer to and also for everyone else to get a basic understanding of how the system works and what each command does. When you read the guides from Cisco it can sometimes be a bit confusing trying to understand how some of it works especially the number manipulation when they are using American Dialling codes when I am based in the UK. I have written this guide based on UK numbers (mainly 0207,0208 and 0203).

This guide will include everything from number manipulation, updating phone firmware, voice mail and AA.

I have done over 20 full systems now from small 10 user systems to large 100-150+ users. All of my system’s have been built using Cisco routers from 2801’s, 2811’s 3825’s and the new Generation two Routers such as the 2901.

I will explain a bit more on how to build a system and what you need (internally, PVDM etc). My systems generally consist of using a SIP Trunk Provider for outside dialling as the cost difference between an ISDN30 or multiple ISDN2’s and using a SIP trunk is vast. (e.g. I just recently did a small 10 user system and reduced a bill from £545/month to £10/month.)

Right the first thing you should know is the “telephony-service setup” command for starting a Call Manager Express Installation has been removed and now Cisco require you use the CCP. To be honest I don’t like all that point and click setup as it’s just too slow. (Although the CCP Voice configuration is much better than the previous very limited GUI based configuration)

Once you have loaded and started the CCP and selected CUCME you can revert back to the command line and continue the configuration (the proper way)

Under Telephony Service the basic configuration you need is the following:

max-ephones 20
max-dn 200
ip source-address 1921.68.80.1 port 2000
voicemail 2000

I always set voicemail to 2000 and the ip source-address needs to be the IP address you will bind the CME too.

The next step is to configure the phones ready to update. To do this you need to first place the files in flash and then publish all the files:

tftp-server flash:SCCP42.8-4-2S.loads
tftp-server flash:term42.default.loads
tftp-server flash:term62.default.loads
tftp-server flash:apps42.8-4-1-23.sbn
tftp-server flash:jar42sccp.8-4-1-23.sbn
tftp-server flash:dsp42.8-4-1-23.sbn
tftp-server flash:cvm42sccp.8-4-1-23.sbn
tftp-server flash:cnu42.8-4-1-23.sbn
tftp-server flash:B015-1-0-4.SBN
tftp-server flash:B015-1-0-3.SBN

The final step is tell which model phone to use what firmware file from the telephony-service mode:

load 7915-12 B015-1-0-3
load 7915-24 B015-1-0-3
load 7962 SCCP42.8-4-2S

Here is my full Telephony-Service config, there is lots of other commands that I use. Some are pretty self explanatory but others I will try and explain:

max-ephones 20
max-dn 200
ip source-address port 2000
max-redirect 5
calling-number initiator
timeouts interdigit 2
system message Argan Capital Advisors LLP
load 7915-12 B015-1-0-3
load 7915-24 B015-1-0-3
load 7962 SCCP42.8-4-2S
time-zone 21
date-format dd-mm-yy
voicemail 2000
max-conferences 8 gain -6
call-forward pattern .T
call-forward system redirecting-expanded
moh Songbird.wav
web admin system name ***** secret 5 ********
transfer-system full-consult
transfer-pattern .T
transfer-pattern 6… blind
secondary-dialtone 9

You are going to need a DHCP server for the Phones so here is an example:

ip dhcp excluded-address
ip dhcp excluded-address
ip dhcp pool Voice
option 150 ip
domain-name test.local

I had a dedicated port (G0/0) that connected to a seperate PoE Switch but you can do a “router on a stick” configuration and create sub interfaces like this example:

interface GigabitEthernet0/0
description **Internal LAN Port**
no ip address
ip policy route-map PBR
duplex auto
speed auto

interface GigabitEthernet0/0.1
description **NATIVE VLAN**
encapsulation dot1Q 1 native
ip address
ip nat inside
ip virtual-reassembly in
interface GigabitEthernet0/0.10
description **DATA VLAN**
encapsulation dot1Q 10
ip address
ip helper-address
ip nat inside
ip virtual-reassembly in
ip policy route-map PBR
interface GigabitEthernet0/0.20
description **VOIP VLAN**
encapsulation dot1Q 20
ip address
ip nat inside
ip virtual-reassembly in

You need to create the Trunk port on the Switch as well but I am going to assume you can do this.

Now you are going to want to start creating Phones and phone extensions now they are able to get an IP address.

Phones and Phone extensions are easy as they are e-phones (ethernet phones)

Example Ephone-DN (ethernet phone directory number)

ephone-dn 70 octo-line
number 970 no-reg primary
pickup-group 200
label SwitchBoard
name SwitchBoard
call-forward max-length 4
call-forward busy 2000
call-forward noan 2000 timeout 10

ephone-dn 71 dual-line
number 971 secondary 442077777971 no-reg both
pickup-group 200
label Adam Jones
name Adam Jones
call-forward max-length 4
call-forward busy 2000
call-forward noan 981 timeout 10

ephone 1
device-security-mode none
mac-address 8CB6.XXXX.XXXX
ephone-template 10
type 7942
button 1:70

ephone 2
device-security-mode none
mac-address 8CB6.XXXX.XXXX
ephone-template 10
type 7942
button 1:71

button 1:70 / 1:71 is how you map Button 1 on the phone to ephone-dn 70. It maps to the DN not the extension!

Outside Line / Dial-Out:

This is based on a SIP Trunk and you need 3 parts to configure this:

Translation rule 2 is for outgoing calls where it maps the extension to the end of 4420777779. For you numbers you need to change the /^9/ to the last digit of the string.

voice translation-rule 2
rule 7 /^9/ /4420777779/

Translation rule 3 is for outgoing numbers dialed as I have 2 rules. Translation rule 3, rule 2 is for dialling 999 it doesnt matter if the user dials 999 or 9999 it will still reach emergency services (users get in a panic when needing to dial emergency services so this will account for either)

Translation rule 3 rule 5 is for stripping the 9 from the dialed digits so it can be forwarded to the SIP provider.

voice translation-rule 3
rule 2 /^999$/ /999/
rule 5 /^9(.*)/ /1/

voice translation-profile SIPPrefix
translate calling 2
translate called 3

dial-peer is needed to match calls with a leading 9 and the T means any amount of digits to follow. This dial-peer links to the voice translation profile (SIPPrefix)

dial-peer voice 5 voip
description **Outgoing Calls to Any Number – SIP TRUNK ORBTALK **
translation-profile outgoing SIPPrefix
destination-pattern 9T
session protocol sipv2
session target sip-server
incoming called-number .%
voice-class codec 1
dtmf-relay rtp-nte
no vad

Other things to mention is the voice class codec 1 is configured in normal global configuration mode (This needs to be confirmed by your SIP Provider):

voice class codec 1
codec preference 1 g711ulaw
codec preference 2 g711alaw

voice service voip
allow-connections h323 to h323
allow-connections h323 to sip
allow-connections sip to h323
allow-connections sip to sip
no supplementary-service sip moved-temporarily
no supplementary-service sip refer
fax protocol t38 version 0 ls-redundancy 0 hs-redundancy 0 fallback none
registrar server

There is a lot to CME but this is the very basics into getting a working system. I will post up other parts of the config like SIP trunk, Cisco Unity Express, Toll Fraud in different posts otherwise this post will become very long and very boring to read.

One thought on “Cisco CallManager Express Basic Setup (CME/CUCME)

Leave a Reply

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