I have an existing Asterisk 20 install for a small environment, and I’m currently the only person that understands it. The convention as I’m getting new people in for redundancy is that a GUI will be easier for people less elbow-deep in telephony, and FreePBX is the clear leader.
I don’t wanna blast and recreate my environment, but my reading says that moving to freePBX is essentially a “stand up a parallel and migrate” which I REALLY don’t want to do.
Is there a way to apply the GUI elements of FreePBX onto an existing Asterisk environment?
Yes but it’s a manual process and if you aren’t familiar with FreePBX a lot can go sideways on this. Attempting to just load FreePBX on your existing system might end up deleting things and causing a right bad mess. And you, also, are going to need some familiarity with FreePBX. Parallel and migrate is very wise. I did my own production system this way even though it was FreePBX 13 to FreePBX 17.
The current FreePBX 17 setup requires php8 and is proven out on Debian 12. Probably the closest easy-to-install environment would be Ubuntu 24.
Note that none of us can even suggest some of the minefields when you don’t supply the current platform and current php and channel drivers you are using for Asterisk.
Lastly a custom install on a production system cannot be duplicated if one day the hard disk crashes/etc. The only responsible way to do a custom FreePBX (or even a custom Asterisk install) on a production system is to start from complete scratch and document every single step of the process while you are doing it.
Then when you are done get another IT tech, hand them your document, and say “follow this” and if they cannot bring up a duplicate production system that works the same as yours, without asking you any questions at all - you have done it wrong.
Phrases like “I’m currently the only person that understands it” are not compatible with redundancy and really don’t belong in a production environment. Even during the years I was running a 1 man IT consultancy, I documented as I went, in case I got hit by a bus and the next guy had to come in afterwards and pick up.
FreePBX isn’t a user interface for Asterisk; it is a PABX that uses Asterisk for its internals.
For a start, installing FreePBX will destroy all the standard Asterisk .conf files, and even if you move their contents, its GUI will not be able to maintain it.
FreePBX maintains its configuration in a database. The GUI provides tools for editing and displaying that database. When you press Apply Config, the contents get “compiled” into Asterisk config files (and a few other things). The problem is that there is no “decompiler” that can convert Asterisk config files back to database entries.
You can move their contents to the additional .conf files and Asterisk will continue to pick them up and use them but yes as you point out the GUI does not maintain those, migrating those contents to an in-place install is part of the steps of doing an in-place install.
It could be done. I’d do it by comparing all config files between existing install and parallel freepbx install, writing a guide on what needs to be renamed to what.
Then I would make a complete backup of the existing system, and I would wipe the existing systems disk and install the target operating system of Debian 12, then I’d install Asterisk 20, then I’d restore the Asterisk backup, and make sure Asterisk was running.
Then I would now take that “existing system” and do the FreePBX install on that using the install script with the noasterisk install option.
Then I’d copy back the conf backups to the additional conf files FreePBX uses and make sure Asterisk was still running and calls were being handed
Last setup would be a migration plan for moving the stuff out of the additional conf files into the GUI
Needless to say, this is like 3 times as much work as just setting up a parallel system and doing the migration. I’m struggling to figure out a reason that you would HAVE to do it this way instead of a much easier parallel migration but I can’t think of one yet.
Maybe its a gold-plated server hardware he wants to keep?
You can install FreePBX 17 over a system with an already installed Asterisk, and there is an option for doing that on the FreePBX 17 Installation Script (--noasterisk) but, has already noted, you will loose your current Asterisk configuration.
But, if you are fluent with Asterisk, you should be able to add your custom configuration tweaks in /etc/asterisk/*_custom.conf files after the FreePBX installation is made.
Sorry, this is not a “yes but”, it’s a solid NO. Putting existing asterisk config into custom.conf files will sort of preserve them but the system will still be super broken. FreePBX’s dialplan will not in any way be like what currently exists. In short, it will be a nonworking mess. @surfrock66 , no. If you want FreePBX GUI, you will need to start over.
No it’s not a solid NO because somewhere there is going to be some mule who is convinced this will be the better way to do it and will beat on it long enough to work out a recipie for doing it.
If Microsoft could beat on Windows long enough to take a real mode non-reentrant program loader called Windows 3.0 that blue screened more often than it ran programs, and end up with Windows 11 that for 99% of people never crashes, that’s proof enough that anyone in tech can take a terrible idea and whale on it long enough to make it work.
It’s only a solid NO to people who have any logic. I don’t appreciate snobs just telling me “do it like this because I said so and I’m smarter than you” so I figured the OP might appreciate an actual explanation of all the mines he would step on trying it this way.
Correct, that was my bad. I didn’t bother to look up the actual filenames and post, since it was a mental thought exercise to try and and describe the liklihood of being burned trying to fly through the Five Fire Rings of Fornax or performing a Kolvoord Starburst, instead of actually planning how to do it, LOL.
But most likely you’ll be easily able to backport whatever dialplan/config you did on top of an existing FreePBX system - it will be mostly copying configuration files to relevant _custom files.
Faced with such a project, I would bring up a second system running fpbx, and then create a peer trunk between them. That will give you the ability to move device registrations at your leisure, and allow users of each system to phone the other. This would be a perfectly supported config from a fpbx point of view.