Инфраструктура Elph
Инфраструктура Elph включает в себя следующие компоненты:
- Elph Proxy — является единой точкой входа для клиентов Elph. Перенаправляет запросы к серверам, входящим в инфраструктуру Elph. Подробнее по ссылке.
- Elph Chat Server — реализует функционал чатов в клиенте Elph. Подробнее по ссылке.
- Address Book — отвечает за сбор, хранение и предоставление клиенту Elph информации о контактах (ФИО, номер, подразделение и так далее). Подробнее по ссылке.
- User Status Service — хранит и предоставляет клиенту Elph информацию о текущем статусе клиента (в сети, не в сети, отошёл, персональный статус и так далее). Подробнее по ссылке.
- Call History Service — отвечает за сбор, хранение и предоставление актуальной информации по истории вызовов клиенту Elph. Подробнее по ссылке.
- ECSS-10 — Eltex Communication Soft Switch, программный комплекс, обеспечивающий функции ядра телефонии для ведомственных, корпоративных и операторских сетей. Подробнее по ссылке.
- Elph-api — элемент системы ECSS-10, обеспечивающий интерфейс взаимодействия с компонентами Soft Switch. Подробнее по ссылке.
- SSO (Keycloak) — система аутентификации, позволяет клиенту получить доступ ко всем сервисам системы с помощью одного набора учётных данных;
- File Service — S3 хранилище пользовательских данных;
- Mini-Apps Service — сервис для интеграции внешних веб-приложений в Elph;
- Push gateway — сервис, который позволяет отправлять уведомления (push-сообщения) на клиентские приложения, взаимодействует с внешними сервисами (Apple APN, Google FCM);
- RabbitMQ — брокер сообщений (message broker), реализующий протокол AMQP (Advanced Message Queuing Protocol). Промежуточный слой для асинхронной обработки сообщений между приложениями.
Компоненты поставляются в .deb пакетах и docker-контейнерах, устанавливаемых .sh скриптами.
Матрица развертывания:
| Название скрипта | Тип развертывания сервисов | Устанавливаемые компоненты |
|---|---|---|
| - | .deb |
|
| - | .deb |
|
| ./ecss-user-status.sh | .sh (docker) |
|
| ./ecss-call-history.sh | .sh (docker) |
|
| ./ecss-address-book.sh | .sh (docker) |
|
| ./ecss-elph-chat-server.sh | .sh (docker) |
|
Варианты развёртывания
| Рекомендуемая конфигурация (1000 абонентов) | Возможная конфигурация (1000 абонентов) | ||||
|---|---|---|---|---|---|
| Сервер | Компоненты | Системные требования | Сервер | Компоненты | Системные требования |
| Сервер 1 | Elph Chat Server Address Book User Status Service Call History Service | CPU: ядра 8 (2.5 GHz), 64-bit, x86 RAM: 16 Gb HDD: 200 Gb, SSD | Сервер 1 | Elph Chat Server Address Book User Status Service Call History Service Elph Proxy | CPU: ядра 10 (3 GHz), 64-bit, x86 RAM: 20 Gb HDD: 230 Gb, SSD |
| Сервер 2 | Elph Proxy | CPU: Xeon, ядра 2, 64-bit, x86 RAM: 4 Gb HDD: 30 Gb, SSD | |||
Этапы развёртывания
1. Подготовка
Создание таблицы с сетевой конфигурацией серверов
Прежде чем приступать к установке компонентов экосистемы Elph, необходимо подготовить таблицу с информацией о сетевых настройках серверов. В дальнейшем при развёртывании данная информация поможет быстро и правильно заполнить необходимые поля мастера установки. Если планируется использовать доменное имя, необходимо убедиться, что DNS-сервер доступен и доменное имя каждого сервера экосистемы Elph корректно разрешается в IP.
Ниже пример такой таблицы для рекомендуемой конфигурации.
Таблица 1
| ПК | Доменное имя | IP адрес | Маска | Шлюз | IP DNS | Комментарий |
|---|---|---|---|---|---|---|
| Chat Server | chat.company.loc | 192.168.1.7 | /24 | 192.168.1.1 | 192.168.1.6 | IP (MGMT). C IP Chat Server должно быть разрешено обращаться к mysql(ecss-10) |
| Address Book | ab.company.loc | 192.168.1.7 | /24 | 192.168.1.1 | 192.168.1.6 | IP (MGMT) |
| User Status Service | us.company.loc | 192.168.1.7 | /24 | 192.168.1.1 | 192.168.1.6 | IP (MGMT) |
| Call History Service | ch.company.loc | 192.168.1.7 | /24 | 192.168.1.1 | 192.168.1.6 | IP (MGMT). C IP Call History должно быть разрешено обращаться к mysql(ecss-10) |
| Elph Proxy | proxy.company.loc | 192.168.1.6 | /24 | 192.168.1.1 | 192.168.1.6 | IP (MGMT) |
| ECSS1 | ecss1.company.loc | 192.168.1.2 192.168.1.4 10.10.1.2 | /24 /24 /24 | 192.168.1.1 192.168.1.1 10.10.1.1 | 192.168.1.6 192.168.1.6 10.10.1.4 | IP (MGMT) VRRP IP (SQL) VRRP IP (SIP) |
| ECSS2 | ecss2.company.loc | 192.168.1.3 10.10.1.3 | /24 /24 | 192.168.1.1 10.10.1.1 | 192.168.1.6 10.10.1.4 | IP (MGMT) VRRP IP (SIP) |
| Elph Desktop | device1.company.loc | 192.168.1.8 | /24 | 192.168.1.1 | 192.168.1.6 | ПК пользователя/телефон с приложением Elph, у которого должен быть доступ в сеть 10.10.1.0/24 (для успешной SIP-регистрации) |
Анализ таблицы совместимости
В таблице ниже указано какие версии компонентов должны быть установлены для корректной работы инфраструктуры Elph в зависимости от версии клиентского приложения.
| Elph 2.8 | Elph 2.9 | Elph 2.10 | Elph 2.11 | Elph 2.12 | Elph 2.13 | Как обновить |
|---|---|---|---|---|---|---|
| Chat Server = 2.8.0.* | Chat Server = 2.9.0.* | Chat Server = 2.10.0.* | Chat Server = 2.11.0.* | Chat Server = 2.12.0.* | Chat Server = 2.13.1.* | Ссылка |
| Address Book = 1.3.2.* | Address Book = 1.3.2.* | Address Book = 1.3.2.* | Address Book = 1.3.2.* | Address Book = 1.6.0.* | Address Book = 1.7.0.* | Ссылка |
| User Status Service = 2.8.0.* | User Status Service = 2.9.0.* | User Status Service = 2.10.0.* | User Status Service = 2.10.0.* | User Status Service = 2.12.0.* | User Status Service = 2.13.0.* | Ссылка |
| Call History Service = 2.8.0.* | Call History Service = 2.9.0.* | Call History Service = 2.10.0.* | Call History Service = 2.10.0.* | Call History Service = 2.12.0.* | Call History Service = 2.13.0.* | Ссылка |
| Elph Proxy = 2.8.0.* | Elph Proxy = 2.9.0.* | Elph Proxy = 2.10.0.* | Elph Proxy = 2.11.0.* | Elph Proxy = 2.12.0.* | Elph Proxy = 2.13.0.* | Ссылка |
| Elph-api = 2.13.0* | Elph-api = 2.13.0* | Elph-api = 2.13.0* | Elph-api = 2.13.0* | Elph-api = 2.13.0* | Elph-api = 2.13.0* | Ссылка |
ECSS-10 = 3.14.15.* | ECSS-10 = 3.14.15.* | ECSS-10 = 3.14.15.* | ECSS-10 = 3.14.15.* | ECSS-10 = 3.14.15.* | ECSS-10 = 3.14.16.* |
Общие рекомендации
Если мастер установки запрашивает адрес сервера, на котором используется одна из технологий High Availability (высокая доступность, например VRRP), следует указывать данный адрес или закреплённое за ним доменное имя для обеспечения отказоустойчивости.
2. Настройка ECSS-10
Установка ecss-elph-api
Компонент ecss-elph-api устанавливается на каждый сервер, входящий в состав кластера ECSS-10, либо на единичный сервер, если решение является standalone (одиночный сервер ECSS-10). Для развёртывания сервиса используйте следующую документацию.
Настройка SSW для работы c Elph
1) Для обеспечения корректного взаимодействия инфраструктуры Elph с ECSS-10 необходимо выполнить указанные в документации настройки.
Если используется кластер ECSS-10, команды вводимые в оболочке cocon (ssh admin@localhost -p8023) автоматически синхронизируются со вторым сервером кластера, так же как и команды, исполненные при подключении к базе mysql (sudo mysql -u root -p). Все остальные настройки следует воспроизвести на обоих узлах кластера ECSS-10, т. к. для них автоматическая синхронизация не выполняется.
Во время установки MySQL на ECSS-10 мастер задаёт вопрос, с каких IP-адресов разрешён доступ к БД MySQL, в данном поле, при необходимости, к ранее указанным параметрам должны быть добавлены IP Chat Server и Call History либо объединяющая их сеть с помощью команды: sudo dpkg-reconfigure ecss-mysql.
Пример добавления конкретных хостов 192.168.5.10, 192.168.5.11 и сети 10.1.1.0/24 (значения разделяются с помощью пробела): 192.168.5.10 192.168.5.11 10.1.1.%
2) Дополнительно необходимо внести настройки для пользователей согласно документации.
3. Установка Elph Proxy
Для установки и настройки сервера Elph Proxy воспользуйтесь следующей ссылкой.
4. Установка Address Book
Для установки и настройки сервера Address Book воспользуйтесь следующей ссылкой. После успешной установки рекомендуется выполнить импорт контактов либо из ecss-node посредством .CSV файла, либо из LDAP, Active Directory. Тогда на этапе запуска приложения Elph справочник контактов будет заполнен данными вашей организации.
5. Установка User Status Service
Для установки и настройки сервера User Status Service воспользуйтесь следующей ссылкой.
6. Установка Call History Service
Для установки и настройки сервера Call History Service воспользуйтесь следующей ссылкой.
7. Установка Chat Server
Для установки и настройки сервера Chat Server воспользуйтесь следующей ссылкой.
8. Установка приложения Elph
Для установки приложения Elph воспользуйтесь следующей ссылкой.