Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

FusionPBX VoIP Training Module — 5-Day Training

A hands-on Training covering production-grade FusionPBX deployment, FreeSWITCH configuration, SIP trunking, advanced PBX features, and building a profitable freelance service.


Overview

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.


Learning Objectives

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

Prerequisites

  • 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)

Recommended Server Sizing

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+

Technologies Used

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

5-Day Training Schedule


Day 1 — FusionPBX & FreeSWITCH Installation

Theory

  • 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

Hands-on Topics

  • 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

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.


Day 2 — Domain, SSL, Networking & Security Hardening

Theory

  • 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

Hands-on Topics

  • 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

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.


Day 3 — SIP Trunks, Extensions, Dial Plans & Core PBX Features

Theory

  • 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

Hands-on Topics

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

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.


Day 4 — Advanced Features, Multi-Tenancy, Monitoring & Migration

Hands-on Topics

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_cli live event stream)
  • FusionPBX dashboard: active calls, registrations, system status
  • Log analysis: /var/log/freeswitch/freeswitch.log patterns
  • 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

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.


Day 5 — Upwork Marketplace Service Development

Theory

  • 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

Hands-on Topics

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

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.


Project Outcomes

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

Career Opportunities

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

Resources

About

A hands-on Training covering production-grade FusionPBX deployment, FreeSWITCH configuration, SIP trunking, advanced PBX features, and building a profitable freelance service.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors