Что требуется:
Создать программу под linux которая сможет совершать звонки через SIP телефонию, проигрывать аудио-запись ответившему абоненту и слушать его ответ: "да" или "нет". В зависимости от ответа - проиграть другой аудио-файл и послать определенный http запрос по указанному адресу. Если абонент ответил другое слово, то проиграть другой аудио-файл и слушать опять.
Программа должна быть написана с использованием open-source технологий.
После оплаты вы должны предоставить исходный код.
Конфигурация программы (yaml файл):
greeting_audio: "" # путь до аудио файла приветствия
repeat_audio: "" # аудио если ответ не понятен
yes_audio: "" # аудио после ответа ДА
no_audio: "" # аудио после ответа НЕТ
yes_post_url: "" # ссылка которая будет вызываться POST запросом при ответе ДА, возможно вставить значения {var1} и т.д.
no_post_url: "" # ссылка которая будет вызываться POST запросом при ответе НЕТ, возможно вставить значения {var1} и т.д.
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
Желательно все это завернуть в Docker образ