How to setup your PBX setup using Open-Source FreePBX

PBX (Private Branch Exchange) is a telephone system that routes calls within an organization and enables the admin and user to share several external phone lines. FreePBX is an accessible, open-source, web-based graphical user interface (GUI) that helps to manage telecommunication services such as Private Branch Exchange (PBX) systems. It provides a range of features and functionalities to support PBX operations, including call management, call routing, voicemail, auto-attendant, call recording, call center functionality, integration with other systems, and custom scripting. FreeBX is built on top of the Asterisk PBX platform and is designed to be easy to use and customize. It can be installed on a Linux server and support PBX operations for organizations of all sizes.

1) Choose a FreePBX software :

Choosing open source FreePBX software for PBX setup can provide several benefits, Including:

1) Cost-effective: FreePBX is free and open-source, meaning you can save money on expensive proprietary PBX software.

2) Customizable: FreePBX is free and open-source, meaning you can save money on expensive proprietary PBX software.

3) Scalable: FreePBX can scale to support PBX operations for organizations of all sizes, from small businesses to large enterprises.

4) Easy to use: FreePBX is designed to be user-friendly, making it easy for administrators to manage and configure the PBX system.

5) Wide Community support: FreePBX has a large, active community of users and developers, meaning that you can receive help and advice on the best use of the software.

2) Install the Free-PBX software :

To install FreePBX on a Linux server, you can follow these steps:

1) Download the FreePBX software: You can download the latest version of FreePBX from the official website (http://www.freepbx.org/)

2) Install dependencies: FreePBX requires a number of dependencies to be installed on your Linux server, including Apache, PHP, and MYSQL. You can install these dependencies by running the following commands:

  • sudo yum install httpd mariadb-server mariadb php php-pdo php-mbstring tftp-server \

  • httpd-devel php-process cronies php-gd curl sox newt-devel libxml2-devel bison

3) Configure the firewall: if you have the firewall enabled in your Linux server, you will need to open ports 80(HTTP) and 443(HTTPS) to allow web traffic to reach to the FreePBX software. You can do this by running the following commands:

  • sudo firewall-cmd --permanent --add-service=http

  • sudo firewall-cmd --permanent --add-service=https

  • sudo firewall-cmd –reload

4) Start the Apache and MariaDB service: 

You can start the Apache and MariaDB services by running the following command:

  • sudo systemctl start httpd

  • sudo systemctl start mariadb

5) Secure the MariaDB installation: You should secure the MariaDB installation by running the following command:

sudo mysql_secure_installation

6) Follow the installation wizard: Once the server has booted from the CD or USB drive, you will be taken to the FreePBX installation wizard. Follow the on-screen instructions to complete the installations.

These are the basic steps to install FreePBX on a Linux server. For the detailed information, you can refer to the FreePBX official documentation. (https://wiki.freepbx.org/display/FOP/Install+FreePBX)

3) Connect to the Internet :

Connecting to the internet is an important step in setting up a PBX system. This allows the PBX to make and receive calls over the internet, which can save costs compared to the traditional telephone lines.

Following steps to connect your PBX system to internet:

1) Choose an internet service provider (ISP). Choose an ISP that offers the bandwidth and reliability that is important requirement for your organization’s needs.

2) Configure the firewall: Configure the firewall to allow incoming and outgoing traffic for the PBX system. This may involve the opening specific ports, such as 5060 for SIP.

3) Connect the PBX to the network: Connect the PBX system to the network using an Ethernet cable.

4) Assign a static IP address: Assign a static IP address to the PBX system to ensure that it has a consistent IP address every time it is powered on.

5) Configure the PBX software: Configure the PBX software to use the static IP address and to connect to the internet. This may involve setting up a SIP trunk or configuring the PBX to use a VoIP service provider.

6) Test the connection: Test the connection to ensure that the PBX can make and receive calls over the internet.

Note: it is important to ensure that the PBX system is properly secured when connecting to the internet. This may involve securing the firewall and implementing proper password policies to prevent unauthorized access to the system.

4) Configure the Free-PBX system :

Once you have successfully installed FreePBX on your Linux server, you can configure the system to meet your specific needs. The following are the basic steps to configure the FreePBX system:

1) Access the FreePBX web interface: Open a web browser and navigate to your Linux server's IP address or hostname. For example, the FreePBX web interface should be accessible at http://<server-ip-address>/admin.

2) Log into the web Interface: You will be prompted to log in to the FreePBX web interface. Use the default username "admin" and password "admin" to log in.

3) Change the default password: It is highly recommended that you change the default password for the "admin" user to enhance the security of your FreePBX system. You can do this by navigating to the User Management section of the web interface and editing the "admin" user.

3) Configure the PBX setting: The FreePBX system has many settings you can configure to meet your specific needs. You can access the PBX settings by navigating to the Settings section of the web interface. Some of the most important settings to configure include:

  • Time Zone: Set the time zone for your PBX system to ensure that the time on your system is accurate.

  • Network Settings: Configure the network settings for your PBX system, including the IP address, subnet mask, and default gateway.

  • Trunks: Set up trunks to allow your PBX system to communicate with others and the public telephone network.

  • Outbound Routes: Set up outbound routes to determine how your PBX system will handle outgoing calls.

These are the basic steps to configure the FreePBX system. For detailed instructions, you can refer to the FreePBX official documentation (https://wiki.freepbx.org/display/FOP/Configure+FreePBX)

5) Connect your phones :

Connecting phone to a PBX system is an important step in setting up the PBX system and allowing users to make and receive calls.

The following are the steps to Connect phones to a PBX system:

1) Choose a phone system: Choose a phone system that is compatible with the PBX system being used, This may involve selecting a specific brand or model of IP phone or a softphone that runs on a computer.

2) Connect the phones to the network: Connect your phones to the dedicated networks using the Ethernet cable.

3) Configure the phones: Configure the phones with the IP address of the PBX system and the extension numbers assigned to each users. This may involve using a web-based interface or a configuration file.

4) test the connections: Test the connection to ensure that the phones can make and receive cals through the PBX system.

The specific steps for connecting phones will vary based on the PBX software and the type of phone being used. It is important to follow the vendor's instructions and to properly test the connection to ensure that the phones are functioning as expected.

6) Test Your Setup :

Testing your setup is an important and necessary step in ensuring that the PBX system is functioning as expected and needed.

The following are the steps to test your PBX system setup:

1) Test internal calls: Place a call from one extension to another extension to ensure that internal calls are properly routed and that the call quality is acceptable.

2) Test outgoing calls: Place a call to an external extension number to ensure that outgoing calls are properly routed with system and the call quality is acceptable as expected or not.

3) Test incoming calls: receive a call from an external extension to check that incoming calls are working properly and the call quality is according to need or not.

4) Test voice-mail: Leave a voice-mail message for another extension to ensure that voice-mail is functioning as expected.

5) Test integration with external systems: Test the integration with external systems, such as a CRM, to ensure that it is working well or not.

It is important to thoroughly test the PBX system setup to identify and resolve any issues before the system is put into production. Regular testing and monitoring of the system is also recommended to ensure that it continues to function as expected.

 

7) Conclusion :

In conclusion, FreePBX is a powerful and flexible open-source PBX software that allows you to set up your own PBX system without any costs. With FreePBX, you can easily manage your PBX system from a web interface, configure the system to meet your specific needs, and add advanced features to enhance the functionality of your PBX system. Whether you are a small business owner or a large enterprise, FreePBX is a great choice for setting up your PBX system. By following the steps outlined in this article, you can successfully set up your PBX system using FreePBX and start taking advantage of the many benefits that a PBX system provides.