Описание функциональных характеристик программного обеспечения и информация, необходимая для установки программного обеспечения
Область применения
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’.