-
Выполните резервное копирование базы данных до начала обновления!
-
Обновление до последней версии Debian 12 Linux требует перезагрузку серверов.
-
Обновление OpenSIPS до версии 3.4 LTS требует ручное обновление конфигурационного файла.
Алгоритм обновления
-
Полная остановка всех сервисов webitel
-
Обновление Debian Linux до версии 12
-
Обновление приложений Webitel до v23.12
-
Переход на OpenSIPS 3.4 LTS
-
Миграция базы данных с версии Webitel v23.09 на v23.12
-
Перезапуск всех сервисов после обновления до Webitel v23.12
Полная остановка всех сервисов webitel:
systemctl stop webitel-api webitel-app webitel-uac messages-bot messages-srv \
engine call_center storage flow_manager rabbitmq-server consul \
freeswitch ngcp-rtpengine-daemon opensips grafana-server nginx
Обновление Debian Linux и обновление приложений Webitel до v23.12.
sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
sed -i 's/23.09-releases/23.12-releases/g;s/bullseye/bookworm/g' /etc/apt/sources.list.d/*
echo "deb https://deb.sipwise.com/spce/mr11.5.1 bookworm main" > /etc/apt/sources.list.d/rtpengine.list
apt update
apt upgrade --without-new-pkgs
apt full-upgrade
sudo -u postgres psql webitel -qxc "ALTER DATABASE webitel REFRESH COLLATION VERSION;"
sudo -u postgres psql webitel -qxc "ALTER EXTENSION timescaledb UPDATE;"
shutdown -r now
systemctl stop webitel-api webitel-app webitel-uac messages-bot messages-srv \
engine call_center storage flow_manager rabbitmq-server consul \
freeswitch ngcp-rtpengine-daemon opensips grafana-server nginx
apt install --reinstall linux-headers-`uname -r` \
ngcp-rtpengine-daemon ngcp-rtpengine-iptables ngcp-rtpengine-kernel-dkms
Переход на OpenSIPS 3.4 LTS
curl https://apt.opensips.org/opensips-org.gpg -o /usr/share/keyrings/opensips-org.gpg
echo "deb [signed-by=/usr/share/keyrings/opensips-org.gpg] https://apt.opensips.org bookworm 3.4-releases" >/etc/apt/sources.list.d/opensips.list
echo "deb [signed-by=/usr/share/keyrings/opensips-org.gpg] https://apt.opensips.org bookworm cli-nightly" >/etc/apt/sources.list.d/opensips-cli.list
apt update && apt upgrade
apt install opensips-auth-modules opensips-tls-wolfssl-module
После обновления вам необходимо внести правки в конфигарационный файл:
curl https://git.webitel.com/projects/WEP/repos/opensips/raw/opensips.cfg \
-o /etc/opensips/opensips-34.cfg
vimdiff /etc/opensips/opensips.cfg /etc/opensips/opensips-34.cfg
Если вы используете SIP TLS, то рекомендуем заменить модуль "tls_openssl.so" на "tls_wolfssl.so". Другие изменения:
-
https://www.opensips.org/Documentation/Migration-3-2-0-to-3-3-0
-
https://www.opensips.org/Documentation/Migration-3-3-0-to-3-4-0
Миграция базы данных с версии Webitel v23.09 на v23.12
su postgres
cd ~
psql webitel -qxc "ALTER DATABASE webitel SET timescaledb.restoring='on';"
psql -1 -f /usr/share/postgresql/15/webitel/migration/23.09-23.12.sql webitel
psql webitel -qxc "ALTER DATABASE webitel SET timescaledb.restoring='off';"
exit
Очищаем старые пакеты:
apt --purge autoremove
Перезапуск всех сервисов после обновления до Webitel v23.12
systemctl restart consul
systemctl restart postgresql
systemctl restart rabbitmq-server
systemctl restart webitel-app webitel-uac webitel-api engine \
messages-srv flow_manager messages-bot call_center storage webitel-logger \
freeswitch ngcp-rtpengine-daemon opensips grafana-server nginx
with q as (
select h.id, string_agg(distinct nums.from_number, '|') filter ( where nums.from_number != '' and nums.from_number notnull ) numbers
from call_center.cc_calls_history h
left join call_center.cc_calls_history h2 on h2.parent_id = h.id
left join lateral (
select h.from_number
union distinct
select h.to_number
union distinct
select h.destination
union distinct
select h2.from_number
union distinct
select h2.to_number
union distinct
select h2.destination
) nums on true
where h.created_at between now()::date - interval '30d' and now()
group by 1
)
update call_center.cc_calls_history h
set search_number = q.numbers
from q
where q.id = h.id;