When a Cisco IP phone successfully powers up, it will use CDP to determine the voice VLAN it should belong to and then request and receive, at a minimum, an IP address/subnet mask and gateway IP address via DHCP. It also must have the all – important option 150 IP address, which is the location of the TFTP server. The TFTP server is responsible for delivering Cisco phone firmware and configuration files to the phones when requested. The TFTP server can be located anywhere on your network, but in smaller environments, the CUCM Express router is configured for TFTP. This is the first server the IP phone gets its information from. One group of files that our Cisco IP phone will request is its firmware, which is specifically tailored to the type of Cisco phone hardware. If you are using your CUCM Express router to handle TFTP server functionality, you must configure the IOS to serve up the firmware that your phones will request. Because we’ve downloaded and extracted the .tar CUCM Express software, the extraction process neatly placed all the necessary firmware files needed by most phones into an easy - to - understand directory structure. All you need to do is figure out which Cisco phones you will want to allow on your network and then configure the router to serve the appropriate files. You can see all of the firmware file directories by issuing the dir flash:/phone command:
Directory of flash:/phone/
47
drw-
0 Aug 31 2013 18:18:28 +00:00 7945-7965
56
drw-
0 Aug 31 2013 18:18:56 +00:00 7937
58
drw-
0 Aug 31 2013 18:19:24 +00:00 7914
60
drw-
0 Aug 31 2013 18:19:26 +00:00 7906-7911
69
drw-
0 Aug 31 2013 18:19:52 +00:00 7920
71
drw-
0 Aug 31 2013 18:19:58 +00:00 7931
79
drw-
0 Aug 31 2013 18:20:24 +00:00 7942-7962
88
drw-
0 Aug 31 2013 18:28:46 +00:00 7921
96
drw-
0 Aug 31 2013 18:29:30 +00:00 7940-7960
101
drw-
0 Aug 31 2013 18:29:38 +00:00 7970-7971
110
drw-
0 Aug 31 2013 18:30:06 +00:00 7975
118
drw-
0 Aug 31 2013 18:30:34 +00:00 7941-7961
511664128 bytes total (395001856 bytes free)
Let’s assume that we are going to be configuring Cisco 7945, 7965, and 7970 phones in our environment. Therefore, we need to configure our TFTP server to offer all of the files within the flash:/phone/7945 - 7965 and flash:/phone/7970 - 7971 directories. Note that some of the firmware files work for multiple phones. For example, the firmware files required by the Cisco 7945 are the same as those required by the 7965. This is because the phones are essentially identical except for the number of extension buttons they have. The 7945 has four extension buttons, whereas the 7965 has six. Configuring the Cisco CUCM Express router to serve as a TFTP server for the firmware files is quite simple. Each firmware file needs to have its own tftp-server flash:/phone/ < firmware_file > command. Also note that because our CUCM Express files are organized with a directory structure, we must provide a directory alias for the Cisco phones. Remember that Cisco phones are unintelligent devices for the most part. They know only the name of the firmware files and not where they are located. Because we’ve organized our CUCM Express software into directories, we must create aliases so that when the Cisco phone asks for a file, it knows which subdirectory the file is located in. Let’s use the 7945 - 7965 phone firmware files as an example. We’ll first run the dir flash:/phone/7945 - 7965 command to see what firmware files those specific phones will require:
Router# dir flash:phone/7945-7965
Directory of flash:phone/7945-7965/
48
-rw-
2496963
Aug 31 2013 18:26:30 +00:00
apps45.8-3-2-27.sbn
49
-rw-
585536
Aug 31 2013 18:26:34 +00:00
cnu45.8-3-2-27.sbn
50
-rw-
2453202
Aug 31 2013 18:26:44 +00:00
cvm45sccp.8-3-2-27.sbn
51
-rw-
326315
Aug 31 2013 18:26:46 +00:00
dsp45.8-3-2-27.sbn
52
-rw-
555406
Aug 31 2013 18:26:48 +00:00
jar45sccp.8-3-2-27.sbn
53
-rw-
638
Aug 31 2013 18:26:50 +00:00
SCCP45.8-3-3S.loads
54
-rw-
642
Aug 31 2013 18:26:50 +00:00
term45.default.loads
55
-rw-
642
Aug 31 2013 18:26:52 +00:00
term65.default.loads
These phones will need all eight files to fully function properly. To offer up these files for downloading to the phones, we need to configure the following:
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#tftp-server flash:/phone/7945-7965/apps45.8-3-2-27.sbn alias apps45.8-3-2-27.sbn
Router(config)#tftp-server flash:/phone/7945-7965/cnu45.8-3-2-27.sbn alias cnu45.8-3-2-27.sbn
Router(config)#tftp-server flash:/phone/7945-7965/cvm45sccp.8-3-2-27.sbn alias cvm45sccp.8-3-2-27.sbn
Router(config)#tftp-server flash:/phone/7945-7965/dsp45.8-3-2-27.sbn alias dsp45.8-3-2-27.sbn
Router(config)#tftp-server flash:/phone/7945-7965/jar45sccp.8-3-2-27.sbn alias jar45sccp.8-3-2-27.sbn
Router(config)#tftp-server flash:/phone/7945-7965/SCCP45.8-3-3S.loads alias SCCP45.8-3-3S.loads
Router(config)#tftp-server flash:/phone/7945-7965/term45.default.loads alias term45.default.loads
Router(config)#tftp-server flash:/phone/7945-7965/term65.default.loads alias term65.default.loads
Router(config)#
We’ve now successfully configured our CUCM Express router to serve up firmware files for the Cisco 7945 and 7965 phones using TFTP. Let’s go ahead and finish off this example by configuring the router to serve up firmware files for the Cisco 7971 phones. First we look in the phone directory for the 7970 and 7971 phones:
Router# dir flash:/phone/7970-7971
Directory of flash:/phone/7970-7971/
102
-rw-
2494499
Aug 31 2013 18:29:46 +00:00
apps70.8-3-2-27.sbn
103
-rw-
547706
Aug 31 2013 18:29:48 +00:00
cnu70.8-3-2-27.sbn
104
-rw-
2456051
Aug 31 2013 18:29:58 +00:00
cvm70sccp.8-3-2-27.sbn
105
-rw-
530601
Aug 31 2013 18:30:00 +00:00
dsp70.8-3-2-27.sbn
106
-rw-
538527
Aug 31 2013 18:30:04 +00:00
jar70sccp.8-3-2-27.sbn
107
-rw-
638
Aug 31 2013 18:30:06 +00:00
SCCP70.8-3-3S.loads
108
-rw-
642
Aug 31 2013 18:30:06 +00:00
term70.default.loads
109
-rw-
642
Aug 31 2013 18:30:06 +00:00
term71.default.loads
511664128 bytes total (395001856 bytes free)
Now we configure IOS to begin serving up these files using TFTP:
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#tftp-server flash:/phone/7970-7971/apps70.8-3-2-27.sbn alias apps70.8-3-2-27.sbn
Router(config)#tftp-server flash:/phone/7970-7971/cnu70.8-3-2-27.sbn alias cnu70.8-3-2-27.sbn
Router(config)#tftp-server flash:/phone/7970-7971/cvm70sccp.8-3-2-27.sbn alias cvm70sccp.8-3-2-27.sbn
Router(config)#tftp-server flash:/phone/7970-7971/dsp70.8-3-2-27.sbn alias dsp70.8-3-2-27.sbn
Router(config)#tftp-server flash:/phone/7970-7971/ jar70sccp.8-3-2-27.sbn alias jar70sccp.8-3-2-27.sbn
Router(config)#tftp-server flash:/phone/7970-7971/SCCP70.8-3-3S.loads alias SCCP70.8-3-3S.loads
Router(config)#tftp-server flash:/phone/7970-7971/term70.default.loads alias term70.default.loads
Router(config)#tftp-server flash:/phone/7970-7971/term71.default.loads alias term71.default.loads
Router(config)#
That’s all there is to it! At this point, if you were to add one of these phones to your network, it would receive all the necessary IP information and download the phone firmware files from the TFTP server. The phone will not register to the CUCM Express, however. It is still missing vital configurations that must be set up on the CUCM Express for the registration process to occur.