Установка IVA CS

Сервер телефонии IVA CS может разворачиваться в следующих конфигурациях:

  • односерверная установка

    • файл дистрибутива (для установки при наличии Интернет-соединения):
      ivacs-A.B.C-YYYY-MM-DD-single.tar.gz

    • файл дистрибутива (для установки при отсутствии Интернет-соединения):
      ivacs-A.B.C-YYYY-MM-DD-single-full.tar.gz

  • многосерверная установка

    • файл дистрибутива (для установки при наличии Интернет-соединения):
      ivacs-A.B.C-YYYY-MM-DD-multi.tar.gz

    • файл дистрибутива (для установки при отсутствии Интернет-соединения):
      ivacs-A.B.C-YYYY-MM-DD-multi-full.tar.gz

При отсутствии Интернет-соединения оба типа развертывания доступны только для ОС Astra Linux 1.7

где

  • A.B.C — номер версии IVA CS (например, 1.6.0)

  • YYYY-MM-DD — дата сборки дистрибутива в формате год-месяц-день (например, 2025-04-02)

Установку программного обеспечения сервера телефонии IVA CS должен выполнять технический специалист (администратор), обладающий соответствующими знаниями и навыками.

Требования к техническому специалисту
  • общее понимание о работе IPMI, iLO, DRAC или аналогичных технологий для удаленного управления сервером

  • общие навыки создания и управления виртуальными машинами, настройки CPU, памяти, подключения к LAN

  • общие навыки загрузки с виртуального CD-ROM (ISO-образа)

  • общие навыки создания загрузочного диска / флеш-накопителя

  • базовые знания Linux:

    • удалённый доступ к консоли с помощью протокола SSH

    • понимание файловой структуры и навигации по ней

    • редактирование текстовых файлов с помощью текстовых редакторов (например vi или nano)

    • использование распространенных сетевых утилит ping, ifconfig, traceroute и т.д.

    • знание базовых утилит для System Troubleshooting — top, ps, netstat и т.д.

  • знание параметров сетевых настроек: IP-адрес, маска сети, шлюз

  • общее понимание принципов IP-маршрутизации

  • особенности протоколов TCP и UDP

  • общее представление о протоколах DNS, NTP, SMTP, HTTP

  • понимание принципов работы NAT, межсетевых экранов, прокси-серверов

  • общее представление о протоколе SSL, методах обеспечения защищённого обмена данными с использованием SSL-сертификатов

  • общее понимание протоколов работы телефонии и видеоконференцсвязи: SIP, H.323, WebRTC

  • принципы передачи медиа потоков (SDP, RTP)

Подготовка к установке

Установку программного обеспечения сервера телефонии IVA CS должен выполнять технический специалист, соответствующий требованиям к техническому специалисту
Если в ходе установки IVA CS возникли сложности, то необходимо обратиться к специалистам технической поддержки компании IVA Technologies через сервисный портал

Настройку ПО IVA CS выполняет пользователь с root-правами администратора операционной системы при помощи командной строки ОС сервера, а также с помощью web-интерфейса администратора IVA CS.

Программное обеспечение IVA CS поставляется в виде архива формата tar.gz, в который входят все необходимые модули и компоненты для установки.

Перед началом процесса установки соответствующий файл дистрибутива необходимо загрузить на каждый из серверов в папку /home/ivacs.

Установка и настройка IVA CS выполняется из командной строки (консоли) ОС сервера: используется консоль Linux с оболочкой bash.

Удалённый доступ в консоль по протоколу SSH по умолчанию запрещён.

При необходимости его можно разрешить следующим образом:

  • открыть в текстовом редакторе файл /etc/ssh/sshd_config выполнив команду nano /etc/ssh/sshd_config

  • изменить значение параметра PasswordAuthentication на значение yes

  • сохранить изменения и закрыть файл

  • произвести рестарт сервиса SSH командой systemctl restart ssh

При установке IVA CS запрещено:

  • самостоятельно устанавливать дополнительное ПО

  • создавать файлы в папках, монтированных в оперативной памяти

  • вносить изменения в файлы или создавать дополнительные файлы в папках, монтированных в оперативной памяти

При обновлении сервера телефонии IVA CS с предыдущих версий на новую версию IVA CS, необходимо заново сгенерировать лицензионный файл.

Для генерации лицензионного файл необходимо обратиться к специалистам технической поддержки компании IVA Technologies через сервисный портал

