Main Page

Community Documentation
This wiki is maintained by the community and has been recently moved after being offline for a while replaced by the new docs.fusionpbx.com. Some of the information is out of date and needs volunteers to help update it. However it was suggested by some in the community that a place to document things that they learn or want to remember would be a useful.

Caution Some of the information here is good and relevant and some of it out of date and in need of caring volunteers. Volunteers are welcome.

News
Current Stable Release 4.2.2

Current Dev Version 4.3.2

Documentation http://docs.fusionpbx.com/en/latest/

What Is FusionPBX
FusionPBX is an open source project that provides a customizable and flexible web graphical user/administration interface.

That takes freeswitch FreeSWITCH and converts it in to a single/multi tenant gateway or PBX system.

It can be run on the operating system you are comfortable with, and hardware of your choice. FusionPBX provides a GUI for for unlimited extensions,

voicemail-to-email, music on hold, call parking, and many other Features. It provides the functionality your business needs, and brings corporate

level phone system features to small, medium and large businesses. Read more at FusionPBX.com.

Why Use FusionPBX
There are three key reasons you might want to use FusionPBX:
 * It adds extra functionality to FreeSWITCH
 * It makes it easier to administer FreeSWITCH (while at the same time allowing you to still work directly with FreeSWITCH when you don't want to use a GUI)
 * It gives your users a GUI interface to phone system functionality such as voicemail/fax/follow-me/do-not-disturb, call detail records, fax and conference extensions can be assigned to users, and more...

Testimonials

Features

Feature Codes

Index

Useful Links

 * 1) FusionPBX Website


 * 1) Bounty

=Installation=

See instructions for the install at the following locations.


 * https://www.fusionpbx.com/download.php
 * https://github.com/fusionpbx/fusionpbx-install.sh
 * http://docs.fusionpbx.com/en/latest/getting_started/installation_recommended.html

''Old instructions, Please look at the installation page. Click here for Debian Wheezy install''

=Upgrade=

 Move to the Stable Branch  mv /var/www/fusionpbx /var/www/fusionpbx-master cd /var/www && git clone -b 4.2 https://github.com/fusionpbx/fusionpbx.git chown -R www-data:www-data /var/www/fusionpbx

Make sure config.php exists in /etc/fusionpbx if missing then move it into this directory. cp /var/www/fusionpbx-master/resources/config.php /etc/fusionpbx

 Move to the Master Branch  mv /var/www/fusionpbx /var/www/fusionpbx-old cd /var/www && git clone https://github.com/fusionpbx/fusionpbx.git chown -R www-data:www-data /var/www/fusionpbx


 * Complete the normal upgrade process at Advanced -> Upgrade
 * If the menu disappears you have to upgrade schema then restore the default menu to get it back.

Official Upgrade Documentation ! http://docs.fusionpbx.com/en/latest/advanced/upgrade.html

 Old instructions upgrade instructions.

=Security=
 * Security - place to bring the community together to share security best practices.

=Developers=
 * Coding Standards
 * Developer Tools
 * File and Directory Structure
 * Discussions

How to edit the Wiki

 * 1) Login as usual,
 * 2) Select http://wiki.fusionpbx.com/index.php?title=Special:Preferences
 * 3) Add your email address
 * 4) Click Save
 * 5) Do the email confirmation thing
 * 6) You can now edit again.

Support
For support on FusionPBX what should you do?


 * 1) Look in this wiki
 * 2) FusionPBX IRC channel


 * 1) Commercial Support which supports the project

Note that the Forum for FusionPBX is not currently used much but we have a very active IRC channel. You are therefore more likely to get timely help in the IRC channel than in the Forum. That said, the wiki is the key place you will find documentation - as things come up in IRC they get documented in the wiki - so do look there for answers. Primarily the wiki is arranged following the menu structure but there are also additional topic areas listed as well.

Note also that because FusionPBX is built on top of FreeSWITCH and intentionally uses the same terminology as used in FreeSWITCH, often if there is a lack of information in the FusionPBX wiki it is because there is relevant information readily available in the FreeSWITCH wiki on that exact same thing. So do look at the FreeSWITCH wiki. The one thing that you need to bear in mind when looking at the FreeSWITCH wiki is that examples they give will generally be in XML as that is how you configure FreeSWITCH. While FusionPBX does allow you to still work in XML if you want (see Editing Config Files Safely) the intention of FusionPBX is generally to save you from needing to deal directly with XML.

Troubleshooting - Some errors and what to do when you see them

Getting started (a topical approach to the wiki)
This wiki is ordered around topics & menu screens. If you are here for the first time the best place to start is the topical section below. If you already have fusionpbx and want to know more about a particular function you can look up the menu screen section for more information.


 * Installation - installing FusionPBX on your server (the long way, and also the quick way by ISO)
 * Multi-Tenant - Domain based multi-tenant.
 * Permissions - file permissions
 * Getting Started - overview of how to configure FusionPBX to do something useful
 * Settings - general system settings
 * Extensions - ie. your phones
 * Gateways - ie. your connections to the outside world
 * Inbound Routes - ie. when FusionPBX receives a phone call what should it do with it?
 * Outbound Routes - ie. when you want to make a call how will FusionPBX send it somewhere?
 * IVR Menu - ie. if you want to have automated prompts for a caller this is where you set this up
 * Conferences - allows you to define reservationless conference rooms
 * Call Groups - settings that allow you to group phones together
 * Firewall - Firewall settings you may need when you are trying to connect with the outside world.
 * Music On Hold - ie. if you place someone on hold what will they hear?
 * Ring Groups - call one or more extensions
 * Storage management - what takes up space and what you can do about it
 * Provisioning - see Phones
 * Tips and tricks - there are many useful tips and tricks scattered throughout all the menu based wiki pages, this page is used as an
 * Polycom_SLA_Provisioning - a brief guide to provisioning w/ SLA
 * Interactive screenshots v3.8.x

Advanced

 * Upgrade - how to upgrade to the latest FusionPBX version
 * Editing Config Files Safely - what to do if you want to manually edit config files
 * Fail2Ban - Secure FusionPBX
 * fs_cli - using the FreeSWITCH command line interface to diagnose unexpected call behaviour
 * Monit - Monitor processes on a UNIX system
 * TFTP - Trivial File Transfer Protocol
 * Iptables - Firewall for Linux

Documentation for FusionPBX GUI screens
Please note that the documentation in this section is being updated gradually. If you click on a link and find it isn't documented yet, please consider helping us out by adding information to it as you learn how to use it.

The GUI is accessible using a web browser by going to http://the_IP_address_of_your_FusionPBX_server. System - the default page that is displayed when you log in to FusionPBX is the System page. You can access it later by clicking on System directly without selecting a sub-menu * Upgrade - REMOVED in v1.2 - Used to update FusionPBX to the latest release
 * Account Settings - the account settings for the currently logged on user
 * Logout - use this to log out of the FusionPBX administration web site
 * Modules - for enabling and disabling FreeSWITCH modules
 * Settings - basic FusionPBX settings
 * Variables - Manage FreeSWITCH preprocessor variables.

Accounts - clicking directly on Accounts without selecting a sub-menu will take you to the Extensions page
 * Extensions - where you configure the extensions for the phones attached to your system
 * Gateways - to define the outbound gateways that are used to make calls to destinations outside of your FusionPBX/FreeSWITCH server
 * Phones - for seeing and modifying all provisioned phones. See Extensions for more information
 * User Manager - Allows a superadmin/admin to manage USERs and GROUPs. Can create/delete users, edit their Account Settings.
 * XMPP Manager - Configure XMPP to work with Google talk or other jabber servers.

Dialplan - clicking directly on dialplan without selecting a sub-menu will take you to the Dialplan Manager page
 * Dialplan Manager - used to update the dialplan controlling what happens when a number is dialed (note that this also includes the dialplan entries used for Outbound Routes)
 * Inbound Routes - used to define what to do with calls coming from outside of your FusionPBX/FreeSWITCH server
 * Outbound Routes - used to define dialplan entries that affect calls that leave your FusionPBX/FreeSWITCH server to go to the outside world

Apps - clicking directly on apps without selecting a sub-menu will take you to the Call Detail Records page


 * Call block - Block inbound callers, optional module installed from Dev/Apps
 * Call Broadcast - Uses sched_api.
 * Call Center - allows to configure mod_callcenter from FusionPBX
 * Call Detail Records - Call history reports and detailed information on the calls.
 * Call Forward - redirect calls from a particular extension to an alternate destination based on different criterias
 * Click to Call - to place a call without first picking up your phone handset
 * Contacts - Manage your contact list and create speed dials if needed
 * Conferences - to define permanently reserved conference numbers for individuals/groups to use
 * Fax Server - to setup inbound and outbound faxing from FusionPBX (without needing a physical fax machine)
 * Hunt Group - to define hunt groups (phones ring sequentially searching for someone to answer them) and ring groups (phones ring simultaneously so multiple people can answer them)
 * IVR Menu - To define Interactive Voice Response menus (ie. press 1 for billing, press 2 for technical support, etc.)
 * Music On Hold - to set up music for callers who are placed on hold or who are in a queue.
 * Ring Groups - allow you to ring one or more registered endpoints.
 * Recordings - for making, modifying and reviewing recorded messages used within your phone system
 * Time Conditions - to define time conditions to affect how calls are handled at different times and on different days
 * Queues - to define call queues to enable people to wait on hold until it is their turn to be answered
 * Voicemail - shows all voicemails that belongs to the current logged in user

