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.
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
The following applies to XiVO PBX >= 2016.03. For older version, see Version-specific upgrade procedures section.
There are three cases:
- Upgrade to the latest XiVO PBX version,
- Upgrade to a specific XiVO PBX version (or archive version),
- 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:
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:
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:
Preparing the upgrade¶
To prepare the upgrade you should:
- Read XiVO Solutions Release Notes starting from your version to the version you target.
- Check if you are in a specific setup that requires a specific procedure to be followed (e.g. Upgrading a cluster).
- 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.
For custom setups, follow the required procedures described below (e.g. Upgrading a cluster).
When ready, launch the upgrade process. All XiVO PBX services will be stopped during the process:
When finished, check that all services are running (the list is displayed at the end of the upgrade).
Check that services are correctly working like SIP registration, ISDN link status, internal/incoming/outgoing calls, XiVO Client connections etc.
Version-specific upgrade procedures¶
If your XiVO PBX is below 2016.03 you have first to Switch to xivo.solutions mirrors.
- Switch to xivo.solutions
- Other Version Specific Procedures
- 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:
-dto only download packages without installing them. This will still upgrade the package containing xivo-upgrade and xivo-service.
-fto force upgrade, without asking for user confirmation
xivo-upgrade uses the following environment variables:
XIVO_CONFD_PORTto set the port used to query the HTTP API of xivo-confd (default is 9486)
When upgrading XiVO, if you encounter problems related to the system locale, see PostgreSQL localization errors.
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:
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.