Knowledgebase › Sangoma phones with EPM — when to use the FreePBX Endpoint Manager (and when not to)

Sangoma phones with EPM — when to use the FreePBX Endpoint Manager (and when not to)

The FreePBX® Endpoint Manager (EPM) is a commercial module that handles phone provisioning from inside the PBX GUI. It's the intended workflow for Sangoma-brand phones on a FreePBX install. This article covers when EPM is the right tool, when it isn't, and the trade-offs against rolling your own provisioning server.

What EPM does

EPM is a GUI inside FreePBX that:

  • Stores a per-phone configuration (extensions, line appearances, feature codes).
  • Generates the config files in each phone vendor's native format.
  • Hosts the config files at a provisioning URL that the phones can fetch.
  • Pushes config changes via SIP NOTIFY check-sync.

It supports many vendors beyond Sangoma — Polycom, Yealink, Grandstream, Cisco, Aastra/Mitel, and others. For Sangoma phones specifically, EPM is the only officially-supported provisioning path.

When EPM is the right choice

  • You bought Sangoma phones. EPM is what they're designed for; trying to hand-provision Sangoma phones outside EPM is unpleasant.
  • You have a mixed-vendor fleet and want one provisioning UI for all of them. EPM unifies the management surface.
  • You don't need to script bulk operations. EPM's GUI is fine for tens of phones. Hundreds is doable but slower than scripting.
  • You want SIP NOTIFY check-sync push updates. EPM does this natively.

When EPM isn't the right choice

  • You don't want a commercial module. EPM is paid. If you're managing Polycom or Yealink only, hand-rolled provisioning per Polycom or Yealink is free and gives you more control.
  • Your config is version-controlled in Git. EPM's source-of-truth is its database. Mixing GUI-managed and Git-managed config is error-prone.
  • You have hundreds of phones and want fast bulk operations. Scripting against your own provisioning server is faster than EPM's bulk operations.
  • You're on FusionPBX or bare Asterisk. EPM is FreePBX-specific. Other PBX flavours have their own provisioning approaches.

EPM setup essentials

  1. Install EPM from the FreePBX module admin (commercial module — purchase first via portal).
  2. Activate the license.
  3. Connectivity → Endpoint Manager → Global Settings:
    • Internal IP / External IP — the addresses phones should fetch config from. External IP is the PBX's public IP for remote phones.
    • Provisioning protocol: HTTPS for anything reaching across the public internet.
    • SSL cert: use the PBX's Let's Encrypt cert.
  4. Brands → enable the vendors you actually use. Sangoma is on by default.
  5. Templates → create at least one template per phone model. Templates hold the common config (server addresses, codecs, button layouts).
  6. Extensions Mapping → assign each extension to a phone (model + MAC).
  7. Rebuild Configs → generates the actual provisioning files.

Provisioning a Sangoma phone

Sangoma phones speak Yealink config format under the hood (the hardware is based on Yealink/Htek lineage). EPM handles the translation. The phone-side discovery options:

  • DHCP option 66 — point at the EPM provisioning URL.
  • Sangoma RPS — pre-register the phone's MAC with Sangoma's redirection service; on first boot, the phone is redirected to your PBX's EPM URL.
  • Manual — Settings → Auto Provision URL on the phone web interface.

RPS is convenient because phones shipped to customer sites "just work" — no DHCP-side coordination needed.

Common EPM pitfalls

  • "My phone won't fetch configs." Check EPM's Global Settings external IP matches the PBX's actual public IP. After an IP change, EPM doesn't auto- update.
  • "Template change didn't push." Did you click Rebuild Configs? EPM doesn't regenerate automatically. Then either reboot the phone or send a check-sync NOTIFY.
  • "License says invalid." Likely a clock skew between the PBX and Sangoma's license server. Verify NTP is working.
  • "Sangoma RPS won't redirect." Confirm the MAC is registered to your account in Sangoma portal and the redirect URL matches EPM's external URL.

Backing up EPM config

EPM's data lives in the PBX's MariaDB. A standard FreePBX backup (with Settings → Modules selected) captures EPM along with everything else. See FreePBX backup and restore.

If you treat EPM as the source of truth, make sure your backup cadence matches your tolerance for re-entry. EPM doesn't have a "show me the templates as a text diff" feature; if you lose the DB, you lose the templates.

Also Read

« « Back

Powered by WHMCompleteSolution