Cisco Unified Communications Manager Express Cheatsheet CUCME CME

Getting started, let's enable ephones and DNs we can add a phone with a telephone number:

Router#conf t

!this enables ephone registration otherwise phones cannot register

!max-ephones 2 says we can have a maximum of 2 phones, change to your needs (or to the limit set by your IOS image)
Router(config-telephony)#max-ephones 2

!set the source address of the voice traffic which should be our router's IP address

Router(config-telephony)#ip source-address port 2000

!let's include the following message on the phone for the user: change YourName VOIPto whatever you would like them to see such as your organization name etc..

Router(config-telephony)#system message YourName

!this creates the conf files
Router(config-telephony)#create cnf-files
Post-init cnf creation is in progress, pls re-issue this command later

! set your clock before creating cnf-files
CNF-FILES: Clock is not set or synchronized, retaining old versionStamps

CNF files update complete (post init)

!this below should happen if your CME and phone are setup right. Take the SEP out of and use it as the MAC address later
*Sep 29 21:57:13.467: %IPPHONE-6-REGISTER_NEW: ephone-1:SEP525400123456 IP: Socket:1 DeviceType:Phone has registered.

!this creates our first telephone number (the 1 stands for the ID, not the number)
Router(config)#ephone-dn 1

!now we set the actual phone number or extension
Router(config-ephone-dn)#number 7871

!now we set a name that it shows on the phone and is also visible to people they call
Router(config-ephone-dn)#name Firstname Lastname

!now we create our first phone ID #1
Router(config-telephony)#ephone 1

!now we map our first button on the phone screen to ephone-dn 1 (actual number 7871) from earlier
Router(config-ephone)#button 1:1

!we will get the error below if we don't add the mac-address first
Need to configure ephone mac address or VM station-id

! add the mac address like below before you can map the button. Mapping the MAC address is actually assigning the phone to ephone ID #1

Router(config-ephone)#mac-address 5254.0012.3456

restart a phone remotely:

r2(config)#ephone 1
restarting 5254.0012.3456

figure out which phone number is assigned to which phone:

Router#show ephone telephone-number 7871
DP tag: 0, primary
Tag 1, Normal or Intercom dn
ephone 1, mac-address 5254.0012.3456, line 1

show summary of all ephones:

Router#show ephone summary

ephone-1[0] Mac:5254.0012.3456 TCP socket:[1] activeLine:0 whisperLine:0 REGISTERED
mediaActive:0 whisper_mediaActive:0 startMedia:0 offhook:0 ringing:0 reset:0 reset_sent:0 debug:0 primary_dn: 1*
IP: CIPC keepalive 1006 music 0 1:1

Max 2, Registered 1, Unregistered 0, Deceased 0 High Water Mark 3, Sockets 1
ephone_send_packet process switched 0

Max Conferences 4 with 0 active (4 allowed)
Skinny Music On Hold Status
Active MOH clients 0 (max 600), Media Clients 0, B-ACD Clients 0
No MOH file loaded

show registered ephones:

Router#show ephone registered

ephone-1[0] Mac:5254.0012.3456 TCP socket:[1] activeLine:0 whisperLine:0 REGISTERED in SCCP ver 20/12 max_streams=5
mediaActive:0 whisper_mediaActive:0 startMedia:0 offhook:0 ringing:0 reset:0 reset_sent:0 paging 0 debug:0 caps:11
IP: 50786 CIPC keepalive 1005 max_line 8 available_line 8
button 1: dn 1 number 7871 CH1 IDLE
Preferred Codec: g711ulaw

