How to modify/change the background image of an IP Phone
In this procedure I'm going to start from scratch with an image and go step by step on how to tailor it to size an 7965/7945's IP Phone display. At the end there is also a troubleshooting section and links to other IP Phone model image specifics.
1. 7965/7945 IP Phone
2. CallManager Linux-based (5.x/6.x/7.x/8.x)
3. The Gimp editing software (Linux: Installed by default in Ubuntu / Windows: http://www.gimp.org/windows/)
4. A picture file of your preference
1. Read the official guide: http://tools.cisco.com/squish/4441e
2. CallManager Administrator and OS Administrator access
Tailor the picture
1. Open the picture with The Gimp. In my case, the image I selected is 225x168px, so it doesn't meet the size requirements (see Prerequisites).
2. Go to Image > Canvas Size (If your image is bigger than the specified size, go to Image > Scale Image and follow next steps).
4. Click the chain icon next to the pixels drop-down menu, and change the canvas size (or image size if you are scaling it) to Width:320 / Height:212
5. Click the "Center" button so that the image stays centered on the new space, or drag the preview thumbnail to a corner of your choice within the canvas' space (if you are scaling the image the "Center" button and the drag option are not there)
6. Click Resize
8. Now we need to put a white background.
9. Right click the image layer on the layer window flatten.jpg
10. Click Flatten Image at the very bottom.
11. Now we need to make sure there are no more colors than the phone can accept.
12. Go to Colors > Posterize. screenshot_007.pngThis tool works with powers of 2. An IP Phone cannot display more than 65535 colors, so increase or decrease the posterize levels to no more than 15, as 15 is the closest power of 2 to 65535 (2 to the power of 15 is 32768)
13. Click ok
14. Go to File > Save as > choose PNG as the file type
16. Click Save
18. Now lets fabricate the thumbnail
19. Go to Image > Scale Image and type 80 in the Width field
20. The Height field should automatically populate to 53
21. Save the image in PNG type just as we did before
22. Try to keep simple, short names like img.png and img-tmb.png
Create the XML List
Now we will tailor the XML file that lists the available images
1. Download this sample List.xml, or copy this content to a regular text file, and save it as an .xml archive:
<CiscoIPPhoneImageList> <ImageItem Image="TFTP:Desktops/320x212x16/IMAGE-THUMB.png" URL="TFTP:Desktops/320x212x16/IMAGE.png"/> </CiscoIPPhoneImageList>
2. Replace IMAGE-THUMB.png in the code wih the name chosen for your preview size image. Don't forget the double quotes at the end.
3. Replace IMAGE.png in this code with the name chosen for your full size image. Don't forget the double quotes at the end.
4. Save the file so that it reads: List.xml (case sensitive)
5. If you need to present more than 1 image options to your users, copy/paste the <ImageItem.... block and replace the names with the other image names as in step 2 an 3
Upload the files to the TFTP server
Time to upload all 3 files to the TFTP server
1. Go to Cisco OS Administration > Software Upgrades > TFTP File Management
3. Click on Upload File
5. In the Upload File field enter the path where your full size image, thumbnail image and List.xml files are
6. In the Directory field, enter: /Desktops/320x212x16 (include the forward slashes and delete any white space at the end)
7. Hit the Upload file button for each individual file you are transferring
8. Back at the TFTP File Management window, type the name of your files and click Find to verify they are there.
9. Go to Cisco Unified Serviceability > Tools > Control Center - Feature Center > Select the Cisco TFTP radio button and restart the service by clicking the green triangle button at the top of the page, or the Restart button near the end
Change the preferences in your IP Phone
1. On the IP Phone, go to Settings > User Preferences > Background Images, and choose the thumbnail that you want to apply. They should be there now
NOTE: When dealing with image difficulties, try restarting the TFTP after each file upload
Problem: you go to Phone settings, and there you can see other background options, but can't really see the picture
Solution: it is most likely because of the color depth issue. Change the levels as mentioned in step 1-11
Problem: you go to Phone settings, and there are no options to change the image
Solution 1: After saving the file with some text editors, eventhough you specify an .xml extension, the program might add a .txt at the end. Erase it
Solution 2: open an SSH session to the CallManager node where the XML and PNG files were uploaded. run this command, make sure the files were correctly uploaded:
* file list activelog cm/tftpdata/Desktops/320x212x16
If not, then you uploaded them to another node, or there is something wrong with the TFTP transaction
Solution 3: open the List.xml file with a browser. If it shows a syntax error, then there is a quote, bracket or other mistake in the XML syntax. No files will be shown in the phone. A good syntax should look like this in your browser:
Problem: You can see the thumbnail just fine, but when you select it, it shows "FILE NOT FOUND" error message.
Solution 1: At this point we are sure the XML file is ok, because the thumbnail is there, but the path or the name of the full-size image is incorrect. Open the XML list and make sure the image extension is lower case png and not GIF, JPG or other format, and that the name is correct.
Solution 2: see solution 2 from previous Problem
Solution 3: it has happened that the TFTP transaction flow is affected somehow, so you might correct the XML file, save it, but when you go to the upload step you are actually uploading an old version of it, still pointing to a JPG image or to an older image name. In order to verify the contents of the file you just uploaded, run this command from an SSH Session, and check if the syntax is ok and pointing to the correct file:
* file view activelog cm/tftpdata/Desktops/320x212x16/List.xml
Image specifications for other models:
These same instructions may be used with different phone models, however the TFTP directory path may change according to the display size of your model. Please verify the specifics.