Questions

The ones we always get.

Which PBX platforms does CFS support?

FreePBX 14, 15, 16, 17 and FreePBX-based distributions: full editor (read + write). The shared walker reads schema common to the FreePBX family, so most distros built on it work the same way, including commercial distros like PBXact and ClearlyIP, the community Incredible PBX, and the various OEM/whitelabel boxes built on FreePBX 14–17. Self-hosted is the keyword. CFS installs over SSH as root, so hosted-only platforms where you don't get shell access (e.g. PBXact Cloud) aren't supported. VitalPBX: dedicated walker, ships as a read-only visualizer (see "Why is VitalPBX read-only?" below). It renders the full VitalPBX dial plan: every routable destination type, including IVRs, queues, ring groups, time conditions, and call flow control. The platform is auto-detected at install from /etc/amportal.conf, /etc/freepbx.conf, or /etc/vitalpbx/database.conf. Vanilla Asterisk without one of these front-ends isn't supported. CFS reads each platform's config tables, not raw extensions.conf. Don't see your PBX? Email support@callflowstudio.io. We add platforms when there's demand.

Why is VitalPBX read-only when FreePBX gets the full editor?

On VitalPBX, Call Flow Studio is a first-class read-only visualizer: the same graph, the same live registration, the same time-travel and path highlighting, the same export, the same sticky notes you get on the FreePBX family. The two platforms simply handle configuration changes differently: Call Flow Studio's editing is built on the FreePBX family's own configuration tools, while on VitalPBX, making changes lives in the VitalPBX admin UI, where it's always lived. So on VitalPBX, Call Flow Studio focuses on what it does best: giving you the complete, live picture of your whole dial plan. If editing becomes possible on VitalPBX in the future, we'll add it.

Will editing break my production routing?

CFS doesn't write SQL into your PBX's database. When you save an IVR, queue, or ring group, it calls FreePBX's own module functions, the same code FreePBX runs when you press Submit in its admin screens, and then triggers the same fwconsole reload you'd run yourself. Undo and redo go back through those same functions. Every change CFS makes is an ordinary FreePBX change, then: reversible, auditable, and visible in whatever admin UI you already use. Point it at a test DID first if you want to build confidence.

What if I make a mistake while editing?

Undo isn't a feature in your PBX admin UI. It is in Call Flow Studio. Ctrl-Z reverts the most recent destination change in the call flow you're viewing; Ctrl-Y redoes. It's a working-session tool: undo reaches back over what you've just been doing in that call flow, not a change from last week. Apply Config surfaces automatically after an undo so the correction goes live the moment you're ready, and that holds even after you've already applied. The Activity Log tab is the record rather than a second undo: who changed what, and when, across every dial plan. (Undo covers destination edits, IVR entries, and Dynamic Route entries. Call flow control toggles are logged but aren't undoable. They have their own confirmation prompt. Node creation and time-group edits aren't in the log yet.)

Does CFS send my call data anywhere?

No. Your dial plan, extensions, recordings and call records never leave your server; CFS has no way to send them and never asks for them. The only thing it contacts is our licensing server, and only to check that your license is valid. That check sends a short, fixed list: a hashed machine fingerprint, hostname, PBX brand and version, OS, PHP version, CFS version, license key ID, and on VitalPBX the number of tenants. Nothing else. It runs at install, when an admin logs in, and once a day from cron. There's no analytics and no tracking, and the product loads no CDN and no external JavaScript, so nothing on the page phones home either.

Is Call Flow Studio secure?

Everything runs on your own server. There's no cloud component, no CDN, and no third-party JavaScript; the whole app is served from your PBX, so your dial plan never leaves it.

CFS also doesn't write SQL into your PBX's database. Edits go through FreePBX's own module functions, the same code FreePBX runs when you press Submit in its admin screens, and undo and redo take the same route.

A CFS login isn't a PBX admin login. No CFS user, whatever their role, can reach SIP trunks, system settings, or delete an extension. The worst a stolen CFS account can do is change dial-plan destinations, and every change is recorded in the Activity Log with who made it and when.

No release ships unless it passes an automated security suite. If the suite fails, the build stops and there's no tarball to publish. It covers SQL injection, authentication bypass on every endpoint, privilege escalation (a read-only account can't reach an editing action, and an editor can't reach an admin one), cross-site request forgery, open redirects, login throttling and password-spray lockout, session invalidation (disable a user and their active session dies on the next request), idle timeout, cookie flags (HttpOnly, SameSite, Secure), security headers, and information disclosure: a logged-out visitor can't learn your hostname, PHP version, or PBX version from the login page. Once a release is out, the same suite runs again against every PBX in our test lab.

If you find something we missed, email support@callflowstudio.io. It goes straight to the developer.

Do users need a PBX admin login to use CFS?

No. CFS runs its own user system, completely separate from your PBX admin auth. Three roles: admins manage everything, technicians edit dial plans and can jump straight into your PBX admin for anything outside CFS's scope, and users get read-only access: pan, zoom, search, and reload the graph but never edit. Hand out CFS logins to junior techs, customers, or end users without giving them PBX admin access. The shareable URL is https://<PBX_URL>/cfstudio. Pair it with a user login when you want to walk someone through a call flow on the phone while making changes live.

Can my customers and staff actually reach it?

Call Flow Studio is served from your PBX at https://<PBX_URL>/cfstudio, on the same web server your PBX admin already uses. It opens no new ports and exposes nothing that wasn't reachable before, so a CFS login reaches it exactly the way it reaches your PBX. If your PBX is internet-facing, a remote tech or customer can sign in from anywhere; if it's on-prem behind a VPN or firewall, as many are, CFS is reachable to whoever's already on that network. Either way it's a separate read-only login with no PBX admin access, so handing someone a view never widens what's exposed.

Is Call Flow Studio really free? What does a license cost?

Yes, and it stays free. On the FreePBX family, the complete read-only visualizer is yours for good with no credit card and no expiry: every dial plan and module, live registration and queue status, time travel, export, sticky notes. Editing is the optional part, and you get it for your first 30 days. On VitalPBX, Call Flow Studio is read-only for everyone (see above), so the free tier is a visualizer for your first two tenants and the license opens every tenant. One Call Flow Studio license ($79 for a limited time, $129 standard, one-time and per-PBX) keeps the full experience. No paywall and no locked-out screen. We never delete your data, and if a license ever lapses the install simply drops back to the free tier.

How does licensing work if I move to a new server?

On the old server, run sudo cfs release-license from a shell. That frees the license, and the old box keeps working as the free read-only visualizer. Then install CFS on the new server, go to Admin → License, and paste your original activation code. It binds to the new machine right away; you don't need a new code. Move it as often as you need to. If the old PBX is dead and you can't run the release on it, email support@callflowstudio.io and we'll release it for you. Your license, your hardware. Full steps →

What's the difference between CFS and the FreePBX "dpviz" module?

Call Flow Studio is the actively-developed, commercial successor to dpviz, same developer. Two things people get wrong: FreePBX has no native call-flow visualizer (dpviz is the free community module that fills it), and dpviz isn't abandoned. It's still maintained. dpviz is the focused FreePBX module that renders your dial plan as a graph, with live registration, time simulation, and node creation fitted around the visualizer. CFS is the bigger thing those years of feature requests turned into: drag-to-create as the primary workflow, undo/redo with a per-edit activity log, CFC toggles from the canvas, sticky notes, edge annotations, an In-Use-By reverse walk, and PNG export with optional PII sanitization, across FreePBX and VitalPBX. dpviz stays lightly maintained, not abandoned. Full comparison →

What's not in scope for CFS?

CFS is focused: dial-plan visualization, live status, and editing. These are intentionally out of scope, and well-served by other tools:

  • Phone provisioning: use FreePBX's Endpoint Manager or Sangoma Phone Apps.
  • Call recording playback: CFS shows the Call Recording dial-plan module but doesn't play recordings; FreePBX's CDR & Recordings is the right home for that.
  • CDR / reporting dashboards: Sangoma's reporting modules or a dedicated CDR tool will serve you better.
  • Real-time call monitoring: CFS shows status snapshots on each graph load, not a live event stream.
Can I get it now?

Yes. Install today and the read-only visualizer is yours to keep. You get everything for your first 30 days, and an optional one-time license keeps the editor on the FreePBX family, or every tenant on VitalPBX. Get Call Flow Studio.