Onyx VoiceBusiness phone system
Version 0.1.0 · Preview

Your phone system. Your server.

Onyx Voice is a complete business phone system: extensions and auto attendants, call centre queues, desk phones that set themselves up, softphones for Windows and Android, and a live operations console that shows every call as it happens. Run it on your own hardware, or let us host it for you.

  • SIP & WebRTC
  • Many companies on one server
  • Encrypted calls
  • Installer ISO & VM images
The Onyx Voice operations console with made-up data: headline numbers for active calls, call cap, jitter, packet loss, phones and trunks; the calls in progress with extension, caller, address, codec and audio quality; server CPU and memory graphs; and a registration log.
Sets up desk phones from YealinkPolyGrandstreamCisco MPPFanvilSnomHtekCyberData
01Calls

Everything a business phone system does

The features people expect from a PBX, set up in plain language: say where a call should go, and Onyx builds the call plan for you.

Extensions & voicemail

A number and a phone for every person, voicemail with a PIN and greetings, and new messages sent by e-mail.

Auto attendants

"Press 1 for sales, 2 for support": menus with your own recordings and hold music, uploaded in any common audio format.

Business hours & holidays

Route calls one way during opening hours and another after hours, with holidays and an override from any phone.

Ring groups & paging

One number that rings a team, overhead paging groups and intercom.

Calls go where they should

Phone numbers, outbound routes with failover between carriers, caller ID rules and emergency numbers, set up from forms that explain themselves.

  • SIP trunks by registration or IP, with ready-made settings for common US SIP carriers: number format, caller ID and tech prefix.
  • Transfer, park and pickup, blind or attended, with parking lots per company.
  • Do not disturb and call forwarding, set with feature codes from the phone or in the user portal.
  • Conference rooms with PINs, a moderator, and live control: mute, remove, lock.
  • Hot desking: anyone signs in to a shared desk phone with their extension and voicemail PIN, and it rings for them.
  • Call recording per extension or queue, with retention per company and legal hold.
  • Contacts: an outside directory in every phone's phonebook, incoming callers named from it, synced from Active Directory, LDAP or Microsoft 365.
02Operations console

See every call as it happens

A console built for the people who keep the phones running: live numbers at the top, the calls in progress with their audio quality, the server's own health, and every company on the server at a glance.

Calls in progress with made-up data: each call's extension, caller ID, IP address, codec with a lock for encrypted calls, jitter and packet loss, and a running duration.
  • Live calls with the codec, the phone's address, jitter and packet loss, measured from the call's own audio reports.
  • Headline numbers: active calls against the call cap, average and worst jitter and loss, phones online, trunks up.
  • Server resources: CPU and memory of the server and of the call engine, the last 30 minutes.
  • Registration log: phones and trunks signing on and dropping off, and failed sign-ins.
  • Reports: calls per day and hour, busiest extensions and numbers, trunk usage, CSV exports.
  • Billing: rate plans by prefix and a monthly bill per company.
One health card per company, made up: a status light (online, degraded, down, switched off), calls now, phones and trunks, and bars for calls and media traffic over the last 24 hours.

Many companies, one server

Each company has its own numbers, phones, administrators and users. A system administrator sees them all.

Five looks

Slate Ops for the operations desk, plus Cut Obsidian, Swiss Precision, Tactical SOC and a light Daylight theme.

User portal

Voicemail, recordings, call history and call forwarding for every person, and a softphone in the browser.

03Call centre

Queues, a wallboard and supervisors

Built in, not an add-on: answer more calls, keep callers informed, and coach agents while they talk.

Queues

Ring strategies, agent priorities, wrap-up time, position and hold-time announcements, and overflow when a queue is full.

Wallboard

Callers waiting, the longest wait and every agent's state, refreshed every three seconds.

Listen, whisper, barge

Supervisors listen in, coach the agent without the caller hearing, or join the call.

Callback

