FreePBX · Issabel · Elastix · VitalPBX

Asterisk Call Accounting

Department call costs, budgets, inbound service level and billing — read straight from the CDR your PBX already writes. No dialplan changes, no CDR backend to configure, no AMI, nothing installed on the PBX.

SSH
No open MySQL port
Read-only
SELECT access only
0
Dialplan changes
Windows
Desktop application

Built for Asterisk-family systems

Q5000 doesn’t need to know which distribution you run. It reads your actual CDR column layout from the database and falls back across the known extension-directory schemas until one returns rows — which is why the same connection works across these.

FreePBX

CDR in asteriskcdrdb, extensions from the standard directory tables.

Issabel

Same CDR layout as FreePBX; credentials read from the distro config.

Elastix

FreePBX-shaped CDR and extension tables; credentials read from /etc/elastix.conf.

VitalPBX

CDR database located automatically; extensions from the VitalPBX directory.

Plain Asterisk

Any Asterisk box writing CDR to MySQL or MariaDB, including PJSIP realtime.

Not Asterisk-based? Q5000 reads the Asterisk CDR schema directly, so it won’t connect to a 3CX, Yeastar, Grandstream, NEC or Panasonic system. We’d rather say so here than sell you a licence that can’t connect.

How it connects

1

Connect over SSH

Host, port, username and password. Q5000 shows the server’s host-key fingerprint for you to confirm, and tunnels everything through that session — MySQL is never exposed to the network.

2

Get a read-only CDR user

One button reads the database credentials your PBX distribution already stores, creates a least-privilege read-only account for Q5000, and verifies it. You never type a MySQL root password.

3

Sync and import

Q5000 asks your database which columns your cdr table actually has and builds its query from that, then offers to import your extension list so reports show names instead of numbers.

What you get from your CDR

💰

Outbound cost and department budgets

Per-department call costs from your own rate card, chargeback reports, and budget thresholds that alert managers at 80/90/100% of spend — while they can still act — with sub-department spend rolling up to parent budgets.

Per-department cost reporting →
📞

Inbound analytics and service level

Service level measured per call chain from arrival to human answer — not per CDR leg, which reports a permanent 100%. Plus recovery rate, average hold time, abandonment excluding misdials, median and 90th-percentile wait, and a wait-time breakdown separating misdials from genuine lost business.

Inbound reporting and SLA →
🔑

PIN and account-code attribution

Q5000 works out whether your site identifies callers by extension, by PIN, or both, then attributes each call chain once — so shared phones and hot-desking still land in the right department.

Mapping PINs to departments →
🧾

Billing, invoicing and scheduled reports

Turn a billing run into tax invoices with profit margin reporting, and email PDF or Excel report packs on a daily, weekly or monthly schedule without configuring an SMTP server.

Scheduled email reports →

Asterisk call accounting guides

PBX Integration6 min read

How to Connect Call Accounting to Asterisk or FreePBX over SSH

The full connection walkthrough: SSH credentials, a least-privilege read-only CDR user, extension import and PIN detection — without touching your dialplan.

Reporting6 min read

Inbound Call Reporting and Service Level on Asterisk: Getting the Numbers Right

Four mistakes that produce confidently wrong inbound metrics on Asterisk — per-leg service level, vanishing ring group calls, counting rows, and conflating missed with abandoned.

Call Accounting6 min read

How to Generate a Per-Department Phone Bill from Asterisk/FreePBX CDR Data

Turn raw CDR data into a per-department phone bill: account-code attribution, prefix-based rate rules, and the timezone/billsec gotchas that make totals miss.

Call Accounting5 min read

Mapping PIN and Account Codes to Departments for Call Accounting

The model and workflow that keeps PIN / account-code attribution accurate past a few hundred codes: three levels, idempotent CSV, an unassigned bucket, and PIN privacy.

PBX Integration6 min read

Tracking Call Costs and Budgets on FreePBX, Issabel, Elastix and VitalPBX

Safe read-only CDR access across FreePBX, Issabel, Elastix and VitalPBX: least-privilege users, the VitalPBX unix_socket workaround, SSH tunnelling, and budget threshold alerts.

Migration6 min read

Migrating from MAN3000 to Modern Call Accounting on Asterisk/FreePBX

What actually changes when you leave a buffer-based call logger: the SSH data path, the mapping export that matters more than call history, and the parallel-run month that de-risks cutover.

Reporting5 min read

Scheduled Email Call Reports: Put PBX Reporting on Autopilot

Reports nobody has to remember to run: choosing a cadence that matches decisions, emailing attachments instead of portal links, and the catch-up behaviour that keeps schedules honest.

Frequently Asked Questions

What is call accounting for Asterisk?

Call accounting reads the call detail records your Asterisk PBX already writes and turns them into cost, usage and performance reporting — per-department phone bills, chargeback, budget control and inbound service level. It is a reporting layer over your existing CDR, not a change to how calls are routed or billed.

Which Asterisk distributions does Q5000 support?

FreePBX, Issabel, Elastix, VitalPBX and plain Asterisk installations that write CDR to MySQL or MariaDB. Q5000 does not need to identify your distribution — it reads your actual CDR column layout from the database and falls back across the known extension-directory schemas until one returns rows.

Do I have to change my PBX to use Q5000?

No changes to your dialplan, no CDR backend configuration, no AMI, no extra ports and nothing installed on the PBX. Q5000 needs SSH access with password authentication and reads the CDR table you already have. Optionally, it can create one least-privilege read-only MySQL user for itself.

Does Q5000 work with 3CX, Yeastar or Grandstream PBXs?

No. Q5000 is purpose-built for Asterisk-family systems and reads the Asterisk CDR schema directly. If you run a non-Asterisk PBX, Q5000 is not the right fit — we would rather tell you that up front than sell you a licence that will not connect.

Can Q5000 report on more than one PBX?

Yes. Multiple PBX servers can be connected, each with its own SSH tunnel and credentials, and records stay scoped per server — so identical extension numbers on two different sites do not collide.

What if my PBX has no SSH access?

You can export your CDR and upload the file instead. There is no format to select: Q5000 detects the delimiter and maps your column headers onto the fields it needs, which covers Asterisk and FreePBX exports as well as xDR and VoIPmonitor.

Connect your PBX today

If your Asterisk PBX is writing CDR and you can reach it over SSH, you are about ten minutes from your first department cost report.