Status - clicking directly on status without selecting a sub-menu will take you to the Active Extensions page
 * Active Calls - lists and allows you to interact with active calls being handled by your server
 * Active Call Center - display queue status, agent status, tier status for call centers using mod_callcenter
 * Active Conferences - lists conferences that are active on your server (showing the number of participants)
 * Active Queues - displays queues that have one or more callers waiting
 * Registrations - By default in this page you can see all the registered endpoints in profile internal.
 * Services - allows interaction with the processes running on your server
 * SIP Status - shows the status of your internal and external sip connections, various server statistics and a static view of the FreeSWITCH log file
 * System Status - shows the status of the physical server you are running FusionPBX on
 * Log Viewer - displays FreeSWITCH log file. *** NEW ***
 * Traffic Graph - Shows the live traffic on the network interface
 * Voicemail Status - Displays voicemail info for each extension assigned to your account

Advanced - clicking directly on Advanced without selecting a sub-menu will take you to the Command page
 * Backup - back up and download arbitrary files on your server
 * Command - allows you to interactively submit shell, PHP and FreeSWITCH commands to your server
 * Content Manager - Allows to add content on the existing pages of FusionPBX
 * Grammar Editor - allows you to edit FreeSWITCH speech recognition grammar definitions
 * Group Manager - Used to manage FusionPBX groups
 * Menu Manager - allows you to customize the FusionPBX menu structure
 * PHP Editor - allows you to edit php files used in FusionPBX
 * PHP Service - Manages multiple dynamic and customizable PHP services.
 * Script Editor - allows you to edit javascript, lua and perl script used on your server
 * SIP Profiles - allows you to customize the SIP profiles
 * SQL Query - allows you to interactively submit SQL queries to the database used in FusionPBX
 * System Settings - FusionPBX settings enabling it to interact with FreeSWITCH
 * Upgrade Schema - used to upgrade the database schema after an upgrade has been done. This is used automatically by Upgrade when you run it from the FusionPBX GUI
 * XML Editor - allows you to edit FreeSWITCH XML files in the conf/ directory
 * Convert To Mysql - How to convert to mysql from sqlite

Unlisted FusionPBX screens - The screens in this section can be enabled through Advanced-Menu Manager. By default they are disabled. This is typically because few people would use them or there are other screens that now provide more advanced functionality.
 * Auto Attendant - superceeded by IVR Menu
 * Call Detail Records - superceeded by a newer Call Detail Records
 * CDR CSV - superceeded by Call Detail Records
 * Soft Phone - basic soft phone functionality with a sound card
 * Login
 * Sign Up
 * Templates - superceeded by the Template line in Account Settings and User Manager

Phones
Please add your experiences with various SIP phones here. Especially if it is specific to FusionPBX (dialplay, huntgroup, etc).

Additional Information

 * http://docs.fusionpbx.com/
 * http://fusionpbx.blogspot.com
 * http://wiki.freeswitch.org
 * http://twitter.com/fusionpbx
 * Fusionpbx-bot - bot commands available in the #fusionpbx irc channel
 * Terminology
 * Site Survey
 * Core Databases
 * Password Recovery

Search the Wiki
For help searching the wiki use the search below. 

Support
For support on FusionPBX what should you do?


 * 1) Look in this wiki
 * 2) FusionPBX IRC channel


 * 1) Commercial Support which supports the project

Note that the Forum for FusionPBX is not currently used much but we have a very active IRC channel. You are therefore more likely to get timely help in the IRC channel than in the Forum. That said, the wiki is the key place you will find documentation - as things come up in IRC they get documented in the wiki - so do look there for answers. Primarily the wiki is arranged following the menu structure but there are also additional topic areas listed as well.

