Customizing the Conference Page - Add the record option

I’ve been using FreePBX to setup conferences. The basic options for setting up a conference such as MOH, leader wait, etc. are there, but I need to be able to record some of the conference calls as well and this option is not on the conference page.

I can manually add the “r” option in extensions_additional for my conference, but every time I go back into the conference config page it reloads the options from the database and overwrites my “r” option, which prevents me from recording the conference.

I’d like to be able to add an additional checkbox for recording to FreePBX on the conference page or at the very least be able to set the conferences to save the record option rather than overwriting it each time the conference config page is loaded.

I’ve been trying to find posts on how to customize FreePBX, but haven’t had any luck and I’m not a strong enough programmer to feel comfortable just diving into the code. Does anyone have any experience customizing in this fashion? I’d appreciate any feedback or guidance.



it’s not an immediate solution, but if there is not a feature request already on trac, add on with your request.

For now - you’ll either have to modify the code, or create your conferences manually in a _custom file.

This actually ended up being a whole lot easier than I thought it was going to be. To create a yes/no dropdown list in conferences to set the record option, you just need to SSH into your Trixbox and do the following:

  1. Change to the conference module directory.

[code:1]cd /var/www/html/admin/modules/conferences[/code:1]

  1. Make a backup copy of the current conferences configuration page.

[code:1]cp page.conferences.php page.conferences.php.orig[/code:1]

  1. Open page.conferences.php in nano.

[code:1]nano -w page.conferences.php[/code:1]

  1. Search for the following code:


<?php echo _("allow menu:")?><?php echo _("present menu (user or admin) when '*' is received ('send' to menu)")?></$

$optselect = strpos($options, “s”);
echo ‘<option value=""’ . ($optselect === false ? ’ SELECTED’ : ‘’) . ‘>’.(“No”) . ‘’;
echo ‘<option value=“s”’. ($optselect !== false ? ’ SELECTED’ : ‘’) . ‘>’.
(“Yes”). ‘’;

  1. After the “” above, paste the following code:


<?php echo _("record conference:")?><?php echo _("record the conference to /var/lib/asterisk/sounds")?>

$optselect = strpos($options, “r”);
echo ‘<option value=""’ . ($optselect === false ? ’ SELECTED’ : ‘’) . ‘>’.(“No”) . ‘’;
echo ‘<option value=“r”’. ($optselect !== false ? ’ SELECTED’ : ‘’) . ‘>’.
(“Yes”). ‘’;

  1. Press ctrl+x to exit nano and confirm that you want to write the changes to page.conferences.php.

  2. I’m not sure if step 7 is necessary, but I restarted Amportal. It won’t hurt to do this.

[code:1]amportal restart[/code:1]

Now, if you open FreePBX in your browser, go to Setup, and choose the Conferences module you will see that the last dropdown list gives you the option to record the conference. Select Yes if you want to record, submit the changes, and you can verify that the conference will record by opening extensions_additional.conf and searching for your conference number. You will see a line that contains your options (e.g. M for music on hold and r for record).

Your recordings will be saved to /var/lib/asterisk/sounds by default, though this can be changed as well.

This is my first time editing anything like this, so let me know if I’ve made any mistakes or if you have a better way to handle this.


you should simply make a patch file of the changes you did and post them up on the ticket system as a patch. In here and they will probably get forgotten. On the trac system and they might be added to the system.

To make patch file for each changed file, you simply do:

diff -ubB original_file modified_file > my_patch_file.diff

and then you can paste or attach that to the submitted ticket.

I added it as ticket number 2158.



Perhaps add a field to have it email it to an address when finished?

can you please explain the purpose of your comment please (or should I be shutting down that account because that looks like a malicious attempt/test to see if you can inject a javascript into someone’s browser)? Thanks for clarifying.

I have been trying to use that code in Trixbox that is Asterisk 1.4.22-4

but no luck … I understand that during the canfrence I should press r on the phone that is 7 right? If yes it did not help.

Any advice?