We are going to walk through a simple and typical setup of FreePBX.  It would be impossible to teach you through a single wiki how to configure the over 1000 features of FreePBX, but following should allow a brand-new user to create a basic system setup. Please note, we try to keep these articles as up-to-date as possible, but your system may vary slightly from the procedures and screenshots shown here, based on the versions installed.

This setup assumes you have purchased the (System Building Basic) commercial module bundle to make setting up phones and your PBX much easier. It also assumes you are using SIP trunks. In our example we will use SIPStation for our trunking. The SIPStation module built into FreePBX Administration makes setting up FreePBX a breeze, as it does most of the work for us.

Configuration of the PBX is done using the various FreePBX Modules. The modules are divided into several categories at the top of the GUI.  Once you're at a specific module's page, you can hover your mouse over the question mark iconnear each entry to view more information on what the item does.

For detailed instructions on each module, start here:  Standard Modules.

Login to the PBX Graphical User Interface ("GUI")

 

Note: These passwords do not change the Root password used to login to the Linux command prompt! They are only used for access to the web interface.

 

Register your PBX

 

 


Configure Asterisk SIP Settings


Sysadmin Module Setup

Set a Static IP Address and Configure DNS 

 

The Distro installs DNSMASQ to ensure that your system maintains DNS even when the internet is down, and DNSMASQ won't work unless 127.0.0.1 is listed as your first DNS Server. The last two are Google's DNS servers. You can replace those two with your own, if you prefer.

 

Configure E-Mail Settings

Configure Email Server

Configure E-Mail Alert Destination Addresses

FreePBX has a number of components that will send out e-mail alerts on various conditions.

Check the following areas to verify or set the desired e-mail destination address of the phone system administrator who will receive the alerts:

There is additional configuration needed for some of the above components but the above is just the e-mail From and To configuration.

Setting the Time Zone

Setting a Hard Drive Failure / Fill-Up Notification E-Mail Address

Configuring Intrusion Detection

Creating Extensions

Please see our Extensions Module wiki for more information.

 

Configuring a Phone Using EndPoint Manager (EPM)

 

EndPoint Manager is a commercial module allowing you to configure over 220 devices and change settings on a per-template basis from the GUI. EndPoint Manager helps you quickly and easily configure a phone.

These instructions will walk you through basic configuration, including setting an IP address, creating a phone template, setting up a line key, mapping the phone to an extension, installing firmware, and applying phone config files. Keep in mind that you will always have to download a new config file to the phone in order to see any of your changes.

Setting the IP Address and Viewing the HTTP Provision Port

Creating a Template for the Phone

Setting Up a Line Key for an Extension

This example shows Digium phones. Your list may vary. We are working with the D70 in our example.



Mapping the Phone to an Extension

Installing Firmware

Downloading Configuration Files to the Phone

Now we need to point the phone to the IP address and HTTP port of the PBX. The IP address and HTTP port were set up earlier in Global Settings. Setup may vary between phone models. Please refer to your specific phone's instructions.

The following instructions apply to the Digium D70: 

Please see our End Point Manager wiki for more information.

Setting Up SIPStation Trunks

With SIPStation unlimited SIP trunks, you can be making and receiving calls from your PBX in just a few minutes. The FreePBX SIPSTATION module helps you set up SIP trunks easily and automatically. When you set up SIPStation trunks, a few basic inbound and outbound routes are automatically set up for you. We will discuss inbound and outbound routes later.

If you are a new SIPStation customer, our Free Trial program will let you try SIPStation before you buy. The Free Trial includes one trunk and one DID. Setup is quick and easy in the SIPSTATION module within FreePBX.

Setting Up a SIPStation Free Trial

Purchasing SIPStation Trunks and DIDs


Manually Adding SIPStation Trunks to FreePBX

These instructions assume you have purchased a SIPStation trunk and DID, and you are using a regular SIPStation account (not a Free Trial). If you already have at least one trunk and DID in SIPStation, all you will need to do is find your FreePBX module keycode and paste it into the SIPStation module for the "account key." Here is how to do that:

Reviewing your SIPStation Account Services

The SIPSTATION module allows you to conveniently check several settings without leaving the module. You can set a global failover number here. Your Asterisk server would send incoming calls to the global failover number in case it is unable to connect to SIPStation. You can also see and change the status of international calling, outbound fax, and SMS services.

The following instructions assume that you have set up SIPStation trunks as described earlier, and that you have navigated to the SIPSTATION module by going to Connectivity -> SIPSTATION.

To edit the global failover number from within the SIPSTATION module:

To enable/disable account services such as international calling, outbound fax, and SMS Support from within the SIPSTATION module:

Reviewing your E911 Configuration

In the Local Settings tab of the SIPSTATION module, you can see your E911 Master Location settings. Your E911 caller ID number is shown here.

The following instructions assume that you have set up SIPStation trunks as described earlier, and that you have navigated to the SIPSTATION module by going to Connectivity -> SIPSTATION.

Remember, a regular SIPStation account (not Free Trial) will not work unless you set up at least one DID with e911 information. You may optionally set up e911 on additional numbers for an additional monthly fee. Please confirm the accuracy of the information and ensure E911 is working by dialing 933. DO NOT DIAL 911 to test the service. Please view our “Additional e911 Addresses” wiki for more information.

Please see our SIPStation Trunking wiki for more information.

Configuring Your PBX#top  

Setting Up Inbound Routes

When a call comes into your system from the outside, it will usually arrive along with information about the telephone number that was dialed (also known as the "DID") and with the Caller ID of the person who called. The Inbound Routes module works together with most of the other modules in FreePBX. Calls come into your system on trunks that are configured in the Trunks module. The Inbound Routes Module then tells FreePBX/Asterisk where to send these calls. Calls can be sent to a variety of destinations, including Extensions, Ring Groups, Queues, IVRs, Time Conditions, Feature Codes, DISAs, Conferences, etc., all of which are configured in their own modules.

Setting Up an Inbound Route to an Extension with SIPStation

The next steps are for SIPStation users who would like to create an inbound route to an extension. The SIPSTATION module will take care of many settings automatically. If you are not a SIPStation user, you can skip this section and go to the instructions for setting up an inbound route to an extension manually.

If you are not already within the SIPSTATION module, go to Connectivity -> SIPSTATION and check that you are viewing the Local Settings tab.

Setting Up an Inbound Route to an Extension Manually

If you are not using SIPStation, you will need to set up inbound routes manually.

Please see our Inbound Routes Module wiki for more information.

Configuring Your PBX#top  

Setting Up Outbound Routes

The Outbound Routes Module is used to tell your FreePBX/Asterisk system which numbers your phones are permitted to call, and which trunk to send the calls to. Without setting up outbound routes, you will not be able to make calls outside your system.

If you are a SIPStation user, a few basic outbound routes are automatically configured for you when you set up SIPStation trunks. You should see these defaults:

You can modify the settings as needed or create new routes. See the examples below for typical configurations.

If you are not a SIPStation user, you can set up outbound routes manually as described in the instructions below.

A typical configuration will include an emergency route for 911 calls and another route for ordinary calls. You might also wish to configure routes for interoffice calls, international calls, and other special circumstances.

The order of your routes is very important. An emergency route needs to be kept first (on top of the list).

 

Creating an Emergency Outbound Route Manually

An emergency route enforces the use of a device's emergency Caller ID (CID), if set.

Creating a Local & Toll-Free Outbound Route Manually

In our example we are going to create a single route for local and toll-free numbers, combined.

Setting Up an International Outbound Route Manually

Changing the Order of Routes

When making an outbound call, the system will for the first matching dial pattern by working down the list of routes. The first item on the list will be checked first, then the next, and so on. If the system finds a match, it does not continue to look for a “better” match. Keep this in mind when deciding the order of your routes.

Remember, keep the emergency route above all of the others in the list.

Please see our Outbound Routes Module wiki for more information.
 

Configuring Your PBX#top  

Setting Up a Ring Group

A ring group is a list of multiple numbers that you would like to ring when a call is received. This gives several phones the opportunity to answer a call. You can choose from various ring strategies to control the order in which the system rings different phones.

For example, using the Inbound Routes module, we can set the destination of our DID 9203831234 to be “Ring Groups” and select the ring group we just created. If we click “Submit” and then “Apply Config,” all calls coming into 9203831234 will now ring the numbers in our ring group.

Please see our Ring Groups Module wiki for more information.

Configuring Your PBX#top  

Setting Up a Queue

You can set up automatic call distribution with the Queues module. A queue differs from a ring group because it allows advanced call routing options and escalation rules. This wiki gives you a brief overview of some basic settings, but there are many more. To learn more about queue settings, you can use the pop-up tooltips in the module.

Please see our Queues Module wiki for more information.

Configuring Your PBX#top

Setting Up a Company Directory

A directory gives the caller the option to dial a person’s first or last name using their phone keypad in order to find and be connected to an extension. It is most commonly used as an IVR option. Your directory is not limited to internal extensions. You can add custom entries such as remote extensions, ring groups, queues, and outside numbers. You can add as many directories as you would like.

Please see our Directory Module wiki for more information.

Configuring Your PBX#top  

Creating System Recordings

Modules such as Interactive Voice Response (IVR) are able to use custom system recordings in addition to default recordings. You can use the System Recordings module to create and save custom system recordings. 

There are two ways you can create a system recording: by speaking over the phone, or by uploading an audio file from your computer.

After you have created a recording, you can update it by uploading a replacement audio file or by making a new recording over the phone. You can make updates in the System Recordings module and/or enable users to dial a specific feature code that will allow them to re-record over the phone.

Creating a System Recording Over the Phone

Uploading an Audio File from your Computer

Enabling Users to Re-Record Existing System Recordings Over the Phone

You can enable a link to a feature code that will allow users to re-record a system recording over the phone. When users dial the specific feature code, they can re-record the message directly from their phone without visiting the System Recordings module. This gives users the opportunity to change recordings without contacting a system administrator.

Please see our System Recordings Module wiki for more information.

Configuring Your PBX#top  

Setting Up an Interactive Voice Response (IVR) System

An Interactive Voice Response (IVR) system gives a caller the option to choose from several destinations. A caller uses a touch-tone (DTMF) telephone to choose from menu options.

Before configuring your IVR, you will need to set up system recordings that will give instructions to the caller. You will also need to set up the destinations you plan to use with the IVR, such as extensions, ring groups, queues, voicemail boxes, directories, other IVRs, etc.

Your IVR system can be simple, with just a few options, or it can be complex with multiple options and even multiple IVRs. As a best practice, we recommend giving callers only a few options at a time, and using multiple IVRs to “nest” or “layer” various menus. For example, a single IVR might lead to three different destinations with #4 being another IVR, which then gives a caller more choices.

Always be sure that your message to callers matches the options that are set up in the IVR. If you change your IVR options, don't forget to change your recording!

An IVR may contain "hidden" options. In other words, your recorded announcement would not tell a caller that the option exists, but a caller could dial the option. For example, you could set up a "hidden" option for VIP users to receive queue priority or for employees to dial their voicemail from an outside number.

In case the caller does not enter anything, or makes an invalid entry, the IVR can send the caller to an alternate destination (the "invalid destination"). Always set up a destination for the caller to reach in case he/she reaches the maximum number of invalid entries or fails to make an entry.

Please see our IVR Module wiki for more information.

Configuring Your PBX#top  

Setting Up a Time Group

A Time Group defines periods of time that a module such as Time Conditions or Outbound Routes will use. For example, you might create a time group that defines your open business hours.

Before setting up a time group, be sure you have set the correct system time zone by visiting Admin → System Admin → Time Zone. If you need to adjust your time zone, follow the instructions given earlier in this wiki. Times in the time group are local to your system time zone. They use a 24-hour clock.

Excluding Specific Time Periods, Such as Holidays

If you need to define an exception to your time group, such as a holiday, the trick is to leave the “Time to start” and “Time to finish” drop-down menus blank. This tells the system you do not want to include any time period within this particular day, week, month, etc.

For example, here is how you would exclude Christmas Day from your time group:

As another example, if you would like to exclude Thanksgiving, you can set that up with some simple rules. Since Thanksgiving in the U.S. is always the fourth Thursday of November, it can only fall between November 22nd and 28th. You need to define these dates and let the system know that you want to look for a Thursday. You would leave the times blank in order to define this as an exception to your regular time periods.

You can define as may of these types of these all-day “exceptions” as you wish. We have more examples of holidays in our Time Groups and Sample Configurations wiki.

Always click the Submit button to save your settings, followed by the Apply Config button when finished.

Please see our Time Groups Module wiki for more information.

Configuring Your PBX#top  

Setting Up a Time Condition

A time condition is a destination that checks the current time against a time group, and then routes calls to one of two destinations based upon the result. You need to create a time group first in order for a time condition to work. Otherwise your time condition wouldn’t have anything to check. Please refer to the instructions earlier in this wiki. When you have defined your time group, now you can configure your time conditions.

A common use of this feature is to direct callers to a different destination during open business hours vs. closed hours. You could also use a time condition to route calls to the front desk during daily lunch periods, for example.

Your time condition will only affect call routing if you define it as a destination within another module, such as inbound routes, extensions, IVR, etc.

Setting Up a BLF for a Time Condition

When you create a Time Condition, the system will generate a feature code for it that will let you manually override the time condition. The feature code can also be used when setting up a BLF for the time condition.


In our case, with a Digium D70, our line key lights up green whenever our time condition is met (open for business). If we would like it to light up red when we are open instead, we can go back to the Time Conditions module and enable Invert BLF Hint.

Overriding a Time Condition

A temporary override remains in effect until you toggle the time condition again, or until the system reaches the next match in your time group, whichever comes first. A “permanent” override can be thought of as a “sticky” override that stays in place until you manually cancel it. It causes the system to ignore the time group schedule until you cancel the override. Below are instructions on creating or canceling both temporary and permanent overrides.

Temporary overrides can be controlled via feature codes/BLFs or the Time Conditions module. Permanent overrides can only be created from the Time Conditions module, but they can be cancelled either through feature codes/BLFs or the Time Conditions module.

You can temporarily override your time condition in two ways. Either:

A) Dial the feature code for the time condition (or press the BLF button that you've set up for the feature code), OR...

B) Visit the Time Condition module and click on the edit button () next to the time condition. In the Change Override menu, select a temporary override (temporary matched or temporary unmatched). Click the Submit button and then click the Apply Config button. Your new temporary matched or unmatched state will be shown next to Current. 

 

To undo your temporary override, either:

A) Dial the feature code for the time condition (or press the BLF button that you've set up for the feature code), OR...

B) Visit the Time Condition module and click on the edit button () next to the time condition. In the Change Override menu, select Reset Override. Click the Submit button and then click the Apply Config button. "No Override" will be shown next to Current.

 

To create a permanent override:

To cancel a permanent override, either:

A) Dial the feature code for the time condition (or press the BLF button that you've set up for the feature code), OR...
B)  Visit the Time Condition module and click on the edit button () next to the time condition. In the Change Override menu, select Reset Override. Click the Submit button and then click the Apply Config button. "No Override" will be shown next to Current.


 

To view the override status in the Time Conditions module:

Visit the Time Condition module and click on the edit button () next to the time condition. The current override status will be shown next to Current.

In our example, we’ve temporarily overridden the time condition.

Setting a Time Condition as an Inbound Route Destination

You can route inbound calls to a time condition in order to send them to different destinations based on time of day. First, you must set up a time group and a time condition as described above. Once this is set up, you can route inbound calls to the time condition by doing the following:

Please see our Time Conditions Module wiki for more information.

Configuring Your PBX#top  

Creating and Managing UCP Users (in User Management)

The User Management module allows you to control users’ access to FreePBX Administration, Bria Cloud Solutions, Fax, Rest API, and the User Control Panel (UCP). In this wiki, we will focus only on UCP.

UCP is an end user interface where users can manage the PBX and its features. Users can access it from a desktop computer, tablet, or mobile device.

As an administrator, you can decide what UCP permissions to give to a user. Depending on what you've enabled, UCP users can manage voicemail, make web-based calls, chat via SMS (SIPStation customers only) or XMPP, view call histories (CDR), listen to recorded calls, participate in conference rooms, send and receive faxes, set up follow-me, adjust the button layout of their phones, and more. You can also give a single user permission to view and manage other accounts.

Unless you use the Extension Quick Create function, the Extensions module will automatically a new UCP user for each new extension by default. If you are not using Quick Create, and do not want a new UCP user to be created along with a new extension, select None next to Link to a Default User. This option is found under the User Manager Settings section in the General tab when creating a new extension. Later, you can link a user to the new extension manually by following the instructions below.

Adding a New User and Setting Up UCP Privileges

These instructions explain how to manually create a new user who has access to the User Control Panel (UCP). If your new user was automatically created when creating a new extension, some of this information will already be generated for you.

Please see our User Control Panel (UCP) wiki for a detailed guide on the user interface.

Configuring Your PBX#top  

Setting Up Conferences

The Conferences module allows you to set up a conference room where multiple callers can join in a conversation. The module will create an extension number for internal callers to dial to join a conference call. Other modules such as inbound routes, time conditions, IVR, etc. can also use your conference as a destination, allowing outside callers to reach the conference room.

Direct-Dialing Into a Conference

External Callers:

If you would like external callers to be able to reach the conference room by dialing a phone number, you can set up the inbound route for one of your DIDs to go directly to the conference.

Internal Callers:

Internal extensions can reach your conference room by dialing the conference room number you have set up.

Setting up a BLF for a Conference

You can set up a Busy Lamp Field (BLF) to monitor the status of a conference room. Pressing the BLF button will allow you to dial into the conference.

Adding a Conference to an IVR

You can make it easy for your callers to reach the conference room through an IVR. Simply add your conference as a destination in the IVR. These instructions assume you have already created an IVR. If you need to create one, please see our instructions for setting up an IVR earlier in this page.

If you have an IVR set up with the the Enable Direct Dial: Enabled option set up, outside callers would be able to dial the conference number from within the IVR.
 

You can also configure an IVR option that would allow callers to dial a specific number (such as one digit) to access the conference:

Giving a User Access to Conferencing in UCP

This is a feature of the Conferences Pro module and requires a Conference Pro license for it to be present on your system.

Conferences are not enabled by default in the User Management module. You can visit this module to give a user access to a conference room in UCP.

 

Please see our Conferences Module wiki for more information.

Configuring Your PBX#top  

Setting Up Paging

Paging allows you to dial a group of phones that will auto-answer in speakerphone mode. You can use the Paging module to create a list of phones and configure several settings. You can choose what to do when phones being paged are on another call. Settings are available for two-way communications (duplex mode), outbound notifications, recorded messages, and valet-style paging, and scheduled paging. Some of these features require the Paging Pro commercial module.

Only phones that support auto answer SIP signaling will be able to auto-answer. Most soft phones do not support this. Phones that do not support auto-answer will ring instead of auto-answering.

Changing the Auto-Answer Sound

By default, a beep is played when a phone auto-answers a page. You can change this to a pre-recorded announcement or turn off this feature.

(If you need to create a new system recording, go to Admin → System Recordings to record audio or upload an audio file.)

Paging Pro Features

Paging Pro features, if enabled, are shown below the “Add Paging Group” or “Modify Paging Group” options. Paging Pro lets you choose how to page a group that is already in use, play an announcement, prepend text to the Caller ID, enable RTP multicast, and schedule automatic pages. Scheduled pages could be a replacement for school bell systems or lunch break buzzers, for example.

If you modify these settings, don't forget to click the Submit button followed by the Apply Config button.

Setting up Outbound Route Notification

Outbound notifications can be set up in order to notify a phone or group of phones when a user dials a specific number. For example, you could set up an outbound notification for 911. If a user dials 911, the linked page group would be notified of the number that was dialed and which user made the call. Everyone in the group would be connected to the call with the ability to listen. Any user in the page group can dial *1 to enable duplex mode (two-way communication), which would allow the user to speak.

If you’ve chosen to set this up for your emergency route, obviously you wouldn’t want to dial 911 in order to test your outbound route notification… Instead, you can dial 933 (the e911 address verification service) to test the functionality of the notification. Be sure 933 is included as a dial pattern in your emergency route.

 

Please see our Paging & Intercom Module wiki for more information.

Configuring Your PBX#top  

Setting Up Parking

The Parking module creates and configures parking lots, sometimes referred to as parking orbits, to which calls can be transferred in order to allow another extension to retrieve the calls. The standard Parking module allows one parking lot to be available to all phones on the system. The Parking Pro module allows multiple parking lots, plus the ability to announce parked calls when combined with the Paging Pro module.

Setting Up a BLF for a Parking Slot

You can set up Busy Lamp Field (BLF) keys to view and retrieve parked calls. This makes it easy for phone users to see when calls are parked, and to pick them up from their extensions by pressing a button.

Please see our Parking Module wiki for more information.

Configuring Your PBX#top  

Setting Up Follow Me

The Follow Me module allows you to redirect an inbound call to another location. This is designed to help an inbound caller reach you when you are not available at your main phone. For example, you could set Follow Me to ring your extension for a certain period of time, then to ring another extension and/or an outside number, such as your mobile phone.

Users may dial the feature code of *21 to toggle Follow Me (enable/disable). You can also set up a BLF button for this purpose. A user can also access this feature in the User Control Panel (UCP).

 

Configuring Follow Me in UCP

Users can adjust their Follow Me settings directly from the User Control Panel (UCP) if they have access to UCP and are allowed to manage the extension settings within UCP. For more information on controlling a user's UCP permissions, please see the section Adding a New User and Setting Up UCP Privileges section earlier in this wiki.

If a user has access to UCP and is allowed to manage extension settings, they can manage Follow Me by following these steps:

Setting Up a BLF for Follow Me


Please see our Follow Me Module wiki for more information.

Configuring Your PBX#top  

Setting Up Backups

The Backup and Restore module automatically includes a default backup that will run monthly. You can set up custom backups on a schedule of your choice.

Creating a Backup

Running a Backup Manually

 

See our Backup and Restore wiki for more information.

Configuring Your PBX#top  

Other Modules

There are many other modules, and most are self-explanatory. You can find out more about each of them here:  Standard Modules.


Consider the Paid Modules

The FreePBX Distro includes all of the modules you need to set-up a first class PBX. There are, however, some additional modules available that you may wish to purchase.   You can find out more about the Paid Modules here:  http://www.freepbx.org/commercial-modules