Wednesday, February 25, 2015

CentOS Recovery Use Case 3: Fixing TFTP Custom Ring Tone Issues

I recently published a blog entry on how one could use the CentOS distribution and Recovery process to access the Cisco UCOS root file system. As noted in the initial blog, this isn't a new revelation. I originally was going to provide a group of use cases in the "primer" but decided that it was a little too long. 

So, I am breaking the use cases out into individual entries. Who knows, over time this may become another series. For now, let's focus on one of the CentOS recovery use cases: Fixing the TFTP Custom Ring Tone Issues.

Background

This issue we are going to focus on in this entry is a bug where IP phones are unable to download ring tones. The issue arises as a result of an underlying permissions issue in the OS. We came across the problem when using PCD to upgrade a Cisco UCM cluster from 8.5 to 10.5. 

The software defect is CSCui42799

The Fix

The fix is to change permissions on specific TFTP files. More specifically, the issue is the file ownership.

For example:

Broken Example:
ls -l /usr/local/cm/tftp/Ringlist.xml
-rwxrwx---. 1 adminsftp download      2657 Apr  2  2008 /usr/loca/cm/tftp/Ringlist.xml

Working Example:
ls -l /usr/local/cm/tftp/Ringlist.xml
-rwxrwx---. 1 ctftp ccmbase      2657 Apr  2  2008 /usr/loca/cm/tftp/Ringlist.xml

In the "broken" example, the owner is "adminsftp" but the owner is supposed to be the user "ctftp". You can fix this by adding "rwx" permissions for other users by using "chmod" but a more correct procedure is to change the owner using "chown".

The Procedure

The CentOS boot process is discussed in a separate blog entry (read that first). To fix the TFTP issue, do the following after booting into CentOS:

1. Go to the appropriate directory using the command: cd /usr/local/cm/tftp/

2. Change the ownership of Ringlist.xml using the command:
chown ctftp:ccmbase Ringlist.xml

3. Change the ownership of DistinctingRingList.xml file using the command:
chown ctftp:ccmbase DistinctiveRingList.xml

4. Change the ownership of the raw ring tone files using the command:
chown ctftp:ccmbase *.raw

5. On my system, there is one ring tone that has different ownership (and I am not affected by the software defect). So, you probably want to fix that, too:
chown ccmbase:ccmbase CallBack.raw

6. Type exit at the prompt to reboot the VM.

7. Disconnect the CentOS ISO from your VM guest.


You will need to repeat this process on all TFTP nodes in your UCM cluster.



Thanks for reading. If you have time, post a comment!

1 comment: