Open-source PBX (FreeSWITCH)

DIDHub for FusionPBX

Add DIDHub as a FreeSWITCH gateway in FusionPBX. Multi-tenant ready, dialplan-managed routing, full FusionPBX UI integration.

Why DIDHub + FusionPBX

FusionPBX is the FreeSWITCH-based PBX with a strong multi-tenant story — common for service providers and MSP-style deployments. DIDHub plugs in as a standard FreeSWITCH gateway (sofia profile) — the same way FusionPBX connects to any other SIP carrier.

FusionPBX users come to DIDHub for international DID coverage, for the DIDHub multi-country pricing model that maps cleanly to FusionPBX's per-tenant billing, and because FreeSWITCH's media handling pairs well with DIDHub's edge SBC for clean call quality even on long-haul routes.

Setup — 10 minutes

Six steps in the FusionPBX UI from a fresh install to a working DIDHub gateway.

Sign up + buy a number

DIDHub account, pick a DID, get trunk credentials.

Accounts → Gateways → Add

In FusionPBX as the superadmin, add a new gateway. Name it didhub-{country}.

Fill gateway fields

Username, password, proxy = sip.didhub.io, register = true, register transport = TLS, expire = 600s, retry = 30s.

Restart sofia profile

Status → SIP Status → kill + restart the external profile, or rescan from the FusionPBX UI.

Inbound routing

Dialplan Manager → Inbound Routes → Add a route matching the DID, destination = your extension/IVR/queue.

Outbound routing

Dialplan Manager → Outbound Routes → Add a pattern matching dialed prefix, gateway = didhub-{country}.

SIP trunk configuration

The exact trunk values DIDHub provisions for your account. Pre-fill these in the FusionPBX trunk-config UI:

; FusionPBX gateway — Accounts → Gateways → Add

Gateway Name: didhub-us
Username: didhub_xxxxxx
Password: (provisioned)
Proxy: sip.didhub.io
Realm: sip.didhub.io
From User: didhub_xxxxxx
From Domain: sip.didhub.io
Register: True
Register Transport: TLS
Expire Seconds: 600
Retry Seconds: 30
Caller-ID-In-From: True
Profile: external
Codecs: PCMU,PCMA,OPUS

; FreeSWITCH internal: this materialises as /etc/freeswitch/sip_profiles/external/didhub-us.xml

FusionPBX writes gateway config to FreeSWITCH's external sofia profile. After saving, restart the profile via FusionPBX → Status → SIP Status → external → kill + start. Verify registration in Status → SIP Registrations.

Capabilities verified with FusionPBX

Multi-tenant gateway

Per-domain gateway assignment lets you separate DIDHub trunks per FusionPBX tenant — useful for MSPs.

FreeSWITCH media handling

FreeSWITCH's mod_sofia + mod_dptools + mod_callcenter all work normally on DIDHub trunks.

Dialplan flexibility

Standard FusionPBX inbound/outbound routes; XML dialplan available for advanced cases.

Recording

FusionPBX call recording works on DIDHub gateways. Per-extension or per-route configurable.

REST API

FusionPBX's API + DIDHub's API can be combined for fully-automated tenant provisioning.

Frequently asked questions

Which FusionPBX version?

FusionPBX 4 and 5 both work. FreeSWITCH 1.10+ underneath. DIDHub uses standard sofia gateway config — no FusionPBX-version-specific features.

Can I assign DIDHub gateways per tenant?

Yes. FusionPBX gateway-to-domain mapping is supported; each tenant can have its own DIDHub trunk if needed.

Does FusionPBX's call recording work?

Yes. mod_recording plus FusionPBX's call recording UI both work normally on DIDHub trunks.

How do I handle FreeSWITCH TLS?

Set Register Transport = TLS in the gateway config. FreeSWITCH must have TLS enabled in the external sofia profile (sip_profiles/external.xml). Most modern FusionPBX installs have this on by default.

Can FusionPBX bridge calls between DIDHub and another SIP carrier?

Yes. Multiple gateways per FusionPBX install — bridge logic via the dialplan picks which gateway to use for which call.

Related

FreePBX · Asterisk · 3CX · Softphones

Ready to get a number?

Pick a DID in 80+ countries from $1.99/month. Activates instantly on most numbers.