show phones that tried to register (but probably couldn't for some reason):

show ephone attempted-registrations

show what phone a DN ID number is assigned to (in this case we use 1)

Router#show ephone dn 1
Tag 1, Normal or Intercom dn
ephone 1, mac-address 5254.0012.3456, line 1

Voice Routing

show our dialpeer information/routing:

Router#show dial-peer voice summary
dial-peer hunt 0
20001 pots up down 0 50/0/2
20002 pots up up 7871$ 0 50/0/1

show detailed information about a dialpeer (eg. TAG 20002):

Router#show dial-peer voice 20002
peer type = voice, system default peer = FALSE, information type = voice,
description = `',
tag = 20002, destination-pattern = `',
voice reg type = 0, corresponding tag = 0,
allow watch = FALSE
answer-address = `', preference=0,
CLID Restriction = None
CLID Network Number = `'
CLID Second Number sent
CLID Override RDNIS = disabled,
rtp-ssrc mux = system
source carrier-id = `', target carrier-id = `',
source trunk-group-label = `', target trunk-group-label = `',
numbering Type = `unknown'
group = 20002, Admin state is up, Operation state is down,
incoming called-number = `', connections/maximum = 0/unlimited,
DTMF Relay = disabled,
URI classes:
Destination =
huntstop = enabled,
in bound application associated: 'DEFAULT'
out bound application associated: ''
dnis-map =
permission :both
incoming COR list:maximum capability
outgoing COR list:minimum requirement
Translation profile (Incoming):
Translation profile (Outgoing):
incoming call blocking:
translation-profile = `'
disconnect-cause = `no-service'
advertise 0x40 capacity_update_timer 25 addrFamily 4 oldAddrFamily 4
mailbox selection policy: none
type = pots, prefix = `',
forward-digits 0
session-target = `', voice-port = `50/0/2',
direct-inward-dial = disabled,
digit_strip = enabled,
register E.164 number with H323 GK and/or SIP Registrar = TRUE
fax rate = system, payload size = 20 bytes
supported-language = ''
dial tone generation after remote onhook = enabled
mobility=0, snr=, snr_noan=, snr_delay=0, snr_timeout=0
Time elapsed since last clearing of voice call statistics never
Connect Time = 0, Charged Units = 0,
Successful Calls = 0, Failed Calls = 0, Incomplete Calls = 0
Accepted Calls = 0, Refused Calls = 0,
Last Disconnect Cause is "",
Last Disconnect Text is "",
Last Setup Time = 0.
Last Disconnect Time = 0.

enable dialpeer debugging:

Router#debug voip dialpeer
voip dialpeer default debugging is on

create a voip dialpeer:

The below creates a dialpeer tag "7861" of type VOIP (IP-based and not analog port based)

It sets the destination pattern of 7861 (it means that for when we dial 7861 on the phone) it will be sent to a dial peer on IP192.168.5.1

r2(config)#dial-peer voice 7861 voip
r2(config-dial-peer)#destination-pattern 7861
r2(config-dial-peer)#session target ipv4:

dialpeers are two ways, so for calls to be successful between the parties, let's say we have another phone 7871 on router r2 How can it reach back to 7861 if we don't tell it?

This shows us how to reach 7871 by

r1(config)#dial-peer voice 7871 voip
r1(config-dial-peer)#destination-pattern 7871
r1(config-dial-peer)#session target ipv4:


1. Create COR Tags:

Eg. we are going to create 3 COR Tags, 911, Long Distance and Local Calling which enforces restrictions on the numbers associated with the COR rules.

r2(config)#dial-peer cor custom
r2(config-dp-cor)#name 911

r2(config-dp-cor)#name LongDistance
r2(config-dp-cor)#name Local

Let's view our COR tags:

r2#show dial-peer cor

Class of Restriction
name: 911
name: Local
name: LongDistance

2. Create the outgoing COR Lists and associate them with the tags we created earlier as members.

!we assign our 911 tag to a COR list we call 911-OUT

r2(config-telephony)#dial-peer cor list 911-OUT
r2(config-dp-corlist)#member 911

!we assign our Local tag to a COR list we call Local-OUT

r2(config-dp-corlist)#dial-peer cor list Local-OUT
r2(config-dp-corlist)#member Local

!we assign our LongDistance tag to a COR list we call LongDistance-OUT

r2(config-dp-corlist)#dial-peer cor list LongDistance-OUT
r2(config-dp-corlist)#member LongDistance

3. Create the incoming COR Lists and associate them with the tags we created earlier as members.

Notice that this incoming COR list is more like a database with multiple members. It is a logical way to name them with a - to include all of their member functionality

r2(config-dp-corlist)#dial-peer cor list 911-ONLY
r2(config-dp-corlist)#member 911

r2(config-dp-corlist)#dial-peer cor list 911-LOCAL
r2(config-dp-corlist)#member 911
r2(config-dp-corlist)#member Local

r2(config-dp-corlist)#dial-peer cor list 911-LOCAL-LONGDISTANCE
r2(config-dp-corlist)#member 911
r2(config-dp-corlist)#member Local
r2(config-dp-corlist)#member LongDistance

We have our cor tags and incoming and outgoing lists but we still have to associate them with actual dial-peers for them to take effect.

Keeping track of things let's look at our current cor tags and lists:

do show dial-peer cor

Class of Restriction
name: 911
name: Local
name: LongDistance

COR list <911-OUT>
member: 911

COR list

member: Local

COR list

member: LongDistance

COR list <911-ONLY>
member: 911

COR list <911-LOCAL>
member: 911
member: Local

member: 911
member: Local
member: LongDistance

Now we have to assign outgoing call lists to the dial-peer of the phone numbers we want to have these COR restrictions

r2(config-dial-peer)#dial-peer voice 1
r2(config-dial-peer)#corlist outgoing 911-OUT

Now we have to assign incoming call lists to the relevant DNs:

r2(config)#ephone-dn 1
r2(config-ephone-dn)#corlist incoming 911-ONLY


cisco, unified, communications, cheatsheet, cucme, cmefigure, assigned, router, ephone, dp, primary, intercom, dn, summary, ephones, hairpin_block, tcp, socket, activeline, whisperline, registered, mediaactive, whisper_mediaactive, startmedia, offhook, reset, reset_sent, debug, primary_dn, ip, cipc, keepalive, unregistered, deceased, sockets, ephone_send_packet, conferences, active, moh, acd, sccp, ver, max_streams, paging, caps, max_line, available_line, ch, idle, preferred, codec, ulaw,

Latest Articles

  • virt-resize: error: libguestfs error: could not create appliance through libvirt.
  • Asterisk Does Not Retry When Authentication Fails
  • Linux Debian Ubuntu How To Install PEPPER Faster and Latest Adobe Flash Player in Firefox
  • How To Speed Up Linux Ubuntu and Debian Based Computers By Improving CPU Performance and Changing the CPU Governor
  • Convert data or file to base64 on a single line
  • Linux Mint Ubuntu Debian radeon slow 2D performance issues radeon_dp_aux_transfer_native: 158 callbacks suppressed
  • mdadm: super0.90 cannot open /dev/sdb1: Device or resource busy mdadm: /dev/sdb1 is not suitable for this array.
  • How To Install NextCloud on Centos 7 and Centos 8
  • AH01630: client denied by server configuration:
  • ERROR: Could not find a version that satisfies the requirement PIL (from versions: none) ERROR: No matching distribution found for PIL
  • ZTE Camera Cannot Work unable to connect to camera. Camera has been disabled becaue of security policies or is being used by other apps
  • QEMU KVM how to boot off a physical CD/DVD/BDROM Drive
  • How To Install OpenProject on Centos 7 Step-by-Step Guide
  • Ubuntu Debian Linux Cannot Install Wine Solution - wine1.6 : Depends: wine1.6-i386 (= 1:1.6.2-0ubuntu14.2) but it is not installable wine1.4 : Depends: wine1.6 but it is not going to be installed
  • How To Install python 3.4 3.5 and up on Linux with wine - Working Solution
  • using Xvfb on virtual remote ssh server to have X graphical programs work
  • ssh Received disconnect from port 22:2: Too many authentication failures
  • named bind errors - DNSKEY: unable to find a DNSKEY which verifies the DNSKEY RRset and also matches a trusted key for '.'
  • OpenVZ vs LXC DIR mode poor security in LXC
  • httpd: Syntax error on line 221 of /etc/httpd/conf/httpd.conf: Syntax error on line 6 of /etc/httpd/conf.d/php.conf: Cannot load modules/ into server: /lib64/ symbol __h_errno, version GLIBC_PRIVATE not defined in file libc.s