Вход в консоль управления IVA CS из командной строки

  1. открыть командную строку

  2. ввести следующие данные (с соблюдением указанного регистра):

    • логин: root

    • пароль: пароль, заданный при установке операционной системы

    Ввод логина и пароля
  3. после ввода пароля в консоли ОС появится строка для ввода команд управления

    Консоль для ввода команды управления

Односерверная установка

В консоли управления IVA CS:

  1. перейти в папку, в которой находится файл с программным обеспечением сервера телефонии IVA CS, выполнив команду:

    cd /home/ivacs
  2. вывести список всех файлов, находящихся в данной папке, выполнив команду:

    ls
  3. разархивировать файл, выполнив команду:

    • при наличии Интернет-соединения

      tar -xf ivacs-A.B.C-YYYY-MM-DD-single.tar.gz
    • при отсутствии Интернет-соединения

      tar -xf ivacs-A.B.C-YYYY-MM-DD-single-full.tar.gz

    где

    • A.B.C — номер версии IVA CS (например, 1.6.0)

    • YYYY-MM-DD — дата сборки дистрибутива в формате год-месяц-день (например, 2025-04-02)

  4. процесс выполнения установки программного обеспечения сервера телефонии IVA CS описан в файле README.md.
    Для открытия файла README.md необходимо выполнить команду:

    less README.md
  5. для обновления списка пакетов необходимо выполнить команду:

    sudo apt update
  6. установить обновления пакетов, выполнив команду:

    sudo apt -y upgrade
  7. если в системе отключен протокол IPv6, то необходимо:

    • сделать файл non-ipv6.sh исполняемым, выполнив команду:

      chmod +x ./non-ipv6.sh
    • выполнить файл non-ipv6.sh командой:

      sudo ./non-ipv6.sh
      В процессе выполнения файла non-ipv6.sh могут возникать сообщения об ошибках, которые не влияют на процесс установки
  8. если происходит обновление с одной из предыдущих версий, то необходимо остановить службу ivacs, выполнив команду:

    ivacs-ctl stop all
  9. убедиться, что служба ivacs остановлена, выполнив команду:

    ivacs-ctl status all
  10. сделать файл install.sh исполняемым, выполнив команду:

    chmod +x install.sh
  11. выполнить файл install.sh командой:

    sudo ./install.sh

    В процессе выполнения файла install.sh происходит резервное копирование (backup) файла /etc/apt/sources.list в файл /etc/apt/sources.list.ivacs-bak

    Если установка завершилась штатно, то файл /etc/apt/sources.list.ivacs-bak автоматически удаляется. В случае возникновения ошибок, необходимо восстановить исходный файл со списком репозиториев /etc/apt/sources.list из файла /etc/apt/sources.list.ivacs-bak

  12. внести изменения в конфигурацию СУБД PostgreSQL:

    • открыть конфигурационный файл базы данных в текстовом редакторе:

      nano /etc/postgresql/<pg_version>/main/postgresql.conf

      где <pg_version> — значение от 14 до 15 (точное значение определяется по окончании выполнения файла install.sh)

    • в строке max_connections изменить значение на 300

    • в строке shared_buffers изменить значение на 256MB

    • сохранить изменения

  13. выполнить перезапуск СУБД PostgreSQL, выполнив команду:

    systemctl restart postgresql
  14. заполнить базу данных одним из следующих способов:

    • при первой установке системы для создания и заполнения базы данных выполнить команду:

      sudo ivacs-init-data
    • при обновлении поверх уже установленной системы необходимо выполнить перенос базы данных с помощью команды:

      swl-db migrate
    • при восстановлении базы данных из резервной копии необходимо выполнить команду:

      sudo ivacs-dump import
      Перед началом выполнения команды восстановления данных необходимо убедиться, что файл дампа ivacs.dump.tar.gz находится в папке /home/ivacs

      Для создания резервной копии базы данных и всех файлов необходимо выполнить команду:

      sudo ivacs-dump export
      После восстановления данных из резервной копии рекомендуется запустить процесс переноса базы данных
  15. выполнить запуск всех сервисов IVA CS командой:

    sudo ivacs-ctl start
  16. проверить статус работы всех сервисов командой:

    sudo ivacs-ctl status
  17. узнать IP-адрес расположения IVA CS, выполнив команду:

    sudo ip a

    По полученному IP-адресу производится вход в web-панель администрирования IVA CS.

