Upgrade Helios to Izar
Warning
For Izar Debian was upgraded to Debian 11 (Bullseye).
Therefore:
the upgrade to Izar will take longer than usual
upgrade from older version than XiVO Freya (2020.18) are not supported (you need first to upgrade to a version above or equal to Freya before being able to upgrade to Izar).
Please read carefully Debian 11 (Bullseye) upgrade notes page.
Note also that upgrade to Debian 11 on MDS and XiVO CC is manual (see manual procedure below).
Warning
For Izar asterisk SIP channel driver was switched from chan_sip
to pjsip
.
Please read carefully the Asterisk chan_sip to pjsip Migration Guide.
Before Upgrade
On XiVO PBX
Python3 migration: Phone Device Plugins
Important
In short, you must check that the plugins installed on the XiVO are present in the new python3 compatible repo:
http://provd.xivo.solutions/plugins/2/stable
If not you will need some additional checks before upgrading.
All xivo python services were switched to python3, including xivo-provd
our provisioning server.
It makes all python2 provisioning plugins incompatible.
During upgrade:
the provd plugin repository will be automatically switched from the python2 compatible repo to the python3 compatible repo
switched
more precisely
from
<whatever>/1/<whatever>
to
<whatever>/2/<whatever>
and then it will try to upgrade the currenlty installed plugins on your XiVO to the plugins present on the python3 compatible provd repo
But you have to know that:
In the http://provd.xivo.solutions/plugins/2/stable repository only Yealink (v85) and Snom (v10) plugins were kept (i.e. the officialy supported phone brands)
The rest of the plugins were put in the http://provd.xivo.solutions/plugins/2/addons/ repository:
those in
addons/stable
are migrated to python3 and were testedthose in
addons/testing
were automatically migrated to python3 but not tested
Therefore, if the plugin installed by your XiVO:
is present in
plugins/2/stable
: then everything is automaticis present in
plugins/2/addons/stable
: then you will need an additional manual step after the migration to configure this repo and update you’re installed plugin from this repois present in
plugins/2/addons/testing
: you should test this plugin on a lab on Izar version before doing the upgrade. If you find some problems, please fix them and open a Merge request on the xivo-provd-plugins-addons repository
Python3 migration: Scripts and AGI
Important
In short, you must check that your custom AGI are compatible with python3.
All xivo python services were switched to python3, including xivo-agid
our AGI server.
It makes all python2 custom AGI incompatible.
You must update your custom AGI from python2 to python3 before upgradeing your XiVO.
It is also true of all python scritps that would import one of xivo-*
python libs (like xivo-confd-client
or xivo-lib-python
).
On XiVO CC
N.A.
On MDS
N.A.
After Upgrade
On XIVO PBX
Manual steps to follow after xivo-ctid containerization
Backend certificate re-generation: if you had followed the Install Trusted Certificate for Backend services procedure, then you MUST regenerate the self-signed certificate used for the backend services:
Check if the backend certificate is self-signed
(openssl x509 -in /usr/share/xivo-certs/server.crt -noout -issuer | grep -wq Avencall) && echo "Certificate is self-signed" || echo "Certificate is not self-signed. You MUST re-generate the backend certificate"
If it is not self-signed, follow the Default Backend Certificate section to regerate a self-signed certificate. Otherwise, if it is self-signed, you can skip the rest of this procedure.
Then remove the certificate configuration for xivo services:
rm -rf /etc/xivo/custom for config_dir in /etc/xivo-*/conf.d/ ; do rm "$config_dir/010-custom-certificate.yml" done
Clean custom-templates:
Remove the FQDN from the 127.0.0.1 line in:
the sysconfd custom template:
/etc/xivo/sysconfd/custom-templates/resolvconf/hosts
the xivo custom template:
/etc/xivo/custom-templates/system/etc/hosts
And update the configuration:
xivo-update-config
Also, you must replace the FQDN, in the definition of your directories in the web interface under
, bylocalhost
.Then, when done, you must re-save, the CTI Directories definition:
Go to
Edit each directory to re-select the new URI
And save it
And restart all the services:
xivo-service restart all
Removing xivo-ctid debian package leftovers: some lefovers of the xivo-ctid debian package should be cleaned manually. You may want to backup these files before cleaning them.
# Clean config dir which is not used anymore
rm -rf /etc/xivo-ctid
# Clean old logs
rm -rf /var/log/xivo-ctid.log*
Recording on Gateway
If you’re using the Recording on Gateway feature, you MUST update the recording dialplan with the one provided in the Izar documentation:
Update recording dialplan on Gateway according to Gateway recording on GW dialplan
Update recording dialplan on XiVO PBX according to XiVO PBX recording on GW dialplan
On XiVO CC
Upgrade system to Debian 11 (Bullseye) with the following manual procedure:
On MDS
On Edge
Upgrade system to Debian 11 (Bullseye):
Rewrite the apt preferences for docker-ce
#set docker-ce preferences cat > /etc/apt/preferences.d/docker-ce << EOF Package: docker-ce* Pin: version 5:20.10.13* Pin-Priority: 1000 EOF
and then follow the Debian 11 upgrade manual procedure:
On Meeting Rooms
Upgrade system to Debian 11 (Bullseye):
Rewrite the apt preferences for docker-ce
#set docker-ce preferences cat > /etc/apt/preferences.d/docker-ce << EOF Package: docker-ce* Pin: version 5:20.10.13* Pin-Priority: 1000 EOF
and then follow the Debian 11 upgrade manual procedure:
Upgrade to Debian11
These steps are to be done after an upgrade from Helios to Izar on XiVO CC, Edge and Meeting Rooms:
Check GRUB before upgrading
install_device=$(debconf-show grub-pc | grep 'grub-pc/install_devices:' | cut -b3- | cut -f2 -d' ' | cut -d',' -f1) if [ "$install_device" -a ! -e "$install_device" ]; then echo -e "\e[1;31mYou must install GRUB BEFORE upgrading\e[0m" fi
If it’s broken you can fix it this way before rechecking
apt update apt install grub-pc dpkg-reconfigure grub-pc
Upgrade to Debian11
# Move to bullseye sed -i 's/stretch/bullseye/' /etc/apt/sources.list /etc/apt/sources.list.d/*.list sed -i 's/buster/bullseye/' /etc/apt/sources.list /etc/apt/sources.list.d/*.list sed -i 's/bullseye\/updates/bullseye-security/' /etc/apt/sources.list apt update export DEBIAN_FRONTEND=noninteractive export APT_LISTCHANGES_FRONTEND=none force_yes="--allow-downgrades --allow-remove-essential --allow-change-held-packages" echo "Download packages..." apt full-upgrade -d --yes echo "Executing full upgrade actions..." apt full-upgrade --yes ${force_yes} -o Dpkg::Options::="--force-confnew" apt autoremove --yes
Reboot