Note also that because FusionPBX is built on top of FreeSWITCH and intentionally uses the same terminology as used in FreeSWITCH, often if there is a lack of information in the FusionPBX wiki it is because there is relevant information readily available in the FreeSWITCH wiki on that exact same thing. So do look at the FreeSWITCH wiki. The one thing that you need to bear in mind when looking at the FreeSWITCH wiki is that examples they give will generally be in XML as that is how you configure FreeSWITCH. While FusionPBX does allow you to still work in XML if you want (see Editing Config Files Safely) the intention of FusionPBX is generally to save you from needing to deal directly with XML.

Troubleshooting - Some errors and what to do when you see them

Getting started (a topical approach to the wiki)
This wiki is ordered around topics & menu screens. If you are here for the first time the best place to start is the topical section below. If you already have fusionpbx and want to know more about a particular function you can look up the menu screen section for more information.

index to these as we find them!
 * Installation - installing FusionPBX on your server (the long way, and also the quick way by ISO)
 * Multi-Tenant - Domain based multi-tenant.
 * Permissions - file permissions
 * Getting Started - overview of how to configure FusionPBX to do something useful
 * Settings - general system settings
 * Extensions - ie. your phones
 * Gateways - ie. your connections to the outside world
 * Inbound Routes - ie. when FusionPBX receives a phone call what should it do with it?
 * Outbound Routes - ie. when you want to make a call how will FusionPBX send it somewhere?
 * IVR Menu - ie. if you want to have automated prompts for a caller this is where you set this up
 * Conferences - allows you to define reservationless conference rooms
 * Call Groups - settings that allow you to group phones together
 * Firewall - Firewall settings you may need when you are trying to connect with the outside world.
 * Music On Hold - ie. if you place someone on hold what will they hear?
 * Ring Groups - call one or more extensions
 * Storage management - what takes up space and what you can do about it
 * Provisioning - see Phones
 * Tips and tricks - there are many useful tips and tricks scattered throughout all the menu based wiki pages, this page is used as an
 * Polycom_SLA_Provisioning - a brief guide to provisioning w/ SLA
 * Interactive screenshots v3.8.x

Advanced

 * Upgrade - how to upgrade to the latest FusionPBX version
 * Editing Config Files Safely - what to do if you want to manually edit config files
 * Fail2Ban - Secure FusionPBX
 * fs_cli - using the FreeSWITCH command line interface to diagnose unexpected call behaviour
 * Monit - Monitor processes on a UNIX system
 * TFTP - Trivial File Transfer Protocol
 * Iptables - Firewall for Linux

Documentation for FusionPBX GUI screens
Please note that the documentation in this section is being updated gradually. If you click on a link and find it isn't documented yet, please consider helping us out by adding information to it as you learn how to use it.

The GUI is accessible using a web browser by going to http://the_IP_address_of_your_FusionPBX_server. System - the default page that is displayed when you log in to FusionPBX is the System page. You can access it later by clicking on System directly without selecting a sub-menu * Upgrade - Used to update FusionPBX to the latest release
 * Account Settings - the account settings for the currently logged on user
 * Logout - use this to log out of the FusionPBX administration web site
 * Modules - for enabling and disabling FreeSWITCH modules
 * Settings - basic FusionPBX settings
 * Variables - Manage FreeSWITCH preprocessor variables.

Accounts - clicking directly on Accounts without selecting a sub-menu will take you to the Extensions page
 * Extensions - where you configure the extensions for the phones attached to your system
 * Gateways - to define the outbound gateways that are used to make calls to destinations outside of your FusionPBX/FreeSWITCH server
 * Phones - for seeing and modifying all provisioned phones. See Extensions for more information
 * User Manager - Allows a superadmin/admin to manage USERs and GROUPs. Can create/delete users, edit their Account Settings.
 * XMPP Manager - Configure XMPP to work with Google talk or other jabber servers.

Dialplan - clicking directly on dialplan without selecting a sub-menu will take you to the Dialplan Manager page
 * Dialplan Manager - used to update the dialplan controlling what happens when a number is dialed (note that this also includes the dialplan entries used for Outbound Routes)
 * Inbound Routes - used to define what to do with calls coming from outside of your FusionPBX/FreeSWITCH server
 * Outbound Routes - used to define dialplan entries that affect calls that leave your FusionPBX/FreeSWITCH server to go to the outside world

