After you finish installing the FreePBX Distro, or another Distro that includes FreePBX, there are a few things you want to do first:
The installation steps must be completed with any browser except Internet Explorer. If using Internet Explorer you will not see the initial configuration dialog box.
LOGIN TO THE PBX GRAPHICAL USER INTERFACE ("GUI"):
Using another machine on your same network, open a web browser and enter the IP address of your PBX. If you don't know the IP address of your PBX, go to the Linux console/command prompt. You can login here using the username "root" without quotes, and the Root password you selected during installation. After you login, type "ifconfig" at the command line and determine the IP address of your machine (to the right of eth0). Then type "exit" to return to the login screen.
If you're using the FreePBX Distro, you'll be asked to set your default username and password the first time you login. That username and password will be used in the future to access the FreePBX configuration screen.
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.
- The main FreePBX screen will offer you four options: PBX Administrator will allow you to configure your PBX. The default username is "admin" and the default password is "admin." Your Distro may have already changed the default password, and if so, use whatever you set during the installation process.
- The User Control Panel (aka ARI) allows users to listen to their voicemail messages and change certain features such as call forwarding. Users login using their extension number and voicemail password. The Administrator logs in using the username "admin" and the password set-up during the install (or the default, which is ari_admin).
- The Operator Panel is a screen that allows an operator to control calls, by default iSymphony is installed. It is disabled by default in the FreePBX Distro, but can be enabled in the Advanced Settings Module, by changing "Disable FOP" to False, clicking the green check-box to the right that appears after changing it to False, and then clicking the Orange "Apply Configuration Changes" at the top. Get Official FreePBX Support will take you to a link to purchase support directly from Schmooze the official support provider of the FreePBX Project.
SET A STATIC IP ADDRESS AND CONFIGURE DNS:
If you are using the FreePBX Distro or any distro with FreePBX 2.9, you can set a static IP address using the web interface. Using another machine on your network, point your browser at the IP address of your PBX. Select PBX Administrator. Click Admin, System Admin on the left hand side of the screen, and then Network Settings, on the right hand side of the screen.
If you set a static IP address, be sure to also set your subnet mask (typically 255.255.255.0), default gateway (usually 192.168.1.1).
Then go to the DNS section of the System Admin module and manually set your DNS Servers as follows:
SELECT THE DEFAULT CONFERENCE ROOM APP:
There are two conference room apps compiled in the FreePBX distro. The app_confbridge app and app_meetme apps, although app_meetme is depreciated in favor of app_confbridge some users still notice some irregularities with the newly written app_confbridge. Navigate to SETTINGS> ADVANCED SETTINGS and choose your desired app. Your results with the Conference Apps may vary depending on which version of Asterisk/ you have installed.
Asterisk 1.8 - app_meetme (app_confbridge not very useful)
Asterisk 10 - app_meetme (app_confbridge no very useful)
Asterisk 11- app_meetme (app_confbridge seems really stable but still has limitation if using things like Operator Panels or XML apps wont work so we still recommend app_meetme)
Click Admin – Module Admin on the menu.
When you first log into the system you will come to the FreePBX System Status Page, this page will alert you when there are modules available for upgrade.
You can also Register for Update Notifications FreePBX 2.11 and above- click on the Upgrade Notifications button on the Module Admin Page. (FreePBX 2.10 users can enter their email address in the General Settings Page)
Updated your existing Modules
The Module Administration will show four different Repositories.
Basic - This repository is typically the core FreePBX modules.
Extended - Less common modules and may receive lower levels of support.
Unsupported- has modules that are not supported by the FreePBX team but may receive some level of support by the authors.
Commercial- This repository is reserved for modules that are available for purchase and commercially supported.
Checking for updates will transmit your FreePBX, Distro, Asterisk and PHP version numbers along with a unique but random identifier. This is used to provide proper update information and track version usage to focus development and maintenance efforts. No private information is transmitted.
Click “Check Online.” Click “Upgrade All.” This will query the repositories for updated versions of your installed modules. It will also show you modules that you do not have installed. You may wish to review the list of modules and change the major upgrades, i.e. “x.x update module” to “no action.”
Click Process. When prompted, click “Confirm.”
This will upgrade all currently installed modules. The screen will go dark and a smaller white window will appear showing the status (you may have to scroll up to find it). When prompted, click “return”. You may have to scroll down inside the smaller white window to see the “return” button. Click the orange bar at the top of the screen that reads “Apply Configuration Changes.” The upgrade is now complete.
If you want to install new modules
Additional commercial modules that can be added to enhance a base install of FreePBX. SysAdmin Pro, Web CallME, Outbound Call Limiting, Caller ID Management, Paging Pro, VM Notify, Fax Pro, Call Recording Reports, Directory Pro, QXact Reports, Xact Dialer, Appointment Reminder, IVR Pro
(each module adds new features to FreePBX, so you probably want all of them just to try them out), then after clicking “Check for Updates Online,” click “Download all.” If you don’t want to upgrade to the next version of FreePBX, then go to the “x.x upgrade tool” and change the action to “No action.” Click Process.
The system may present you with an error screen that indicates that some modules cannot be installed because other modules are required. If that’s the case, proceed with the installation, and then repeat the download process again to get the modules that couldn’t be installed the first time.
Click “Confirm.” This will install all of the available new modules (unless you changed their action to “no action”). The screen will go dark and a smaller white window will appear showing the status. You may have to scroll up to see the smaller white window. When prompted, click “return”. You may have to scroll down inside the smaller white window to see the “return” button. Click the orange bar at the top of the screen that reads “Apply Configuration Changes.” The upgrade is now complete.
If you got an error message stating that some modules couldn’t be installed, go back to “Tools – Module Admin” and “Check for Updates Online” again. Repeat the process until there are no new or upgradeable modules.
CONFIGURE ASTERISK SIP SETTINGS:
FreePBX 2.10- The Asterisk SIP Settings pages has one section that you MUST modify and one section that you may want to modify:
NAT SETTINGS (Must Modify): SETTINGS > Asterisk Sip Settings
Unless you have your PBX on a public IP address (which is a very bad idea), then you need to tell FreePBX which IP addresses are internal addresses and which IP addresses are external, public IP addresses. It is important for FreePBX to have this information so that it can adjust the SIP headers to use your external IP address when it is contacting extensions outside of your local network.
Even if you have your PBX in a public IP, you still want to modify these settings and hit submit, to avoid a bug in Asterisk, which we'll explain in more detail at the bottom of this section.
Under NAT Settings, click "Auto Configure." If FreePBX correctly enters your static IP address, your internal network address ending in .0 (i.e., 192.168.1.0), and your subnet (usually 255.255.255.0), then click "submit changes" and then click the orange bar to reload Asterisk.
If FreePBX doesn't accurately enter your static IP address and local address, enter them manually. If you have an IP address that never changes (i.e., a static IP addresss), you can select "Static IP," and enter the IP address into the "External IP" field. If your external IP address changes, you may wish to register for a Dynamic IP address (for example, using dyndns.org), and then select "Dynamic IP." Your internal IP address should be the IP address on the machines on your network, but ending in a zero. For example, if your PBX is 192.168.1.101, then you should enter 192.168.1.0 in the internal IP address field. Your subnet mask will probably be 255.255.255.0.
If you plan to connect to your PBX using a VPN from another network, click on the "Add Local Network Field," and enter the internal address used on that VPN (i.e., 192.168.2.0) along with the subnet mask (usually 255.255.255.0).
The following is typical of a small office user:
IP Configuration: Dynamic IP
Dynamic Host: YOURDOMAINNAME.COM (get one FREE at dyndns.org)
Note: If you don't have any remote extensions and your VOIP providers have the ability to handle registrations through NAT, you may be able to get away with the following instead:
IP Configuration: Public
The above may work, even if you are behind a NAT and your PBX isn't on a Public IP address.
Even if you are on a public IP, it is very important that you go to this page at least once, make at least one change somewhere on the page, hit "submit," and then hit the orange "apply configuration changes."
This is necessary to help prevent an Asterisk bug that can cause your entire system to stop working if you have any SIP trunks and your internet connection goes down.
If your version of Asterisk suffers from this bug, all of your phones will stop working when your internet goes down. You can fix the bug by doing the above, and then also ensuring that all references to every SIP trunk provider are by IP address (i.e., 184.108.40.206) and not by a domain name (i.e., voipprovider.com) in your trunk settings (including peer and user details and registration string). Using IP addresses will ONLY solve the problem if you have also made a change on this page and clicked submit, because doing so writes certain default values to the Asterisk configuration files that are not written by default.
MEDIA & RTP SETTINGS (May Want to Modify):
By default, Asterisk will terminate any call that is not placed on hold if there is no audio for 30 seconds. If you place a call on hold, and it hears no audio for 300 seconds (5 minutes), Asterisk will terminate the call. You may wish to change these. Otherwise, if you get placed on hold by the person you call, and you hit mute on your end, your call will be dropped in 30 seconds if there's no music or other audio from the other side.
The RTP Timeout field controls how long Asterisk will wait to drop a call when there is no audio at all. If you increase this value from 30 to 300 (for example), you may want to change RTP Keepalive to 30, so that when no audio is going through your firewall, Asterisk will send a keep alive packet every 30 seconds.
The RTP Hold Timeout field controls how long Asterisk will wait to drop a call that YOU have placed on hold when there is no audio. This timer applies EVEN IF you use Music on Hold. If you are happy with calls dropping after five minutes on hold, you can leave this setting as is.
Most distros include either sendmail or postfix, which handles sending e-mail. Configuration of these programs is often required in order to get FreePBX to correctly send e-mail notifications of updated modules and voicemails. If you want to use a feature that includes sending an e-mail, you'll need to configure whichever program (sendmail or postfix) that is installed with your distro.
CONSIDER FORWARDING RTP MEDIA PORTS FROM YOUR FIREWALL TO YOUR FREEPBX:
If you don’t forward the RTP Media Ports from your router to your FreePBX, you can encounter situations where callers who come in from VOIP SIP Trunks and who are transferred directly to another outside line without first receiving a voice prompt will have no audio. There are several ways to fix this. First, you can ensure that all calls are answered by something on your system (such as an auto attendant) before being transferred outside your system. Or, you can use only IAX Trunks. If do either of these, no other changes are needed.
However, if you plan to use SIP Trunks from external VOIP providers and you want to forward calls before they are answered by your system, then you'll need to forward the RTP Media Ports from your Firewall to your FreePBX machine. Forward firewall UDP ports 10000 to 20000 to FreePBX server.
Please note that Port 10000 is also used for webmin (a tool that can be used to make substantial configuration changes on your machine using a web browser). If you have webmin on port 10000, either change webmin's default port to something else (such as 9001), or change the default RTP Media Ports from 10000-20000 to 10001-20000.
A range of 10000 ports available for RTP Media is often unnecessarily large for most small systems, because one call requires only 4 active ports. Thus, you might consider narrowing the range of ports used for RTP Media. If you do narrow the range, keep the range somewhere within 10000 to 20000 (i.e. don't select 43500 to 44500), as going outside this range can lead to call quality issues.
For all of these reasons,
If you want to change the RTP Media Ports from the standard 10000 to 20,000 range, open a command prompt on your server, and type the following:
Change 10000 and 20000 to something narrower, but in the same range.
CTRL-O, ENTER, CTRL-X. (Saves, Exits)
EXPLORE THE MODULES:
Explore the various FreePBX modules and configure your new PBX as you like it. The modules are listed along the left-hand side of the GUI, and are divided into two sections, "Setup" and "Tools." Once you're at a specific module's page, you can hover your mouse over the title of each entry and get instructions on what the entry does. Generally, you'll want to configure the modules in this order:
Trunks are the PBX equivalent of a phone line. They are how your system makes calls to the outside world and receives calls from the outside world. Without a trunk, you can't call anyone. You can configure a trunk to connect with any VOIP service provider (such as FreePBX's SipStation), with a PSTN/Media Gateway (which allows you to make and receive calls over standard telephone lines from your local telephone company), or to connect directly to another PBX.
Most reputable VOIP providers will give instructions on how to configure a FreePBX trunk with their service.
The Dialed Number Manipulation Rules section lets you redirect calls to certain numbers to other numbers. For example, if someone dials 411, FreePBX can be configured to change that to 1-800-FREE-411. Or you could make 611 call your grandmother. Hover your mouse over the words "Dialed Number Manipulation Rules" for more details.
Outbound Routes are how you tell your PBX which Trunks (phone lines) to use when people dial certain telephone numbers. A simple installation will tell the PBX to send all calls to a single trunk. However, a complex setup will have an outbound route for emergency calls, another outbound route for local calls, another for long distance calls, and perhaps even another for international calls. You can even create a "dead trunk" and route prohibited calls (such as international and 976 calls) to it.
Extensions (or Devices and Users)-
Extensions are where you set-up devices (telephones) and users (extensions) on your system.
To create one, click "add extension" on the right-hand side of the screen, and then select "generic SIP extension." Although there are a lot of fields available, most of them can be left blank or at the default setting. The only required fields are: User Extension (set the extension number here), Display Name (give the extension a name, usually a location or a person), and secret (the password used to register a phone to the extension).
All of the available fields have help available right on the Web GUI. Just hover your mouse over the field and a pop-up will tell you what it does.
The follow-me module allows you to create a more complicated method of routing calls that are placed to a specific extension. Using this module, you can make a call to one extension ring several other extensions, or even outside phone numbers. You can also make calls to one-extension end in the voicemail of another extension.
For example, using "follow-me," you could make a call to extension 10 actually ring extension 10, extension 11, and extension 12, and call someone's cellular phone, for 15 seconds, and then, if nobody answers, go the voicemailbox for extension 17.
Ring Groups allow you to create a single extension number (the Ring Group Number) that will call more than one person.
For example, you could make a Ring Group so that when any user dials extension 601, extensions 10, 11, 12, and 13 ring for 15 seconds, and then the call goes to the voicemail for extension 17.
Inbound Routes- The Inbound Routes module is where you tell the PBX how to handle incoming calls. Typically, you tell the PBX the phone number that outside callers have called ("DID Number" or "Direct Inward Dial Number") and then indicate which extension, Ring Group, Voicemail, or other destination the call will go to.
A parking lot allows anyone who has received a call to park the call on an extension that anyone else can access. Typically, you receive the call, transfer it to extension 70, and then listen as the system tells you where you can pick up the call (usually extension 71). Then, anyone else on your PBX can dial 71 to pick-up the call.
This module allows you to set the special codes that users dial to access various features. You can also disable features if you don't want users to be able to access them.
Paging and Intercom- By default, you dial *80 plus the extension number to intercom a specific user. The Paging and Intercom module allows you to define numbers you can dial to page a group of devices at once. For example, in a small office, you might define a paging group that allows any user to dial 00 to page the entire office.
Conferences- This module allows you to create an extension number that people can dial into in order to have a conference call.
For example, any user could dial extension 800 and they would be in a conference call.
IVR- This is the module where you configure an auto attendant to answer calls and direct them.
System Recordings- This is the module where you record the messages for use on your auto-attendant.
DISA ("Direct Inward System Access")- This module allows you to create a destination that allows people to call in from an outside line and reach a system dial tone. This is useful if you want people to be able to take advantage of your lower rate for toll calls, or if you want outside callers to be able to use the paging or intercom features of the system. Always password protect this feature, if you use it at all.
Backup and Restore- This module allows you to backup and restore the settings and recordings made by FreePBX/Asterisk. After they are made, you can find the backups by typing the following at your command prompt:
There are many other modules, and most are self-explanatory. Be sure to check them all out.
Configure a Sangoma T1, PRI, FXO, or FXS Card:
If you want to connect a T1, a PRI, or a regular phone line or telephone set directly to your PBX, we recommend purchasing and installing a Sangoma card. For information on Sangoma's line of cards and for instructions on how to configure FreePBX to operate with those cards please see the DAHDI Module wiki and for a full list of supported cards click here.
Configure Your Phones
The method used to configure your phones to connect to your system depends entirely upon which phones you choose.
The Aastra 6757i is a very popular phone, and it can be configured (1) by using the phone's web interface, (2) by creating the aastra.cfg and MACADDRESS.cfg files in the /tftpboot directory of your PBX, or (3) using the Endpoint Manager Module. Configuration using options 1 and 2 are well documented in Aastra's documentation, which you can find here:
When you connect an Aastra phone to your network and power it up, it will obtain an IP address from your DHCP Server (in most cases, your router). To find out the IP address, hit Options, 3, 1 on your phone. Using a web browser, type in the IP address. The default username for an Aastra phone's web interface is admin, and the default password is 22222.
go to the Global SIP page on the phone's web interface, and set the Phone Number and Authentication Name fields to your extension #, Password field to the extension password (NOT the voicemail password), and Proxy Server and Registrar Server to your PBX's IP address. Save and reboot, and your phone should work. For more advanced configurations, you'll want to set-up an aastra.cfg and MACADDRESS.cfg files following Aastra's instructions.
Currently, we recommend sticking with Firmware version 2.6 for Aastra phones.
If you want to use your Android Phone as a Wifi VOIP Phone, you can download CSipSimple for free from the Android Market.
If you want to use a computer, Counterpath's X-Lite VOIP Softphone is available for free download from Counterpath's web-site.
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. These modules are designed to work with the FreePBX Distro only, and may not be compatible with other Distros such as PBX In A Flash, Elastix, AsteriskNOW, Trixbox,etc.
You can find out more about the Paid Modules here:
Consider Third Party Modules
A number of third parties have created free third-party modules that you can download and add to your FreePBX installation but you are 100% on your own with these modules so be careful.
You can find the modules here:
Decide if you want to allow remote extensions/phones to connect to your system over the internet.
Allowing a remote extension to connect to your system over the internet is widely regarded as a serious security risk and generally a bad idea unless you really know what you are doing. However, if you want to try it, read the instructions here: