How to Set Up Your Own IP PBX Server on Your Homelab Using FreePBX
If you’ve ever wanted to manage your own phone system like businesses do, setting up an IP PBX (Private Branch Exchange) server in your homelab is a fun and practical project. With FreePBX, a popular open-source IP PBX software built on top of Asterisk, you can create your own VoIP (Voice over IP) system at home. This allows you to connect softphones, desk IP phones, or even mobile apps over Wi-Fi or the internet.
In this guide, I’ll walk you through what IP PBX is, why FreePBX is a great choice, and how to set it up in your homelab.
What is an IP PBX?
An IP PBX is a system that manages internal and external phone calls using VoIP technology. Instead of relying on a traditional landline PBX box, IP PBX uses your home network and internet connection to handle calls. Some key features include:
- Internal extensions for your devices.
- Call forwarding and voicemail.
- Interactive voice menus (IVR).
- Call recording and reporting.
- Integration with SIP trunk providers for external calling.
Why Use FreePBX?

FreePBX is a web-based open-source GUI that makes managing the Asterisk PBX platform easy. Without FreePBX, you’d need to configure Asterisk manually through text files—which is complex. FreePBX gives you a user-friendly interface, modules, and flexibility to run a complete phone system at home.
Benefits of FreePBX include:
- Free and open-source.
- Simple web interface.
- Community support and documentation.
- Expandable with commercial modules if needed.
What You’ll Need
Before starting, here’s what you’ll need:
- A homelab server or VM (Proxmox, VMware, VirtualBox, or even Raspberry Pi).
- At least 2 GB RAM, 20 GB storage, and a dual-core CPU.
- Stable network connection.
- A SIP phone, softphone app (like Zoiper or Linphone), or IP desk phone for testing.
- (Optional) A SIP trunk account from a VoIP provider if you want external calling.
Step 1: Download FreePBX
Head to the official FreePBX website and download the latest FreePBX Distro ISO. This ISO includes both FreePBX and the underlying Asterisk system, making installation easier.
Step 2: Create a Virtual Machine
If you’re running a homelab with Proxmox, VirtualBox, or VMware, create a new VM with the following specs:
- 2 cores, 2–4 GB RAM.
- 20 GB storage.
- Network adapter set to Bridged Mode (so the PBX can be reached by your other devices).
Mount the FreePBX ISO and boot the VM.
Step 3: Install FreePBX
- Boot from the ISO and select FreePBX Standard Installation.
- Follow the on-screen prompts to install (it’s based on CentOS or Rocky Linux).
- Set a root password during installation.
- Once completed, reboot and note the IP address assigned to the server.
Step 4: Access FreePBX Web Interface
On your web browser, type the IP address of your FreePBX server. Example:
http://192.168.1.50
You’ll be guided through the initial setup wizard to:
- Set admin credentials.
- Configure time zone and language.
- Enable or disable modules.
Step 5: Add Extensions
Extensions are like internal phone numbers for your devices. To create one:
- Log into FreePBX → go to Applications > Extensions.
- Choose Add Extension → Chan_SIP or PJSIP (PJSIP is recommended).
- Assign an extension number (e.g., 1001), display name, and secret (password).
- Save and apply the configuration.
Repeat this process to create multiple extensions for different devices.
Step 6: Connect Phones or Softphones
- Softphone Apps: Download Zoiper, Linphone, or any SIP app on your phone/computer. Add the extension number, server IP, and password.
- IP Desk Phones: Log into the phone’s web interface, enter the extension details, and point it to the FreePBX server’s IP.

Once registered, you should be able to call between extensions internally!
Step 7: Add a SIP Trunk (Optional for External Calls)
If you want to make calls outside your home network, you’ll need a SIP trunk provider. Examples include VoIP.ms, Twilio, or Vonage.
- Go to Connectivity > Trunks in FreePBX.
- Add a new trunk and input SIP details from your provider.
- Configure outbound and inbound routes.
Now, you’ll be able to dial real phone numbers and receive calls.
Step 8: Explore Advanced Features
FreePBX is packed with features you can experiment with, such as:
- IVR (Interactive Voice Response) menus.
- Voicemail to Email.
- Call Queues and Ring Groups.
- Call Recording and Reports.
- Firewall and Fail2Ban Security.
Securing Your PBX
Since PBX servers are often targeted by hackers, make sure to:
- Only expose FreePBX to your LAN (or use a VPN if you want remote access).
- Use strong passwords for all extensions.
- Keep FreePBX and modules updated.
- Enable the built-in firewall.
Conclusion
Setting up your own IP PBX server with FreePBX in your homelab is not only a great way to learn about VoIP but also gives you control over your communication system. Whether you’re just experimenting with internal calls or connecting to the outside world with SIP trunks, FreePBX provides a powerful and flexible platform to run your very own phone system.
Thank you so much for taking the time to read my post! Your support and engagement truly mean a lot and inspire me to keep creating and sharing more valuable content. If you enjoyed this post, I’d love to hear your thoughts—feel free to leave a comment in the box below and join the conversation. And if you’d like to stay updated with the latest posts, tips, and insights, don’t forget to subscribe to my newsletter. By joining, you’ll be the first to know when new content is published, so you never miss an update.