Задача делится на 2 этапа:
- Аналитика (уточнение ТЗ).
- Разработка.
Контакты для оперативной связи: 8-912-013-12-03 (Viber, WhatsApp), skype: eniedaplos21.
ЦЕЛЬ:
создать сборку модуля состоящего из Asterisk и Yandex SpeechKit, простую в установке на сервер, не требующую для установки специальных знаний в области телефонии.
Подразумевается что сборка будет работать как внутренний абонент IP АТС.
Готовые примеры подобной связки с Yandex SpeechKit доступны в сети.
Как вариант использование в сборке FreePBX.
НА ОБРАБОТКУ ВО ВНЕШНИЕ МОДУЛИ ПЕРЕДАЕТ СЛЕДУЮЩИЕ СИГНАЛЫ:
снятие трубки роботом (при входящем вызове);
снятие трубки абонентом (при исходящем вызове);
завершение вызова абонентом;
завершение вызова 3-им участником конференции;
распознанный текст (или массив вариантов распознания), с коэффициентом доверия;
DTMF сигналы;
ошибки в ходе распознания (например: отсутствие голоса (отсутствие ответа));
номер телефона с которого пришел входящий вызов;
сигнал о завершении воспроизведения звукового файла или синтеза голоса.
идентификатор соединения (передается в связке с каждым сигналом)
ПРИНИМАЕТ К ИСПОЛНЕНИЮ СЛЕДУЮЩИЕ ВНЕШНИЕ КОМАНДЫ:
воспроизведение в эфир переданного в команде аудио-файла;
воспроизведение в эфир переданного в команде текста, путем синтеза голоса;
ожидание голоса в эфире, с одновременной передачей эфира на обработку в распознаватель;
окончание ожидания голоса в эфире;
ожидание DTMF сигналов абонента;
окончание ожидания DTMF сигналов абонента;
инициирование исходящего вызова, по полученному в команде номеру;
перевод вызова;
организация конференции;
завершение вызова.
ДОПОЛНИТЕЛЬНО:
может организовывать подключение к множеству линий связи.
имеет конфигурационный файл настроек подключения к линиям связи.
имеет веб. форму, для редактирования основных настроек подключения.
записывает все разговоры в mp3 и сохраняет на сервер.
к сборке прилагается пошаговая инструкция по установке, для неподготовленного пользователя.
ОТКРЫТЫЕ ВОПРОСЫ:
Внутренняя и внешняя многоканальность. Принимать и инициировать множество звонков с одного SIP подключения одновременно. Может ли в этом быть проблема?
Формат выходных и входных управляющих сигналов. Какое решение будет максимально простым и универсальным? Необходимы ли еще какие-то данные для ответа на этот вопрос?
Обработка и передача сигналов предположительно будет организована на PHP.
Какие на множествах IP АТС существуют виды перевода вызова? Какой способ предпочтительней? (Вижу оптимальным вариант перевода вызова на уровне SIP клиента (т.е. на уровне описываемой сборки) путем организации дополнительного соединения к нужному абоненту и организации конференции объединением эфиров.