Upgrading

Upgrading a XiVO PBX is done by executing commands through a terminal on the server. You can connect to the server either through SSH or with a physical console.

Overview

To upgrade your XiVO PBX, you have to use both xivo-dist and xivo-upgrade tools. These tools handle the process of upgrading:

  • the system (Debian packages)
  • and the XiVO PBX packages

Warning

The following applies to XiVO PBX >= 2016.03. For older version, see Version-specific upgrade procedures section.

There are three cases:

  1. Upgrade to the latest XiVO PBX version,
  2. Upgrade to a specific XiVO PBX version (or archive version),
  3. Upgrade to the latest subversion of your current installed version.

Upgrade to latest version

To upgrade to the latest version, you have to update the sources list to point to xivo-five. You have to do it with the command xivo-dist supplied in XiVO PBX:

xivo-dist xivo-five

Upgrade to specific version

To upgrade to a specific version, you have to update the sources to point to this specific version. You have to do it with the xivo-dist command. For example, if you want to upgrade to 2016.04:

xivo-dist xivo-2016.04-latest

Upgrade to latest subversion

When you are already in a specific version (e.g. 2016.04), you may want to upgrade to the latest subversion of this release (e.g. 2016.04.03) to benefit of the latest fixes shipped in this version. You have to do it with the xivo-dist command. For example, if you want to upgrade to the latest subversion of 2016.04 version:

xivo-dist xivo-2016.04-latest

Preparing the upgrade

To prepare the upgrade you should:

  1. Read XiVO Solutions Release Notes starting from your version to the version you target.
  2. Check if you are in a specific setup that requires a specific procedure to be followed (e.g. Upgrading a cluster).
  3. Finally, you can download the packages beforehand by running xivo-upgrade -d. This is not mandatory, but it does not require stopping any service, so it may be useful to reduce the downtime of the server while upgrading.

Upgrade

  1. For custom setups, follow the required procedures described below (e.g. Upgrading a cluster).

  2. When ready, launch the upgrade process. All XiVO PBX services will be stopped during the process:

    xivo-upgrade
    
  3. When finished, check that all services are running (the list is displayed at the end of the upgrade).

  4. Check that services are correctly working like SIP registration, ISDN link status, internal/incoming/outgoing calls, XiVO Client connections etc.

xivo-upgrade script

Note

  • You can’t use xivo-upgrade if you have not run the wizard yet
  • Upgrading from a version prior to XiVO PBX 1.2 is not supported.
  • When upgrading XiVO, you must also upgrade all associated XiVO Clients. There is currently no retro-compatibility on older XiVO PBX Client versions.

This script will update XiVO PBX and restart all services.

There are 2 options you can pass to xivo-upgrade:

  • -d to only download packages without installing them. This will still upgrade the package containing xivo-upgrade and xivo-service.
  • -f to force upgrade, without asking for user confirmation

xivo-upgrade uses the following environment variables:

Troubleshooting

Postgresql

When upgrading XiVO, if you encounter problems related to the system locale, see PostgreSQL localization errors.

xivo-upgrade

If xivo-upgrade fails or aborts in mid-process, the system might end up in a faulty condition. If in doubt, run the following command to check the current state of xivo’s firewall rules:

iptables -nvL

If, among others, it displays something like the following line (notice the DROP and 5060):

0     0 DROP       udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:5060

Then your XiVO will not be able to register any SIP phones. In this case, you must delete the DROP rules with the following command:

iptables -D INPUT -p udp --dport 5060 -j DROP

Repeat this command until no more unwanted rules are left.

Upgrade Notes

See XiVO Solutions Release Notes for version specific informations.

Archives

See Archived Upgrade Notes for old release notes information.