Закрытие командной строки в процессе установки ПО IVA CS может привести к нарушениям при установке и последующей переустановке ПО IVA CS

Многосерверная установка

В консоли управления IVA CS необходимо:

Выполнение команд производится поочерёдно на каждом сервере
  1. перейти в папку, в которой находится файл с программным обеспечением сервера телефонии IVA CS, выполнив команду:

    cd /home/ivacs
  2. вывести список всех файлов, находящихся в данной папке, выполнив команду:

    ls
  3. разархивировать файл, выполнив команду:

    • при наличии Интернет-соединения

      tar -xf ivacs-A.B.C-YYYY-MM-DD-multi.tar.gz
    • при отсутствии Интернет-соединения

      tar -xf ivacs-A.B.C-YYYY-MM-DD-multi-full.tar.gz

    где

    • A.B.C — номер версии IVA CS (например, 1.6.0)

    • YYYY-MM-DD — дата сборки дистрибутива в формате год-месяц-день (например, 2025-04-02)

  4. процесс выполнения установки программного обеспечения сервера телефонии IVA CS описан в файле README.md.
    Для открытия файла README.md необходимо выполнить команду:

    less README.md
  5. для обновления списка пакетов необходимо выполнить команду:

    sudo apt update
  6. установить обновления пакетов, выполнив команду:

    sudo apt -y upgrade
  7. если в системе отключен протокол IPv6, то необходимо:

    • сделать файл non-ipv6.sh исполняемым, выполнив команду:

      chmod +x ./non-ipv6.sh
    • выполнить файл non-ipv6.sh командой:

      sudo ./non-ipv6.sh
      В процессе выполнения файла non-ipv6.sh могут возникать сообщения об ошибках, которые не влияют на процесс установки
  8. внести изменения в конфигурационный файл config:

    • открыть конфигурационный файл в текстовом редакторе:

      nano ./config
    • ввести IP-адреса каждого сервера в формате:

      ivacs0=10.0.201.77
      ivacs1=10.0.201.87
      ivacs2=10.0.201.88

      где ivacs0 — IP-адрес первого сервера, ivacs1 — IP-адрес второго сервера и т. д.

    • установить часовой пояс:

      timezone=Europe/Moscow
    • сохранить изменения

  9. если происходит обновление с одной из предыдущих версий, то необходимо остановить службу ivacs, выполнив команду:

    ivacs-ctl stop all
  10. убедиться, что служба ivacs остановлена, выполнив команду:

    ivacs-ctl status all
  11. сделать файл install.sh исполняемым, выполнив команду:

    chmod +x ./install.sh
  12. выполнить файл install.sh командой:

    sudo ./install.sh <host-number>

    где <host-number> — порядковый номер сервера, начиная с 0 (для первого сервера ivacs0 — порядковый номер 0, для второго ivacs1 — порядковый номер 1 и т. д.)

    Запуск скрипта необходимо выполнять на каждом сервере, указывая вместо host-number имя сервера, на котором выполняется скрипт

    В процессе выполнения файла install.sh происходит резервное копирование (backup) файла /etc/apt/sources.list в файл /etc/apt/sources.list.ivacs-bak

    Если установка завершилась штатно, то файл /etc/apt/sources.list.ivacs-bak автоматически удаляется. В случае возникновения ошибок, необходимо восстановить исходный файл со списком репозиториев /etc/apt/sources.list из файла /etc/apt/sources.list.ivacs-bak

  13. заполнить базу данных на сервере ivacs0 одним из следующих способов:

    Запуск скрипта необходимо выполнять только на одном сервере (по умолчанию сервер ivacs0)
    • при первой установке системы для создания и заполнения базы данных выполнить команду:

      sudo ivacs-init-data
    • при обновлении поверх уже установленной системы необходимо выполнить перенос базы данных с помощью команды:

      swl-db migrate
    • при восстановлении базы данных из резервной копии необходимо выполнить команду:

      sudo ivacs-dump import
      Перед началом выполнения команды восстановления данных необходимо убедиться, что файл дампа ivacs.dump.tar.gz находится в папке /home/ivacs

      Для создания резервной копии базы данных и всех файлов необходимо выполнить команду:

      sudo ivacs-dump export
      После восстановления данных из резервной копии рекомендуется запустить процесс переноса базы данных
  14. выполнить запуск всех сервисов IVA CS, выполнив команду:

    sudo ivacs-ctl start
    Запуск скрипта необходимо выполнять поочерёдно на каждом сервере

    или

    sudo ivacs-ctl start all
    Запуск скрипта необходимо выполнять только на одном сервере (по умолчанию сервер ivacs0)
  15. проверить статус работы всех сервисов командой:

    sudo ivacs-ctl status
    Запуск скрипта необходимо выполнять поочерёдно на каждом сервере

    или

    sudo ivacs-ctl status all
    Запуск скрипта необходимо выполнять только на одном сервере (по умолчанию сервер ivacs0)
  16. узнать IP-адрес расположения IVA CS, выполнив команду:

    sudo ip a

    По данному IP-адресу производится вход в web-панель администрирования IVA CS.