Callers press 1 to hang up and keep their place; the next free agent is connected first, then the caller is called back.

Queue & agent reports

Answered, abandoned and waiting times per queue and per agent, with CSV export.

Switchboard

Receptionists see who is free, drag a call onto a person to transfer it, and pick up parked calls.

04Phones & apps

Plug in a phone. It sets itself up.

Desk phones at factory settings find the server on their own network, fetch their settings and register: extension, line keys, busy lamps, phonebook and time zone.

  • Plug and play: phones that ask the network for a server get an answer from Onyx; DHCP option 66 works too.
  • About 140 models from Yealink, Poly, Grandstream, Cisco MPP, Fanvil, Snom, Htek and CyberData, with a firmware library.
  • DECT: one extension per handset on Yealink, Snom and Gigaset bases.
  • Re-provision from the console: resync or restart a phone after a change.

Tested so far on Grandstream GXP2135 and GXP1625 desk phones. The other templates follow each maker's documentation and are being checked on real hardware.

In the browser

The user portal has a softphone: call, answer and transfer from any modern browser, with encrypted audio.

Windows

Onyx Softphone for Windows: a tray app with a dial pad, caller ID, missed calls and updates that install themselves.

Android

Onyx Softphone for Android, ringing like a normal call on the phone's own call screen.

iPhone

In development.

05Security

Built for a phone system on the internet

A phone system on the internet is a target. Onyx blocks the attackers and limits what a stolen password could cost.

Intrusion prevention

Addresses that keep guessing SIP or console passwords are blocked at the firewall, automatically.

Toll-fraud limits

International calling off by default, premium numbers blocked, and caps on calls at once, calls per hour and daily spend.

Encrypted calls

SIP over TLS and SRTP audio for phones and trunks that support it, with a free Let's Encrypt certificate.

Two-factor sign-in

Authenticator-app codes for administrators and users, recovery codes, and a switch that makes them required.

06Appliance

A whole phone server, not a list of prerequisites

Onyx Voice is its own small operating system, built on Ubuntu Server 24.04 LTS with PostgreSQL and the call engine included. Start it, answer a few questions on the console, and sign in to the console in your browser.

Install

Running in minutes

  1. Start the imageThe installer ISO for a physical server, a Hyper-V disk with a script that creates the VM, or an OVA for VMware.
  2. Answer the setupHost name, network, NAT, the firewall, an administrator and your first company.
  3. Plug in phonesPhones on the same network find the server by themselves.
Run

The server's own tools

  1. NetworkAddresses, DNS and the firewall. A change undoes itself unless you confirm it still works.
  2. StorageGrow the disk or add one for voicemail and recordings, from the browser.
  3. BackupsTo a Windows share, an NFS export or another disk, restored from the same page.
  4. DiagnosticsLogs, connectivity tests and a support bundle with passwords removed.
.NET 10Asterisk 22 LTSPostgreSQL 16Ubuntu Server 24.04 LTSWebRTCArgon2idLet's Encrypt
07Yours or ours

Run it yourself, or have us run it

The same phone system either way. Choose where it lives.

On your servers

Self-hosted

Install the appliance on your own hardware or virtualization. Calls between your phones stay on your network, and you decide when to update.

Download
On ours

Hosted by Larström

We run the server, its updates and its backups. You manage your people, numbers and phones in the same console, and your phones register with us.

Talk to us
08Download

Get Onyx Voice

Version 0.1.0, a preview release.

Downloads ask for a user name and password. Ask us for access.

Physical or any VM

Installer ISO

Start a server or a virtual machine from it. It asks for the network and the disk, and needs no internet connection to install.

Download the ISO · coming soon
  • Being built
Hyper-V

VHDX disk

A ready-made disk for a Generation 2 VM with Secure Boot. New-OnyxVM.ps1 creates and starts the VM.

Download the VHDX · coming soonThe script · coming soon
  • Being built
VMware

OVA appliance

