В данном разделе приведен пример пошаговой настройки и установки приложения на хосты с установленной операционной системой Ubuntu 20.04.
Параметры хоста ecss-clerk:
Компонент | Значение |
---|---|
Процессор | 8 ядер, 16 потоков |
Оперативная память | 16 Гб |
Свободное дисковое пространство | 100 Гб |
Внешний IP-адрес, через который хост взаимодействует с внешними системами: 192.168.107.50.
Параметры хоста ecss-tts:
Компонент | Значение |
---|---|
Процессор | 16 ядер, 16 потоков |
Оперативная память | 16 Гб |
Свободное дисковое пространство | 50 Гб |
Внешний IP-адрес, через который хост взаимодействует с внешними системами: 192.168.107.51.
Также предварительно выполнены настройки со стороны ECSS-10 по инструкции Настройка со стороны ECSS-10:
- Медиасервер (MSR) настроен на тактовую частоту 48000 Гц;
- Загружен IVR-скрипт, в блоке ivr настроен внешний IP-адрес приложения и порт 8000 (порт по умолчанию для docker-контейнера сервиса clerk) 192.168.107.50:8000, создано правило маршрутизации по номеру Б — 999 на данный скрипт;
- Компонент ecss-restfs сконфигурирован на работу с ecss-tts, у которого адрес хоста 192.168.107.51 и порт 7890 (порт по умолчанию для docker-контейнера сервиса tts).
Адресная книга доступна по адресу http://192.168.100.200:28500/book.vcf.
Пример контакта из книги:
BEGIN:VCARD VERSION:4.0 PRODID:-//ECSS RESTFS//Carddav 3.11//EN UID:76011072078104322 CATEGORIES: FN:Терентьева Полина N:undefined;undefined;undefined;; EMAIL;TYPE=INTERNET:tpolina@mail.ru TEL;TYPE=WORK:102 REV:2023-09-12 09:06:38 END:VCARD
Для настройки приложения ecss-clerk выполнить следующие шаги на нашем на нашем сервере с ip-адресом 192.168.107.50:
- Скачать скрипт ecss-clerk через утилиту curl:
$ curl -LsO "https://s3.eltex-co.ru/shared/clerk/ecss-clerk"
2. Определить исполняемые права для скрипта:
$ chmod +x ./ecss-clerk
3. Перенести скрипт в директорию в /usr/bin/, чтобы он был доступен глобально :
$ sudo mv ecss-clerk /usr/bin/
4. Выполнить команду для начала установки:
$ sudo ecss-clerk install
5. Выполнить вход в docker registry под вашими учетными данными:
Enter docker registry user: user Enter docker registry password:
6. Выбрать внешний IP-адрес, в нашем случае 192.168.107.50:
Login Succeeded Download stable clerk 2.3 compose files Chose your external interface: 0: 127.0.0.1 1: 192.168.107.50 2: 192.168.108.50 3: 172.17.0.1 4: Enter ip/domain manually Enter an interface number from 0 to 4: 1
В конце установки получаем следующее:
Pulling pcm-manager ... done Pulling mongo ... done Pulling vosk-server ... done Pulling asr-server ... done Pulling keycloak-db ... done Pulling keycloak-importer ... done Pulling keycloak ... done Pulling webbackend ... done Pulling clerk ... done Pulling nginx ... done
7. Изменить значение параметра PB_URL в конфигурации файла /etc/ecss/ecss-clerk/stable/.env на ссылку, по которой доступна адресная книга предприятия, остальные параметры не трогаем.
В данном примере это http://192.168.100.200:28500/book.vcf:
$ sudo nano /etc/ecss/ecss-clerk/stable/.env ... ##################################################### # Clerk ##################################################### CLERK_PORT="8000" PB_URL="http://192.168.100.200:28500/book.vcf" ##################################################### ...
8. Запустить приложение ecss-clerk:
$ sudo ecss-clerk up Creating network "clerk-stable_clerk-network" with the default driver Creating mongo ... done Creating asr-server ... done Creating vosk-server ... done Creating pcm-manager ... done Creating clerk-stable_keycloak-db_1 ... done Creating clerk-stable_keycloak-importer_1 ... done Creating clerk-stable_keycloak_1 ... done Creating clerk ... done Creating clerk-stable_webbackend_1 ... done Creating clerk-stable_nginx_1 ... done Successfully start Clerk latest in stable enviroment
Прежде чем начать пользоваться приложением подождите 20–30 минут после запуска ecss-clerk, это необходимо для адаптации модели под телефонную книгу.
Далее произведем настройку приложения для синтеза речи ecss-tss на нашем сервере с ip-адресом 192.168.107.51:
9. Скачать скрипт ecss-tts через утилиту curl:
curl -LsO "https://s3.eltex-co.ru/shared/tts/ecss-tts"
10. Определить исполняемые права для скрипта:
$ chmod +x ./ecss-tts
11. Перенести скрипт в директорию в /usr/bin/, чтобы он был доступен глобально :
$ sudo mv ecss-tts /usr/bin/
12. Выполнить команду для начала установки:
$ sudo ecss-tts install
13. Выполнить вход в docker registry под вашими учетными данными:
Enter docker registry user: user Enter docker registry password:
В конце установки получаем следующее:
latest: Pulling from tts/ecss-tts/prod-focal/tts-server 35807b77a593: Pull complete fd002ff7034a: Pull complete 8a57bf4a8678: Pull complete d3cfc3abb784: Pull complete e9b0ebd90c66: Pull complete 7ec7efbd79d3: Pull complete 9f3949710185: Pull complete 09eeac1f05ff: Pull complete 13deaff54c8d: Pull complete dfe12da3f50d: Pull complete 4734d59509f9: Pull complete 31057b5b2c77: Pull complete Digest: sha256:05dec2b95b276c59a5ee3e7aa21086cc6957aa8b5da558201b9eba01ee79796e Status: Downloaded newer image for hub-ims.eltex-co.ru/tts/ecss-tts/prod-focal/tts-server:latest hub-ims.eltex-co.ru/tts/ecss-tts/prod-focal/tts-server:latest
14. Запустить приложение:
$ sudo ecss-tts up
Проверить статус работы контейнера приложения можно с помощью команды:
$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 70d3b106b022 hub-ims.eltex-co.ru/tts/ecss-tts/prod-focal/tts-server:latest "python3.8 app/main.…" 25 seconds ago Up 24 seconds 0.0.0.0:7890->7890/tcp, :::7890->7890/tcp ecss-tts
Для обеспечения безопасности можно сменить пароль администратора сервиса keycloak по примеру из инструкции Панель администратора, а также сменить пароль пользователя веб-конфигуратора по примеру из инструкции Пользователь "admin".
После этого приложение полностью готово к работе и можно выполнить быструю проверку:
Совершаем вызов на номер автосекретаря — 999, после приветствия произносим имя и фамилию искомого контакта — "Терентьева Полина" (номер 102). Приложение успешно распознало речь, отправило ответ с номером, IVR-скрипт совершил вызов на номер 102.
Перейдя в веб-интерфейс по адресу http://192.168.107.50:8080/ и войдя под данными пользователя веб-интерфейса приложения в статистике видим наш "успешный" вызов (рисунок 1):
Рисунок 1