Использование модема для отправки записи голоса

У меня есть интересный для вас. Я обошел свои системы мониторинга и оповещения серверов (на основе Nagios) и понял, что если наше интернет-соединение оборвется, у него не будет возможности уведомить меня. У меня уже есть прослушивание модема (через CentOS 5) на запасной линии POTS, чтобы я мог дозвониться на случай, если наш интернет отключится. Мне было интересно, смогу ли я придумать сценарий (Shell, Python и т. Д.), Который может набирать номер и воспроизводить записанное сообщение (я думаю, волновой файл), когда оно поднято. Я знаю, что Windows поддерживает голосовые вызовы через голосовой модем, мне было интересно, существует ли решение для Linux...

Я знаю, что звездочка, вероятно, может это сделать, но разве это не излишне (Полноценная система VOIP только для механизма уведомлений, который, мы надеемся, никогда не будет использован)? И не помешает ли это основной функции модема в качестве резервного сетевого интерфейса (PPP порождается через mgetty)?

Я провел некоторые поиски, и не особо придумал. Я знаю, как набирать номер из командной строки, но только как модем (не как голос). В худшем случае, я мог бы настроить его так, чтобы он вызывался как модем, а затем просто понял, что если я получу звонок со звуками модема с этого номера, то это уведомление... Любое понимание будет оценено...

6 ответов

Решение

Linux использует vgetty для голосовых данных через модем (в основном в качестве автоответчика). Похоже, что в CPAN есть модуль perl, который поставляется с примером скрипта, подобным тому, что вы хотите.

Сценарий Callme

В подкаталоге example s исходного дистрибутива есть скрипт callme.pl. Это набирает указанный номер и воспроизводит данное сообщение. Используйте следующую команду для его запуска:

    vm shell -S /usr/bin/perl callme.pl <number> <message>.rmd

Я использую внешний сервер для запуска дополнительного экземпляра Nagios, который является последним средством уведомления в случае полного сбоя.

Хотелось бы, чтобы у меня был ответ на вопрос о воспроизведении звука через модем. Я хочу сказать, что это должно быть просто, но мои знания об этом становятся ржавыми. Раньше голосовые модемы продавались специально для воспроизведения звука.

На вашем месте я бы попытался перенаправить воспроизведение звука с помощью консольного программного обеспечения. Я думаю, это может быть очень просто. Я мог бы исследовать больше позже, когда у меня есть момент.

Я нашел это во время быстрого поиска:

В дополнение к модулю и скрипту Perl, Vgetty включает скрипт Bash message.sh который может аналогичным образом вызвать и воспроизвести сообщение. Это можно найти в mgetty_src_1.1.37/voice/scripts каталог. Он может быть установлен вместе с документацией mgetty/vgetty в зависимости от вашего дистрибутива. На OpenSuSE 42.1 его можно найти в /usr/share/doc/packages/mgetty/voice/scripts/message.sh,

Чтобы использовать это:

message.sh 5551212 message.rmd

Он не требует запуска vgetty, только правильно установлен и настроен для вашего модема. Номер телефона может быть локальным (555-1212) или полным (1-942-555-1212), но без дефисов (-). message.rmd должен быть в формате, понятном вашему модему, или быть готовым к шипению и шипению.

При поиске Google наткнулся на этот вопрос и подумал, что, хотя я специально хочу захватить / воспроизвести образец голоса, для вашей ситуации может подойти простое SMS.

Я использовал модем Huawei (USB-ключ) в качестве SMS-центра на своем Raspberry Pi с бесплатной SIM-картой от CSP, чтобы я мог отправлять текстовые сообщения и получать базовую информацию о системе. Я предполагаю, что это может быть легко изменено, чтобы отправить SMS в ответ на Nagios, обнаруживающий интернет-сбой!

Обратите внимание, что для отправки SMS вам нужна обычная телефонная SIM-карта (а не SIM-карта только для данных / планшета).

Я использовал пост в блоге здесь: http://hristoborisov.com/index.php/projects/turning-the-raspberry-pi-into-a-sms-center-using-python/

... который специально использует этот пример кода на github.

В целях предотвращения гниения ссылок, суть заключается в том, чтобы использовать serial библиотека в питоне (import serial) и отправьте обычные AT-команды модема на модем. Переведите модем в текстовый режим, а затем отправьте тестовое сообщение, используя следующие строки:

AT+CMGF=1\r

AT+CMGS="07123456789"\r
some message here.<Ctrl-Z>

Если у вас была удаленная учетная запись, она может подключиться к Интернету, отправить текстовое сообщение по электронной почте, а затем отключиться.

Другие вопросы по тегам