BUG: Brand new Elastix 1.1 with FreePBX 2.3 - upgrade to 2.4 results in unable to symlink sip.conf


I’m evaluating Elastix 1.1, which comes with FreePBX 2.3.

I’m trying to test the end-user experience.

With no tinkering behind the scenes at all, I managed to end up with an “retrieve_conf failed to sym link the /etc/asterisk/sip.conf file from modules” error in the FreePBX status.

My steps:

  1. New install of Elastix 1.1
  2. Created one SIP extension.
  3. In FreePBX “unembedded”, “Tools”, I first upgraded everything to 2.3 latest
  4. I then installed the 2.4 upgrade tool
  5. Executed that, then, following instructions, did FreePBX upgrade, then did all the other modules.

The result is the error “retrieve_conf failed to sym link the /etc/asterisk/sip.conf file from modules” showing in then FreePBX Notices.

Looking in the /etc/asterisk directory I see a sip.conf file. I understand this should have been replaced by a symlink to /var/www/html/admin/modules/core/etc/

I think this should have happened automatically - an end user is now stuck because manual manipulation is required in the shell.

I guess that all of extensions.conf, features.conf, sip.conf and iax.conf are supposed to be symlinks to /var/www/html/admin/modules/core/etc? In my case only features.conf ended up as a symlink with a features.conf.0. For the other files I have no “.0” file.

Hope this bug report is helpful.

Steve Davies

See #2864 - this is a bug in the original Elastix installation that they should be aware of.

Just a quick question… What is the 10 second fix to create the link? I want to make sure it is pointing to the right place.

delete the hard file that it is complaining about, then go press the orange ‘Apply Configuration’ bar.

Thank you!

Hi Philippe,

Why do you say its an Elastix issue? What needs to be fixed in Elastix? Permissions?

(I want to fix the underlying issue)

I manually fixed the issue by just renaming the conflicting files myself, but I’d have expected the 2.4 upgrade module to have moved all the conflicting files to one side itself.


FreePBX does do that, at the time the change is made which I believe was the transition from 2.2 to 2.3. You may have noticed features.conf was handled because 2.4 was the first version the change was made. After that it will no longer overwrite it. Elastix had improperly installed FreePBX and we are not in a position to know if they had done it purposely because of a modification they made, or by accident as I believe was the case. So it is up to the producers of ISOs like Elastix and others, when such errors are discovered, to consider providing fixes so that you don’t run into these issues.
FreePBX warns you of the issues in the notification panel and we feel this is the proper way to handle it since one of the goals of FreePBX is to allow significant customization while trying not to trample on those changes every time you do some sort of update.
Make sense?

HI Philippe,

Please understand that I’m sympathetic to packagers mis-packaging and I’ll definitely take the problem to the source. - but I’m trying to understand what the problem is.

My original install was Elastix 1.1 “stable”, released Jun 12.

You said above:

FreePBX does do that (ie - move the conflicting files), at the time the change is made which I believe was the transition from 2.3 to 2.4.

Now Elastix 1.1 stable comes out of the box with FreePBX “PBX”. So it doesn’t have 2.4.

I did a fresh install from the ISO and didn’t touch anything.

In /etc/asterisk there are no symlinks; extensions.conf etc are there as standard files.

files are owned by asterisk:asterisk and rw-r–r--

Is that right or wrong?

How do I move this system up to 2.4?

(I wrote in the opening post the steps I followed)



Starting from the fresh install I just did, I retried the upgrade.

  1. On the existing Elastix1.1-installed Freepbx, I did an Apply Config. It went through without an error; still no symlinks in /etc/asterisk.

Then I did the upgrade (following the process as before)

When I was finished, only features.conf had been renamed to features.conf.0. extensions.conf, sip.conf etc were still files.

On the new 2.4 system I did an “Apply Configuration” and got “retrieve_conf failed to sym link the /etc/asterisk/sip.conf file from modules” error.

So to me it really looks like the 2.3->2.4 upgrader didn’t do all the file moves that it should have done. I can’t quite see how that can be Elastix’s fault.


I had a typo above (which I just edited). FreePBX takes care of this in the transition from 2.2 to 2.3. If you install a 2.3 system properly from scratch, those files will not be there. If their recent install is putting them there then it is either incorrect or there is a bug somewhere else in the install process that they feel is requiring it to be put there and would need to be addressed. (or a bug in the install script somewhere that is doing that and would need to be pointed out).

You can look at the files that are installed at 2.3:


And if you look in “upgrades/2.3.0beta1” in the install directory you will see a script called: “core_migrate.php” which gets called when migrating from a pre 2.3 system and migrates a few files, here is an extract of those files that are migrated to the core module meaning they are symlinked:

$bin_arr = array("fax-process.pl");
$etc_arr = array("extensions.conf", "iax.conf", "sip.conf");

So in summary, they are migrated the first time the change is made, and then they are left alone after that. I thought Elastix had addressed this, if you are using their latest build then it would appear they have not and it needs to be addressed or they should contact me if there is something they are stumbling into.

Sorry removed

Hi Philippe,

Thanks for the explanation. So Elastix’s 1.1 release definitely has extensions.conf, sip.conf etc as files in /etc/asterisk.

I’ll compare their files against a stock 2.3 freepbx tarball to see if they have changed the files.