Before you install
- An Asterisk-based PBX — FreePBX, VitalPBX, or a FreePBX-derived fork. The installer auto-detects.
- Root access on the PBX server.
- Outbound HTTPS to
callflowstudio.io(for trial registration + update checks). - ~25 MB free on the web tree.
Install
SSH to your PBX as root:
wget https://callflowstudio.io/install.sh sudo bash install.sh
The bootstrap runs preflight checks, downloads the latest release, verifies SHA-256, extracts, and hands off to the in-tree installer — which sets up the database, permissions, Apache vhost, and prints a one-time setup URL.
To audit before running as root, slot in a less install.sh:
wget https://callflowstudio.io/install.sh less install.sh sudo bash install.sh
What the installer does
- Auto-detects your PBX (FreePBX, VitalPBX, or a fork).
- Creates the
cfstudiodatabase alongside your existingasteriskDB. CFS only ever reads fromasterisk; never writes. - Sets up
/etc/cfstudio/with restricted perms for the admin credential and license key. - On FreePBX: drops an Apache config snippet for
/cfstudio/, gated byapache2ctl configtest— rolls back if it doesn’t pass. VitalPBX uses its existing vhost; no changes. - Prints a one-time setup URL for the welcome flow.
Idempotent: safe to re-run — if a download is interrupted or your SSH session drops, just run it again; existing admin credentials, license keys, and your call-flow data are preserved.
Will it work on my PBX?
Short version: if Dial Plan Vizualizer (dpviz) has worked on your PBX, Call Flow Studio will too. It’s the successor to dpviz, from the same developer, and reads your dial plan the same way dpviz does. You’ll notice a lot of similarities — plus a lot of improvements. Don’t see your PBX named anywhere? You may not need to — plenty of vendor-branded and rebranded systems are FreePBX and Asterisk underneath without ever saying so, and if dpviz has run there, that’s already your answer. And you don’t have to take any of this on faith.
The installer tells you before it changes anything. It runs its compatibility checks first — if something’s a genuine blocker (PHP < 5.6, no MariaDB/MySQL, no Asterisk), it stops cleanly with the specific reason and nothing has been installed or altered. If it spots something merely unfamiliar rather than blocking — a newer database version it hasn’t been tested against, say — it flags it for you and continues. Either way the install stays in its own lane: it doesn’t change your call routing or your PBX software — it installs alongside them and reads your existing configuration to draw it. Nothing leaves your PBX without your explicit consent.
Finishing in the browser
The installer prints a URL ending in ?setup_token=<random>. Open it in any browser; the welcome flow asks for username, email, password, and EULA acceptance. Submit, and your 30-day trial is active.
What we collect at registration
From the welcome form: business email, name, optional company. From the PBX itself:
- Machine fingerprint — a one-way identifier derived from this server's hardware and OS, used only to bind your license to one PBX. It can't be reversed back into the underlying details.
- Hostname, PBX brand + version, OS distribution, CFS version, PHP version.
- Public IP at registration, geolocated to country / region / city.
What we do not collect: phone numbers, DIDs, caller IDs, call recordings, voicemail content, dial-plan content, queue or extension lists, any caller PII. Your dial plan stays on your PBX. Full inventory + handling: Privacy Policy. License terms: Terms of Service.
Trouble?
- If the welcome page won’t load, double-check the URL printed at the end (token is long).
- If trial registration fails, your admin account still exists — log in normally and retry from Settings → License.
- Anything else: support@callflowstudio.io. Step-by-step reference: Installing Call Flow Studio.
Uninstalling
FreePBX:
sudo bash /var/www/html/cfstudio/uninstall.sh
VitalPBX:
sudo bash /usr/share/vitalpbx/www/cfstudio/uninstall.sh
Removes the install tree, /etc/cfstudio/, the cfstudio database, and the Apache snippet on FreePBX. Does not touch your asterisk database, your web server, or Asterisk itself.
If you have an active license and want to move it to another PBX, run cfs release-license before uninstalling to free the binding. See moving a license.