Закрытие командной строки в процессе установки ПО IVA CS может привести к нарушениям при установке и последующей переустановке ПО IVA CS
Между всеми серверами настроена синхронизация каталогов через systemd и unison для совместного использования файлов

Добавление нового сервера в кластер при многосерверной установке

Добавить новый сервер в кластер можно уже после начала процесса многосерверной установки.

Для этого необходимо:

  1. внести изменения в конфигурационный файл config на каждом из уже запущенных серверов (ivacs0, ivacs1, ivacs2):

    • открыть конфигурационный файл в текстовом редакторе:

      nano ./config
    • добавить IP-адрес нового добавляемого сервера (ivacs3) к указанным IP-адресом уже запущенных серверов (ivacs0, ivacs1, ivacs2):

      ivacs0=10.0.201.77
      ivacs1=10.0.201.87
      ivacs2=10.0.201.88
      ivacs3=10.0.201.89

      где ivacs0 — IP-адрес первого сервера, ivacs1 — IP-адрес второго сервера и т. д.

    • сохранить изменения

  2. внести изменения для поддержки нового сервера, выполнив файл install.sh командой:

    Запуск скрипта необходимо выполнять на каждом из запущенных серверов (ivacs0, ivacs1, ivacs2), кроме добавляемого сервера (ivacs3), указывая вместо host-number порядковый номер сервера, на котором выполняется скрипт
    sudo ./install.sh <host-number> 1

    где <host-number> — порядковый номер сервера, начиная с 0 (для первого сервера ivacs0 — порядковый номер 0, для второго ivacs1 — порядковый номер 1 и т. д.), а 1 — флаг, для внесения изменений для поддержки нового сервера

    В процессе выполнения файла install.sh происходит резервное копирование (backup) файла /etc/apt/sources.list в файл /etc/apt/sources.list.ivacs-bak

    Если установка завершилась штатно, то файл /etc/apt/sources.list.ivacs-bak автоматически удаляется. В случае возникновения ошибок, необходимо восстановить исходный файл со списком репозиториев /etc/apt/sources.list из файла /etc/apt/sources.list.ivacs-bak

  3. установить IVA CS на новом добавляемом сервере

    Все операции проводятся на новом добавляемом сервере ivacs3
    • сделать файл install.sh исполняемым, выполнив команду:

      chmod +x ./install.sh
    • выполнить файл install.sh командой:

      sudo ./install.sh <host-number> 2

      где <host-number> — порядковый номер нового добавляемого сервера (в нашем случае новый сервер с именем ivacs3 имеет порядковый номер 3), а 2 — флаг для добавления нового сервера

      В процессе выполнения файла install.sh происходит резервное копирование (backup) файла /etc/apt/sources.list в файл /etc/apt/sources.list.ivacs-bak

      Если установка завершилась штатно, то файл /etc/apt/sources.list.ivacs-bak автоматически удаляется. В случае возникновения ошибок, необходимо восстановить исходный файл со списком репозиториев /etc/apt/sources.list из файла /etc/apt/sources.list.ivacs-bak

  4. выполнить запуск всех сервисов IVA CS на новом добавляемом сервере, выполнив команду:

    sudo ivacs-ctl start

Настройка автоматического сохранения резервной копии базы данных

С целью восстановления данных в случае сбоев, можно настроить автоматическое создание резервных копий базы данных с помощью планировщика задач cron и скрипта ivacs-dump export.

Периодичность создания резервной копии базы данных устанавливается Администратором IVA CS
В случае возникающих сбоев, для восстановления базы данных, необходимо использовать скрипт ivacs-dump import
Рекомендуемое значение RPO (Recovery point objective, целевая точка восстановления) = 1 час
Рекомендуемое значение RTO (Recovery time objective, целевое время восстановления) = 1 час