View Categories

FreePBX Local SIP Setup Configuration & Troubleshooting Guide

1. Overview #

This guide covers the setup and configuration of FreePBX as a PBX server for Linortek SIP devices, including server installation, extension setup, SIP device provisioning, and basic troubleshooting.

1.1 What is FreePBX?

FreePBX is an open-source GUI that manages Asterisk, a software-based PBX. It handles call routing, extensions, voicemail, trunks, and SIP device registration through a web-based admin interface.

1.2 Prerequisites

  • A dedicated physical machine or virtual machine (VM) for the FreePBX server. The machine’s CPU must have a AMD64 instruction set NOT RISC. (PI’s are RISC)
    • Note: A dedicated machine is recommended, While VM’s may make the initial setup easier, The use of VM’s make create further issues (Network adapter issues, Promiscuous mode, etc.)
  • Network access to the server from all SIP devices
  • FreePBX (Debian) ISO image downloaded from the official FreePBX website
  • Static IP address assigned to the server (Highly recommended)
  • Basic familiarity with networking concepts (IP, DHCP, DNS, NAT)

2. Server Installation #

2.1 Booting the ISO

The FreePBX ISO is a self-contained installer. Boot the target machine from the ISO (USB or virtual drive) and follow the on-screen prompts.

  • Boot the machine from the FreePBX ISO image
  • Select the appropriate installation type when prompted (full install recommended)
  • Allow the installer to partition the disk and install the OS and FreePBX automatically
  • Set the root password when prompted and note it securely (If the password is not documented the OS will need to be reinstalled).
  • Allow the system to reboot after installation completes
  • Remove OS disk
  • Change boot order to hard drive > whatever follows

The image creates a user named sangoma, when prompted the username is “sangoma” and the password is the generated password(or the one you created).

Note: The ISO handles the Linux OS, Asterisk, and FreePBX installation in one pass. No separate software installation is needed. If using a VM ensure it is in bridged adapter mode not NAT.

2.2 Initial Network Configuration

After the first boot, configure the server’s network settings. This can be done via the console menu or by editing network config files directly.  

  • Assign a static IP address to the server
  • Set the correct subnet mask, gateway, and DNS servers
  • Confirm network connectivity by pinging an external address
Server IP Address_____._____._____._____ (fill in)
Subnet Mask_____________________________
Default Gateway_____._____._____._____ (fill in)
DNS Server_____________________________

sudo nano /etc/network/interfaces

3. FreePBX Admin Interface #

3.1 Accessing the Web GUI

FreePBX is managed through a browser-based admin panel. Navigate to the server IP in any browser on the same network.

  • Open a browser and go to: http:///admin
  • Log in with the admin credentials created during setup
  • Complete the initial setup wizard if it appears on first login

Note: If accessing from outside the local network, ensure firewall rules allow HTTP/HTTPS traffic to the server.

3.2 Admin Panel Overview

Familiarize yourself with the main navigation areas before making changes:

  • Applications  –  Extensions, Ring Groups, IVR, Queues, Voicemail
  • Connectivity  –  Trunks, Inbound/Outbound Routes
  • Settings  –  Advanced Settings, SIP Settings, Firewall
  • Admin  –  User Management, Module Admin, System Overview

3.3 Apply Config Changes

After making changes in the GUI, you must click the orange Apply Config button at the top of the page to push changes to Asterisk. Changes are not live until applied.

4. SIP Settings #

4.1 General SIP Configuration

Navigate to Settings > Asterisk SIP Settings to configure the core SIP parameters for your environment.

  • Set the external IP address (your public IP or FQDN if using remote devices)
  • Define local networks (subnets that are considered internal, e.g., 192.168.1.0/24)
  • Choose SIP driver: chan_pjsip is recommended for modern deployments
  • Set the SIP port (default: 5060 UDP; 5061 for TLS)

4.2 NAT Considerations

If devices will connect from outside the local network, NAT configuration is required:

  • Enter the public-facing IP or use a dynamic DNS (DDNS) hostname
  • Ensure the router/firewall forwards SIP and RTP port ranges to the FreePBX server
  • Define RTP port range (default: 10000-20000 UDP)
External IP / FQDN_____________________________
Local Network(s)_____________________________
SIP Port5060 (UDP) / 5061 (TLS)
RTP Port Range10000 – 20000

5. Creating Extensions #

5.1 Adding a New Extension

Navigate to Applications > Extensions > Add Extension. Choose the extension type based on your SIP driver selection.

  • Select extension type: PJSIP Extension (recommended) or SIP Extension
  • Enter the extension number (e.g., 100, 101, 200)
  • Enter a display name / caller ID name for the extension
  • Set a strong SIP secret (password) for device authentication
  • Configure voicemail options if needed
  • Click Submit, then Apply Config

5.2 Extension Settings Reference

Key fields to note when creating each extension:

Extension NumberNumeric ID (e.g., 101)
Display NameUser or device friendly name
SIP SecretStrong password for device auth (auto-generate recommended)
VoicemailEnable/disable and set PIN
Outbound CIDCaller ID presented on outbound calls (optional)
Device OptionsCodec preferences, DTMF mode, etc.

5.3 Extension Numbering Plan

Establish a consistent numbering plan before creating extensions. Below is an example:

100-199Office / Desk phones
200-299Softphones / Mobile SIP clients
300-399Conference rooms
400-499Ring groups / Queues
500+(Reserved for future use)

