Нужно настроить следующую систему Linux (minibian + PJSIP) и написать небольшой модуль для выполнения следующих функций:
1. При наступлении события (срабатывания входа GPIO 8) SIP клиент выдерживает паузу (время паузы настраивается в файле конфигурации), затем набирает номер телефона (переменная «"N_tel" из файла конфигурации) и при ответе абонента, проигрывает ему аудио файл №1 ((расположение файла указано в конфигурационном файле). Одновременно с этим, модуль должен инициировать отправку eMail по реквизитам (адрес или URL Почтового сервера, номер порта SMTP, пароль и логин для авторизации на сервере, текст сообщения, текст темы сообщения, адресат и т.д.)
2. Если во время ожидания ответа абонента (переменная "T_ans" которая так же хранится в конфигурационном файле) поступит сигнал со входа GPIO 9, то процедура дозвона прерывается. И модуль переходит в ожидание сигнала со входа GPIO 8. Так же прерывается отправка почтового сообщения, если оно еще не было отправлено.
3. В процессе работы модуля он должен генерить сообщения о том, в каком состоянии он находится в данный момент, для записи в лог-файл, а так же для вывода на монитор (планируется графический SPI монитор)
=========================================
Примечания:
1. Учесть, что реальное устройство будет работать из под NAT
2. Если для отладки работоспособности модуля будет не достаточно эмулятора Raspberry PI и потребуется доступ к реальному устройству, то удаленный доступ будет предоставлен по SSH.
3. Так же будет предоставлен SIP account для проведения тестовых звонков.
4. Выбор ОС minibian обусловлен её миниатюрностью и высокой скоростью загрузки (20 сек). Если у Исполнителя есть иные предпочтения, то выбор иной ОС может быть обсужден и согласован. PJSIP желательно не менять, но при наличие достойной альтернативы можно рассмотреть и другие SIP клиенты, работающие с CLI и умеющие передавать видео контент, так как следующая задача будет связана с осуществлением видео звонков между двумя Raspberry PI.
5. Ссылки на исходные файлы: