Вопросы для разбора:
- Правила записи разговоров.
- Типы хранилищ записанных разговоров.
- Жизненный цикл записанного разговора: от исходника через микширование до хранилища.
- Формат хранения разговоров (способ сжатия, параметры кодека, моно-стерео).
- Автоматическое удаление старых разговоров.
- Принцип скачивания разговора для прослушивания.
- Временные и постоянные ссылки.
- Стенографирование: настройка, применяемые технологии, управление вычислительными ресурсами, доступ к стенограммам.
- Подход к реализации функции воспроизведения разговора в режиме караоке.
- Поиск ключевых слов в стенограммах.
- Возможные кейсы на базе стенографирования онлайн.
После выполнения заданий темы будет получен опыт разнообразной настройки записи разговоров: локальная запись и запись внешними средствами, место и схема размещения записей при локальном хранении и внешнем хранении, форматы записей, особенности настройки системы для записи разговоров со сценариями и конференциями. Будет опробовано прослушивание записей и получение записей через API, а также опционально стенографирование записей.
Задание 10.1. Запись локальная
Запись локальная
Стандартный вид записи - средствами самого медиашлюза платформы. Каждый канал записывается раздельно, по завершении микшируется в один стерео файл и затем, в соответствии с правилами записи в доменах участников разговора, раскладывается по хранилищам доменов. Если домены участников разговора не включают запись с помощью правил, то запись медиашлюзом не производится. Записи разговоров конкретного домена хранятся в одном из предснастроенных мест: либо внешнее хранилище S3, либо NFS-папка, либо локальная папка одного из серверов кластера.
Кстати, запись конференции - это совокупность записей разговоров каждого ее участника с одной стороны и конференции с другой стороны.
Видео поток разговоров не записывается (но может быть записана видеоконференция обслуживаемя сервисом meet).
В рамках задания будет получен опыт настройки правил записи, заведения хранилища S3, подключения хранилища S3 к домену платформы для хранения записей разговоров.
Настроить правило записи. Писать всех.
1. Совершите вызов, ответить, надиктовать, завершить.
2. Создайте пользователя с ролью admin, callcenter_admin, callcenter_supervisor, callcenter_operator. Авторизуйтесь под ним в домене.
3. В приложении Отчеты -> Разговоры -> Завершенные найдите совершенный разговор. Выделите его. Кнопкой скачайте запись и прослушайте. Доступны ли записи для других разговоров в списке?
4. Хранение в S3.
- Настройка.
Если у вас нет под рукой S3 хранилища, то создайте учетную запись в яндекс-облаке.
Авторизуйтесь под учетной записью администратора, откройте приложение Настройки -> Домен -> Параметры. Переключитесь в раздел Прочее -> Хранилища.
Создайте хранилище с именем "records" и типом "s3". В качестве параметров введите json с полями bucket, keyId, secretKey, endpoint, prefix.
- Совершите вызов 101 -> 102, ответьте, надиктуйте, завершите.
- Спустя полминуты в приложении Отчеты обнаружьте запись. Скачайте и прослушайте ее.
- Попробуйте скачать и прослушать предыдущую запись. Она доступна или нет? Почему?
- Подключитесь через консоль управления к S3 хранилищу, обнаружьте там запись. Как формируется путь и имя файла?
Верните хранение на диске.
Задание 10.2. Настройка записи
Настройка записи
В ходе выполнения задания будет получен опыт тонкой настройки правил записи. Будут обнаружены разнообразные параметры, доступные для управления записями, включая конфигурацию, управляющую статической настройкой всей системы. Будет обнаружено локальное место размещения записей.
Помимо локальной записи есть возможность осуществлять запись внешними средствами (RFC-7866). Для ее осуществления нужен соответствующий SRS (session recording server), куда сервер направляет дополнительный специфический SIP-INVITE и транслирует два RTP-потока — от каждого из участников разговора. В ходе выполнения задания будет опробован механизм внешней записи. Однако не SIPREC, а аналогичный ему, но обыкновенный с точки зрения SIP, специально добавленный для нужд тестирования с помощью произвольного SIP-устройства.
1. Настройте запись таким образом, чтобы
- не писались разговоры абонентов 1XX.
- писались разговоры, где участвуют внешние абоненты, кроме 12345XX, а также тех с которыми разговаривают абоненты 1XX.
- разговоры остальных внутренних абонентов писались только при условии, что в них не участвуют абоненты 1XX и 12345XX.
- записывался разговор с одним IVR, и не записывался разговор с другим IVR.
2. Совершите вызов, прослушайте запись разговора в приложении "Отчеты".
3. Попробуйте через API получить доступ к записи разговора.
4. Попробуйте найти запись на диске сервера. Медиашлюз записывает, микшер готовит итоговый файл, затем файл отправляется на хранение — обнаружьте все эти места на локальных дисках серверов кластера, попробуйте сформулировать описание потока данных и процесса управления данными, связанных с записью разговоров.
Какие результаты и какие выводы?
5. Переключите запись на хранение в облако S3 в формате стерео MP3 наивысшего доступного качества.
6. Добейтесь записи разговоров со сценариями. Что минимально необходимо настроить в свежеразвернутой системе, чтобы производилась запись диалога абонента со сценарием IVR?
7. Настройте внешнюю запись типа mixrec (путем форк-вызова на отдельно стоящий аппарат).
Задание 10.3*. Стенографирование
Стенографирование. VOSK
Стенографирование в платформе реализовано как концепция, не имеющая глубокого практического применения. Тем полезнее иметь о ней общее представление. В данный момент стенографирование производится средствами установленного вместе с платформой сервиса VOSK, но потенциально для этих нужд могут использоваться и другие сервисы, как локальные так и внешние.
Выполнив задание будет получено практическое представление о текущем способе подключения сервиса стенографирования, его производительность и качество, а главное — его место в процессе записи разговоров и место размещения результатов стенографирования в архиве разговоров.
1. Установите образ vosk (система распознавания).
2. Настройте в домене подключение к vosk
/entities/domain/setting.html#record_asr_options
3. Настройте правила стенографирования
4. Совершите вызов. Сэмулируйте диалог (привлеките коллегу, или говорите в одну трубку, закрывая при этом или устанавливая на mute другую трубку).
5. Спустя несколько минут в рабочем домене откройте приложение Отчеты -> Разговоры -> Завершенные. Найдите там разговор, просмотрите его стенограмму.
Помните, что:
- процесс стенографирования запускается после завершения и микширования разговора и его переноса в доменные хранилища.
- процесс стенографирования применяется только к двум участникам диалога, и стенографирует их каналы раздельно и последовательно.
- процесс стенографирования затратный и длительный, сравнимый с длительностью самого разговора (коэффициент 2-6).
- одновременно один экземпляр сервиса стенографирования vosk может стенографировать до 4 потоков.
- как следствие: стенографировать массово разговоры не получится.