Knowledgebase › Connecting FreePBX to Flowroute — SIP trunk setup walkthrough

Connecting FreePBX to Flowroute — SIP trunk setup walkthrough

Flowroute is a long-running US-based SIP-trunking provider, known for IP-based authentication (no credentials to leak) and a relatively straightforward billing model. This article walks the full setup: configuring a tech-prefix in the Flowroute portal, registering your VPS's IP, creating the FreePBX® trunk, and routing a DID end to end. Assumes you've finished Configuring a new FreePBX install.

1. Sign up for Flowroute

Create an account at flowroute.com. Add a payment method; Flowroute charges per minute on usage and monthly on DIDs.

2. Register your FreePBX server's IP

Flowroute uses IP authentication by default — they accept SIP INVITEs from your registered IPs and route based on a tech-prefix embedded in the dialed number.

  1. In the Flowroute portal: Preferences → API → Tech Prefix Endpoints (or similar; menu has shifted over the years).
  2. Click Add Endpoint.
  3. Enter your LYLIX VPS's public IP and a friendly name (e.g. lylix-freepbx-vps).
  4. Note the Tech Prefix that gets assigned — you'll prepend it to every outbound dial. (Older Flowroute accounts may not require a prefix; newer ones do.)

3. Buy a DID

In the portal: Numbers → Buy a Number. Pick a region/area code, buy. Then under Numbers → Manage Numbers, click your new DID and assign its Route to the IP endpoint you just registered.

Flowroute will now send inbound calls for that DID to your VPS's IP on port 5060/UDP.

4. Add the trunk in FreePBX

In FreePBX: Connectivity → Trunks → Add Trunk → Add SIP (chan_pjsip) Trunk.

General tab:

  • Trunk Name: flowroute
  • Outbound CallerID: "Your Company" <15551234567> using your Flowroute DID in E.164 (11-digit US)

pjsip Settings → General tab:

  • Username: leave blank (IP auth)
  • Secret: leave blank
  • Authentication: None
  • Registration: None
  • SIP Server: sip.flowroute.com
  • SIP Server Port: 5060

pjsip Settings → Advanced tab:

  • From Domain: sip.flowroute.com
  • DTMF Mode: RFC 4733
  • Match (Permit): paste Flowroute's peering IPs here so FreePBX accepts inbound INVITEs from them. Current Flowroute peering ranges are listed in their support docs; check there for the current list rather than hardcoding.

Submit, Apply Config.

5. No registration to verify — check via test call

Because Flowroute uses IP auth, there's no SIP REGISTER to confirm on the FreePBX side. The trunk appears as "Unavailable" in PJSIP Endpoints because nothing's registered — that's expected and not an error.

The way to verify the trunk is to make a test call (next steps).

6. Add an outbound route with the tech prefix

Connectivity → Outbound Routes → Add Outbound Route:

  • Route Name: flowroute-us
  • Trunk Sequence: flowroute

Dial Patterns tab — this is the key Flowroute quirk. Whatever your tech-prefix is (let's say 1234*), prepend it to every outbound number:

prependprefixmatch pattern
1234*1   NXXNXXXXXX
1234*   1NXXNXXXXXX

That is: caller dials 5551234567, FreePBX sends 1234*15551234567 to Flowroute, Flowroute strips the prefix and dials the actual number.

If your account doesn't use a tech prefix (older accounts), just use:

prependprefixmatch pattern
1   NXXNXXXXXX
    1NXXNXXXXXX

Submit, Apply Config.

7. Add an inbound route for your DID

Connectivity → Inbound Routes → Add Inbound Route:

  • Description: friendly name
  • DID Number: 15551234567 (Flowroute sends 11-digit E.164 without the +)
  • Set Destination: your test extension

Submit, Apply Config.

8. Test outbound, then inbound

  • Outbound: from your softphone, dial 5551234567 (your mobile). You should hear ringback, your mobile rings, two-way audio.
  • Inbound: call your Flowroute DID from your mobile; the destination extension rings.

Watch Reports → Asterisk Logfiles live during testing. The Asterisk log shows the exact SIP exchange and which IP the INVITE came from / went to. Useful Flowroute response codes:

  • 200 OK — call answered.
  • 403 Forbidden — your IP isn't registered on Flowroute's side, OR the tech prefix is wrong.
  • 404 Not Found — wrong number format (missing country code is the common cause).
  • 503 Service Unavailable — Flowroute upstream issue, usually transient.

Flowroute-specific gotchas

  • Tech prefix is not optional on newer accounts. If outbound 403s and your IP is definitely registered, you're almost certainly missing the prefix.
  • Match (Permit) on the trunk must include Flowroute's peering IPs or inbound calls get rejected at Asterisk's IP filter level — without ever showing up in the Asterisk log.
  • Codec mismatches — Flowroute defaults to G.711 ulaw. Don't force exotic codecs on your trunk unless you've confirmed Flowroute supports them on your account.
  • Outbound CallerID screening — Flowroute rejects outbound calls with caller IDs that aren't on your account. Set your CallerID to your Flowroute DID, or buy a small DID just for the caller ID slot.

Hardening

  • Static IP on FreePBX — IP auth is only as secure as your IP. LYLIX VPSes have static IPs; don't change the VPS's external address without updating Flowroute first.
  • Firewall to only Flowroute's peering IPs on 5060/UDP and the RTP range. FreePBX's built-in firewall has a "Trusted Networks" facility — use it.
  • Spending limit on the Flowroute account side to cap fraud exposure.

If you're stuck

Flowroute's CDR / Logs in their portal shows your recent calls and the SIP responses. If a test call doesn't appear there at all, the INVITE never reached them (FreePBX-side issue — check the Asterisk log). If it appears with a non-200 response, the issue is on Flowroute's side (auth, tech prefix, account, billing).

Open a LYLIX ticket if you need help with the FreePBX configuration; Flowroute's own support handles their side quickly.

FreePBX® and Asterisk® are registered trademarks of Sangoma Technologies Corporation; LYLIX hosts them but is not affiliated with Sangoma. Flowroute is a trademark of Flowroute LLC.

Also Read

« « Back

Powered by WHMCompleteSolution