Onyx VoiceDocumentation
All chapters

Docs / Running the server

Updates

An Onyx Voice server gets two kinds of updates through the same channel: Ubuntu's own updates, security fixes above all, and new versions of Onyx Voice. This chapter covers installing them from the console, from the console menu and from the command line, what happens to calls while they install, servers without internet, and clusters.

Where updates come from

The server uses Ubuntu's normal package sources for Ubuntu's updates, and the signed Onyx Voice repository at https://onyxvoice.net/apt for the two Onyx Voice packages:

  • onyx-voice: the control plane, the web console and portal, phone provisioning, the onyx command and the server tools.
  • onyx-voice-engine: the phone engine.

The server trusts the Onyx Voice archive key for this repository only. The repository is configured in /etc/apt/sources.list.d/onyx-voice.sources.

The console does not install updates by itself on a schedule: you check and install them when it suits you.

Updating from the console

  1. Open Server › System & updates. The Updates card says when updates were last checked and how many are known, with how many are security updates.
  2. Select Check now. The server refreshes its package lists; the output shows as it runs. When it is done, the card lists every package that can be updated, with its version change (Version) and a security label for Ubuntu security fixes.
  3. If an update needs a restart of the server to finish (a new Linux kernel, for example), you can tick Restart automatically if needed. Leave it unticked to restart later yourself.
  4. Select Install all.

The updates install as a job: the output shows on the page, and the job keeps running if you leave the page or if Onyx Voice restarts during it. Configuration files you have changed are kept. When it is done, the job's message says how many updates were installed and whether a restart is needed.

If a restart is needed and you did not tick the box, the System page shows Installed updates need a restart to finish, with the packages that asked for it. Restart in the Restart or shut down card when it suits you (see Server tools). With the box ticked, the server restarts one minute after the updates are installed.

If some package source could not be reached, for example because the server cannot reach onyxvoice.net, the card shows a warning such as Some package sources could not be refreshed, and the updates from the other sources still install. One unreachable source never holds back Ubuntu's security fixes.

The console menu on the server's screen has the same under System: updates, time, services, restart › Updates: Check now, Install all updates and Show available updates.

What happens to calls

What is updatedWhat happens
Ubuntu packagesNothing the phones notice, in most cases. A kernel update needs a restart of the server to take effect.
onyx-voiceOnyx Voice restarts. The web console, portal and phone provisioning are unavailable for a few seconds. Calls in progress continue.
onyx-voice-engineThe engine restarts. Calls in progress drop. Phones and trunks register again within a minute.
Server restartPhones cannot call until the server is back. Calls in progress drop.

Look for onyx-voice-engine in the update list; the job's output also says when the phone engine is among the updates, and the console menu's list marks it (drops calls). Install engine updates and restarts outside business hours.

Updating from the command line

Over SSH, or from Open a shell in the console menu, the usual Ubuntu commands update both Ubuntu and Onyx Voice:

sudo apt update
sudo apt upgrade

The same notes apply: an engine update drops calls in progress. The Updates card in the console shows what you installed this way after its next check.

Turning the Onyx Voice source on or off

A server without internet access cannot reach onyxvoice.net. Turn the Onyx Voice source off there, so checks do not keep reporting it:

  1. Open Server › System & updates.
  2. The Updates card shows Onyx Voice updates on with the repository's address. Select Turn off.

The card then shows Onyx Voice updates off. Select Turn on to use it again, then Check now to see what is new.

On a server without internet, install new Onyx Voice versions from the packages instead: download onyx-voice-engine_<version>_amd64.deb and onyx-voice_<version>_amd64.deb from the download page at onyxvoice.net (they are also in the onyx folder of each installer ISO), copy them to the server and install them together:

sudo apt install ./onyx-voice-engine_*_amd64.deb ./onyx-voice_*_amd64.deb

Such a server gets no Ubuntu updates either, unless it can reach an Ubuntu package mirror on your network.

Servers installed from 0.1.0

Servers installed from version 0.1.0 have the Onyx Voice source switched off. Turn it on once with this command on the server, over SSH or from the console menu's shell:

sudo sed -i -e 's#^URIs:.*#URIs: https://onyxvoice.net/apt#' -e 's#^Enabled:.*#Enabled: yes#' /etc/apt/sources.list.d/onyx-voice.sources

From then on the server updates like any other: select Check now in the Updates card, or run sudo apt update.

Updating a cluster

In a cluster of two servers, update one server at a time so the phone system keeps running:

  1. Update the standby server.
  2. Switch over, so the updated server becomes the active one. Calls in progress drop at the switchover; phones keep their registrations.
  3. Update the other server, which is now the standby.

See High availability for the switchover and for checking that both servers are healthy before you start.

Checking the version

The System page shows the installed Onyx Voice version and the engine's version at the top. From a shell, dpkg-query -W onyx-voice onyx-voice-engine shows both. A backup can only be restored onto a server with the same version or newer, so update a replacement server before restoring onto it (see Backup and restore).