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 Port | 5060 (UDP) / 5061 (TLS) |
| RTP Port Range | 10000 – 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 Number | Numeric ID (e.g., 101) |
| Display Name | User or device friendly name |
| SIP Secret | Strong password for device auth (auto-generate recommended) |
| Voicemail | Enable/disable and set PIN |
| Outbound CID | Caller ID presented on outbound calls (optional) |
| Device Options | Codec preferences, DTMF mode, etc. |
5.3 Extension Numbering Plan
Establish a consistent numbering plan before creating extensions. Below is an example:
| 100-199 | Office / Desk phones |
| 200-299 | Softphones / Mobile SIP clients |
| 300-399 | Conference rooms |
| 400-499 | Ring 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 / Registrar | IP address of the FreePBX server |
| SIP Port | 5060 (default) |
| Username / Auth ID | Extension number (e.g., 101) |
| Password / SIP Secret | The secret set in the extension |
| SIP Domain | Usually 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 registering | Check SIP secret, server IP, and port. Confirm network connectivity. |
| One-way audio | NAT/firewall issue. Check RTP port forwarding and external IP in SIP settings. |
| No outbound calls | Check outbound route dial pattern and trunk credentials. |
| No inbound calls | Check inbound route DID and trunk configuration with provider. |
| Call drops after 30s | SIP session timer or NAT issue. Check SIP settings and re-invite handling. |
10. Reference & Notes #
10.1 Useful URLs
| FreePBX Admin Panel | http://<server-ip>/admin |
| FreePBX Documentation | https://wiki.freepbx.org |
| Asterisk Documentation | https://wiki.asterisk.org |
| Module Admin | http://<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 Name | Device Description | Store Link |
| Netbell-AU-711-SIP | SIP Paging Gateway | https://www.linortek.com/product/netbell-au711-sip-paging-gateway/ |
| Netbell-CM-600-SIP | 30W POE SIP Ceiling Speaker | https://www.linortek.com/product/netbell-cm-600-sip-30w-sip-ceiling-speaker/ |
| Netbell-WM-042-SIP | 20W POE SIP Wall Speaker | https://www.linortek.com/product/netbell-wm-042-poe-sip-20w-sip-wall-speaker/ |
| Netbell-H30-709-SIP | 30W POE SIP Horn Speaker | https://www.linortek.com/product/netbell-h30-709-poe-sip-horn-speaker-30w/ |





