Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 38 Next »

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. 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:  FreePBX Modules Home.

Getting Started

  • Begin by logging into your PBX. We will be working with the FreePBX Administration GUI.


  • Next, take care of a few basic housekeeping items shown in the following instructions: Setting the time zone, setting hard drive failure / fill-up notifications, and configuring intrusion detection settings.

Setting the Time Zone

    • Go to Admin -> System Admin -> Time Zone
    • Use the drop-down menus to select the appropriate time zone and then click “Submit.”

    • Click “OK” in the pop-up window that appears, and then wait for the page to reload. Once it has reloaded, your settings have been applied.

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

    • Go to Admin -> System Admin -> Storage
    • Enter an e-mail address where you would like to receive hard drive failure / fill-up notifications, and click “Submit.”

Configuring Intrusion Detection

  • Go to Admin -> System Admin -> Intrusion Detection
  • We recommend that you keep this service running, in order to detect, block, and notify you of attempts to compromise your system. You may check the status here and adjust your ban time, max retry, and find time if needed.
  • Enter an e-mail address where you would like to receive intrusion detection notifications.
  • Optionally, enter any IPs that you would like to whitelist.
  • Click “Submit” and then click “OK” in the pop-up window that appears. Wait until the page reloads. Your settings will be applied when the page reloads.


Creating Extensions

  • Go to Applications -> Extensions
  • Select your device from the drop-down menu and click “Submit.” You will be taken to a page where you can enter more information about the extension.

  • Enter the extension number that will be used to reach this user, and the display name.

  • If you would like to enable voicemail now: Scroll down toward the bottom of the page to the “Voicemail” section. Use the drop-down menu to enable voicemail, and enter an initial password (digits only). Users can change their passwords later by dialing *98 and changing voicemail settings.

  • Click “Submit” followed by the “Apply Config” button.

  • Repeat the process for each extension you would like to add.

  • To manage the extensions you created, go to Applications -> Extensions and click on the individual extension in the list at the upper right corner.

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.


  • Go to Settings -> EndPoint Manager
  • Click on “Global Settings” in the menu at the upper right corner of the page.

Setting the IP Address and HTTP Provision Port

    • Enter the IP address of your PBX into the “Internal IP Address” field.
    • Take note of your HTTP provision port shown, as you will need it later when setting up your phone to reach configuration files.
    • Click "Submit" when done.

Installing Firmware

  • Click “Firmware Management” in the EndPoint menu at the upper right corner of the page.
  • Then click your phone’s brand from the list that appears:
  • Drag the latest firmware to Firmware Slot 1 and click “Submit.” A message will appear saying the firmware is downloading and installing. (The below example is for Digium.) You will need to refresh the page after a couple of minutes in order to confirm the firmware has been successfully installed.

  • If the firmware has completed its installation, you should see a message similar to the following:

Creating a Template for the Phone

    • Click “Add Brand” in the EndPoint menu at the upper right corner of the screen.
    • Select the brand of your phone.
    • Enter a friendly name for the template in “Template Name.”
    • Choose either the “Internal” or “External” Destination Address option. If you choose Internal, the system will pull the IP address you defined earlier in Global Settings. If you choose External, you may enter any IP or Fully Qualified Domain Name (FQDN). In this example we have chosen Internal.
    • Select your time zone. Choose your standard time offset from GMT, or select GMT.
    • The Provision Server Address should match the Destination Address set above.
    • For Provision Server Protocol, click on “HTTP” to select HTTP as the protocol that will be used to transfer configurations to phones.
    • For Firmware Version, choose “Firmware Slot 1” from the drop-down menu.
    • Click "Save Template" when finished.

Setting Up a Line Key for an Extension

    • After you’ve saved your template, you should now see your available phone(s) at the bottom of the page. (To navigate to this page if you are not there already, go to Settings -> EndPoint Manager -> Brands [Name of Brand] -> Manage [Name of Template].)

    • Click on the blue button for the phone you’d like to work on.

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

    • Use the orange Line Keys area to set up a line key. For Type, select “Line” from the drop-down menu. The Label and Value fields will disappear. For Account, select “Account 1” from the drop-down menu.

    • Click the "Save Model" button on the left side of the page when finished.

Mapping the Phone to an Extension

    • Click on “Extension Mapping” in the EndPoint menu in the upper right corner of the page. Then click “Add Extension.”

    • Under Extension/Name, select the extension and account you would like to associate with this phone.
    • Select your phone’s brand from the drop-down menu.
    • Under the brand, enter the phone’s MAC Address. This information is typically found printed on a label on the back of the phone.
    • Choose the phone’s template from the Template drop-down menu. This is the template we created earlier.
    • Choose the model of your phone from the Model drop-down menu.
    • When finished, be sure the drop-down menu at the bottom says “Save,” then click “Use Selected.”

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. The following instructions apply to the Digium D70: 

      • Press the phone’s “Settings” button
      • Select “Fetch Configuration File from URL”
      • Enter the IP address of your PBX
      • Enter the HTTP port for provisioning
      • Press “Go”
      • Your phone should reboot, and you should now see the extension line key that was set up earlier.

