Custom System Recording for IVR

Dear FreePBX community.

I am currently trying to extend the web interface to allow me to enter a file name/path for system recordings. I.e. only “Test1” instead of the drop-down only list.
Has anyone tried this before or got it to work?

The background is that I want a single IVR, and when I select the recording, I want asterisk to look in the appropriate language channel directory, so I only have to create one IVR instead of multiple for multiple languages.

It doesn’t seem like the standard GUI lets you do this. For example, if I want digits/6 to be played the the channel’s current language, FreePBX won’t let me, because the System Recording only lets me select en/digits/6 or es/digits/6. That means separate recordings and hence separate IVRs.

Is there an easier way to create a “manual” system recoding? I.e. one where I can just enter the filename rather than being forced to select from the list…?

It is certainly not really great that FreePBX doesn’t allow for multi-language recordings, as the use of such recordings propagates all throughout the system and goes much farther than just IVRs. Having the System Recording section be able to handle multiple languages would allow Asterisk to do its thing to provide the right prompts, and I doubt FreePBX would even need to do anything different to support various things like IVRs, Announcements, etc.

If you are getting issue updates for the bug that you logged in FreePBX you’ll already see that I found a way around this problem.

My work around is here:

Basically… I changed the path that FreePBX stores to use a relative path which Asterisk can then use with the standard language file folder structure. This way, it will always overwrite custom settings with what you want as well.

Thank you for your answer.
I’ve re-posted the changes in the form of code blocks for you or anyone else to review.
It’s rather crude since the files need to be moved into the subdirectories manually, but this could be improved if the new recordings module would let you specify the final destination of the recording rather than hardcoding it to ‘custom’…