Программа которая звонит по SIP телефонии и понимает ДА/НЕТ

15 000 руб. за проект
19 августа 2021, 17:11 • 3 отклика • 40 просмотров
Что требуется:
Создать программу под linux которая сможет совершать звонки через SIP телефонию, проигрывать аудио-запись ответившему абоненту и слушать его ответ: "да" или "нет". В зависимости от ответа - проиграть другой аудио-файл и послать определенный http запрос по указанному адресу. Если абонент ответил другое слово, то проиграть другой аудио-файл и слушать опять.

Программа должна быть написана с использованием open-source технологий, без использования сторонних API сервисов Вся обработка должна происходить на локальной машине. Предполагаемый стек: Asterisk, CMUSphinx/Kaldi/tensorflow
Все должно работать в Docker-е.
После оплаты вы должны предоставить исходный код.

Конфигурация программы (yaml файл):

greeting_audio: "" # путь до аудио файла приветствия
repeat_audio: "" # аудио если ответ не понятен
yes_audio: "" # аудио после ответа ДА
no_audio: "" # аудио после ответа НЕТ
yes_post_url: "" # ссылка которая будет вызываться POST запросом при ответе ДА, возможно вставить значения переменных {var1}, 2,3.
no_post_url: "" # ссылка которая будет вызываться POST запросом при ответе НЕТ, возможно вставить значения переменных {var1}, 2,3.
timeout: 60 # таймаут в сек. когда программа завершится если не получено ответа

# дополнительные параметры в заголовке
request_headers:
- "Name1: value1" # пример. доп. заголовка
- "Name2: value2"

# настройки телефонии
sip_host: ""
sip_login: ""
sip_password: ""
sip_port: 5060

Входные параметры:
--config - путь до файла конфигурации yaml
--phone - телефон по которому будет произведен звонок
--var1 --var2 --var3 - переменная которую можно подставить в ссылку которая будет заменять плейсхолдер {var1}...

Коды ошибок:
0 - звонок удался, url вызвался
1 - абонент не отвечает
2 - невозможно дозвониться до номера телефона (неверный)
3 - ошибка телефонии (кончились деньги, неверный пароль и т.д.)
4 - звонок удался, но ошибка вызова url