A hands-on Training covering production-grade FusionPBX deployment, FreeSWITCH configuration, SIP trunking, advanced PBX features, and building a profitable freelance service.
FusionPBX is a full-featured, open-source multi-tenant PBX built on top of FreeSWITCH — one of the most powerful and scalable VoIP switching engines in the world. This Training takes participants from zero to a fully operational, production-hardened FusionPBX instance with a custom domain, SSL, SIP trunk, IVR, call routing, voicemail, and conferencing. Every concept is reinforced with a practical lab that produces a portfolio-ready deliverable. Day 5 packages all skills into a market-ready Upwork service offering.
By the end of this Training, participants will be able to:
- Deploy FusionPBX on a Linux VPS from scratch with a custom domain and SSL
- Configure and manage FreeSWITCH through the FusionPBX web interface
- Set up inbound and outbound SIP trunks with major providers (Telnyx, Twilio, VoIP.ms)
- Create extensions, dial plans, IVRs, ring groups, and time-based call routing
- Configure voicemail, call recording, CDR reporting, and conference rooms
- Manage multi-tenant deployments for multiple clients on a single FusionPBX instance
- Harden and monitor a production FusionPBX server (firewall, fail2ban, TLS/SRTP)
- Migrate existing PBX systems (Asterisk/FreePBX/3CX) to FusionPBX
- Create and market professional FusionPBX services on Upwork
- Linux fundamentals (CLI, SSH, package management, systemd)
- Basic networking (DNS, SIP, RTP, UDP/TCP ports, NAT, firewalls)
- Basic understanding of VoIP concepts (SIP, codecs, dial plans)
- A VPS or cloud server (Ubuntu 22.04 LTS or Debian 12, 2 vCPU / 4 GB RAM minimum)
- A registered domain name
- SIP trunk account: Telnyx, Twilio, VoIP.ms, or equivalent
- Upwork/Fiverr freelancer account (for Day 5)
| Users | vCPU | RAM | Storage | Concurrent Calls |
|---|---|---|---|---|
| Up to 25 | 2 | 4 GB | 50 GB | ~10 |
| Up to 100 | 4 | 8 GB | 100 GB | ~50 |
| Up to 500 | 8 | 16 GB | 200 GB | ~200 |
| Enterprise | 16+ | 32 GB+ | 500 GB+ | 500+ |
| Category | Technology |
|---|---|
| PBX Platform | FusionPBX (web UI + management layer) |
| Switching Engine | FreeSWITCH |
| Database | PostgreSQL |
| Web Server | Nginx (reverse proxy + FusionPBX web UI) |
| SSL | Let's Encrypt / Certbot |
| Operating System | Ubuntu 22.04 LTS / Debian 12 |
| SIP Trunking | Telnyx, Twilio Elastic SIP, VoIP.ms |
| Protocols | SIP, RTP, SRTP, TLS, WebRTC, DTMF |
| Codecs | G.711 (PCMU/PCMA), G.722, G.729, Opus |
| Security | fail2ban, UFW/iptables, TLS/SRTP, FreeSWITCH ACL |
| Monitoring | FusionPBX CDR, FreeSWITCH Event Socket, syslog |
| Softphones | Zoiper, Linphone, MicroSIP, Blink |
| Deployment | Linux VPS, systemd, bash scripting |
- FusionPBX vs Asterisk/FreePBX: architecture differences and use cases
- FreeSWITCH internals: core, modules, event socket, Sofia-SIP stack
- FusionPBX multi-tenant architecture: domains, tenants, global vs domain settings
- Database layer: PostgreSQL schema overview
- Provisioning a Ubuntu 22.04 / Debian 12 VPS
- Initial server hardening: creating a sudo user, disabling root SSH, setting timezone
- Installing FusionPBX using the official install script
- Understanding the installation directory structure:
/var/www/fusionpbx— web UI/etc/freeswitch— FreeSWITCH configuration/var/lib/freeswitch— recordings, voicemail, sounds/var/log/freeswitch— logs
- FusionPBX web UI first login and initial setup wizard
- Managing FreeSWITCH service (start, stop, reload, status)
- FreeSWITCH CLI (
fs_cli) basics: commands, event monitoring
Lab 1: Provision a fresh Ubuntu 22.04 VPS, run the FusionPBX install script, complete the setup wizard, verify FreeSWITCH is running, and explore the web UI and
fs_cli.
- DNS for VoIP: A records, SRV records, and FQDN in SIP
- SIP and RTP port requirements and NAT traversal (STUN, ICE, media proxying)
- TLS for SIP signaling and SRTP for media encryption
- FusionPBX access control lists (ACLs) and trusted IP management
- Buying/configuring a domain and pointing DNS A record to VPS IP
- Configuring Nginx as a reverse proxy for FusionPBX web UI at
https://pbx.yourdomain.com - SSL/TLS via Let's Encrypt/Certbot (
certbot --nginx) - Configuring FusionPBX/FreeSWITCH to use the SSL certificate for SIP TLS
- Enabling SRTP for encrypted media
- Firewall configuration with UFW:
- Port 80/443 (HTTP/HTTPS)
- Port 5060/5061 (SIP UDP/TLS)
- Port 5080 (FreeSWITCH external SIP)
- Port 16384–32768 (RTP media)
- Port 7443 (WebRTC WSS)
- Installing and configuring fail2ban for FreeSWITCH SIP attack protection
- FusionPBX ACL configuration: whitelisting SIP trunk provider IPs
- Setting external IP / STUN in FreeSWITCH
vars.xml
Lab 2: Configure a custom domain, secure FusionPBX with Let's Encrypt SSL, enable SIP TLS + SRTP, harden the server with UFW + fail2ban, and verify encrypted SIP registration from a softphone.
- SIP trunk types: registration-based vs IP authentication
- Dial plan structure in FusionPBX: contexts, conditions, actions, regex routing
- Call flow: inbound DID → destination → ring group / IVR / extension
SIP Trunk Configuration:
- Creating an outbound SIP gateway (Telnyx / Twilio / VoIP.ms)
- Creating an inbound SIP profile for receiving calls
- Binding a DID (phone number) to an inbound route
- Testing outbound and inbound calls end-to-end
Extensions & Devices:
- Creating SIP extensions (manual and bulk CSV import)
- Configuring softphones (Zoiper / MicroSIP) against FusionPBX
- Extension settings: voicemail, call forwarding, do-not-disturb
- Hot desking and shared line appearances
Dial Plan & Call Routing:
- Understanding FusionPBX dial plan XML
- Creating outbound dial plan rules (local, long-distance, international)
- Emergency (911) routing configuration
- Time conditions: business hours vs after-hours routing
Core PBX Features:
- IVR (Auto Attendant): multi-level IVR menu creation
- Ring Groups: simultaneous and sequential ringing strategies
- Call Queues: agent assignment, hold music, queue announcements
- Voicemail: per-extension voicemail, email-to-voicemail (SMTP setup)
- Conference Rooms: PIN-protected, moderator controls
- Call Recording: per-extension, per-trunk, on-demand recording
- Music on Hold: custom audio file upload and management
- Paging and Intercom between extensions
Lab 3: Configure a Telnyx SIP trunk, create 5 extensions, build a 2-level IVR with business hours routing, set up a ring group and call queue, enable voicemail-to-email, and place end-to-end test calls.
Multi-Tenant Management:
- Creating and managing multiple domains/tenants in FusionPBX
- Per-tenant SIP trunks, dial plans, and user isolation
- Reseller model: managing client PBX instances from a single server
- Tenant admin accounts and permission scoping
Advanced Call Features:
- Call Center module: queues, agents, tiers, and wallboard
- Follow-me and find-me call routing
- Call detail records (CDR): searching, filtering, and exporting
- Fax server setup (FreeSWITCH mod_spandsp T.38 fax)
- WebRTC softphone via FusionPBX built-in WebPhone (WSS)
- Click-to-call integration overview
- LDAP / Active Directory phonebook integration
Security & Monitoring:
- FreeSWITCH event socket monitoring (
fs_clilive event stream) - FusionPBX dashboard: active calls, registrations, system status
- Log analysis:
/var/log/freeswitch/freeswitch.logpatterns - Backup and restore: FusionPBX database + FreeSWITCH config + recordings
- Upgrading FusionPBX and FreeSWITCH safely
Migration to FusionPBX:
- Migrating from Asterisk/FreePBX: extensions, trunks, dial plans
- Migrating from 3CX: number porting, extension mapping, SIP credentials
- Migrating from hosted PBX (RingCentral, Vonage) to self-hosted FusionPBX
- Extension and phonebook bulk import via CSV
- Porting phone numbers to a new SIP trunk provider
Lab 4: Create two tenant domains on a single FusionPBX server with isolated trunks and extensions, enable the WebRTC WebPhone, generate and export a CDR report, perform a full backup, and simulate a FreePBX → FusionPBX extension migration.
- VoIP & PBX market landscape on Upwork (demand, rates, client personas)
- Positioning yourself as a FusionPBX specialist
- Scoping client VoIP projects: discovery calls, site surveys, requirements gathering
Service Niches to Target:
- FusionPBX installation & production setup on Linux VPS
- Custom domain & SSL configuration for FusionPBX
- SIP trunk setup & integration (Telnyx, Twilio, VoIP.ms)
- IVR, ring group, and call queue design and deployment
- Multi-tenant FusionPBX setup for resellers
- FreePBX / Asterisk / 3CX → FusionPBX migration
- Call center module configuration
- FusionPBX troubleshooting, optimization, and support retainers
- VoIP security hardening (TLS/SRTP, fail2ban, ACL)
- Voicemail-to-email and call recording setup
Upwork Profile & Gig Development:
- Writing a high-converting Upwork profile headline and overview
- Crafting gig titles, descriptions, and search tags for the VoIP/PBX niche
- Tiered pricing packages (Basic / Standard / Premium)
- Building a portfolio using Day 1–4 lab screenshots, call recordings, and screen-capture demos
- Writing client proposal templates for FusionPBX projects
- Handling common client objections (reliability, support, vs hosted PBX)
- Upsell opportunities: monthly support retainers, SLA agreements, training sessions
- Tools: Loom (demo videos), Notion (SOW templates), Calendly (client discovery calls)
Lab 5: Publish a live Upwork gig for "FusionPBX VoIP System Setup on Linux," complete with a Loom screen-capture demo, three tiered packages, and a ready-to-send client proposal template.
After completing all 5 days and labs, participants will have built and documented:
| Project | Description |
|---|---|
| Production FusionPBX Server | FusionPBX on Ubuntu 22.04 VPS with custom domain, SSL, and SIP TLS/SRTP |
| Full SIP Trunk Integration | Telnyx/Twilio SIP trunk with inbound DID and outbound calling |
| Multi-Level IVR System | 2-level auto attendant with business hours and after-hours routing |
| Call Queue & Ring Group | Queue with agent assignment, hold music, and ring group failover |
| Voicemail-to-Email | Per-extension voicemail with SMTP email delivery |
| Multi-Tenant Setup | Two isolated tenant domains on a single FusionPBX instance |
| CDR & Call Recording | Call detail records export and per-extension call recording |
| Upwork Service Listing | Published gig with Loom demo video and client proposal templates |
| Role | Relevant Skills Gained |
|---|---|
| VoIP Engineer | FusionPBX/FreeSWITCH, SIP trunking, Linux VPS management |
| PBX System Administrator | Multi-tenant management, dial plan design, call routing |
| Telecom Consultant | SIP trunk migration, number porting, PBX architecture |
| VoIP Security Specialist | TLS/SRTP, fail2ban, ACL hardening, SIP attack mitigation |
| Call Center Engineer | FusionPBX Call Center module, queues, agents, wallboard |
| Freelance VoIP Specialist | Upwork gig development, client project scoping and delivery |
| VoIP Reseller / MSP | Multi-tenant FusionPBX hosting for multiple business clients |
/configs— FreeSWITCH gateway configs, FusionPBX dial plan XML, Nginx vhost, fail2ban jail/scripts— VPS setup, FusionPBX install, SSL automation, backup scripts/recordings— Sample IVR audio prompts and hold music/templates— Upwork gig copy, SOW templates, client proposal scripts- FusionPBX Docs
- FusionPBX GitHub
- FreeSWITCH Docs
- FusionPBX Community Forum
- Telnyx SIP Trunk Docs
- VoIP.ms SIP Trunk Docs
- Let's Encrypt / Certbot