Cisco Unified Communication Manager Express config



A phone represents the configuration and settings of the physical IP phone and is associated with a physical device by MAC address. Note that the command for SCCP and SIP phones are different:

  • SCCP:  a ephone, or Ethernet phone, is used to configure this, and the directory number is ephone-dn
  • SIP: a voice register pool is used to configure this phone.

A directory number, also known as an ephone-dn for SCCP or a voice register dn for SIP, is the software configuration in Cisco Unified Communications Manager Express that represents the line connecting a voice channel to a phone.

A directory number has one or more extensions or telephone numbers associated with it to allow call connections to be made. Each directory number has a unique dn tag, or sequence number, to identify it during configuration.

The way to associate the Directory number with a phone is by command button for SCCP and number for SIP.

E.g. In SCCP, the command button 1:2 assigns ephone-dn 2 to button 1 of ephone 1. In SIP, the command number 1 dn 1 in a in voice register pool config mode assigns voice register dn 1 to button 1 .

Number BCD


BCD is just a ‘special’ number used by the default external  MoH configuration.

I will configure for SCCP and SIP below.

SCCP environment
  • SCCP: skinny call control protocol ( Cisco protocol)
  • ephone: An SCCP endpoint is defined within CUCME as an ephone(ethernet phone).
  • dn: directory number for the SCCP

1.  Enters the configuration mode for systemwide parameters for SCCP IP phones in CUCME:


2. enables a router to receive messages from Cisco IP Phones through the specified IP address and port, the SCCP port is 2000:

Router(config-telephony)#ip source-address {ipv4_address | ipv6_address} port] [secondary {ipv4_address | ipv6_address} [rehome seconds]] [any-match | strictmatch]


ip source-address port 2000

The configured IP address might or might not be the same as the TFTP server address. Secondary allow the feature of failure over.

The strict-match keyword instructs the router to reject IP phone registration attempts if the IP server address used by the phone does not match the source address.

3. max-ephone: specify the maximum number of phone, which depends on the hardware platform. use max-ephone ? to check the the max number. By default it is set to 0 to conserver memory.

4. max-dn: Before any directory numbers can be created for SCCP endpoints, the max-dn command must be configured in the telephony-service configuration mode. By default also 0.

5. Date and time format:

Router(config-telephony)#date-format {mm-dd-yy | dd-mm-yy | yy-dd-mm | yy-mm-dd}
Router(config-telephony)#time-format {12 | 24}

6. Keepalive: Determines how frequently keepalives are sent between Cisco IP Phones and a Cisco Unified Communications Manager Express router. If a Cisco Unified Communications Manager Express router fails to receive three successive keepalive messages, it considers the phone to be out of service until the phone re-registers.

The default setting for the keepalives is 30 seconds. To change this interval, use the keepalive command in telephony-service configuration mode.

Router(config-telephony)#keepalive seconds

7. Codec command:  codec {711-ulaw | g722-64k}

8. Generating configuration file for SCCP endpoints

The create cnf-files command in telephony-service configuration mode builds the XML configuration files required for provisioning SCCP phones in Cisco Unified Communications Manager Express. The command writes the files to the location specified with the cnf-file location command.

Router(config-telephony)#create cnf-files

cnf-file command in telephony-service configuration mode affects how many configuration files are generated using the create cnf-files command. By default the options is persystem, which means all phones use a single configuration file.

cnf-file {perphonetype|perphone}

cnf-file location command in telephony-service configuration mode specifies a storage location for phone configuration files. You can put it on another place to save local disk space.

Router(config-telephony)#cnf-file location {flash: | slot0: | tftp tftp-url}


SIP environment

Allow CUCM support SIP end point,  and allow calls between SIP endpoints, you need to enter the voice service VoIP configuration mode and enable the service by command:

Router(config)#voice service voip
Router(conf-voi-serv)#allow-connections sip to sip

Then configure SIP in SIP configuration mode:


enable the registrar server:

Router(conf-serv-sip)#registrar server

The bind command in SIP configuration mode binds the source address for SIP signaling or media packets to the IPv4 or IPv6 address of a specific interface. This command is required if Cisco Unified Communications Manager Express should not use the IP layer to determine the source IP address for SIP communications. If configured, it must match the source-address command configured in the voice register global configuration mode.

Router(conf-serv-sip)#bind {control | media | all} source-interface interface
Configure CUCME for SIP

The voice register global command is used to set provisioning parameters for all supported SIP phones in a CUCME system.

Router(config)#voice register global

