In all my experience as a VoIP & Linux expert, I have tried some FreeSWITCH frontends. I can tell that FusionPBX has been the easiest and fastest way to manage a FreeSWITCH VoIP server. I have been using FusionPBX since release 2. x and I can tell you it will help the newbie and the expert to speed up PBX management. Currently, I manage about 15 PBX'es and I can tell that there are a few tasks I haven't been able to do with this project.
The objective of this article is to present clearly what FusionPBX offers and to avoid false ideas about the project.
Installation Process and Needed Knowledge
FusionPBX, like any free software, requires a set of minimum knowledge to install it. The installation process it is done by checking out the GIT repository from GitHub, when the checkout is done, installation takes place using the web browser. Interface will ask about user credentials, for web access and database.
The basic knowledge set to do a manual installation are:
- Linux distribution knowledge (package installation mainly),
- WEB server knowledge (for NGINX or Apache),
- Database knowledge (MySQL/MariaDB, PostgreSQL or SQLite)
- Basic knowledge of server management (like start/stop services and basic command line)
There are several installation methods for FusionPBX (RPMs for Centos with Apache+MariaDB or scripts for Debian/Ubuntu), a user without enough knowledge will be able to install without issues; however, if there is a problem, you will need to research.
Operation y Options
FusionPBX is presented in a menu schema where users can create their items and link them. Standard Installation covers all basic needs. Some of the capabilities that FusionPBX offers are:
- Follow me
- Call forward
- Voice Mail
- Time Conditions
- Conference Centers
- IVR
- Call Center
- Queues
Call flow configuration is a technical process, you must have a very clear idea of what you want and you need to know the elements involved. FreeSWITCH knowledge is needed in most cases.
FusionPBX presents a dialplan editor for advanced users, after items are created, you can manually edit some settings.
For advanced deployments, FusionPBX presents the XML handler. The XML Handler is software written in LUA that allows you to feed dial plans to FreeSWITCH in real time. By using the XML Handler, you can access many other possibilities such as load-balancing schema.
To improve speed, FusionPBX uses Memcached. This will speed up access to dial plans.
Development
FusionPBX is coded in PHP and LUA. PHP is used for the front end and some scripts that FreeSWITCH needs. LUA is used on the XML Handler, IVR and other scripts that FreeSWITCH calls directly.
A developer can add any FusionPBX application easily. You can take any application and clone it. The big advantage of developing for FusionPBX is that your app can use other app items.