Описание функциональных характеристик программного обеспечения и информация, необходимая для установки программного обеспечения

ITooLabs Communications Server применяется для коммутации голосовых соединений с использованием пакетных сетей передачи данных по протоколу IP.

ПО ITooLabs Communications Server предназначено для разработки, развертывания и эксплуатации масштабируемых систем обработки и коммутации телефонных вызовов с использованием пакетных сетей передачи данных по протоколу IP, как в качестве обособленных систем, так и в составе сетей операторов телефонной связи.

ITooLabs Communications Server предоставляет масштабируемый кластер, включающий в себя следующие подсистемы:

  • базу данных реального времени; подсистему коммутации телефонных вызовов, совместимую с требованиями рекомендаций ETSI TS 124.229 (3GPP TS 24.29) v15 и выше;
  • сервер приложений, включающий в себя интерпретатор языка программирования ECMAScript v6; HTTP сервер;
  • WebSocket сервер;
  • подсистему коммутации, транскодирования и записи, голосовых потоков, совместимую с требованиями спецификаций 3GPP, а также WebRTC.

ITooLabs Communications Server предоставляет разработчику телекоммуникационных систем обширный высокоуровневый программный интерфейс, позволяющий эффективно реализовывать сложную бизнес-логику обработки телефонных вызовов, а также логику обработку клиентских HTTP запросов для реализации пользовательских интерфейсов.

  • Intel X86-64,
  • IBM z/Series (требует также наличие узлов Intel X86-64 для обработки медиа потоков).
  • Debian GNU/Linux 9 и выше,
  • Red Hat Enterprise Linux 8.0 и выше,
  • Fedora Linux 28 и выше,
  • IBM z/LinuxONE.
  • Linux KVM,
  • VMware ESXi,
  • IBM z/VM.

При создании виртуальных машин необходимо обеспечить следующую конфигурацию оборудования:

  • Операционная система Linux Debian последней стабильной версии.
  • Файловая система ОС BTRFS.
  • Примечание: Дополнительный диск будет задействован в ходе установки сервисного ПО.
  • Конфигурация Standard + SSH Server (без графических оболочек, web- и print-служб).

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

  • Для ОС создать отдельный раздел /boot, имеющий размер около 500 Мб.
  • Обеспечить файловую систему для хранения ядра.
  • Примечание: Достаточно ext2.
  • Создать отдельный раздел root («/»), имеющий размер 10 Гб.
  • Обеспечить файловую систему btrfs.
  • Опция Latency Sensitivity должна быть включена для VM centrex-* (fe/be/mg) в значении «High» (минимум для MG) (VMware).
  • Обеспечена поддержка Failover для всех виртуальных машин кластера (VMware).
  • Существует возможность отключения резервного копирования VM средствами платформы виртуализации.
  • Производится резервирование ресурсов VM на хосте (Reservation cpu/memory).
  • Выключен механизм миграции VM между хостами при высокой загрузке узла (vMotion) (VMware).
  • Выделен vlan между всеми виртуальными машинами.

Установка и администрирование платформы

Каждый узел платформы доступен посредством сервиса SSH. Открытые ключи сервиса SSH хранятся в репозитории инсталляции и устанавливаются при развертывании или обновлении узла средствами ansible.

Каждый узел платформы имеет имя, состоящее из кода роли узла и порядкового номера узла:

SSH сервер может безопасно пробрасывать запрос аутентификации при запуске SSH клиента в рамках аутентифицированной и защищенной сессии. Для этого необходимо, чтобы на клиентской машине выполнялся агент аутентификации по ключу (Secure Shell Key Agent). Это единственный способ подключиться к узла платформы из сессии на другом узле, поскольку авторизация по паролю принудительно отключена. Поскольку система развертывания Ansible использует SSH и SCP в процессе развертывания и обновления узлов, наличие на машине администратора SSH Key Agent является необходимым условием.

● Secure Shell Key Agent (‘ssh-agent’) обычно стартует автоматически в Linux и OS X

● Secure Shell Key Agent для Windows входит в состав клиент PuTTY и называется Pageant. Этот агент должен быть установлен и запускаться специально.

Управление конфигурациями платформы с использованием Ansible

Любые задачи по развертыванию и обновлению узлов, а также по изменению конфигурации узлов, должны выполняться посредством сервиса `ansible`, расположенного на терминальном сервисе. Ansible представляет собой программный пакет для массового управления конфигурацией и предоставляет утилиты для массового изменения конфигурационных файлов для узлов, перечисленных в файле inventory. Самый файл inventory, как и набор сценариев управления конфигурацией, представляют собой набор текстовых файлов, хранимых в репозитории системы контроля версий GIT. Следует избегать прямого изменения файлов конфигурации непосредственно на узлах, поскольку такие изменения могут быть потеряны в ходе планового изменения конфигурации средствами Ansible. Более того, рассинхронизация конфигураций отдельных узлов может приводить к авариям. Сценарии развертывания и инвентарь платформы находятся в каталоге ‘/home/admin’ каталоге на терминальном сервере. Для выполнения задач изменения конфигурации, подключитесь к терминальному серверу:

Команды Ansible требуют указания имени узла, либо имени группы узлов первым параметром.

Проверка работоспособности узла

Для проверки работоспособности узлов, используйте команду ansible ‘ping’:

root@vpn1:/home/admin# ansible all –m ping ds1 | success » {

  "changed": false,
  "ping": "pong"

}

ds2 | success » {

  "changed": false,
  "ping": "pong"

} … root@vpn1:/home/admin#

Для проверки работоспособности конкретного узла, используете имя узла вместо ‘all’.