6. SIP Device Configuration #

6.1 What You Need Per Device

Each SIP device needs the following credentials to register with FreePBX. Provide these during device setup:

SIP Server / RegistrarIP address of the FreePBX server
SIP Port5060 (default)
Username / Auth IDExtension number (e.g., 101)
Password / SIP SecretThe secret set in the extension
SIP DomainUsually the server IP (or domain if using one)

6.2 Manual Device Configuration

Steps vary by device make and model. General process for most SIP devices:

  • Connect the device to the network and power it on
  • Access the device web interface (find IP from DHCP lease or device screen)
  • Navigate to the SIP Settings
  • Enter the User Account (extension),Password (SIP secret), Display Name, PBX server Address, server port (5060)
  • Save and Logout to apply settings on the device
  • Verify the device shows as registered in FreePBX (Admin > Asterisk Logfiles or extension status)

6.3 Auto-Provisioning (Optional)

FreePBX supports auto-provisioning for supported device brands through the End Point Manager (EPM) module. When enabled, devices can pull their config automatically from the server via TFTP or HTTP.

  • Install the End Point Manager module from Module Admin if not already present
  • Add device templates for each model you sell
  • Assign templates to extensions
  • Configure devices to point to the provisioning server URL or TFTP address

Note: Auto-provisioning significantly reduces setup time when deploying multiple devices. Refer to the EPM documentation for brand-specific instructions.

7. Trunks & Call Routing #

7.1 Setting Up a SIP Trunk

A SIP trunk connects your FreePBX server to a VoIP provider for external calls. Navigate to Connectivity > Trunks > Add Trunk > SIP (PJSIP) Trunk.

  • Enter the trunk name (for internal reference)
  • Enter provider credentials: username, password, host/server
  • Set the outbound caller ID if required by the provider
  • Configure codec settings to match provider requirements

7.2 Inbound Routes

Navigate to Connectivity > Inbound Routes. Define how calls arriving on the trunk are handled:

  • Set the DID number (the number the provider routes to you)
  • Set the destination (extension, IVR, ring group, voicemail, etc.)

7.3 Outbound Routes

Navigate to Connectivity > Outbound Routes. Define which calls go out over which trunk:

  • Set a dial pattern (e.g., NXXNXXXXXX for 10-digit US numbers)
  • Assign the trunk to use for matched patterns
  • Set route order if multiple trunks exist

8. Security Hardening #

8.1 Firewall

FreePBX includes a built-in firewall module (Admin > Firewall). At minimum:

  • Enable the FreePBX firewall
  • Restrict SSH access to known IP addresses
  • Whitelist trusted networks for SIP traffic
  • Block all other inbound access by default
  • If using Fail2Ban, confirm it is active and monitoring SIP and SSH logs

8.2 Strong Credentials

  • Use complex, unique SIP secrets for every extension (16+ characters recommended)
  • Change the default admin password immediately after installation
  • Disable any unused modules or services

8.3 Regular Updates

  • Keep FreePBX modules updated via Module Admin
  • Apply OS-level security patches periodically via the console

9. Testing & Verification #

9.1 Basic Call Testing

  • Make an internal extension-to-extension call and confirm audio in both directions
  • Place an outbound call to an external number and confirm connection
  • Call an inbound DID number from an external phone and confirm it routes correctly
  • Test voicemail deposit and retrieval

9.2 Device Registration Check

Confirm each SIP device is registered by checking the extension status in FreePBX:

  • Go to Admin > Asterisk Logfiles for SIP registration events
  • Or use the FreePBX Dashboard if an extension status widget is installed
  • On the device itself, check the account/line status indicator

9.3 Troubleshooting Quick Reference

Device not registeringCheck SIP secret, server IP, and port. Confirm network connectivity.
One-way audioNAT/firewall issue. Check RTP port forwarding and external IP in SIP settings.
No outbound callsCheck outbound route dial pattern and trunk credentials.
No inbound callsCheck inbound route DID and trunk configuration with provider.
Call drops after 30sSIP session timer or NAT issue. Check SIP settings and re-invite handling.

10. Reference & Notes #

10.1 Useful URLs

FreePBX Admin Panelhttp://<server-ip>/admin
FreePBX Documentationhttps://wiki.freepbx.org
Asterisk Documentationhttps://wiki.asterisk.org
Module Adminhttp://<server-ip>/admin/config.php?display=modules

10.2 Environment Notes

Copy this table and fill in your environment-specific details during setup, keep it handy for future reference:

Date Installed 
FreePBX Version 
Asterisk Version 
VoIP Provider 
Provider SIP Host 
Number of Extensions 
Device Models Deployed 
Notes 

10.3 Supported Linortek SIP Devices

SIP Device NameDevice DescriptionStore Link
Netbell-AU-711-SIPSIP Paging Gatewayhttps://www.linortek.com/product/netbell-au711-sip-paging-gateway/
Netbell-CM-600-SIP30W POE SIP Ceiling Speakerhttps://www.linortek.com/product/netbell-cm-600-sip-30w-sip-ceiling-speaker/
Netbell-WM-042-SIP20W POE SIP Wall Speakerhttps://www.linortek.com/product/netbell-wm-042-poe-sip-20w-sip-wall-speaker/
Netbell-H30-709-SIP30W POE SIP Horn Speakerhttps://www.linortek.com/product/netbell-h30-709-poe-sip-horn-speaker-30w/