CUC (6) CUCM (26) Jabber (6) Python (2) Routing (3) Solarwinds Orion NPM (4) switching (1) Video (6) voice (2)

Thursday, 16 May 2013

Changing background images 7945/7965 and 9971/8945


I personally find this a drag to do, but it's like cooking mate! Just follow the recipe. 

First of all, there are two xml files;

List.xml (containing the back ground images) and the Ringlist.xml (containing  Ring tone files).

So each phone type will have their own xml file and will look for that in the directory specific for that phone type (see table below). This means if you have a mix of for instance 7965's and 9971's you will need to alter two List.xml; one in each directory, and you will need 2 Thumbnails, and 2 background.png files. 

Please remember that CUCM is Linux and all directory and file names are case sensitive.

Phone Model
Width x Height (pixels) for full image
Width x Height (pixels) for thumbnail image
Exact Directory 
7906 / 7911
7941 / 7961
7942 / 7962
7945 / 7965
7970 / 7971
8941 / 8945 / 8961 / 9951 / 9971

As an example let's pull up the background list, for a 9951

admin:file view tftp Desktops/640x480x24/List.xml

<ImageItem Image="TFTP:Desktops/640x480x24/TN-latrobe.png" URL="TFTP:Desktops/64                                                                                                                               0x480x24/latrobe.png"/>

I prefer to use the file view options and paste it into notepad. This way you wont get any illegal characters in the xml file. Alternatively you can use a browser to pull the same file  :

http://<ip addr CUCM tftp>:6970/Desktops/640x480x24/List.xml

So now we have the List.xml file in notepad you can start editing it, the structure of the xml file is easy to understand, it has a thumbnail reference and a reference to the actual file location of the background image itself. Use the table above, to create the background images according to their specs and make sure you save the files as PNG.

Go to the OS administration of your CUCM that runs TFTP (if you use multiple TFTP servers, repeat the steps for each server), and go to TFTP file management.

you can do a search for the files present in the phones directory as follows:

Again, make sure your directory syntax is correct, and case sensitive (believe me!).

Now, I always delete the existing List.xml file and then upload the new one.

sequentially restart the TFTP service for all relevant servers.

Lastly I will check my newly uploaded List.xml file to make sure it is loaded and contains no illegal characters, by doing a file view blah blah from the CLI (see above).

Reset your phone to trigger a tftp update.   Et voila. 

Troubleshooting, ah yes, well, phone console logs are your best bet, (browse to the phone's IP address from the CUCM GUI). In these logs you will find things like the List.xml request once the phone is booted for instance. Below is an example of a 7965 pulling the List.xml file using TFTP.

1945: NOT 12:51:04.808139 xxtpClient: xxtp request rcv'd from /usr/tmp/tftp, srcFile = Desktops/320x212x16/List.xml, dstFile = /usr/cache/TEMP-1893572093 max size = 550001 
1946: NOT 12:51:04.820864 xxtpClient: auth server - tftpList[0] = ::ffff: 

Ah screw it, I will talk about ring tones as well. It never ceases to amaze me that whenever you build a UC solution for a customer, one of the things that is brought up by end users, is frikking ring tones and back ground images. You can build a fully redundant super stable solution, but if it aint got the ringtones, its aint worth it. Its like a Mercedes AMG without the coffee cup holder (that is actually a good label for this post).

So, when you understand the background images, you can sort of guess that Ring tones unfold in the same way. The Ring tone files are store in the TFTP root directory.

Ringtone file requirements:

 PCM File Requirements for Custom Ring Types

The PCM files for the rings must meet the following requirements for proper playback on Cisco IP Phones:

Raw PCM (no header)

8000 samples per second

8 bits per sample

mu-law compression

Maximum ring size—16080 samples

Minimum ring size—240 samples

Number of samples in the ring evenly divisible by 240

Ring starts and ends at the zero crossing.


Happy fucking around with background images.!!!!