
У меня есть для вас интересная идея. Я разбирался с системами мониторинга и оповещения сервера (на основе Nagios) и понял, что если наше интернет-соединение отключается, у меня нет возможности уведомить меня. У меня уже есть модем, который слушает (через CentOS 5) на запасной линии POTS, чтобы я мог позвонить в случае, если у нас отключится интернет. Мне было интересно, смогу ли я придумать скрипт (Shell, Python и т. д.), который может звонить и воспроизводить записанное сообщение (полагаю, файл Wave), когда его поднимут. Я знаю, что Windows поддерживает голосовые вызовы через голосовой модем, мне было интересно, есть ли решение для Linux...
Я знаю, что asterisk, вероятно, может это сделать, но разве это не перебор (полноценная система VOIP только для механизма оповещения, который, надеюсь, никогда не будет использован)? И не помешает ли это основной функции модема как резервного сетевого интерфейса (PPP, созданный через mgetty)?
Я поискал немного, но не нашел ничего толком. Я знаю, как звонить из командной строки, но только как модем (не как голос). В худшем случае я мог бы настроить его на звонки как модем, а затем просто понять, что если я получаю звонок со звуками модема с этого номера, то это уведомление... Любая информация будет оценена по достоинству...
решение1
Linux использует vgetty
для голосовых данных через модем (в основном как автоответчик). Похоже, что естьМодуль perl на CPANкоторый поставляется с примером сценария, похожим на тот, который вам нужен.
Скрипт вызова
В подкаталоге examples исходного дистрибутива есть скрипт callme.pl. Он набирает указанный номер и воспроизводит указанное сообщение. Для его запуска используйте следующую команду:
vm shell -S /usr/bin/perl callme.pl <number> <message>.rmd
решение2
Я использую внешний сервер для запуска дополнительного экземпляра Nagios, который является последним средством оповещения в случае полного отказа.
Хотелось бы мне получить ответ на ваш вопрос о воспроизведении звука модемом. Я хочу сказать, что это должно быть просто, но мои знания в этой области ржавеют. Раньше былоГолосовые модемыпродается специально для воспроизведения звука.
Если бы я был вами, я бы попытался перенаправить воспроизведение звука с помощью консольного ПО. Я думаю, это может быть очень просто. Я могу изучить больше позже, когда у меня будет время.
решение3
Я нашел это во время быстрого поиска:
решение4
Наткнулся на этот вопрос во время поиска в Google и решил, что, хотя я и хочу записать/воспроизвести образец голоса, для вашей ситуации подойдет и простое SMS.
Я использовал модем Huawei (USB-донгл) в качестве SMS-центра на моем Raspberry Pi с бесплатной SIM-картой от CSP, так что я могу отправлять ему текстовые сообщения, а он отвечает базовой информацией о системе. Я предполагаю, что его можно легко модифицировать для отправки SMS в ответ на обнаружение Nagios сбоя интернета!
Обратите внимание, что для отправки SMS вам понадобится обычная SIM-карта для телефона (а не SIM-карта только для передачи данных/планшета).
Я использовал запись в блоге здесь:http://hristoborisov.com/index.php/projects/превращаем-raspberry-pi-в-sms-центр-используя-python/
...который использует именно этот пример кодана github.
В интересах предотвращения link-rot, суть заключается в использовании serial
библиотеки в python ( import serial
) и отправке обычных модемных AT-команд на модем. Переведите модем в текстовый режим, а затем отправьте тестовое сообщение, используя следующие строки:
AT+CMGF=1\r
AT+CMGS="07123456789"\r
some message here.<Ctrl-Z>