OpenVBX Call Tracking: Free Self-Hosted Setup for Bootstrapped Businesses

By Brent Dunn Nov 14, 2017 6 min read Updated: Jan 26, 2026

Build Your First AI Project This Weekend

Stop consuming tutorials. Start creating. Get the free step-by-step guide.

Stop consuming tutorials. Start creating. Get the free step-by-step guide.

Reality check before we start:

Twilio abandoned OpenVBX in 2017. The openvbx.org domain now redirects to Twilio Studio.

The software still works. The code is on GitHub. Community forks have merged improvements. If you’re technical enough to self-host, it’s a free option for basic call tracking.

Here’s when this makes sense:

If you want something that “just works” with support, use CallRail. If you’re bootstrapping, want to own your data, and can troubleshoot PHP issues - keep reading.


Why This Matters When You’re Starting Out

You’re building a lead generation business. Maybe pay per call, maybe local services, maybe a productized agency.

Here’s the mistake most new founders make: sending calls directly to the client’s phone number.

Bad move.

Client disputes lead quality? No proof. Client fires you? They keep the number from your ads. Client says they got 10 calls when you sent 50? Their word against yours.

Call tracking fixes this. Every call gets recorded with duration and source. When someone says “those leads were garbage,” you pull up the recordings.

Skipping call tracking to save $50/month is expensive when you lose a client over a dispute you can’t prove.

The bootstrapper’s problem: Commercial call tracking costs $30-200/month. That adds up when you’re testing campaigns or validating a new vertical.

OpenVBX is free software. You pay for:

  1. Web hosting (you probably already have this)
  2. Twilio phone numbers (~$1.15/month per number)
  3. Per-minute usage (~$0.014/minute for US calls)

When you’re testing, that’s $5-10/month total vs $50+ for commercial solutions. Once you’ve validated the business model, switch to CallRail.


What OpenVBX Actually Does

OpenVBX is a web-based phone system built by Twilio. It handles:

  • Buying and managing phone numbers through Twilio
  • Call flows (routing, voicemail, forwarding)
  • Call data and recordings
  • Phone menus (“Press 1 for sales…”)

The tradeoff: It’s self-hosted. You install it on your own web server. No managed dashboard, no support, no automatic updates.

What you get: Free software. Your data. Your control. No monthly platform fees.


What You Need

Technical Requirements:

  • Web hosting with PHP 5.2+ and MySQL 5+
  • FTP access to your hosting account
  • cPanel or similar control panel access
  • A domain or subdomain for the installation

Accounts:

  • Twilio account (free to create)
  • Credit card on file with Twilio for phone numbers

If your host runs WordPress, it’ll run OpenVBX.


Video Walkthrough

The video walks through the complete installation. The steps below cover the same ground with screenshots.


Step 1: Download OpenVBX

Download from GitHub:

Download OpenVBX from GitHub

Unzip the files. You’ll upload these to your web server next.

Consider the community fork instead - it includes merged improvements from multiple contributors.


Step 2: Upload Files via FTP

Open your FTP client (FileZilla, Cyberduck, etc.) and connect to your hosting account. FTP credentials are in your hosting control panel.

Navigate to public_html. Create a folder called openvbx:

creating a directory in FTP

Directory in FTP

Upload all the unzipped OpenVBX files:

Copying OpenVBX Files into FTP

Takes a few minutes depending on your connection.


Step 3: Run the Installation Wizard

Visit your domain:

http://www.yourdomainname.com/openvbx

You should see the requirements check:

OpenVBX Requirements

Green checkmarks? Click Next.

If you see errors: Contact your web host. Common issues are PHP version or missing extensions. Most hosts fix this through a support ticket.


Step 4: Create Your MySQL Database

Keep the OpenVBX installer open. In a new tab, log into cPanel.

Find MySQL Database Wizard:

Creating a MySQL database in Cpanel

Create a database named openvbx:

Creating a new database in MySQL Database Wizard

Create a database user. Use Password Generator for a secure password:

