Ring Back Tunes and Music on Hold

I’ll appreciate if I can get some assistance with this. Following are the tasks that I’d like to accomplish,

  1. If someone calls my extension, he should be able to hear a ring tone (music) rather than the default ringing sound. I know that there is an option in the “General Settings” within FreePBX to set it to either to m->music or r-> the default ringing. However, by setting it to ‘m’ you 'll have the one and only default music played for all the extensions in FreePBX. Here is what I want,

a. I can put in multiple ringtone files other than the default asterisk one so that we can have a variety of choices from which we can select.
b. Each extension should be allowed to set its own ring tune.

The FreePBX General Settings are after all “GENERAL” whereas I 'd like to have it implemented separately for each extension.

The same scenario is with music on hold (MOH).

Just point the direction and I can have a PHP developer to look into the FreePBX code to customize as per my requirement. Nevertheless, I also have the apprehension that by modifying the FreePBX code, the overall functionality might be affected. What can be the safest way out ?

what direction are you looking for? If you have a developer to modify the code for you, they should be able to take a look at it? If you want to hire one of the Developers who work on FreePBX to provide such a customization to you, there should be some who could help you on that also. I think you already know that it can be done.

Alright ! That is my mistake, let me reiterate please

Direction as in to have the task accomplished without modifying the FreePBX source code or with a few tweaks here and there.

However, if it is inevitable to modify the FreePBX source code to achieve this functionality, then I can hire a PHP developer to do this for me.

I definitely understand that this can be done with the help of a professional developer, but if the task is easy and simple, I might be able to do it myself without bearing the cost of the developer.