When upgrading Wazo, you must also upgrade all associated Wazo Clients. There is
currently no retro-compatibility on older Wazo Client versions. The only exception is Wazo
16.16, which is compatible with Wazo Client 16.13.

This script will update Wazo and restart all services.

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

-d to only download packages without installing them. This will still upgrade the package containing wazo-upgrade.

When upgrading from XiVO 13.24 or earlier, you must do the following, before the normal upgrade:

Ensure that the file /etc/apt/sources.list is not configured on archive.debian.org.
Instead, it must be configured with a non-archive mirror, but still on the squeeze
distribution, even if it is not present on this mirror. For example:

The enabled_plugins section of the wazo-auth service has been renamed enabled_backend_plugins and is now a dictionary.

If you have hand made configuration to modify the list of enabled backends it should be modified see /etc/wazo-auth/config.yml

The ldap_user backend in wazo-auth is now disabled in the base configuration file.

If you are using the ldap_user authentication backend a file with the following content should be added to /etc/wazo-auth/conf.d

enabled_backend_plugins:ldap_user:true

The enabled_plugins section of the xivo-dird service is now a dictionary.

If you have hand made configuration to modify the list of enabled plugins, it should be modified see /etc/xivo-dird/config.yml

wazo-admin-ui has been upgraded to python3. All plugins by Wazo Team has been migrated, but if
you have installed a non-official/custom plugin that add something to the new interface, it
probably broken. To fix this, you must convert your plugin to python3 or wait an available upgrade
from the maintainer.

If you have developed a xivo-auth authentication backend the name of the entry point has
changed to wazo_auth.backends. You should make this modification in your plugin’s setup.py
file in the entry_point section.

If your custom development use service discovery to find xivo-auth, you will have to search for
the wazo-auth service instead of xivo-auth.

We released a new version of the CTI client, rebranded as Wazo Client 17.14.1. It is compatible
with all previous versions of Wazo (i.e. not before 16.16). See also the compatibility table.

Codecs can now be customized in the /etc/asterisk/codecs.d/ directory. If you had custom configuration
in /etc/asterisk/codecs.conf you will have to create a new file in codecs.d to use your customized
configuration. A file named codecs.conf.dpkg-old will be left in /etc/asterisk if this operation is
required.

Provd plugins from the addons repository have been merged into the main plugin repository. If you
were using the addons repository you can safely switch back to the stable repository. See
Alternative plugins repository for more details.

The command xivo-call-logs has been deprecated in favor of wazo-call-logs.

The command xivo-service has been deprecated in favor of wazo-service.

The call logs has been improved by adding date_end and date_answer informations. If you want
to add these new informations to the old call logs, you need to regenerate them. For example, to
regenerate the last month of call logs:

xivo-call-logsdelete-d30xivo-call-logsgenerate-d30

This is only useful if you plan to use the call logs REST API to read calls that have been placed
before the upgrade.

If you have setup a custom X.509 certificate for HTTPS (e.g. from Let’s Encrypt), you have to
update your config in /etc/xivo/custom/custom-certificate.yml, according to the updated
documentation, namely for the config regarding plugind.

python-flask-cors has been updated from 1.10.3 to 3.0.2. Configuration files with custom allow_headers will
have to be updated to the new syntax. The following command can be used to see if you have a configuration file
which needs to be updated.

A few more services are now available by default on port TCP/443 (the complete list is documented
in the Nginx section). This does not pose any additional security risk by default, but if
you have extra strict requirements about security, they can be manually disabled.

Asterisk has been upgraded from version 13.11.2 to 14.2.1, which is a major Asterisk upgrade.

If you are using custom sheets that are stored locally, they must now
be readable by the system user xivo-ctid. Make sure that this user has read access to the UI
file of your custom sheets.

Switchboard statistics have been removed. The existing statistics data remain in the database for
later migration but no more statistics will be collected.

The conference destination type in incalls REST API has been renamed to meetme.

The phonebook has been migrated from the web interface to xivo-dird. The phonebook contacts
from the web interface have been moved to new dird-phonebooks. For users with many entities
on the same Wazo, this will create one phonebook for each entity. The configuration has been
updated to keep the previous behavior. No manual actions are required for installations with only one entity or
if one phonebook by entity is the desired configuration. If only one phonebook is desired for all entities, some
of the duplicate phonebooks can be deleted from the web interface and their matching configuration
can also be removed.

The list of phonebooks can be modified in Services ‣ IPBX ‣ IPBX services ‣ Phonebook

Previously, a user’s DND was effective only if this user had DND enabled
and the DND extension (*25 by default) was also enabled. Said differently, disabling the DND
extension meant that no user could effectively be in DND. Starting from XiVO 16.13, a user’s DND
is effective regardless of the state of the DND extension. The following features are impacted in
the same way: call recording, incoming call filtering, forward on non-answer, forward on busy and
unconditional forward.

If you have manually added nginx configuration files to the /etc/nginx/locations/http
directory, you’ll need to move these files to /etc/nginx/locations/http-available and then
create symlinks to them in the /etc/nginx/locations/http-enabled directory. This also
applies to the https directory. See Nginx.

A regression has been introduced in the switchboard statistics. See issue 6443.

Fax reception: the “log” backend type has been removed. You should remove references to it in your
/etc/xivo/asterisk/xivo_fax.conf if you were using it. Now, every time a fax is processed,
a log line is added to /var/log/xivo-agid.log.

The config file /etc/xivo/xivo-confgend.conf has been replaced with
/etc/xivo-confgend/config.yml and /etc/xivo-confgend/conf.d. Custom modifications to this
file are not migrated automatically, so manual intervention is required to migrate custom values
to the conf.d directory. The file /etc/xivo/xivo-confgend/asterisk/contexts.conf has been
moved to /etc/xivo-confgend/templates/contexts.conf, but custom modification are left
untouched. See also Configuration Files for more details about configuration files in XiVO.

The Wazo Client now uses xivo-ctid-ng to do transfers. Those new transfers cannot be cancelled
with the *0 DTMF sequence and there is no interface in the Wazo Client to cancel a transfer
for profiles other than the switchboard (bug #6321). This will be addressed in a later version.

Transfers started from the Wazo Client do not respect the Dialtimeoutontransfer option
anymore (bug #6322). This feature will be reintroduced in a later version.

If you have many phones that are connected to your XiVO through a NAT equipment, you should review
the default configuration to make sure that the IP address of your NAT equipment don’t get banned
unintentionally by your XiVO.

Newly created groups and queues now ignore call forward requests from members by default.
Previously, call forward requests from members were always followed. This only applies to call
forward configured directly on the member’s phone: call forward configured via *21 have always
been ignored in these cases.

Note that during the upgrade, the previous behaviour is kept for already existing queues and groups.

This behaviour is now configurable per queue/group, via the “Ignore call forward requests from
members” option under the “Application” tab. We recommend enabling this option.

If you were affected by the bug #6213, i.e. if your agent
login time statistics were incorrect since your upgrade to XiVO 15.20 or later, and you want to
fix your statistics for that period of time, you’ll need to manually apply a fix.

The view, add, edit, delete and deleteall actions of the “lines” web service
provided by the web interface have been removed. As a reminder, note that the web services
provided by the web interface are deprecated.

The experimental xivo_ldap_voicemail plugin of xivo-auth has been removed. Use the new
xivo_ldap plugin.

Bus messages in the xivo exchange are now sent with the content-type application/json.
Some libraries already do the message conversion based the content-type. Kombu users will
receive a python dictionnary instead of a string containing json when a message is received.

xivo-ctid encryption is automatically switched on for every XiVO server
and Wazo Client >= 16.02. If you really don’t want encryption, you must disable it manually on
the server after the upgrade. In that case, Wazo Clients will ask whether to accept the connection
the first time.

The page Configuration ‣ Management ‣ Web Services Access ‣ Acces rights
has been removed. Consequently, every Web Services Access has now all access rights on the web
services provided by the web interface. These web services are deprecated and will be removed
soon.

During the upgrade, if no CA certificates were trusted at the system level, all the CA
certificates from the ca-certificates package will be added. This is done to resolve an issue with
installations from the ISO and PXE. In the (rare) case you manually configured the ca-certificates
package to trust no CA certificates at all, you’ll need to manually reconfigure it via
dpkg-reconfigureca-certificates after the upgrade.