В данном разделе использованы специфичные для данного продукта термины, ознакомиться с ними можно здесь. Техническое задание: Требуется интеграция программного коммутатора 5 класса ECSS-10 (SSW) на 2-х физических серверах с поддержкой SIP со следующими параметрами на нагрузку группы серверов:
|
По техническому заданию требуется определить аппаратную платформу.
Требуемая полоса пропускания СПД не менее 1000Mb/s |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Топологию включения сервера в сеть для обеспечения резервирования рекомендуется делать с использованием 2-х коммутаторов. Пример на рисунке ниже.
![]()
Рисунок 1 — Схема организации связи
Установка SSW ECSS10 состоит из 2-х основных частей :
Подготовительной - Установка ОС Astra Linux 1.8, обновлений пакетов OC Astra Linux 1.8 , "оптимизация" OC, установка дополнительных пакетов программ, подготовка сетевых интерфейсов, /etc/hosts, ssh-keygen
В этом разделе приведено описание инсталляции операционной системы, а также необходимых и дополнительных пакетов. Система ECSS-10 версии 3.17 работает под управлением ОС Astra Linux 1.8.
Для установки ОС необходимо выполнить следующее:
Выбрать сетевой интерфейс для подключения к сети Интернет.
Перезагрузить успешно установленную ОС
Таблица 1 — Вариант размещения информации в файловой системе на физических носителях для серверов
| 1 | Загрузочный раздел операционной системы (создается автоматически) | boot | raid 1:hdd1,hdd2 | boot | /boot | ext4 | 1 Gb | Первичный |
| 2 | Корневой раздел операционной системы | root | raid 1:hdd1,hdd2 | root | / | ext4 | 30 Gb | Логический |
| 3 | Информация локальных баз данных | mnesia | raid 1:hdd1, hdd2 | mnesia | /var/lib/ecss | ext4 | 30 Gb | Логический |
| 4 | Распределенная БД для хранения медиаресурсов | glusterfs | raid 1:hdd1, hdd2 или hdd3 | glusterfs | /var/lib/ecss/restfs | ext4 | Max Gb | Логический |
| 5 | Журналы функционирования подсистем ОС | log | raid 1:hdd1,hdd2 или hdd3 | log | /var/log | ext4 | 20 Gb | Логический |
| 6 | Журналы функционирования подсистем ECSS | ecss_log | raid 1:hdd1,hdd2 или hdd3 | ecss_log | /var/log/ecss | ext4 | 20 Gb | Логический |
| 7 | Базы данных | ecss_db | raid 1:hdd1,hdd2 или hdd3 | ecss_db | /srv/ecss/ecss-postgres-bdr-ssw/ | ext4 | 100–400 Gb* | Логический |
| 8 | Файлы пользователя | home | raid 1:hdd1,hdd2 или hdd3 | home | /home | ext4 | 10 Gb | Логический |
* Рекомендуемое значение для серий Light, Light+, Midi — 100 Gb. Рекомендуемое значение для серии Heavy — 200 Gb, Super Heavy — 400 Gb. |
Для работы системы необходимо как минимум 256 Gb свободного пространства.
На серверах системы необходимо настроить параметр "hostname".
На всех серверах системы желательно указать одинаковое имя пользователя (любое, кроме ssw). Лицензия ECSS-10 привязывается к ключу eToken/ruToken и к имени компьютера (hostname). Системный пользователь ssw создается при инсталляции пакета ecss-user.
Рекомендуемое значение hostname — ecss1; |
Проверка в основном сводится к правильности создания разделов диска и наличия доступа по ssh.
Для вывода информации о состоянии дискового пространства введите команду df -h. Она покажет общее и занятое место в разделах. Размеры разделов должны соответствовать проекту и введенным значениям при установке.
Для проверки доступа по ssh с машины, находящейся в одной подсети со вновь установленным сервером, нужно выполнить команду:
ssh <user>@<IP_ecss> |
где:
посмотреть можно командой cat /etc/hosts
изменить/добавить командой sudo nano /etc/hosts
sudo nano /etc/hosts |
127.0.0.1 localhost 10.0.10.40 ecss1 |
После установки для обновления будет использоваться только образ DVD диска, загрузка с репозитория отключена. Давайте разрешим обновление пакетов с репозитория Astra Linux.
sudo nano /etc/apt/sources.list |
привести информацию в файле к следующему виду:
deb https://download.astralinux.ru/astra/stable/1.8_x86-64/repository-extended/ 1.8_x86-64 main contrib non-free non-free-firmware deb https://download.astralinux.ru/astra/stable/1.8_x86-64/repository-main/ 1.8_x86-64 main contrib non-free non-free-firmware #deb cdrom:[OS Astra Linux 1.8.1.12 DVD]/ 1.8_x86-64 contrib main non-free non-free-firmware |
Добавить репозиторий Eltex:
sudo sh -c "echo 'deb [arch=amd64] http://archive.eltex.org/ssw/1.8_x86-64/3.17 stable main extras external' >> /etc/apt/sources.list.d/eltex-ecss10-stable.list" |
Далее необходимо выполнить импорт ключа командой:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 33CB2B750F8BB6A5 |
Для установки Erlang, Nodejs и Elixir из репозитория Eltex, необходимо изменить приоритет репозиториев для данных пакетов.
Добавить в файл /etc/apt/preferences.d/erlang строки:
sudo sh -c "echo -e 'Package: erlang*\nPin: version 2:24.3*\nPin-Priority: 1000' >> /etc/apt/preferences.d/erlang" |
Package: erlang* Pin: version 2:24.3* Pin-Priority: 1000 |
Добавить в файл /etc/apt/preferences.d/nodejs строки:
sudo sh -c "echo -e 'Package: nodejs*\nPin: version 14.20.0-1nodesource1*\nPin-Priority: 1000' >> /etc/apt/preferences.d/nodejs" |
Package: nodejs* |
Добавить в файл /etc/apt/preferences.d/elixir строки:
sudo sh -c "echo -e 'Package: elixir*\nPin: version 1.14*\nPin-Priority: 1000' >> /etc/apt/preferences.d/elixir" |
Package: elixir* |
Выполнить обновление:
sudo apt update |
Установить пакет ntp следующей командой:
sudo apt install -y ntp |
Используем утилиту cpufrequtils.
sudo apt install cpufrequtils |
по умолчанию после инсталляции ОС использует режим "ondemand" - "по запросу" (производительность CPU по запросу приложений, экономит электроэнергию , но ниже производительность):
cat /etc/init.d/cpufrequtils | grep GOVERNOR= |
в выходном сообщении системы , режим работы по умолчанию после инсталляции - "ondemand" :
GOVERNOR="ondemand" |
Установить режим - результативность/производительность - в файле /etc/init.d/cpufrequtils значение "ondemand" заменить на "performance"
sudo sed -i 's/GOVERNOR="ondemand"/GOVERNOR="performance"/g' /etc/init.d/cpufrequtils |
Перезапустить утилиту:
sudo /etc/init.d/cpufrequtils restart |
Затем выполнить команду:
sudo systemctl daemon-reload |
Ubuntu сервер SSW работает в реальном масштабе времени , поэтому все необходимые данные должны находится в оперативной памяти, использование файла подкачки (swap-файл - /swap. img) может привести к увеличению времени обработки вызовов приложения SSW ECSS10 , что недопустимо. Swap - отключаем.
Выполнить последовательно три команды:
Отключение Swap:
sudo swapoff -a |
Удалить файл swap.img.
sudo rm /swapfile |
Удалить эту строчку (//swapfile swap swap defaults 0 0)
sudo nano /etc/fstab |
# /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/sda2 during curtin installation UUID=4c88cb4a-42c9-4b52-98c2-78da7e23b621 / ext4 defaults 1 1 |
Для проверки выполните команду free -h:
free -h |
Размер Swap равен 0 - то есть он выключен
free -h
total used free shared buff/cache available
Mem: 3,9G 110M 3,2G 820K 535M 3,5G
Swap: 0B 0B 0B
|
При инсталляции astra linux не предлагается установить часовой пояс(по умолчанию устанавливается время UTC). Его нужно установить вручную (для корректной работы системы тарификации , работ по расписанию и т.д. ), например:
sudo timedatectl set-timezone Asia/Novosibirsk |
Улучшить работу высоконагруженных серверов можно увеличив лимит открытых файлов.
Для установки лимита открытых файлов необходимо:
Проверить текущий лимит командой:
ulimit -a |
результат :
eltex@ecss1:~$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 15515 max locked memory (kbytes, -l) 65536 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 15515 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited |
Данного лимита ( open files 1024 ) недостаточно для нормальной работы высоконагруженных серверов.
Установить лимит открытых файл для каждого пользователя:
sudo sed -i '55i\* soft nproc 65536\n* hard nproc 131072\n* soft nofile 65536\n* hard nofile 131072\nroot - memlock unlimited' /etc/security/limits.conf |
|
Получение адресов на сетевых интерфейсах по DHCP недопустимо на серверах ECSS. |
Сетевые настройки необходимо выполнять с помощью Netplan.
По умолчанию в Astra Linux пакет netplan не установлен.
Установить пакеты для обслуживание функции netplan:
sudo apt install -y dialog libssl1.0.0 netplan.io |
Сейчас можно выполнить конфигурацию netplan:
sudo nano /etc/netplan/ecss.yaml |
| Netplan для интерфейсов сервера ecss1 (/etc/netplan/ecss.yaml) | |
|---|---|
|
Так же проверить отсутствие в каталоге /etc/netplan/ других файлов, если другие файлы присутствуют , то их нужно переместить в другой каталог или удалить, в противном случае возможна некорректная настройка сетевых интерфейсов и некорректная работа SSW.
|
Применить, установленные параметры командой:
sudo netplan apply |
Просмотреть получившиеся настройки можно при помощи команд ifconfig или ip a:
Для применения новых сетевых настроек необходимо выполнить команду netplan apply. Перезапуск сети или системы не требуется. Подробнее про настройки netplan см. в Приложении Е. Netplan.
Перед началом установки необходимо обновить ОС:
sudo apt update |
sudo apt upgrade --enable-upgrade |
Для работы SSW, потребуются дополнительные пакеты ПО не установленные в Astra Linux по умолчанию, но доступные в репозитории.
sudo apt install -y ntp iptables tcpdump vlan dnsmasq aptitude atop ethtool htop mc screen ssh tftpd-hpa sngrep tshark gnuplot debconf-utils ncdu wget |
Список обязательного сервисного программного обеспечения:
Список рекомендуемого диагностического и вспомогательного программного обеспечения:
|
Для просмотра установленных пакетов выполнить следующую команду (данный пункт является необязательным: его можно выполнить, если не уверены, что какие-то пакеты установлены):
sudo dpkg --get-selections |
Перед началом установки пакетов ecss , нужно убедится в соответствии полосы пропускания СПД необходимым требованиям.
Проверить значение следующих параметров: |
┌ версия ПО ECSS. Сейчас в заявке на сертификацию она заявлена как 3. | Мы её менять не будем до следующей сертификации или │ выпуска принципиально новой версии системы. │ │ ┌ версия System Release. Общая версия для всех компонент входящих в конкретный релиз. | | Меняем её централизовано, когда
│ │ принимаем решение о выпуске нового релиза. Релизы между собой обычно не совместимы.
┌─┴┐ ┌──┴─┐
ECSS.SysRel.SubMaj.SubMin
└──┬─┘ └──┬─┘
│ └ версия Subsystem minor. Минорную версию подсистемы устанавливает разработчик подсистемы. | Минорную версию
│ меняем при добавлении патча. Как правило, минорные версии в рамках одной мажорной версии
│ совместимы между собой и отличаются в рамках конкретных патчей.
│
└ версия Subsystem major. Мажорная версия устанавливается разработчиком подсистемы. Мажорную версию подсистемы необходимо менять при внесении в подсистему существенных изменений. Утилита установки пакетов APT анализирует версию пакета слева направо, то есть, для примера, мы имеем пакет 14.14.7.7 , В случае если для конкретной ситуации требуется перейти с версии 14.14.7.7 на версию 14.14.7.9 , стандартная команда → sudo apt upgrade --enable-upgrade , нам не поможет, так как будет выбран самый новый пакет, в данной ситуации нам необходимо в явном виде указать какую версию пакета мы хотим установить, в данном примере мы должны выбрать команду → sudo apt install имя пакета=14.14.7.9 . Обычно это необходимо для тестирования определенного патча, для стандартных обновлений достаточно выбора привычной команды установки/обновления пакета |
В ходе установки пакетов ECSS нужно будет ответить на ряд вопросов для формирования необходимой конфигурации. Для автоматической загрузки требуемых настроек можно воспользоваться командами из пакета debconf-utils. Описание и примеры использования при работе с debconf приведены в Приложении В. Debconf. |
Для инсталляции системы ECSS-10 необходимо устанавливать пакеты в порядке, в котором они описаны ниже в документации.
Выполнить следующую команду:
sudo apt install -y ecss-dns-env |
Настройщик предложит выбрать разделы для настройки по вопросам ниже. Не выбираем ничего просто нажать Enter.
sudo apt install ecss-postgres-bdr-ssw |
При конфигурации пакета ecss-postgres-bdr-ssw будут заданы вопросы:
| Вопросы ecss-postgres-bdr-ssw | Ответы для ecss1 (Master) | Пример |
|---|---|---|
| Текущий IP-адрес сетевого интерфейса. | Выбрать из списка IP-адрес для работы с Postgres |
|
| Установка в кластере? | No (необходимо выбрать) |
|
======================================================= ======================================================= ecss-postgres-bdr-ssw successfully installed/updated! ======================================================= ======================================================= ┏┓┏┓┏┓┏┳┓┏┓┳┓┏┓┏┓ ┳┓┳┓┳┓ ┏┓┏┓┓ ┏ ┃┃┃┃┗┓ ┃ ┃┓┣┫┣ ┗┓ ┣┫┃┃┣┫ ┗┓┗┓┃┃┃ ┣┛┗┛┗┛ ┻ ┗┛┛┗┗┛┗┛ ┻┛┻┛┛┗ ┗┛┗┛┗┻┛ |
Установка обязательного пакета ecss-node включает в себя установку и первоначальную настройку основных подсистем.
В системе уже должен быть установлен пакет ecss-postgres-bdr-ssw |
Для установки пакета ecss-node выполните команду:
sudo apt install -y ecss-node |
Во время установки пакета создается пользователь ssw, от имени которого запускаются все сервисы ecss*. Создаются необходимые каталоги, выполняется настройка DNS, идет настройка SSL-сертификатов.
При установке также будет установлен пакет ecss-user |
Во время установки будет предложено настроить параметры, необходимые для формирования конфигурационных файлов, примеры ответов следует ниже.
| Вопросы ecss-user | Ответы для ecss1 | Пример |
|---|---|---|
| Хотите ли вы использовать стандартные настройки? | Yes (значение по умолчанию) |
|
| Вопросы ecss-node | Ответы для ecss1 | Пример |
| Идентификатор ECSS-узла в формате DNS (Настройка имени кластера): (в примере abf.test) | abf.test (необходимо ввести) |
|
| Хотите ли вы использовать стандартные настройки? | Yes (значение по умолчанию) |
|
| Вопросы ecss-user | Ответы для ecss1 | Пример |
| Максимальный размер несжатого дампа в байтах. | 8G (значение по умолчанию) |
|
| Максимальный размер сжатого дампа в байтах. | 2G (значение по умолчанию) |
|
| Максимальный размер, который может занять каталог /var/lib/systemd/coredump: | default (значение по умолчанию) |
|
| Минимальный объем свободного дискового пространства в байтах. | 30G (значение по умолчанию) |
|
Сохраните в безопасное место и удалите файл /etc/ecss/ssl/ecss10root.key! | Ok (значение по умолчанию) |
|
Проверить статус сервисов следующей командой:
systemctl is-active ecss-core ecss-pa-sip ecss-ds ecss-mediator ecss-mycelium |
В случае статуса "active" продолжаем дальше, в случае статуса "inactive" выполнить команду "sudo systemctl restart ecss-<имя пакета>"
systemctl is-active ecss-core ecss-pa-sip ecss-ds ecss-mediator ecss-mycelium active active active active active |
ECSS10 поддерживает два варианта лицензирования: default и distributed. В зависимости от варианта лицензирования последовательность действий отличается. Выберете нужный вам вариант:
Перейдите в CLI - CoCon:
Проверьте состояние системы:
Чтобы узлы системы смогли встать в работу, надо сконфигурировать систему указав имена хостов на которых развёрнуты ecss-сервисы.
Выйти из CoCon ("exit"),
Далее необходимо загрузить паспорт и лицензии в систему:
Выйдите из CoCon ("exit") И перезапустите сервисы ecss-ds и ecss-mycelium и запустите остальные сервисы на хосте:
Выполнить проверку лицензий, для этого зайти в CoCon :
Проверить наличие лицензией:
Видим активную лицензию №1 (не ECSS DEFAULT)
Выйдите из CoCon ("exit"). |
В случае использования distributed метода лицензирования вместо паспорта / лицензии (как в default методе) используется Product-Id / License-key которые генерируются Элтекс и передаются заказчику. Причины перехода следующие:
Также, чтобы устанавливать SSW на хосты с именами отличными от ecss1 / ecss2 приходилось использовать утилиту ds_db_preparator. Установить пакет ecss-elm-adapter следующей командой:
В процессе установки будут заданы вопросы конфигурации , параметры Elm сервиса будут сохранены в конфигурационном файле /etc/ecss/ecss-elm-adapter/config.exs.
После установки проверить конфигурацию можно в файле (информация в файлах различается для хостов), для примера :
Чтобы узлы системы смогли встать в работу, надо сконфигурировать систему указав имена хостов на которых развёрнуты ecss-сервисы. Перейдите в CLI - CoCon:
Команда в CoCon: /system/clusters/set [<host1>].
Выйти из CoCon ("exit"),
Перейдите в CoCon опять (перезагрузка сервисов может занять некоторое время) и проверьте лицензии:
Активировать distributed режим командой:
|
Добавление всех услуг указных в лицензии:
/cluster/storage/ds1/ss/install ds1@ecss1 ss_* Successfully installed: /var/lib/ecss/ss/ss_dnd.xml Successfully installed: /var/lib/ecss/ss/ss_clir.xml ... Successfully installed: /var/lib/ecss/ss/ss_chunt.xml |
Выйти из CoCon ("exit").
Так же требуется выполнить конфигурацию для Sip адаптера , выполнив следующую команду:
sudo systemctl edit ecss-pa-sip.service |
Добавить в конфигурационный файл следующие данные:
[Service] LimitNOFILE=65536 |
Перезагрузите конфигурацию
sudo systemctl daemon-reload |
Актуализировать конфигурационный файл, выполнив перезагрузку сервера:
sudo reboot |
sudo apt install -y ecss-restfs |
Установка ecss-restfs. В ходе установки нужно будет ответить на ряд вопросов для создания необходимых конфигурационных файлов. Также инсталлятор предложит установить и настроить пакет Text2speech от Yandex.
| Вопросы ecss-restfs | Ответы для ecss1 | Пример |
|---|---|---|
| Хотите ли вы использование функции Text To Speeh (Use TTS service) | No (значение по умолчанию) |
|
| Хотите настроить сервис телефонной книги (Configure phone book) | No (значение по умолчанию) |
|
| Хотите настроить сервис распознавания речи (Configure speech recognition service) | No (значение по умолчанию) |
|
| Ничего не выбирать | Ok (необходимо выбрать) |
|
после установки пакета ecss-restfs проверьте наличие wav файлов авто-информатора в директории /var/lib/ecss/restfs/system/sounds/ командой:
ls -la /var/lib/ecss/restfs/system/sounds/ |
наличие wav файлов в указной выше директории говорит о корректности установки пакета ecss-restfs.
Проверить доступность этих файлов извне, для этой проверки выполним команду:
wget http://ecss1:9990/system/sounds/ai_you.wav |
wget http://ecss1:9990/system/sounds/ai_you.wav --2025-09-16 08:27:36-- http://ecss1:9990/system/sounds/ai_you.wav Распознаётся ecss1 (ecss1)… 10.0.10.40 Подключение к ecss1 (ecss1)|10.0.10.40|:9990... соединение установлено. HTTP-запрос отправлен. Ожидание ответа… 200 OK Длина: 11670 (11K) [audio/x-wav] Сохранение в: «ai_you.wav» ai_you.wav.1 100%[========================================================================================>] 11,40K --.-KB/s за 0s 2025-09-16 08:27:36 (81,5 MB/s) - «ai_you.wav» сохранён [11670/11670] |
проверочные файлы можно удалить
rm ai_you.wav |
sudo apt install -y ecss-media-server ecss-web-conf |
Для медиасервера (ecss-media-server/MSR) возможно начальное конфигурирование с записью параметров в файл конфигурации,
для этого нужно провести конфигурацию transport bind-addr,mcc bind-addres:
| Вопросы ecss-media-server | Ответы для ecss1 | Пример |
|---|---|---|
| [ MSR SIP ] Введите bind-ip адрес (Enter) | 10.0.20.40 (необходимо ввести) | |
| [MSR Control-Channel] Введите bind-ip-адрес | 10.0.20.40 (необходимо ввести) |
|
Web-конфигуратор позволяет сделать управление системой более наглядным и комфортным. Установка web-конфигуратора не является обязательной, но рекомендуется.
Также при установке пакета ecss-web-conf автоматически устанавливается пакет ecss-subsriber-portal-ui. Приложение "Портал абонента" системы ECSS-10 позволяет абонентам системы самостоятельно управлять услугами, просматривать информацию по совершенным вызовам, активным конференциям, а также настраивать собственные IVR-скрипты для входящих вызовов. Описание работы веб-конфигуратора приведено в разделе "Портал абонента".
| Вопросы ecss-web-conf | Ответы для ecss1/ecss2 | Пример |
|---|---|---|
| Хотите ли вы использовать стандартные настройки? | Yes (значение по умолчанию) |
|
После формирования конфигураций по умолчанию переходим в директорию, в которой находятся файлы конфигурации и производим их проверку:
cd /etc/ecss/ecss-media-server/ |
cat /etc/ecss/ecss-media-server/config.xml |
Конфигурация для msr: файл - config.xml, в директории conf.d файл default.xml.
По своей сути default.xml — это дополнение config.xml, которое определяет секцию аккаунтов. Это сделано для того, чтобы после обновлений пакета данная конфигурация оставалась неизменной. Вид config.xml представлен здесь: файл конфигурации.
<?xml version="1.0" encoding="utf-8"?>
<config date="02:30:33 07.12.2023">
<general log-level="3" log-rotate="yes" max-calls="8192" max-in-group="512" load-sensor="media" load-delta="10" calls-delta="100" spool-dir-size="100M" log-name="msr.log" log-path="/var/log/ecss/media-server" use-srtp="disabled" enable-ice-transport="no" ice-update="no" aggressive-ice="yes" stun-server="" suspicious-mode="no"/>
<transport bind-addr="10.0.20.40" port="5040" transport="udp+tcp"/>
<!-- By default configured public TURN-server -->
<turn-server use-turn="no" host="numb.viagenie.ca" user="webrtc@live.com" password="muazkh"/>
<media mixer-clock-rate="8000" use-vad="no" cng-level="0" jb-size="60" rtcp-timeout="0" rtp-timeout="350" udp-src-check="no" cn-multiplier="3" port-start="12000" port-range="2048" tias-in-sdp="no" thread-cnt="2" vid-enc-threads="2" vid-dec-threads="2" video-conf-layout="evenly" keyframe-interval="1000" vid-decode-delay="100" silence-threshold="-30" dtmf-flash-disable="no" video-dscp="0" other-dscp="0" dummy-video-src="/usr/share/ecss-media-server/video/dummy_video.yuv" video-enc-width="640" video-enc-height="360" finalsilence="1000" rtcp-stat-dump="yes" silent-codec-switch="yes"/>
<codec pcma="1" pcmu="2" ilbc="0" gsm="0" g722="3" g726="0" g729="0" speex="0" l16="0" g7221="0" opus="0" h264="1" h263-1998="2" t38="1" tel-event-pt="0"/>
<accounts>
<!-- <dynamic msr_name="msr.name"
realm="sip:127.0.0.1:5000"
dtmf_mode="rfc+inband+info"
auth_name="user"
auth_password="password" /> -->
</accounts>
<pbyte>
<mcc bind-addr="10.0.20.40" port="5700"/>
</pbyte>
<conf_dir path="/etc/ecss/ecss-media-server/conf.d"/>
<rtp>
<auto addr-v4=""/>
</rtp>
</config>
|
По умолчанию после инсталляции ECSS-10 активизирует только кодеки — pcma, pcmu, g722, h264, h263-1998, t38. Остальные имеют статус =0 = выкл. Если требуется активировать остальные кодеки, в редакторе nano измените приоритет с 0 на цифру приоритета (уровень приоритета не должен повторятся для сервиса audio/video/fax)
sudo nano /etc/ecss/ecss-media-server/config.xml
| чтобы активизировать все кодеки строчку - <codec pcma="1" pcmu="2" ilbc="0" gsm="0" g722="3" g726="0" g729="0" speex="0" l16="0" g7221="0" opus="0" h264="1" h263-1998="2" t38="1" tel-event-pt="0"/> привести к виду - <codec pcma="1" pcmu="2" ilbc="6" gsm="4" g722="3" g726="11" g729="5" speex="7" l16="8" g7221="9" opus="10" h264="1" h263-1998="2" t38="1" tel-event-pt="0"/> |
Недопустимо указывать у разных кодеков одинаковый приоритет, для примера g722="5" g729="5". В этом случае media-server не сможет работать корректно. |
Рассмотрим секцию аккаунтов (файл default.xml):
cat /etc/ecss/ecss-media-server/conf.d/default.xml |
После инсталляции пакетов в фале будет указан ip-add 127.0.0.1.
Требуется указать в конфигурации, реальный IP-add. |
Необходимо привести содержимое файла к виду указанному снизу (в примере ecss1 имеет IP-add 10.0.20.40):
sudo nano /etc/ecss/ecss-media-server/conf.d/default.xml |
| Настройка msr для ecss1 (/etc/ecss/ecss-media-server/conf.d/default.xml) | |
|---|---|
Проверить на корректность данных.
|
Указываем текущие настройки, согласно которым происходит регистрация msr на core.
Основными параметрами здесь являются: msr_name и realm:
После изменения конфигурации файлов /etc/ecss/ecss-media-server/config.xml и /etc/ecss/ecss-media-server/conf.d/default.xml необходимо выполнить перезапуск сервиса ecss-media-server, чтобы изменения вступили в силу, следующей командой:
sudo systemctl restart ecss-media-server |
Описание настройки остальных сервисов приведено в разделе "Инсталляция дополнительных необязательных пакетов".
Настройка SNMP описана в разделе "Управление и мониторинг по протоколу SNMP".
Выполните настройку сервера SSH:
sudo nano /etc/ssh/sshd_config |
Укажите в конфигурационном файле порт и адрес, по которому можно обратиться к серверу:
| Настройка ssh для ecss1 (/etc/ssh/sshd_config) |
|---|
# This is the sshd server system-wide configuration file. See # This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin # The strategy used for options in the default sshd_config shipped with Port 2000 <...> |
Перезапустите ssh:
sudo systemctl restart ssh.service |
sudo reboot |
Исходные данные
Рекомендуется использовать последние доступные версии браузеров. Рекомендуемые к использованию браузеры: Яндекс, Chrome. Для начала конфигурации системы необходимо зайти в web-конфигуратор по адресу http://<Ipadd SSW>. Для определения и регистрации в системе планируются:
Подготовка к работе
Рисунок 3 — Вход в web-конфигуратор (окно авторизации) В окне авторизации необходимо ввести значения, определенные при установке web-конфигуратора.
После входа в систему будет видна основная рабочая область с иконками приложений, а также строка состояния с доступными опциями, в частности:
Рисунок 4 — Вид рабочей области web-конфигуратора Создание учетной записи оператораПосле авторизации для повышения безопасности при эксплуатации программного коммутатора рекомендуется создание учетных записей для операторов, а также сменить пароль для пользователя admin. Для создания новой учетной записи оператора используется приложение "Управление пользователями" ("User manager"):
Рисунок 5 — Вид приложения "Управление пользователями" Нажмите кнопку "Добавить"
Рисунок 6 — Диалоговое окно создания учетной записи оператора
Рисунок 7 — Вид приложения с созданной учетной записью оператора Для смены пароля рядом с названием пользователя нажмите на кнопку редактировать. В появившемся диалоговом окне введите: 1. Старый пароль (для пользователя "admin" по умолчанию паролем является "password"); 2. Новый пароль; 3. Подтвердите новый пароль.
Рисунок 8 — Диалоговое окно редактирования учетной записи Добавление медиа-ресурсов.Для того чтобы начать работу с медиа-сервером сразу после его регистрации, необходимо активировать сетевые интерфейсы MSR. Приложение web-конфигуратора "Сетевые окончания MSR" ("MSR registrars") служит для настройки медиа-ресурсов.
Рисунок 9 — Сетевые окончания MSR Установить ipадрес для приема соединений от медиасервера, изменив значение 0.0.0.0 на реальные адреса MSR:
Рисунок 10 — Установка IP-add регистратора MSR Создание IP-set (sip-транспорта) и присвоение его к домену
Для настройки интерфейса необходимо открыть приложение "Кластеры ("Clusters").
Рисунок 11 — Вид приложения "Кластеры" Для создания новой группы IP-адресов (IP-set) выделите кластер SIP-адаптера "sip1" и нажмите на кнопку "Свойства кластера" (или нажмите на иконку кластера двойным щелчком левой кнопки мыши). В появившемся диалоговом окне перейдите на вкладку "Транспорт". Далее нажмите кнопку "Добавить". Появится новая группа, для редактирования полей двойным щелчком кнопки мыши нажмите на нужное: 1. Переименуйте группу адресов (IP-set), например "test_set"; 2. Задайте порт, по которому будет происходить обращение к домену, например 5060; 3. Разверните вновь созданную группу нажатием на треугольник слева от названия группы; 4. Определите адрес для ноды SIP-адаптера, согласно примеру конфигурации. Для примера 10.0.20.40:
Рисунок 12 — Вид приложения "Кластеры/Транспорт" Нажмите кнопку "Сохранить" для применения настроек. Создание доменаДомен - Виртуальная PBX внутри нашего SSW. Таких виртуальных PBX может быть создано необходимое для проекта кол-во. Для создания домена необходимо войти в приложение "Домены" ("Domain"). В открывшемся окне требуется создать домен, для этого: 1. Нажмите кнопку "Добавить домен":
Рисунок 13 — Добавление домена в систему 2. В появившемся диалоговом окне доступны следующие настройки: Введите название домена, например "test_domain"; 3. Нажмите кнопку "Ок":
Рисунок 14 — Определение настроек нового домена 4. Нажмите кнопку "Обновить" Созданный домен будет отображаться в текущей конфигурации:
Рисунок 15 — Отображение созданного домена Для редактирования текущего домена его необходимо выбрать в системе. Для перехода в домен воспользуйтесь опцией выбора домена (см. пункт 2 на рисунке "Вид рабочей области web-конфигуратора"). После выбора домена, согласно текущей конфигурации системы, станут доступны все приложения:
Рисунок 16 — Отображение приложений в текущей конфигурации системы Для того чтобы привязать группу адресов к домену, необходимо вернуться в приложение "Домены" ("Domain"), выделить домен и перейти в настройки нажатием на кнопку "Свойства домена" или двойным нажатием левой кнопки мыши на домен. В настройках списка откройте ветку "SIP", в ней "SIP транспорт", далее выберите в поле IP set созданную группу адресов. Нажмите кнопку "Сохранить" для применения настроек.
Выбрать требуемые услуги для созданного домена, которые будут использоваться (для примера для абонентского домена транковые услуги не востребованы , и наоборот для транзитного домена не нужно указывать услуги для абонента).
Рисунок 18 — После создания нового домена, услуги отсутствуют.
Рисунок 19 — Выбор услуг для абонентов / транков нового домена.
Рисунок 20 — Список услуг теперь доступных для абонентов нового домена. Создание абонентовДля создания и редактирования параметров абонентов в системе используется приложение "Карточка абонента" ("Subscriber card").
Рисунок 21 — Вид приложения "Карточка абонента" В конфигурации возможно создание SIP-абонентов и виртуальных абонентов. Для пользователей, имеющих физическое окончание, используется функционал SIP-абонента, в то время как виртуальный абонент используется тогда, когда нужна функциональность без физических окончаний. Например, номер для обращения к ivr-скрипту. Для создания новых абонентов нужно нажать на кнопку "Добавить". В появившемся диалоговом окне укажите следующие параметры:
Рисунок 22 — Пример создания 10 абонентов в домене "test_domain"
Рисунок 23 — Пример добавления услуг для абонента Создание и применение контекстов маршрутизации для доменаМаршрутизация отвечает за поиск номера и последующую адресацию вызова. Для корректной работы системы должен быть настроен как минимум один контекст маршрутизации. Настройка маршрутизации осуществляется в приложении "Менеджер маршрутизации" ("Routing manager") .
Рисунок 24 — Вид приложения "Менеджер маршрутизации" В качестве примера создадим контекст, а затем несколько правил в нём, для этого: 1. В левой части окна в разделе "Контекст" нажмите на кнопку "Создать контекст" 2. В открывшемся диалоговом окне обозначьте имя контекста:
3. Нажмите "Сохранить контекст" Создадим 4 правила в данном контексте:
Для создания нового правила нужно выделить созданный контекст и нажать кнопку "Создать правило". В появившемся окне нужно ввести название правила. Затем сохранить вновь созданные правила.
Рисунок 26 — Создание правила контекста маршрутизации
Рисунок 27 — Определение правил На данный момент не определен транк, чтобы можно было сослаться на него в правиле, однако можно задать номера, по которым будет производится выборка. Нажав на правило rule1, перейдем в нижнюю часть экрана, в которой располагаются области для редактирования контекста маршрутизации. Условно определим, что выборка для выхода на транк будет проводиться по признакам номера вызываемого абонента (CDPN), а номера в транке должны начинаться с цифры 4. Функционально контекст маршрутизации делится на три части:
rule1: Для выхода на транк нужно правильно отредактировать каждую часть:
Чтобы настроить поле результата, нужно определить транк в системе, поэтому к настройке данного правила вернемся чуть позже. Таким же образом нужно настроить оставшиеся правила. Для rule2:
Для rule 3 допустим, что абоненты с номерами 108, 109 и 110 попадают в ivr-скрипт–информатор, прежде чем звонить далее.
Чтобы настроить поле результата, нужно определить в системе ivr-скрипт, поэтому к настройке данного правила вернемся чуть позже. Для rule 4 мы определяем правило-исключение — это правило, которое работает в случае, если любые другие правила не срабатывают.
Рисунок 28 — Пример настроек контекста маршрутизации
|
Добавление медиа-ресурсов в интерфейсе командной строки (CLI)
Зайдите в CLI - CoCon:
Установить связь MSR- и Core-подсистем. Для этого выполнить команды:
Добавление управления регистратором для MSR медиа менеджера в интерфейсе командной строки (CLI)
Установить ipадрес для приема соединений от медиасервера:
После того как все сервисы будут запущены, ноды какое-то время будут устанавливать связь. Как только все ноды загрузятся , при выполнении запроса system-status, последует вывод следующей информации:
В примере выше видно, что ноды вошли в кластер и MSR зарегистрировались на ноде ecss-core.
Создание Домена и подключение IP-setСоздайте Домен (виртуальную АТС) и присвойте ему созданную выше группу (IP-set) настроек SIP-адаптера (команды выполняются в CoCon):
Добавление услугУстановка всех услуг указных в лицензии:
После установки в систему всех услуг, администратор системы должен открыть доступ на управление услугами оператору Домена (виртуальной АТС). Для этого используются команду: Разрешить оператору Домена (виртуальной АТС) "test_domain" управлять всеми услугами :
Для возможности применения пакета услуг у абонентов сразу после создания, необходимо настроить политику применения лицензионных пакетов услуг (детальную информацию вы можете посмотреть здесь ) Создать политику применения лицензии с именем -"new_sub"
Задать имя пакета услуг дополнительных сервисов, для этого использовать следующие команды :
нас интересует следующая информация :
имя пакета услуг в примере "ECSS-ADV".
Пакет добавлен, но в настоящий момент политика не активна (не может быть применена к абоненту). Для активации политики new_sub выполнить следующую команду:
Теперь при создании абонентов можем использовать дополнительные услуги. |