Apps - clicking directly on apps without selecting a sub-menu will take you to the Call Detail Records page


 * Call block - Block inbound callers, optional module installed from Dev/Apps
 * Call Broadcast - Uses sched_api.
 * Call Center - allows to configure mod_callcenter from FusionPBX
 * Call Detail Records - Call history reports and detailed information on the calls.
 * Call Forward - redirect calls from a particular extension to an alternate destination based on different criterias
 * Click to Call - to place a call without first picking up your phone handset
 * Contact Manager - Manage your contact list and create vcards if needed
 * Conferences - to define permanently reserved conference numbers for individuals/groups to use
 * Fax Server - to setup inbound and outbound faxing from FusionPBX (without needing a physical fax machine)
 * Hunt Group - to define hunt groups (phones ring sequentially searching for someone to answer them) and ring groups (phones ring simultaneously so multiple people can answer them)
 * IVR Menu - To define Interactive Voice Response menus (ie. press 1 for billing, press 2 for technical support, etc.)
 * Music On Hold - to set up music for callers who are placed on hold or who are in a queue.
 * Ring Groups - allow you to ring one or more registered endpoints.
 * Recordings - for making, modifying and reviewing recorded messages used within your phone system
 * Time Conditions - to define time conditions to affect how calls are handled at different times and on different days
 * Queues - to define call queues to enable people to wait on hold until it is their turn to be answered
 * Virtual Tables - Provides the ability to quickly define information to store and dynamically makes tools available to view, add, edit, delete, and search.
 * Voicemail - shows all voicemails that belongs to the current logged in user
 * FlashPhoner - Embeds FlashPhoner.com's Flash Based softphone for the logged in user.

Status - clicking directly on status without selecting a sub-menu will take you to the Active Extensions page
 * Active Calls - lists and allows you to interact with active calls being handled by your server
 * Active Call Center - display queue status, agent status, tier status for call centers using mod_callcenter
 * Active Extensions - lists and allows you to interact with calls being handled by phone extensions on your server
 * Active Conferences - lists conferences that are active on your server (showing the number of participants)
 * Active Queues - displays queues that have one or more callers waiting
 * Registrations - By default in this page you can see all the registered endpoints in profile internal.
 * Services - allows interaction with the processes running on your server
 * SIP Status - shows the status of your internal and external sip connections, various server statistics and a static view of the FreeSWITCH log file
 * System Status - shows the status of the physical server you are running FusionPBX on
 * Log Viewer - displays FreeSWITCH log file. *** NEW ***
 * Traffic Graph - Shows the live traffic on the network interface
 * Voicemail Status - Displays voicemail info for each extension assigned to your account

Advanced - clicking directly on Advanced without selecting a sub-menu will take you to the Command page
 * Backup - back up and download arbitrary files on your server
 * Command - allows you to interactively submit shell, PHP and FreeSWITCH commands to your server
 * Content Manager - Allows to add content on the existing pages of FusionPBX
 * Grammar Editor - allows you to edit FreeSWITCH speech recognition grammar definitions
 * Group Manager - Used to manage FusionPBX groups
 * Menu Manager - allows you to customize the FusionPBX menu structure
 * PHP Editor - allows you to edit php files used in FusionPBX
 * PHP Service - Manages multiple dynamic and customizable PHP services.
 * Script Editor - allows you to edit javascript, lua and perl script used on your server
 * SIP Profiles - allows you to customize the SIP profiles
 * SQL Query - allows you to interactively submit SQL queries to the database used in FusionPBX
 * System Settings - FusionPBX settings enabling it to interact with FreeSWITCH
 * Upgrade Schema - used to upgrade the database schema after an upgrade has been done. This is used automatically by Upgrade when you run it from the FusionPBX GUI
 * XML Editor - allows you to edit FreeSWITCH XML files in the conf/ directory
 * Convert To Mysql - How to convert to mysql from sqlite

Unlisted FusionPBX screens - The screens in this section can be enabled through Advanced-Menu Manager. By default they are disabled. This is typically because few people would use them or there are other screens that now provide more advanced functionality.
 * Auto Attendant - superceeded by IVR Menu
 * Call Detail Records - superceeded by a newer Call Detail Records
 * CDR CSV - superceeded by Call Detail Records
 * Soft Phone - basic soft phone functionality with a sound card
 * Login
 * Sign Up
 * Templates - superceeded by the Template line in Account Settings and User Manager

Phones
Please add your experiences with various SIP phones here. Especially if it is specific to FusionPBX (dialplay, huntgroup, etc).

Additional Information

 * http://docs.fusionpbx.com/
 * http://fusionpbx.blogspot.com
 * http://wiki.freeswitch.org
 * http://twitter.com/fusionpbx
 * Fusionpbx-bot - bot commands available in the #fusionpbx irc channel
 * Terminology
 * Site Survey
 * Core Databases
 * Password Recovery

Search the Wiki
For help searching the wiki use the search below. 