Please see our End Point Manager wiki for more information.


Setting Up SIPStation Trunks

If you haven't already, you will need to visit the SIPStation Store to purchase at least one trunk and one DID as described in this wiki: Adding Services or DIDs to your Existing Account

The following instructions will show you how to set up SIPStation trunks in FreePBX. These instructions assume you have already purchased a SIPStation trunk.

  • Go to and log in.

  • Note: SIPStation allows you to create multiple locations within the same account. Check the blue bar at the top of the page to ensure you are using the correct location. If not, click on the triangle to bring up a list of other locations to choose from.

  • Click on “My Account” in the green main menu near the top of the page.

  • Provide a valid E911 address if you have not already done so. You are required to set this up in order to use the SIPStation service. It is your responsibility to provide a valid U.S. or Canadian address and verify that E911 is working. You can verify this by dialing 933 as soon as you are able to make outbound calls.

  • In My Account, scroll down to find the Account Configuration section.

  • You should find your FreePBX Module Keycode. Copy this keycode to the clipboard. (Be sure the entire keycode is selected.) This keycode will later help you easily auto-configure trunks and routes in FreePBX.

  • Now, go back to FreePBX Administration. Go to Connectivity -> SIPSTATION. Paste your keycode into the Account Key field and click “Add Key.”

  • The page should reload and you should see a green Trunk Updates message stating that new trunks have been added. Next, click the “Apply Config” button at the top.

Reviewing your SIPStation Account Services

The SIPSTATION module allows you to conveniently check several settings without the need to visit the SIPStation Store. You can set a global failover number here. You can also see the status of international calling, outbound fax, and SMS support. If you need to visit the store, you may do so from right here in the module using the SIPSTATION Store tab.

The Account Services section of the SIPSTATION module allows you to set a global failover number. Your Asterisk server would send incoming calls to this number in case it is unable to connect to SIPStation. To edit the global failover number from within the SIPSTATION module:

    • Enter the desired number into the Global Failover Number field.
    • Click the “Update Account Settings” button.

To enable/disable account services such as international calling, outbound fax, and SMS Support:

    • Log in to your SIPStation Store account. You can access the store directly from the SIPSTATION module in FreePBX Administration by clicking the SIPSTATION Store tab. Alternatively, you can visit

    • In the store, click on “My Account” and then scroll down to view your Metered Services.

    • You can turn these services on or off by clicking the ON/OFF switches. Notice that above your Metered Services section, you can also adjust failover settings here.

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.

Remember, your SIPStation service 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. Please view our “Additional e911 Addresses” wiki for more information.

    • You can adjust the master E911 name and address. If you need to make adjustments to the Master e911 caller ID, name, and/or address, enter your changes here.
    • When finished making changes, click the “Update Account Settings” button.
    • The page will refresh and notify you that your settings have been updated. However, it may take up to 15 minutes for the settings to actually be applied. Your E911 information will show up blank in the meantime. Keep refreshing the page periodically until you see that your new E911 information is displayed. Don’t forget to call 933 to test the accuracy of the information.

Please see our SIPStation Trunking wiki for more information.


Setting Up an Inbound Route to an Extension

The next steps will create an inbound route to an extension. If you are not already within the SIPSTATION module, go to Connectivity -> SIPSTATION and check that you are viewing the Local Settings tab.

  • Scroll to the bottom of the page and you should see your DID(s) under DID Configuration.
  • Set a Failover Number for the DID if desired. The is the number that will be called in case your PBX cannot be reached when someone calls in.
  • Enter a description for the DID if desired.
  • In the “Route To” column, choose a the destination “Extensions.” A second drop-down menu will automatically appear below, where you can select the desired extension.
  • You have the option to change the way caller ID (CID) works for this DID - see the DID Configuration pop-up tooltip for more information.
  • Click on “Update DID Configurations” and click “Apply Config” when finished.

