Configuring CUCME from the Ground Up: Basic CUCME
Configuring CUCME is really, really easy. At least a really basic, phones register and can call each other, CUCME configuration is really, really easy. In this post I will help you get your phones registered to your CUCME router, and get their firmware updated to whatever release you downloaded.
What you will need:
A couple Cisco IP phones (IP Communicator or IP Blue will work just fine)
A router and switch with network connectivity between each other (see: CUCM Network Configuration)
A computer running a TFTP server, connected to the above router/switch
CUCME files (download here : You must have a Cisco CCO Account)
Step 1: Enable CUCME on the Router
This is perhaps the easiest thing that you could do. It is only four commands, and POOF!, all of your phones will register with CUCME. They will not have any extensions, but they will at least register.
HQ-CUCME#conf t
Enter configuration commands, one per line. End with CNTL/Z.
HQ-CUCME(config)#telephony-service
HQ-CUCME(config-telephony)#max-ephone 24
HQ-CUCME(config-telephony)#max-dn 48
HQ-CUCME(config-telephony)#ip source-address 192.168.25.254 port 2000
Updating CNF files
CNF files updating complete
HQ-CUCME(config-telephony)#^Z
HQ-CUCME#
I will explain each of the four commands and what they accomplish.
telephony-service
This command enables CUCME on the router. This also enters you into Telephony-Service mode for configuring the rest of the CUCME global properties.
max-ephone 24
This command tells the router the maximum number of phones that will be allowed to register to it. The number is based on the hardware. On my device, I can configure up to 48 ephones.
max-dn 48
This command tells the router the maximum number of directory numbers that will be supported.
ip source-address 192.168.25.254 port 2000
This identifies the IP address and port through which IP phones communicate with a Cisco Unified CME router.
Step 2: Upload CUCME files to the Router’s Flash
Here is where you will need to go to Cisco’s website and download the CUCME version that you want to install. Once you have done this, extract the .zip file to your TFTP root directory. After you have extracted the files, you will see a lot of .tar files, one for the GUI and the rest are the firmware for the various types of phones that you could have in your network. Since I will be using 7970, 7940 & 7912 phones, I will choose the appropriate files.
Organizing the Router’s Flash
I like to be able to look at the contents of the router’s flash and easily see what files are what. So, I will be creating different directories for the different phone’s firmware and other items we upload to the flash. I will be creating a Phones root directory and sub-directories for the 7940-7960 and 7970-7971 firmware files.
HQ-CUCME#mkdir flash:Phones
Create directory filename [Phones]?
Created dir flash:Phones
HQ-CUCME#mkdir flash:Phones/7940-7960
Create directory filename [Phones/7940-7960]?
Created dir flash:Phones/7940-7960
HQ-CUCME#mkdir flash:Phones/7970-7971
Create directory filename [Phones/7970-7971]?
Created dir flash:Phones/7970-7971
Uploading the Firmware Files
The 7940 and 7912 phones use the same firmware which makes it pretty easy. You will see a .tar with the file name starting with P003xxyyyzzz.tar. The one I will be using is P00308000500.tar. This equates to the 8.0(5) firmware version.
The firmware for the 7970 is found in the .tar with 7970 in the file name. The version I will be using is 8.3(3).
HQ-CUCME#archive tar /xtract tftp://192.168.50.10/P00308000500.tar flash:/Phones/7940-7960
Loading P00308000500.tar from 192.168.50.10 (via FastEthernet0/0.50): !
extracting P00308000500.bin (129824 bytes)
extracting P00308000500.loads (458 bytes)
extracting P00308000500.sb2 (705536 bytes)!!!
extracting P00308000500.sbn (130228 bytes)
[OK - 969728 bytes]
HQ-CUCME#archive tar /xtract tftp://192.168.50.10/cmterm-7970_7971-sccp.8-3-3S.tar flash:/Phones/7970-7971
Loading cmterm-7970_7971-sccp.8-3-3S.tar from 192.168.50.10 (via FastEthernet0/0.50): !
extracting apps70.8-3-2-27.sbn (2494499 bytes)!!!!!!!!!
extracting cnu70.8-3-2-27.sbn (547706 bytes)!!
extracting cvm70sccp.8-3-2-27.sbn (2456051 bytes)!!!!!!!!!!
extracting dsp70.8-3-2-27.sbn (530601 bytes)!!
extracting jar70sccp.8-3-2-27.sbn (538527 bytes)!!
extracting SCCP70.8-3-3S.loads (638 bytes)
extracting term70.default.loads (642 bytes)
extracting term71.default.loads (642 bytes)
[OK - 6576640 bytes]
The archive tar /xtract command will automatically extract the files from the .tar into the routers flash. This saves you a whole lot of space than if you were to upload the .tar to the flash and then extract it.
Step 3: Configure the Router as a TFTP-Server
Now we have to define where the router can find the firmware files that we just uploaded to the flash. You do this by using the tftp-server command and then defining exactly where the file is located. Since we have created folders with in the flash to organize everything, we will have to utilize the alias command. The alias command allows you to just reference a simple file name so you don’t have to type out the entire directory location every time.
HQ-CUCME#conf t
Enter configuration commands, one per line. End with CNTL/Z.
HQ-CUCME(config)#tftp-server flash:Phones/7940-7960/P00308000500.bin alias P00308000500.bin
HQ-CUCME(config)#tftp-server flash:Phones/7940-7960/P00308000500.loads alias P00308000500.loads
HQ-CUCME(config)#tftp-server flash:Phones/7940-7960/P00308000500.sb2 alias P00308000500.sb2
HQ-CUCME(config)#tftp-server flash:Phones/7940-7960/P00308000500.sbn alias P00308000500.sbn
HQ-CUCME(config)#tftp-server flash:Phones/7970-7971/apps70.8-3-2-27.sbn alias apps70.8-3-2-27.sbn
HQ-CUCME(config)#tftp-server flash:Phones/7970-7971/cnu70.8-3-2-27.sbn alias cnu70.8-3-2-27.sbn
HQ-CUCME(config)#tftp-server flash:Phones/7970-7971/cvm70sccp.8-3-2-27.sbn alias cvm70sccp.8-3-2-27.sbn
HQ-CUCME(config)#tftp-server flash:Phones/7970-7971/dsp70.8-3-2-27.sbn alias dsp70.8-3-2-27.sbn
HQ-CUCME(config)#tftp-server flash:Phones/7970-7971/jar70sccp.8-3-2-27.sbn alias jar70sccp.8-3-2-27.sbn
HQ-CUCME(config)#tftp-server flash:Phones/7970-7971/SCCP70.8-3-3S.loads alias SCCP70.8-3-3S.loads
HQ-CUCME(config)#tftp-server flash:Phones/7970-7971/term70.default.loads alias term70.default.loads
HQ-CUCME(config)#tftp-server flash:Phones/7970-7971/term71.default.loads alias term71.default.loads
Step 4: Configure CUCME to Use the Firmware
This step will tell CUCME what firmware to use for what type of phone. Under telephony-service you will use the load command followed by the phone model then the proper firmware file. This is where the aliases come in very handy.
When defining what firmware file to use for the phones, you want to use the file that ends in .loads.
After I have the proper files defined, I reset all of the registered phones. This will force them to update their firmware to the specified version.
HQ-CUCME#conf t
Enter configuration commands, one per line. End with CNTL/Z.
HQ-CUCME(config)#telephony-service
HQ-CUCME(config-telephony)#load 7970 SCCP70.8-3-3S
Updating CNF files
CNF files update complete for phonetype(7970)
HQ-CUCME(config-telephony)#load 7960-7940 P00308000500
Updating CNF files
CNF files update complete for phonetype(7940)
CNF files update complete for phonetype(7960)
HQ-CUCME(config-telephony)#reset all
After you have completed all of the above tasks, you will have phones that are running the specified firmware and that register to your CUCME.
In the next portion of this series, I will cover assigning extensions to the phones, assigning ring tones and a few other optional features.