enables Cisco Unified Communications Manager Express, The default setting is that the router is enabled only for Cisco SIP Survivable Remote Site Telephony (SRST) but not for SIP-based, so this command should be issued.

Router(config-register-global)#mode cme

Source IP address and associating firmware

Router(config-register-global)#source-address ip-address [port port]

The port should be 5060.

The load command updates the configuration file for the specified phone type to add the name of the correct firmware file that the phone should load.

Router(config-register-global)#load model firmware-file

Enable SIP endpoints

The max-pool command that is configured in the voice register global configuration mode limits the number of SIP phones

Router(config-register-global)#max-pool max-phones

The max-dn command that is configured in the voice register global configuration mode limits the number of SIP phone directory numbers.

You cannot reduce the number of allowable extensions without removing the already configured directory numbers with dn-tags that have a higher number than the maximum number to be configured.

Router(config-register-global)#max-dn max-directory-numbers

The user-locale command specifies the language that the Cisco IP Phone will display. The network-locale command specifies the set of call progress tones and cadences that the phone will use.

Router(config-register-global)#user-locale [index] language-code
Router(config-register-global)#network-locale [index] language-code

The index allows the configuration of multiple user and network locale settings. 0 always holds the default setting that is used for all SIP phones that are not assigned alternative locales. The system default is US (United States).

Similar to SCCP, data and time can be configured:

Router(config-register-global)#date-format {M/D/Y | D/M/Y | Y/D/M | Y/M/D | YY/M/D}
Router(config-register-global)#time-format {12 | 24}

NTP and DST Parameters

The ntp-server command specifies the IP address of the NTP server that is used by SIP phones in a CUCME system. It causes all SIP phones to be synchronized to the specified NTP server.

Router(config-register-global)#ntp-server ip-address [mode {anycast | directedbroadcast | multicast | unicast}]

The dst auto-adjust command enables the DST adjustment of system time. It is enabled by default with the default DST time period.
Router(config-register-global)#dst auto-adjust

The dst start/stop command is used to define the DST period. It is required only if it differs from the default setting.

Router(config-register-global)#dst {start | stop} month [day day-of-month | week week-number | day day-of-week] time hour:minutes

Generate conf files for SIP

create profile command to re-create the file, including the changes just made.

Router(config-register-global)#create profile

The tftp-path command defines the directory to which the configuration profiles are written. The default directory is system memory (system:/cme/sipphone/).

Router(config-register-global)#tftp-path {flash: | slot0: | tftp://url}

The file text command declares that the configuration profiles are written as ASCII text files.

Router(config-register-global)#file text

an example for a group of 7965 phones where the location is Australia eastern time will be:

voice service voip
  allow-connections sip to sip
    bind control source-interface Loopback0
    registrar server
voice register global
  mode cme
  source-address port 5060
  time-format 24
  date-format D/M/Y
  dst start Oct week 1 day Sun time 02:00
  dst stop Apr week 1 day Sun time 02:00
  timezone 47
  ntp-server mode directedbroadcast
  load 7965 SIP45.9-0-2SR1S
  tftp-path flash:
  file text
  create profile


Work with phone


Create SCCP phones

To create an ephone:

Router(config)#ephone phone-tag

The mac-address command associates the MAC address of the endpoint with the endpoint. It specifies 12 hexadecimal characters in groups of four separated by periods; for example, 0000.0a12.3456.

Router(config-ephone)#mac-address mac-address

The type command in ephone or ephone-template configuration mode is used to assign a phone type to an SCCP phone. It is not mandatory for ephone operations, but it affects the configuration file that is created for the defined endpoints and the default configuration file that is generic to all phone types.

Router(config-ephone)#type phone-type [addon 1 module-type [2 module-type]]
Configuring SCCP Ephone Buttons


The button command allows a line button to have one or more ephone-dns assigned to it.

The button-number parameter represents the physical phone button, with the top button being “1.”

Router(config-ephone)#button button-number{separator}dn-tag [,dn-tag...] ... [[button-number{separator}dn-tag] [,dn-tag...]]

The separator parameter is a single character that defines the properties of the button:
■ : (colon): Normal ring. For incoming calls, the phone produces audible ringing, a flashing icon on the phone display, and a flashing red light on the handset.
■ b: Beep but no ring. The audible ring is suppressed for incoming calls, but call-waiting beeps are allowed. The visual cues are the same as those described for a normal ring.
■ f: Feature ring. This option differentiates incoming calls on a special line from incoming calls on other lines. The feature ring cadence is a triple pulse, as opposed to a single pulse for normal internal calls and a double pulse for normal external calls.
■ m: Monitor mode for a shared line. A visible indicator shows if the shared line is in use.
■ o: Overlay line without call waiting. Multiple ephone-dns share a single button, up to a maximum of ten on a button. The dn-tag argument can contain a maximum of ten individual dn-tag values, separated by commas.
■ c: Overlay line with call waiting. Multiple ephone-dns share a single button, with a maximum of ten on a button. The dn-tag argument can contain a maximum of ten individual dn-tag values, separated by commas.
■ s: Silent ring. The audible ring and the call-waiting beep are suppressed for incoming calls. The visual cues are the same as those described for a normal ring.
■ w: Watch mode for all lines on the phone for which this directory number is the primary line. Visible line status indicates whether a watched phone is idle or not.
■ x: Creates an overlay rollover button. When the overlay button specified in this command is occupied by an active call, a second call to one of its ephone-dns will appear on this button. This button is also known as an overlay expansion button.

Controlling Automatic Registration

The auto-reg-ephone command allows automatic registration, in which CUCME allocates an ephone slot to any ephone that connects
to it, regardless of whether the ephone appears in the configuration or not. The auto-registration is enabled by default.


Partially Automated Endpoint Deployment

The auto assign command in telephony-service configuration mode assigns ephone-dn tags to SCCP phones as they register for service with CUCME. This command enables you to assign ranges of ephone-dn tags according to the physical phone type.

Router(config-telephony)#auto assign start-dn to stop-dn [type phone-type] [cfw number timeout seconds]

The cfw and timeout keywords set the Call Forward Busy (CFB) number and timeout values on all phones that automatically

Example of auto assign:

auto assign 1 to 10 type 7961
auto assign 11 to 20 type 7965
auto assign 21 to 40 type 7975
auto assign 41 to 50
Work with SIP phones
Directory numbers (DN)

Create directory Number:

Router(config)#voice register dn dn-tag

The number command defines a valid number for an extension that is to be assigned to a SIP phone.

Router(config-register-dn)#number number

Create SIP phones

The voice register pool command can be used to create the SIP endpoints

Router(config)#voice register pool pool-tag
Router(config-register-pool)#id {network address mask mask | ip address mask mask | mac address}

The type command in voice register pool configuration mode defines a phone type for a SIP phone.

Router(config-register-pool)#type phone-type

The number command in voice register pool configuration mode indicates the E.164 phone numbers that are permitted by the registrar in the register message from the SIP phone. The keywords and arguments of this command allow for more explicit setting of user preferences regarding what number patterns should match the voice register pool.

The tag identifies the telephone number when there are multiple number commands (one to ten numbers are allowed). The optional preference defines the preference order. Range is 0 through 10, while the highest preference is 0. The huntstop option stops hunting if the dial peer is busy.

Router(config-register-pool)#number tag {number-pattern [preference value] [huntstop] | dn dn-tag}

Tuning SIP Phones

The username command in voice register global configuration mode sets authentication credentials for a SIP phone. It is used when authentication is required by the Cisco CUCM

Router(config-register-pool)#username username password string

The optional dtmf-relay command in voice register global configuration mode defines the dual-tone multifrequency (DTMF) relay methods that are supported by a SIP endpoint. This list of methods is advertised by an endpoint when negotiating DTMF relay.
By default, the DTMF tones are transported within a Real-time Transport Protocol (RTP) stream.

Router(config-register-pool)#dtmf-relay {[cisco-rtp] [rtp-nte] [sip-notify]}

Shared Directory number configuration example:

voice register dn 2
number 1100
shared-line max-calls 6
voice register pool 10
id mac 0017.E033.0284
type 7965
number 1 dn 2
voice register pool 11
id mac 00E1.CB13.0395
type 7965
number 1 dn 2
voice register global
mode cme
source-address port 5060
max-dn 2
max-pool 2
authenticate register
authenticate realm
create profile

voice register dn 1
number 901
allow watch
name 901
label frank

voice register pool 1
id mac 0009.0FAA.0001
number 1 dn 1
voice-class codec 1
username 901 password password123

Note that authentication username and registration number to be all the same, eg 901

Install Expansion Module

First of all you need copy the expansion firmware file “Sxxxxxx.bin” to the router flash memory, which is the firmware for the 7914 unit and is included in the ITS3.0 zip file.

Next, find the exact path of the firmware file:

Show flash:

Then, add the following line into the router config :

tftp-server flash:Sxxxxxx.bin

Under the telephony-service config, add the following ( Note here is not the full path, or else you will get error message saying the path is too long) :

load 7914 Sxxxxxx

Now just reboot the phone and  the expansion.