Note: In our example, we have chosen to route our DID 9203831234 to extension 4000. We are labeling this DID the “Main DID” in our description because we will not be using the other DIDs in this tutorial. The color-coding is related to e911 service. Green is for the master e911 number, orange is for additional e911 numbers, and black is for numbers that do not have e911 set up. We have chosen “9203831234” as the Caller ID (CID) for outbound calls made from extension 4000. If we wouldn’t have done this, outbound calls from this extension would show 2052065887 as the CID in our case. We have also chosen 9203831234 as the emergency CID. The emergency CID overrides any other CID settings when making 911 calls.

  • You should now see a green Updates message at the top of the page stating that you successfully updated or created an inbound route for your DIDs. If you refresh the SIPSTATION module page, you should see the Asterisk Registration Status saying “Registered” with a green bar, and the SIP Ping should say “OK” with a green bar. If you go to
  • Connectivity -> Inbound Routes, you should see your new inbound route in the list in the upper right corner. 

Please see our Inbound Routes Module wiki for more information.


Setting Up Outbound Routes

When you routed your DID to an extension in the SIPSTATION module earlier, by using the DID Configuration settings, a few simple outbound routes were automatically created for you. You can check their settings and make adjustments as necessary.

  • Go to Connectivity -> Outbound Routes
  • You should see a list of three outbound routes in the upper right corner of the page, as well as an option to add a new route. The order of these routes is very important. The emergency route needs to be kept on top as the first option. When making an outbound call, the system looks for the first match by working down the list. If the system finds a match, it does not continue on to find a “better” match. Keep this in mind when deciding the order of your routes. You can change the order by clicking on a route name and dragging it up or down. But remember, keep the emergency route above the others on the list.