Creating a new database username in MySQL Database Wizard

Save this password. You need it next.

Grant ALL PRIVILEGES to the user:

Adding privileges to database user in MySQL

Click Next to complete:

Completed MySQL database wizard


Step 5: Connect Your Database

Return to the OpenVBX installer. Enter your database credentials:

  • Database Name: The name you created (e.g., yourusername_openvbx)
  • Username: The database user you created
  • Password: The generated password you saved

Adding MySQL Details to OpenVBX config file

Click Next.


Step 6: Connect Your Twilio Account

OpenVBX needs Twilio for phone numbers and calling:

Connecting Twilio Account To OpenVBX

Create a Twilio account if you don’t have one:

Creating A Twilio Account

In Twilio, click Show API Credentials:

Getting Your Twilio API Credentials

Getting Your Twilio API Credentials

Copy your Account SID and Auth Token into OpenVBX:

Adding Twilio API Key To OpenVBX

Enter an email for notifications:

Adding Notifications To OpenVBX


Step 7: Create Your Admin Account

Set up your login credentials:

Creating Your OpenVBX Account

Click Install.

OpenVBX Installation Complete

Done. Click Login.

OpenVBX Login Page


Step 8: Add Billing to Twilio

First login shows a warning about your free Twilio account:

OpenVBX Dashboard Adding New Phone Number

Add billing to Twilio to buy numbers and make calls.

Twilio Pricing (US):

  • Local numbers: ~$1.15/month
  • Toll-free numbers: ~$2.15/month
  • Outbound calls: ~$0.014/minute
  • Inbound calls: ~$0.0085/minute

Once billing is set up, click Get a Number in OpenVBX. Choose local or toll-free, pick your area code, add the number.


Step 9: Create Your First Call Flow

After adding a number, click Setup Flow:

Freshly Created OpenVBX Phone Number

A call flow controls what happens when someone calls. The standard setup is forwarding - calls come in, forward to your client’s number.

Drag the Dial icon into the flow:

Creating A Call Flow In OpenVBX

Configure it:

  • Dial Whom: The phone number to forward to (your client’s number)
  • Caller ID: What shows when the call connects

Changing Options for Call Flow in OpenVBX

Important decision:

Set Caller ID to show the tracking number, not the caller’s number. When your client answers, they see which marketing source generated the call.

Example: Your billboard uses 816-656-3950. Set that as Caller ID. When the client answers, they know it’s a billboard lead vs a Google Ads lead. This matters for attribution.

Set up voicemail for missed calls:

Final Step in Call Flow OpenVBX

You can use text-to-speech, upload an MP3, or record via phone.


When to Use OpenVBX vs Commercial Solutions

Use OpenVBX if:

  • You’re testing a pay per call vertical before committing
  • You’re bootstrapping and $50/month matters
  • You want to own your call data
  • You’re technical and comfortable troubleshooting
  • You’re running low-volume campaigns

Use CallRail or similar if:

  • You need support when things break
  • You want CRM and analytics integrations
  • You’re scaling volume
  • Your time is worth more than the monthly fee
  • You’re running this as a real business, not a test

For most founders running serious pay per call campaigns, I recommend CallRail. The $30-50/month is worth it.

OpenVBX is for validating the business model on a budget.


Other Self-Hosted Options

Since OpenVBX is abandoned, here are alternatives:

Open Source:

These are more complex but actively maintained.

Build Your Own: Twilio’s Programmable Voice API lets you build custom call tracking. Same Twilio infrastructure, your own code.


Your Next Step

OpenVBX takes about 30 minutes to set up. The Twilio costs are minimal. You’ll have working call tracking that you control.

If you’re testing pay per call as a business model, this is a good way to validate before committing to commercial tools.

Once you’ve proven the model works, move to CallRail for reliability and features. The goal isn’t to stay on free tools forever - it’s to validate cheaply before you scale.


Questions about call tracking setup?

If you’re exploring pay per call, start here: