Usando o modem para enviar gravação de voz

5

Eu tenho um interessante para você. Eu tenho repassado meus sistemas de monitoramento e notificação de servidores (baseado no Nagios), e percebi que, se a conexão com a Internet cair, não há como me avisar. Eu já tenho um modem escutando (Via CentOS 5) em uma linha POTS de reposição para que eu possa discar no caso de nossa internet cair. Eu queria saber se eu poderia chegar a um script (Shell, Python, etc) que pode discar e reproduzir uma mensagem gravada (arquivo de onda, eu estou supondo) quando é pego. Eu sei que o Windows suporta chamadas de voz através de um modem de voz, eu queria saber se havia uma solução para o Linux ...

Eu sei que o asterisco provavelmente pode fazê-lo, mas isso não é um exagero (um sistema VOIP completo apenas para um mecanismo de notificação que, esperamos, nunca será usado)? E isso não interferiria na função principal do modem como uma interface de rede de backup (PPP gerada via mgetty)?

Eu fiz algumas pesquisas, e realmente não fiz muita coisa. Eu sei como discar a partir da linha de comando, mas apenas como um modem (não como voz). Na pior das hipóteses, eu poderia configurá-lo para discar como um modem e, em seguida, apenas perceber que se eu receber uma chamada com modem sons daquele número que é a notificação ... Qualquer insight seria apreciado ...

    
por ircmaxell 17.06.2010 / 22:02

6 respostas

2

O Linux usa vgetty para dados de voz em um modem (principalmente como secretária eletrônica). Parece que há um módulo perl no CPAN que vem com um exemplo de script como o que você quer.

Callme script

In the examples subdirectory of the source distribution there is a callme.pl script. This dials the given number and plays the given message. Use the following command to run it:

    vm shell -S /usr/bin/perl callme.pl <number> <message>.rmd
    
por 18.06.2010 / 02:04
1

Eu uso um servidor externo para executar uma instância adicional do Nagios, que é uma última notificação de recurso em caso de falha completa.

Eu gostaria de ter uma resposta para sua pergunta de reprodução de áudio do modem. Eu quero dizer que deve ser simples, mas meu conhecimento dessas coisas está ficando enferrujado. Costumava haver Modems de voz vendidos especificamente para a reprodução de áudio.

Se eu fosse você, estaria tentando redirecionar a reprodução de áudio usando o software do console. Eu acho que isso poderia ser muito simples. Eu poderia pesquisar mais tarde quando tiver um momento.

    
por 17.06.2010 / 22:22
1

Encontrei isso durante uma pesquisa rápida:

por 18.06.2010 / 01:03
0

Se você tivesse uma conta de Internet discada, ela poderia se conectar à Internet, enviar um texto por e-mail e, em seguida, desconectar.

    
por 17.06.2010 / 22:17
0

Veja esta pergunta enquanto pesquisava e percebi que, embora eu queira especificamente capturar / reproduzir uma amostra de voz, um SMS simples pode ser adequado à sua situação.

Eu usei um modem Huawei (dongle USB) como um centro de SMS no meu pi framboesa com um SIM livre de um CSP, para que eu possa enviar uma mensagem de texto e ele responda com informações básicas sobre o sistema. Eu acho que poderia ser facilmente modificado para enviar um SMS em resposta ao Nagios detectar falhas na internet!

Note que você precisa de um SIM de telefone comum (não um SIM de dados / tablet) para poder enviar SMS.

Eu usei o post do blog aqui: link

... que usa especificamente esse código de exemplo no github .

No interesse de evitar link-rot, a essência é usar a biblioteca serial em python ( import serial ) e enviar comandos AT padrão de modem para o modem. Coloque o modem no modo de texto e envie uma mensagem de teste usando as seguintes strings:

AT+CMGF=1\r

AT+CMGS="07123456789"\r
some message here.<Ctrl-Z>
    
por 04.01.2016 / 16:38
0

Além do módulo e do script Perl, o Vgetty inclui um script Bash message.sh que também pode chamar e reproduzir uma mensagem. Pode ser encontrado no diretório mgetty_src_1.1.37/voice/scripts . Pode ser instalado com a documentação do mgetty / vgetty dependendo da sua distro. No OpenSuSE 42.1, pode ser encontrado em /usr/share/doc/packages/mgetty/voice/scripts/message.sh .

Para usá-lo:

message.sh 5551212 message.rmd

Ele não requer que o vgetty esteja em execução, apenas instalado e configurado corretamente para o seu modem. O número de telefone pode ser um número local (555-1212) ou um número completo (1-942-555-1212), mas sem nenhum hífen (-). message.rmd deve estar em um formato que seu modem entenda - ou esteja preparado para uma série de chiados e estalidos.

    
por 20.09.2016 / 22:38