How to Create Cisco Custom Ringtones
One of the favorite customizations of Cisco Call Manager systems is to install and enable custom ringtones. Doing this with the bundled stock ringtones is easy enough, but for those who don’t want to wade through complicated technical documentation, here’s a straight-forward guide for the entire process of making your own and publishing them on your CM/CME device.
To begin, you’ll need three things to begin:
- Digital copies of your desired ringtones… MP3’s, WMA’s, WAV’s, etc.
- WavePad… inexpensive audio editor that makes conversion and editing of ringtones a cinch. It’s free for trial if you’re only planning to use it for a short time, but I highly recommend buying it… it’s also less than Audition which is the only other program that is “recommended” by various posts on the Cisco Support Forums.
- Cisco Configuration Pro (requires Cisco.com login with download privileges)… Cisco utility for Integrated Services Routers (provides a simple interface to upload your files), if you’re running CME.
Creating/Editing Your Ringtones
- Once you install WavePad, open the program and create a new file based on the parameters shown here:
- Click Edit > Insert File > Begin, and pick the audio file to use as your ringtone.
- Edit the file to be less than 20 seconds (18 seconds is the default ring sequence for CM/CME).
- Save the file as a RAW format (don’t use spaces or punctuation in your names), and when prompted, use the following parameters:
- Rinse and Repeat for each desired ringtone.
Preparing the RingList.xml File
Once your ringtones are ready, you need to create a RingList.xml file that will be uploaded in conjunction with the ringtone files. The file can be created and edited with Notepad or other plain-text editor and should look like this:
<CiscoIPPhoneRingList>
<Ring>
<DisplayName>Bass</DisplayName>
<FileName>Bass.raw</FileName>
</Ring>
</CiscoIPPhoneRingList>
For each ringtone you add, you need a <Ring> tag, the DisplayName and FileName tags, and a closing </Ring> tag. For example:
<CiscoIPPhoneRingList>
<Ring>
<DisplayName>Bass</DisplayName>
<FileName>Bass.raw</FileName>
</Ring>
<Ring>
<DisplayName>Chime</DisplayName>
<FileName>Chime.raw</FileName>
</Ring>
</CiscoIPPhoneRingList>
Again, when finished, save the file as RingList.xml and put it in the same location as your ringtones for the following section.
Uploading Your Ringtones and RingList.xml Files
The goal here is to get your files onto the server. Now, there’s varying ways to do this… Telnet/SSH via command-line, TFTP, but I recommend using the Cisco Configuration Professional utility’s File Management tool or the same tool in the older SDM tool. CCP is perfect for CME-based Integrated Services Routers, but may not be as perfect for full-blown CM solutions. In this case, use the tools that work best for you, but ultimately, you need to upload to your CM/CME devices storage for use with its TFTP service.
Once the files are uploaded, dump to command line’s config terminal prompt and issue the following commands:
tftp-server flash:Ringtone.raw
tftp-server flash:RingList.xml
Repeat the first command for each ringtone, replacing Ringtone.raw with the actual filenames.
Once this is done, you may have to restart the TFTP service on full-blown CM servers due to file caching, and you definitely have to issue a “reset” your phones (in other words, restart them). Your ringtones should be listed and working perfectly.
Why did I feel a need to document this when it’s largely a rehash of the Cisco document found here and elsewhere? Simple. The Cisco document gives you the audio parameters required for the audio files, but it makes no recommendation on the programs to use. I really feel it’s important to document exactly what tools work easiest to get the job done. WavePad makes it easy, and let’s face it, the Cisco document does assume you’re quite versed in the whole process.