Setting Up an Emergency Outbound Route

    • Click on the E911-Leave-First route to view its settings. Note that the Route Type is defined as “Emergency.” It is important to leave this box checked.
    • Scroll down to the section showing Dial Patterns that will use this Route. If a user dials 911 or 933, this outbound route will be used. If a user dials 1911, 9911, or 91911, the system will still use this outbound route but will strip the “prefix” from these numbers, sending out only the digits that follow the bracket symbol (“[“). You may add additional dial patterns if needed.

    • Toward the bottom of the page, note the trunk sequence that will be used. In case 0 is not available, the system will try 1, and so on.

    • If you have made any changes on this page, be sure to click the “Submit Changes” button followed by the “Apply Config” button.

Setting Up a Local and Toll-Free Outbound Route

    • Click on the SIPStation-OUT route to view its settings.
    • Note that both boxes for Route Type are unchecked. This is neither an emergency route nor an intra-company route. We would like this route to be for non-emergency local or toll-free outbound calls.

    • Scroll down to see a list of dial patterns that will use this route. You may have to scroll within the list to see all of the current patterns. You can view the pop-up tooltip on this page (the blue question mark ) to learn more about how to set up dial patterns. You can add additional dial patterns if you would like.
    • For example, if your system doesn’t require dialing “9” to make an outside call, you might wish to consider adding dial patterns with “9” as the prefix. This would strip the “9” from the number in case someone dials “9” out of habit. Another common option is to prepend your local area code to 7-digit numbers by placing the area code in the “prepend” field next to an NXXXXXX dial pattern. 
    • Click the green plus sign (“+”) or the “+ Add More Dial Pattern Fields” if you need more space to add new dial patterns. Click the trash can icon to delete a dial pattern. There is also a “Dial pattern wizards” option that will allow you to pre-fill the fields with some common types of entries.
    • If you supply a caller ID in the CallerID field, the system will only consider your dial pattern to be a “match” if it receives this particular caller ID. This field could be used to restrict certain outbound routes to certain extensions. You need to enter the extension number itself into the CallerID field, not the Outbound Caller ID of the extension set elsewhere. The CallerID field can contain special rules if you wish (i.e. N, X, Z, brackets, etc.). Please see the pop-up tooltip on the page for complete information. 


    • Again, you can see your Trunk Sequence for Matched Routes near the bottom of the page and check the order in which the system will try each trunk.
    • If you have made changes on this page, click the “Submit Changes” button followed by the “Apply Config” button.

Setting Up an International Outbound Route

    • Click on the SIPStation-INT route to see its settings.
    • If you would like to restrict international outbound calling by setting a password, you can set a Route Password here (numbers only). Advanced users: You may also set a path to an authenticate password file. 

    • Just like with our local/toll-free route, the boxes next to Route Type are unchecked. This is neither an emergency route nor an intra-company route. We would like this route to be for non-emergency international outbound calls.

    • Scroll down to see a list of dial patterns that will use this route. The default options are meant to recognize international calls. You may add additional dial patterns if you wish. See the pop-up tooltip in order to view full information.

    • Check your Trunk Sequence for Matched Routes near the bottom of the page to verify the correct settings.
    • If you have made changes on this page, click the “Submit Changes” button followed by the “Apply Config” button.

Please see our Outbound Routes Module wiki for more information.


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.

  • Go to Applications -> Ring Groups
  • At the top you will see a Ring-Group Number, which defaults to 600 if no ring groups have been created. This will be the number a user may dial to ring the phones in the ring group.
  • Give the new ring group a Group Description.
  • Choose a Ring Strategy. The default is “ringall.” Other options include ringall-prim, hunt, hunt-prim, memoryhunt, memoryhunt-prim, firstavailable, firstnotonphone, and random. Click on the pop-up tooltip question mark icon for a full description of each of these strategies.
  • Set the Ring Time, in seconds (maximum 300 seconds).
  • List the extensions and/or outside numbers that you want this ring group to call. You can include an extension on a remote system, or an external number, by suffixing the number with a “#” symbol. Enter one number per line. You can use the Extension Quick Pick feature immediately below this field in order to quickly select existing extensions.
  • Take a look through the other options and configure them as needed.

In our example, we’ve added two extensions and an external number.


  • At the bottom of the page, set a destination to which to route the inbound call in case no one answers. For example, you may wish to route it to a voicemail box.


  • Click “Submit Changes” and then click “Apply Config.”
  • In order for the ring group to work, you will need to either give callers the option to dial it (i.e. from a company directory or IVR), or route inbound calls to a DID or extension directly to the ring group. These options are controlled within the Inbound Routes module and elsewhere in other modules.

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.


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.

  • Go to Applications -> Directory
  • Click “Add New Directory”
  • Under Directory General Options, give the directory a name and description. If you would like a prefix to be added to the incoming caller’s caller ID, you may enter it here.


  • In Directory Options (DTMF), choose the number of retry attempts you would like to offer a caller who enters something that is invalid. For example, if they try to type the name Smith into their keypad, but there is no “Smith” in your directory, this is considered an invalid entry. The default number of Invalid Retries is 2.
  • If a caller exceeds the limit, he or she will be sent to the Invalid Destination. Select an Invalid Destination. For example, a voicemail box.
  • Check the Return to IVR box if you would like callers to be returned to the IVR, instead of to the Invalid Destination. This only applies to callers who reached the directory via an IVR.
  • Check the Announce Extension box if you would like the system to tell the callers the number of the extension after it is found in the directory. This is useful if you’d like your callers to know the exact extension number so they can direct-dial it in the future without spelling someone’s name.


  • At the bottom of the page, create your directory. Add new entries by clicking the plus sign icon ().
  • Make a selection from the Name Announcement drop-down list. If necessary, enter the number you’d like the system to dial. Note that when adding existing extensions, the Name and Dial fields are greyed-out because you cannot edit this information. You would need to edit the information in the Extensions module. If you add a Custom entry, such as an external number, you are able to edit the Name and Dial fields.
  • Click “Submit” then click “Apply Config” when finished making changes.
  • In order for the directory to work, you will need to either give callers the option to dial it (i.e. from an IVR), or route inbound calls to a DID or extension directly to the directory. These options are controlled within the Inbound Routes module and elsewhere in other modules.

Please see our Directory Module wiki for more information.


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 new audio file or 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:

    • Go to Admin -> System Recordings
    • Enter your extension number and click “Go.” 

    • The page will reload and display instructions that give you a code to dial. Dial this code from your phone in order to make your recording. Begin speaking at the tone, and press # when finished. You will be prompted to listen to your recording to or re-record. When you are satisfied with your recording, simply hang up.

    • Now, dial *99 to verify your recording. You will hear the tone play again, followed by your message. You can re-record from here if you would like, or simply hang up again.

    • When you are satisfied with the recording, enter a name for the recording (no spaces) and click “Save.”

    • The page will reload and you will see a message letting you know your recording has been saved.

Uploading an Audio File from your Computer:

    • Go to Admin -> System Recordings
    • Click “Choose File” to select a file from your computer, then click “Upload.” The file must be an Asterisk-supported format.

    • A window will pop up asking you to wait until the page reloads. Click “OK” right away, and then wait for the page to reload.
    • The name field will automatically populate with the name of your file. You can accept the automatically generated name or enter a new name. Click “Save” when you are ready to save the recording.

    • The page will reload and you will see a message confirming that your recording has been saved.

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.

    • Go to Admin -> System Recordings
    • Click on the name of the desired recording in the list at the upper right corner.
    • Check the box next to Link to Feature Code. The system will display the feature code that you can use to reach this particular recording.

      In our example, the feature code is *294. A unique feature code will be generated for each of your recordings.
    • Click “Save” and then click “Apply Config.” You will now be able to dial the feature code in order to listen to and re-record the system recording.

Please see our System Recordings Module wiki for more information.


Setting Up an Interactive Voice Response (IVR) System

An Interactive Voice Response (IVR) system gives a caller the option to choose from several destinations.

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.

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.

  • Go to Applications -> IVR
  • Click “Add a new IVR”
  • Under IVR General Options, give your IVR a name and description.
  • Use the Announcement drop-down menu to choose the system recording you would like to use for the Announcement. The default option is “None.” A setting of “None” would not be advised, since it would not explain any options to the caller. Please see visit the System Recordings module at Admin -> System Recordings if you need to set up recordings.
  • Use the Direct Dial drop-down menu to choose whether you would like callers to be able to direct-dial an extension from your IVR. It is disabled by default. If you enable direct dialing, the caller can dial an extension at any time to reach it, even if it is not one of the entries (choices) within your IVR. You can choose whether the caller can dial and reach all extensions or just certain ones that are listed in a directory. Enabling direct-dial saves your callers time if they already know a person’s extension and do not wish to navigate through an IVR.

  • Configure your timeout settings. If no DTMF tones are heard, the system will take the actions you specify in your timeout settings. You can adjust the length of time that is considered to be a timeout. The default is 10 seconds. You can set up custom recordings if desired. You are required to set a Timeout Destination. Please refer to the pop-up tooltips for complete descriptions of all of the timeout settings.

  • Configure your invalid entry settings. If the caller dials something that isn’t one of the choices in your IVR, or tries to dial an extension for which direct dialing is disabled, the system considers it an invalid entry. You can choose how many retry attempts you would like to offer the caller. You can set up custom recordings if desired. You are required to set an Invalid Destination. This is somewhat of an “if all else fails” option for customers who may be having difficulty navigating the system. Please refer to the pop-up tooltips for complete descriptions of all of the invalid entry settings.
  • You can set up your IVR entries at the bottom of the page. In the “digits pressed” field, enter the number you would like the customer to dial in order to reach the specified destination. For example, if your IVR announcement to callers says “Press 1 for sales,” you would type “1” into this field. Then choose the destination from the drop-down menu.

  • Click the green plus sign () to add additional entries. When done, click “Submit” and then click “Apply Config.”

    In our example we have set up a very simple IVR with four options. A system recording tells the caller to dial 1 for sales, dial 2 for support, and dial 3 for the company directory. Options 1 and 2 route to extensions. Option 3 lets the caller find John Doe, Jane Doe, Susie Smith, and Sam Smith. “0” is a “hidden” option because our system recording does not mention it. But if the caller dials 0, they will be taken to the operator, who has their own extension. Earlier, we chose to enable direct-dialing to all extensions, so a customer could also dial 4000, 4001, 4002, 4003, or 4004 to reach the different people at this imaginary company.

  • There is one final step you must take in order to make your IVR work for you. You will need to either set the IVR as a destination on an inbound route, or set it as a destination in one of your other modules (i.e. Call Flow Control, Time Conditions, etc.). This will enable callers to reach your IVR.

Please see our IVR Module wiki for more information.


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. Check the “Server time” box shown at the upper right corner of the page. 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.

  • Go to Applications -> Time Groups.
  • Click “Add new.”
  • Enter a description for your time group. In our example, we are creating a list of times that our business is open. Select the start and finish times, days of the week, days of the month, and months as necessary. You will be able to add more time periods after you submit the first one.

    In our example, we have selected Monday through Friday, 8 AM to 5 PM.
  • Click “Submit.” Note that you are taken back to the Add Time Group home screen. If you are finished, click “Apply Config.” Or, if you need to define more times within the time group, click the name of the time group in the list at the upper right.

    In our example, we need to add another time period, so we will click the name of our group to go back to it.
  • The time condition page looks a little different now that your first time period has been saved. You have the option to add another time period by defining a New Time. You can also remove your previous entry by clicking “Remove Section and Submit Current Settings.” Continue adding as many time periods as needed. Don't forget to click "Submit" followed by "Apply Config" when you are finished.

    In our example, we have defined Saturdays from 8 AM to Noon as another time period in our time group.

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 “Submit” to save your settings, followed by “Apply Config” when finished.

Please see our Time Groups Module wiki for more information.


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.

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.

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.

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.

  • Go to Applications -> Time Conditions
  • Give your time condition a name.
  • If you would like to require users to enter a PIN before they can override the time condition, enter it in the Override Code PIN field.
  • If you set up a BLF on your phone to monitor the status of your time condition, its default behavior will be to show an “INUSE” status when your time condition fails. In other words, if your time group defines your open business hours, the BLF would show the “INUSE” status outside of business hours. You can check the box for “Invert BLF Hint” if you would like to reverse this behavior.
  • Select the appropriate Time Group from the drop-down menu.
  • Set the desired destinations. One will be used if your time condition matches the time group, and the other will be used if there is no match. You cannot leave either of these blank.
  • When finished, click “Submit” and then click “Apply Config.”

In our example, we are sending callers to our main IVR if we are within open business hours. Callers are taken to a different IVR during closed hours.

Setting Up a BLF for a Time Condition

After you have created a time condition, the page will reload. A feature code will be shown within the “Delete Time Condition” link. In our example, it is *271. You can dial this feature code to manually override your time condition, which we will talk about below. It is also the feature code you need to use when setting up a BLF for the time condition. You can change this feature code from the Feature Codes module.

For example, here’s how we would configure a line key as a BLF that monitors our Open/Closed for business status:

In our case, 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 check the box for “Invert BLF Hint.”

Overriding a Time Condition

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

A) Dial the feature code for the time condition (or using the BLF button you’ve configured for this purpose), or

