I spend most of my time working on Asterisk based phone systems. The majority of the installs that I work on are based on the FreePBX distro which is quite user friendly but limited in ability to change very low level settings. When building out my own personal system, I opted to use the FreePBX distro but also wanted to add fun customization to the system. Below is an outline of how I setup FreePBX to playback a custom Star Wars Theme cadence (thanks to O’Reilly eBook – Asterisk: The Definitive Guide for the cadence structure).
DO NOT DO THIS ON A PRODUCTION SYSTEM
- Ring cadences for Asterisk are stored in a core Asterisk file /etc/asterisk/indications.conf. This file is not directly editable as FreePBX overwrites this file with data stored in a MySQL database.
 - Personally, my MySQL CLI skills are not up to scratch so I cheated and installed phpMyAdmin.  If you have installed FreePBX straight from the distro then you are running Centos; the command to install phpMyAdmin is:
yum install phpmyadmin - Log into phpMyAdmin 
http://{PBX Server Address}/phpmyadmin - You should have a database called “asterisk” available to browse, drill down into that database.

 
- Next find the table within the database named: indications_zonelist

 - In the table that opens, copy the country zone that you are currently in, we only want to change the ring cadence

 - This should open an editor, see changes below.  Press “Go” when done.  Don’t worry about the blob right now.

 - You should be back at the table now, download the blob for “The Rebel Alliance” zone and open it in a text editor.

 - Find the ring section of the file and delete both of the cadences following “ring =” and replace them with:
ring = 262/400,392/500,0/100,349/400,330/400,294/400,524/400,392/500,0/100,349/400,330/400,294/400,524/400,392/500,0/100,349/400,330/400,349/400,294/500,0/2000
 - Save the edited file and upload the blob back to “The Rebel Alliance” indication zone.  Click “Go” to upload and save.

 - Next we need to locate an Asterisk database table “freepbx_settings”

 - Find and edit an entry called “TONEZONE”

 - Within “TONEZONE” find the “Options” line.  Copy and paste the entry into a text editor.

 - The syntax is as follows:
The first line is the total number of items in the list, increment this number by 1 (in my case I went from 53 to 54).The entry syntax is “s:{total number of characters in the short description}:”{short description}”;s:{total number of characters in the long description}:”{long description}”; If you used the naming convention above then your entry will look like below:s:8:”StarWars”;s:18:”The Rebel Alliance”; - Paste the line into a position that reflects its position alphabetically. Press “Go” to save.
 - Head back over to your FreePBX web GUI and head to the advanced settings page.

 - Scroll down and find “Country Indication Tones” and change it to your newly created group, save setting, and reload.

 
You should now be able to test calling between 2 SIP phones with your new ring cadence.
Enjoy!