SQLBill is a Radius billing platform for GnuGk. It was initially developed under GPL license by Michal Zygmuntowicz as a sample for a GnuGk workshop how a billing system could be implemented.

Over time it matured into a reliable system and is used in production in many installation, but it still lacks a pretty frontend.

Update: Starting with GnuGk 2.3.3, BMV, a web front-end for SQLBill will be included in contrib/bmv2/.

SQLBill is distributed with every copy of GnuGk, please take a look into the folder contrib/sqlbill/.


SQLBill is a system that can be used to provide AAA (Authentication, Authorization and Accounting) services to Voice over IP networks managed by the GNU Gatekeeper. It's also possible to use it with MERA and Cisco devices.

It consists of three major components:
GnuGk H.323 gatekeeper
FreeRADIUS RADIUS server (optional)
PostgreSQL database server

All these applications are open source and have been proven to be stable, mature products.

What you may expect from this system:
1. Endpoint authentication based on a h323id/password pair.
2. Automatic assignment of specified E.164/H.323 ID to endpoints.
4. Restricting aliases an endpoint is allowed to register with.
5. Restricting IP address an endpoint can register/call from.
6. Call authorization:

  • call duration limit based on available account balance
  • allow only fixed set of destination numbers (tariff table)
  • flat tariffs
7. Call accounting:
  • storing call info to the SQL database when the call is started, disconnected and in progress (incremental accounting updates)
  • automatic account balance update after call state is updated or the call is disconnected
  • support for both originating and terminating account

What you will not find here:
1. User interface (this package contains only SQL schema and configuration files for FreeRADIUS and GnuGk).
2. A detailed manual.


To make everything working you need to:
1. Install PostgreSQL and create a billing database schema.
2. Fill the database with some data.
3. Install FreeRADIUS server and configure it properly.
4. Install GnuGk and enable RadAuth and RadAcct modules.
3. Install GnuGk and enable SQLPasswordAuth, SQLAliasAuth and SQLAcct modules.


To update to a new version of SQLBill, you have to follow a special upgrade procedure for your PostgreSQL schema.

Last updated: 04. May 2017