Prepaid billing
Per-second rating from customer and provider rate cards, live balances backed by a real ledger, and margin on every call.
Self-hosted softswitch · billing · dialer
A complete softswitch, prepaid billing panel and predictive dialer you install on one Debian server. Trunks, routing, DIDs, CDRs and per-second billing — yours, on your own box.
Platform
Every layer of KatoCall runs on a single Debian 12 server that you control — from the SIP stack to the billing ledger to the panel your customers sign in to.
Operators run the switch; customers see their own calls.
Rate cards, per-second rating and a PostgreSQL ledger.
Follows every channel in real time and writes the CDR at hangup.
Trunks, endpoints and DIDs, generated from the panel.
Firewall, fail2ban and TLS, set up by the installer.
How it works
Set it up once in the panel. Every call after that follows the same path.
Add SIP trunks by IP or by registration, over UDP, TCP or TLS.
Give each account IP authentication or a softphone login, a rate card and a balance.
Routing groups pick trunks by prefix, priority and weight, and fail over when a carrier rejects.
Calls are rated per second, watched live and saved as CDRs you can analyse and export.
What's inside
Not a stack of parts to wire together — billing, routing, inbound, outbound and security ship as one installed system with a single admin panel.
Per-second rating from customer and provider rate cards, live balances backed by a real ledger, and margin on every call.
Routing groups pick trunks by prefix, priority and weight, with failover to the next carrier when one rejects the call.
Point a carrier's numbers at accounts and forward them anywhere, with the caller ID your carrier requires enforced on the way out.
Optional outbound campaigns and an IVR menu, pacing calls against agent availability — installed only if you want it.
fail2ban on SIP, the panel and SSH with permanent bans, a firewall the installer configures, and free Let's Encrypt TLS.
Watch every call on the switch in real time — who's billed, the carrier, the cost as it climbs — then export the CDRs to CSV.
Call routing
Each call is matched against its account's routing group. If a carrier rejects it, the next trunk in line takes the call.
SIP & VoIP
The panel writes the PJSIP configuration, and every value is validated before it reaches Asterisk.
A modern SIP stack, built and configured by the installer.
Pick the transport for each trunk.
Authenticate carriers by address or by username and password.
Trust a carrier's whole signalling range with IPs and CIDR blocks.
IP-authenticated PBXs or registered softphones.
Set the public address and local networks from the panel.
Point inbound numbers at accounts and forward them anywhere.
A codec list per endpoint, with proxied RTP or direct media.
RTP timeouts end calls whose audio has stopped.
Analytics
Live calls stream to the panel in real time. When they end, the CDRs are there to filter, analyse and export.
Reliability
The details that matter once real traffic is flowing.
The installer checks its own work and reports every result before you take traffic.
The switch checks for new versions daily and tells you. It only updates itself if you opt in.
Calls already in progress are picked back up after a reconnect, and billing resumes from the real answer time.
Every charge and top-up is recorded as a ledger entry in PostgreSQL.
The database and the switch's secrets are backed up every night, and logs are rotated.
Security
A phone switch on the public internet is scanned constantly. KatoCall ships with its defences already switched on.
Install
A fresh Debian 12 server is all you bring. The installer builds Asterisk, sets up PostgreSQL, the panel, the firewall and fail2ban, and verifies the lot.
Run this on a fresh Debian 12 server, as root:
curl -fsSL https://katocall.com/get.sh | sudo bash
It fetches everything, verifies the checksum, and runs the full install.
Then open your server in a browser and sign in — you'll set a new password right away:
# one fresh Debian 12 box, one command $ curl -fsSL https://katocall.com/get.sh | sudo bash ==> 00-preflight.sh ok ==> 01-install-asterisk ok ==> … ok ==> verify.sh 50 checks passed KatoCall is installed. → http://your-server/
You'll need
Documentation
A complete guide to installing the switch and setting up trunks, customers, DIDs and the dialer — plus a “?” beside every field in the panel itself.
FAQ
A fresh Debian 12 (64-bit) server with 2 CPU cores, 4 GB RAM and 20 GB of disk, a public IPv4, root access and a SIP trunk from your carrier. A domain name is only needed for HTTPS.
Run the update command on your server. It verifies the download before installing, and your switch checks for new versions every day and tells you when one is available.
curl -fsSL https://katocall.com/update.sh | sudo bashAny carrier that gives you a SIP trunk — authenticated by IP or by registration, over UDP, TCP or TLS.
No. The predictive dialer and IVR are optional and only installed if you ask for them.
Yes. Each customer gets a portal with their own call records, DIDs, rates and transactions — never anyone else's.
The panel and the handbooks are available in ten languages: English, Spanish, Portuguese, French, German, Russian, Chinese, Japanese, Arabic and Hindi.
One fresh Debian 12 server and one command. Everything else happens in the panel.
curl -fsSL https://katocall.com/get.sh | sudo bash
Contact
Questions, setup help, or a bug — send a message and we'll get back to you.