B) Visit the Time Condition module, select a temporary override from the Change Override menu, and then click “Submit” and “Apply Config.”

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.

To undo your temporary override, either:

A) Dial the feature code for the time condition (or using the BLF button you’ve configured for this purpose), or

B) Visit the Time Condition module, select “Reset Override” from the Change Override menu, and then click “Submit” and “Apply Config.”

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.

To create a permanent override:

    • Visit your time condition in the Time Condition module.
    • Select the appropriate option from the Change Override menu, then click “Submit” and “Apply Config.”

To cancel a permanent override, either:

A) Dial your time condition’s feature code, or

B) Go to your time condition and select “Reset Override” from the Change Override menu.

To view the override status in the Time Conditions module:

Click on the name of your time condition in the upper right. The current status is shown next to “Current Override.”

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

Please see our Time Conditions Module wiki for more information.


Creating and Managing Users (in User Management)

The User Management module allows you to control users’ access to the User Control Panel (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. 

From UCP, users can manage voicemail, make web-based calls, chat via SMS (SIPStation customers only) or XMPP, view call histories (CDR), participate in conference rooms, send and receive faxes, set up follow-me, adjust the button layout of their phones, and more. Available features vary depending on what you enable in FreePBX Administration. You can also give a single user permission to view and manage multiple accounts.

The Extensions module creates a new UCP user for each new extension by default.  You can change the default behavior by setting the “Link to a Default User” option to "None" under User Manager Settings in the Extensions module.
    • Go to Admin -> User Management
    • If you need to add a new user, click on “Add New User” in the menu at the upper right. Otherwise, click on an existing user.
    • If your user was automatically added by the Extensions module, some of the information will be pre-filled. You would see "Autogenerated user on new device creation" for the description.
    • Edit the login name, password, and contact information for the user as needed. An e-mail address must be defined if you would like the user to receive an automatically generated e-mail containing UCP login information.
    • Select an extension to link to this user.
    • Select any Additional Assigned Extensions you would like this user to be able to manage.
      In our example, our user is only allowed to manage his own extension.

    • Be sure that the User Control Panel is enabled for the user by checking that UCP “Allow Login” is set to “Yes.”
    • You can configure the user’s access to Extensions, Call Detail Records (CDR), Conference Bridges, Endpoints, Presence, SMS DIDs, and Voicemail. View the pop-up tooltips for complete details.
    • Be sure that XMPP is enabled for the user. If XMPP was not previously enabled, you will be prompted to set a password after enabling it. The password field is located near the top of the page and can be anything you want. The user will use to this password to log in to the UCP. Users can change their password after logging in.

    • Further down the page, you can adjust iSymphony and Rest API settings. View the pop-up tooltips for complete details.
    • You have two choices when you are finished: Either “Update” or “Update & Send Email to User.” Remember, the system will not be able to e-mail the user unless you defined an e-mail address above.
    • After clicking either “Update” or “Update & Send Email to User” button, click “Apply Config.”

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


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.

  • Go to Applications -> Conferences
  • Enter a Conference Number that callers will dial to reach the conference.
  • Give the conference a name that will help you identify it.
  • Optional: Set a PIN for users. Users would be required to dial the PIN in order to join the conference.
  • Optional unless the “Leader Wait” option is in use: Set a PIN for the Admin. The admin would dial this PIN to identify himself/herself as the conference leader.

  • You can set a variety of conference options. Please see the pop-up tooltips for details.
  • When finished, click “Submit Changes” and then “Apply Config.”

Internal extensions can reach the conference room simply by dialing the conference number. You will need to set the conference as a destination in another module if you would like outside callers to be able to reach it.

For example, if you have an IVR set up with the “Direct Dial: Extensions” option enabled, outside callers would be able to dial conference number from within the IVR. Regardless of whether Direct Dial: Extensions is enabled, you could also set up an IVR entry that would let callers dial a specific number (other than the conference number itself).

As another example, you might set up an inbound route on a DID to let outside callers reach your conference by calling a particular telephone number.

Setting up a BLF for a Conference

You can set up a BLF to monitor the status of a conference room.

  • Go to Settings -> End Point Manager
  • Click on your phone’s brand.
  • Under “Manage,” click on the name of your phone template.
  • Click on your phone model under “Available Phones.”
  • Create a BLF, and for the value, enter your conference number.

  • Click “Save Model” on the left.
  • Click “and Rebuild Configs” and then reboot your phone. Your BLF will show whether the conference room is in use. You can press the button to dial into the conference.

Giving a User Access to Conferencing in UCP

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.

    • Go to Admin -> User Management and select a user.
    • Next to “Allowed Conference Bridges:”, select the conference(s) you would like to grant access to.
    • Click “Update” and then click “Apply Config.” 
    • Now, when the user logs into UCP, a “Conferences” option will show up in the menu, and the user will see the available conference(s).

    • The user can click the conference room and manage everything from UCP, including the conference room’s settings.


Please see our Conferences Module wiki for more information.


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.
  • Go to Applications -> Paging and Intercom
  • Select “New Paging Group” from the menu on the upper right.

  • Enter a number to use as the paging extension. This is the number that users will dial to reach the page group.
  • Give the group a description to help you identify it.

  • Drag the desired devices from the “Not Selected” bin to the “Selected Bin."
    In our example, we've selected all of our devices.
  • Choose how to handle busy phones.
    Skip: Busy extensions will not be paged.
    Force: Busy extensions will be paged even when the phone is in use. This is useful for “emergency” paging.
    Whisper: Busy extensions will receive the page in the earpiece instead of the speakerphone. The remote party will not hear the page. We do not recommend using Whisper mode if Duplex is enabled.
  • Choose whether you want to enable duplex mode. This essentially creates an instant conference call where all of the users are able to communicate with each other. Duplex mode does not make much sense if you have “Busy Extensions” set to “Whisper.” If duplex mode is disabled, only the person making the page will be able to speak. Other users would be able to un-mute themselves by pressing *1.

  • When finished setting up your page group, click “Submit” and then click “Apply Config.” 

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.)

  • Go to Applications -> Paging and Intercom
  • Click on “General Settings” in the list at the upper right.
  • Change the auto-answer Announcement setting using the drop-down menu.
  • Click “Save” and then click “Apply Config.”

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 "Submit" followed by "Apply Config."

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.

  • To set up an outbound notification, first go to Connectivity -> Outbound Routes.
  • Select an outbound route from the list on the upper right.
  • Under “Additional Settings,” select your Page group from the drop-down menu next to “Notification.” Note: we do not recommend selecting a page group that uses Force Valet Paging. 

  • Click “Submit Changes” at the bottom and then click “Apply Config."

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.

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


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 available to all phones on the system. The Parking Pro module allows multiple parking lots, plus the ability to announced park calls when combined with the Paging Pro module.

  • Go to Applications -> Parking
  • Click “Default Lot” in the list in the upper right corner. We will focus on editing the default lot for now. Later, you can create new lots if desired (if using Parking Pro).
  • The first item under “Parking Lot Options” is the extension. The Parking Lot Extension is the extension to which you will transfer calls in order to park them in the first available lot. Take note of this extension. The default is 70 for the first lot. You can change it, but we recommend that you leave it at its default.

  • This parking lot is named “Default Lot” by default, but you can change it to anything you wish.

  • You can decide how many parking “slots” you would like to set up for your lot. When a call is parked, it is placed into the first available slot. If another call comes in and is parked while the first call is still parked, the second call is placed into the next available slot, and so on, until all slots are filled. If all slots are filled, a parked call will automatically go to the “alternate destination” that we will talk about below. Each slot has a number. The Parking Lot Starting Position will be the first slot number in your sequence. You can define how many slots to make available. The system will number them in sequence. For example, if your starting position is 71, and you want 8 slots, the slots will be numbered 71 through 78. To avoid confusion, the starting position number should be different from the parking lot extension. You can park a call directly into a specific lot by transferring the call to the lot number instead of the general parking extension.

  • Set the Parking Timeout in seconds. This is the amount of time a call will stay in a parking lot until it times out. The default is 45 seconds. Later, you’ll set the timeout behavior and destination at the bottom of the page.
  • You can change the music played to a parked call if desired. Note that this setting will be ignored if you set a different music class at a point earlier in the call flow, such as within a queue or ring group.
  • Two Parking Lot Types are available: Public and Private. Anyone can transfer calls to a Public lot. A private lot, on the other hand, only allows certain extensions to transfer calls to it.

If your lot is private, you can grant an extension access to it by visiting Applications -> Extensions, clicking the specific extension, scrolling down “Parkinglot,” and selecting a lot from the drop-down menu.


  • View the pop-up tooltips for more information on BLF Capabilities, Find Slot, and Returned Call Behavior settings.

  • Set an alternate destination at the bottom. First, choose whether you would like a timed-out call to come back to the origin. A timeout occurs after the number of seconds you set earlier in Parking Timeout (seconds). If you select “Yes,” a timed-out parked call rings the person who parked it again. If that phone is busy or does not answer, the call then goes to the alternate destination. If you select “No,” a timed-out parked call will go directly to the alternate destination. After you’ve set whether the call should come back to the origin, select a destination from the drop-down menus.
  • When finished, click “Submit Changes” then click “Apply Config.”

Setting Up a BLF for a Parking Slot

You can set up 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.

  • Go to Settings -> EndPoint Manager
  • Select your phone brand from the list at the upper right.
  • Click on your phone’s template under “Manage.”
  • Click on the button for your phone.
  • Set up BLF keys by choosing “BLF” and using the slot numbers as the values.
    In our example, we’ve set up soft keys on our phones to monitor two of our parking lot slots, 71 and 72. We've labeled them "Slot 71" and "Slot 72" but you can use whatever labels you wish.

  • Click “Save Model” on the left.
  • Click “and Rebuild Configs” at the bottom of your template page and then reboot your phone.

Please see our Parking Module wiki for more information.


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 outside number such as your mobile phone. 

Users may dial *21 to toggle Follow Me (enable/disable). The status will be announced.

    • Go to Applications -> Follow Me
    • Click on an extension in the list in the upper right corner.
    • The first option under “Edit Follow Me” is “Disable.” If this box is checked, calls will ring the extension as usual, and follow me will not be used. Follow me is enabled (turned “on”) if the box is un-checked.


In our example, we will leave this checked because we don’t want to turn on Follow Me right now. We will let our user manually turn it on by dialing the appropriate feature code (*21) or using a BLF key.


Set your ring options such as Initial Ring Time (in seconds), Ring Strategy, and Ring Time (max 60 seconds). Initial Ring Time defines how long the primary extension will be rung before proceeding to the follow-me list. A “0” setting will bypass this. View the pop-up tooltip for full details on the various ring strategies.

Create a list of extensions and/or external numbers you would like to ring when Follow Me is enabled. You need to suffix a “#” to an external number. The “Extension Quick Pick” menu helps you find and choose existing extensions.

In our example, we’ve set Follow Me to dial our (imaginary) mobile phone number.

Enable call confirmation if you would like to require someone to press “1” to accept an incoming follow-me call on an external phone. This is useful if you would like to prevent the incoming call from arriving at a mobile phone’s voicemail, for example.

Set a destination to which the incoming caller will be routed if none of the Follow Me numbers answer the call.

Configuring Follow Me in UCP

Users can adjust their Follow Me settings directly from UCP. To do this, users can log into UCP, then select “Settings” in the menu, then click on their extension.

From there, users have a very easy-to-use set of options they can adjust to set up Follow Me. There are simple ON/OFF switches and drop-down menus. These options are a “lighter” version of what is available in FreePBX Administration. Some settings, such as ring strategy, are not available.
Users can click on the pop-up tooltips () for more information. Changes take effect immediately.

Setting Up a BLF for Follow Me

    • Go to Settings -> EndPoint Manager
    • Select your phone brand from the list at the upper right.
    • Click on your phone’s template under “Manage.”
    • Click on the button for your phone.
    • The default feature code to toggle Follow Me is *21. Use *21 followed by your extension number as the “value” for the BLF key. For example, if our extension is 4000, we need to use *214000 to set up the BLF.

Please see our Follow Me Module wiki for more information.


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.

To create a new backup:

  • Go to Admin -> Backup and Restore
  • Click “New Backup”
  • Give the backup a unique name.
  • Optionally, give the backup a description and enter an e-mail address where you’d like to be notified when backups are completed.
  • You can add items to the backup list using two methods:

    • A) Drag and Drop: Drag the desired templates to the “Backup Items” section. You will see a “drop here” box. After you drop the template, items will appear under Path/DB.

    • B) Plus Sign / Drop-Down Menu: Click the plus sign () under “Backup Items” and make a selection from the drop-down menu. You will then be able to manually enter a Path/DB to back up, and patterns to exclude.

  • Select the desired backup server.

  • Choose your storage server(s) by dragging the available server(s) to the Storage Servers column.

  • Choose an automatic backup schedule, if desired. If set to “Never,” you will need to manually run the backup.

  • Choose how long you’d like to save the backups, if at all. A setting of “0” disables deletion.

  • When finished, click “Save.” You can then click “and Run” to run the backup immediately. You can revisit the module and click “and Run” any time you would like to manually back up.

See our Backup and Restore wiki for more information.


Other Modules

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





  • No labels