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

Hard Drive Failure / Fill-Up Notification

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

Configuring a Phone Using EndPoint Manager (EPM)

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

Setting 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”

That’s it! Your phone should reboot, and you should now see the extension line key that was set up earlier.

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.

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. 

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.

Items for this wiki:

X Configure Phones (Using EPM)

X Create Extensions

X Setup Trunking

X Create Inbound Routes

Create Outbound Routes

Setup Ring Groups

Setup Company Directory

Setup IVR

Setup Time Groups and Conditions

Setup Users in (User Management)

Conference Room

 Page Groups


Follow Me

Setting up Backups


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