Deploy it in vSphere, or open it in Workstation or Fusion, choose the network and start it.

Download the OVA · coming soon
  • Being built
Ubuntu Server 24.04

Packages

For an existing Ubuntu Server 24.04 machine: install the engine package first, then Onyx Voice.

Engine .deb · coming soonOnyx Voice .deb · coming soon
  • Being built

2 CPU cores, 4 GB of memory and 40 GB of disk for a small office; more disk for call recordings. 64-bit x86.

Softphones

For the people on the phone system. They sign in with their extension's details from the user portal.

Windows 10 (1809) and 11, 64-bit

Onyx Softphone for Windows 0.1.5

A tray app with a dial pad, caller ID and missed calls. It updates itself from our signed feed.

  • File OnyxSoftphone-0.1.5-windows-x64-setup.exe · 50.1 MB
  • File OnyxSoftphone-0.1.5-windows-x64.msi · 56.7 MB
Android 10 and later

Onyx Softphone for Android 0.1.1

Rings on the phone's own call screen. Install the APK; allow installs from your browser when Android asks.

  • File OnyxSoftphone-0.1.1-android.apk · 4.9 MB
iPhone

Onyx Softphone for iPhone Soon

In development.

Previous versions

Older releases stay available, for a test lab or to match a server you already run.

This is the first release; earlier versions will be listed here.

Source code

The call engine inside Onyx Voice is open-source software under the GNU General Public License, version 2. Its complete source, and how we build it, is here for anyone, without a password.

Call engine Asterisk 22.11.0, unmodified, with pjproject 2.17, as in every image and package on this page.

Written offer: for at least three years after we last distribute a release, Larström Technologies gives anyone who asks the complete corresponding source of the GPL software in it, including the Ubuntu packages in the images, for no more than our cost of providing it. Contact us, or write to Larström Technologies, 2210 4th Ave S, Minneapolis, MN 55404.

09Questions

Frequently asked

What is Onyx Voice built on?

On the open-source Asterisk 22 LTS call engine, which handles the calls themselves. Onyx installs it, writes all of its configuration and watches it; you never edit its files. Everything you work with, the console, the portal, the phone templates and the apps, is Onyx's own.

Where is the source code of the open-source parts?

The call engine is unmodified Asterisk with the pjproject library it bundles, both under the GNU GPL version 2. Their source and our build recipe are under Source code above, free to download. The images also contain Ubuntu Server packages, whose source is in Ubuntu's archive; we send any of it on request. The rest of Onyx Voice is our own software.

Which phones work with it?

Any standard SIP phone can register. Onyx sets up phones from Yealink, Poly, Grandstream, Cisco (MPP), Fanvil, Snom, Htek and CyberData by themselves. So far Grandstream GXP2135 and GXP1625 desk phones are tested; the other templates follow each maker's documentation and are being checked on real hardware.

Which phone carriers does it work with?

Any SIP trunk provider, with registration or by IP address. For common US providers the number format, caller ID and tech prefix are filled in for you.

Can it host several companies?

Yes. Each company on the server has its own extensions, numbers, phones, administrators and limits, and sees only its own calls. That is how we host it, and it works the same on your own server.

What do I need to run it?

A physical server or a virtual machine on Hyper-V, VMware or another hypervisor: 2 CPU cores, 4 GB of memory and 40 GB of disk for a small office, more disk if you record calls. A public address with the SIP and audio ports forwarded if phones or carriers connect from the internet.

How are updates delivered?

For now by installing the new packages from this page. A signed update repository, like the one our mail server uses, is being set up; servers will then update from the console.

Is it ready for production?

It is a preview. The features above work and are tested on our lab server with real calls, but it has not yet run a business's phones. Talk to us before relying on it.

What does hosting cost?

It depends on the number of extensions and numbers. Contact us and we will tell you.

Questions about your phones?

Tell us how many people, numbers and locations you have, and we will tell you how Onyx Voice fits.