First Steps After Installation
IMPORTANT NOTE: These instructions were written with FreePBX 2.9 in mind. FreePBX 2.10 has been released since these instructions were written, and involves a major overhaul of the user interface. The modules were grouped together on the left hand side of the screen in 2.9. In 2.10, they are accessed from a series of pull-down menus at the top of the screen. What is written below should work just fine with 2.10 once you are able to locate the appropriate module on the pull-down menus.
After you finish installing FreePBX, the FreePBX Distro, or another Distro that includes FreePBX, there are a few things you want to do first:
Important note Part 2: The installation steps must be completed with the Chrome browser. If not using Chrome you will not see the initial configuration dialog box.
1. LOGIN TO THE FREEPBX 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. You will also be asked to set the "FOP Password" which you can use to access the "Flash Operator Panel."
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 Adminstrator 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 mesages 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 Flash Operator Panel is a screen that allows an operator to control calls, using the FOP Password you configured above. 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.
2. 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 Tools, 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:
Note: The Distro installs DNSMASQ to ensure that your system maintains DNS even when the internet is down, and DNSMASQ won't work unless 127.0.0.1 is listed as your first DNS Server. The last two are Google's DNS servers. You can replace those two with your own, if you prefer.
If you're using a distribution that includes an earlier version of FreePBX (2.8 or earlier), you'll probably need to login to the command prompt. Most versions on Linux allow you to set the IP address by typing "setup" or "netconfig" or "system-config-network" from the Linux command prompt. Use the TAB key to move from option to option, and press the ENTER key or SPACE bar to select one.
If you are only able to enter one or two DNS servers, do so. When you return to the command line, issue the following command:
Then input your DNS Servers here. Then hit CTRL-X to exit and Y to save your changes.
Next, use the following to restart your network and restart FreePBX and Asterisk:
service network restart
Then issue this command to verify your settings:
Then try pinging something on the internet to make sure you can reach it:
Hit CTRL-C to abort the ping operation. If the ping is not successful, try setting the IP address again.
3. CHANGE THE DEFAULT FREEPBX GUI PASSWORD: This is only necessary if you didn't change the default password during your installation. Using the web interface, click Setup, Administrators on the left hand column, and then click on "admin" on the right. Change the admin password to a new, secure password. Click "Submit Changes" at the bottom, and then click "Apply Configuration Changes" at the top.
4. UPDATE FREEPBX MODULES AND INSTALL MISSING MODULES: Click Tools – Module Admin on the left hand side. Click “Check for Updates Online.” Click “Upgrade All.” 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 (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.
5. CONFIGURE ASTERISK SIP SETTINGS: 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):
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.
Open your browser and access the FreePBX GUI. Click on "Tools," and then "Asterisk SIP Settings." If this module is not available on your installation of FreePBX, you can install it using the "Module Admin" module.
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:
NAT: Yes IP Configuration: Dynamic IP Dynamic Host: YOURDOMAINNAME.COM (get one FREE at dyndns.org) Local Networks: 192.168.1.0/255.255.255.0
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:
NAT: Yes 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., 188.8.131.52) 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.
6. CONSIDER "DEVICE AND USER MODE": By default, FreePBX runs in Extension mode. Extension mode works just fine, and for the novice user, it is probably a better choice.
However, FreePBX also has a mode called "Device and User Mode" which allows multiple devices (phones) to work as the same user (extension numbers), and which makes it easy for users (extension numbers) to move from one device (phone) to another device (phone). If you're interested in trying Device and User Mode, click on Enabling Device & User Mode.
7. CONFIGURE SENDMAIL/POSTFIX: 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.
8. 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:
cd /etc/asterisk nano rtp.conf
Change 10000 and 20000 to something narrower, but in the same range.
CTRL-O, ENTER, CTRL-X. (Saves, Exits)
amportal stop amportal start
9. 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- 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- 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.
Follow-me- 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- 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.
Parking Lot- 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.
Feature Codes- 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.
General Settings-: This module has several important features you may want to consider changing:
. Dial Dial Voicemail Prefix: This feature allows you to directly dial an extension's voicemailbox by dialing the prefix listed on this page. So, for example, if you dial * (the default) and then an extension number, you'll skip ringing the extension and go straight to their mailbox. This is useful when you wish to transfer someone directly to voicemail. If you leave this at the default of *, and you use two digit extensions, the direct dial voicemail function will confict with certain feature codes. You may wish to change the direct dial voicemail prefix from the default of "*" to something else, such as *86.
. Optional Voicemail Recording Gain: If you find that the voicemail messages you receive are quiet compared to the system recordings, you might want to change this from the default of 0 to 5.
. Do Not Play "please leave message after tone" to caller- If you'd prefer that asterisk just play the outgoing message and then beep, then check this box.
. Operator Extension- You can specify the extension number/ring group number that people will get transferred to when they dial 0 while leaving a voicemail. If you leave this blank, the caller will return to whatever ring group they came from before reaching voicemail.
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.
10. 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, you'll need to purchase and then configure a Sangoma card. For information on Sangoma's line of cards and for instructions on how to configure FreePBX to operate with those cards, click this link:
11. 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.
12. 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:
13. 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.
You can find the modules here:
For installation instructions, read here:
For details about what each module does, click here:
You can also find more information about Third Party Modules and other add-ons here:
14. 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: