sidetone

A phone system you can hold in one hand.

Desk phones, browsers, trunks, voicemail, queues and call records, from a single binary with no database to install and no restarts. Ever.

$ docker run -d --network host -v sidetone-data:/data ghcr.io/enetideas/sidetone
$ docker logs sidetone

Admin API token (shown once, store it now):

    sidetone_…

time=09:22:14 level=INFO msg="sip listening" network=udp addr=[::]:5060
time=09:22:14 level=INFO msg="api listening" addr=127.0.0.1:8080

That is the whole install. The first start creates the database and prints an administrator's token once; the console is at http://127.0.0.1:8080/ on the same listener. Prefer a plain binary? There are three ways to run it.

The console

Everything it does, curl can do.

The web console is part of the binary. It is only a client of the REST API, with no build step and nothing loaded from anywhere else, so there is nothing it can do that a script cannot.

The sidetone console: a dashboard of calls in progress, phones online, queues, voicemail and trunks, with a sidebar of every section The same dashboard in the console's dark theme
The dashboard of a running server. A new server starts in test mode, and says so above every page, until an operator says the telephones are in service.