使用调制解调器发送录音

我有一个有趣的一个给你。 我一直在检查我的服务器监控和通知系统(基于Nagios),并意识到如果我们的互联网连接断开,没有办法通知我。 我已经有一台调制解调器在一个备用的POTS线上监听(通过CentOS 5),以便在我们的networking出现故障时能够拨入。 我想知道如果我能拿出一个脚本(壳牌,Python等),可以拨出并播放录制的消息(我猜猜看波形文件),当它被拿起。 我知道Windows通过语音调制解调器支持语音通话,我想知道是否有Linux的解决scheme…

我知道星号可以做到这一点,但不是过度杀伤(一个完整的VOIP系统只是为了通知机制,希望永远不会被使用)? 它不会干扰调制解调器的主要function作为备份networking接口(PPP通过mgetty产生)?

我做了一些search,并没有真正拿出很多。 我知道如何从命令行拨出,但只能作为调制解调器(而不是语音)。 最坏的情况下,我可以设置拨号作为一个调制解调器,然后才明白,如果我从这个号码调制解调器的声音,这是通知…任何洞察力将不胜感激…

Linux使用vgetty通过调制解调器(主要是作为应答机)的语音数据。 看起来CPAN上有一个perl模块 ,它有一个你想要的示例脚本。

Callme脚本

在源代码分发的示例子目录中有一个callme.pl脚本。 这拨打给定的号码,并播放给定的消息。 使用以下命令来运行它:

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

我使用外部服务器来运行Nagios的其他实例,如果完全失败,这是最后的通知。

我希望我有你的调制解调器audio播放问题的答案。 我想说这应该是简单的,但我对这些东西的知识正在生锈。 曾经有专门用于播放audio的语音调制解调器 。

如果我是你,我会尝试使用控制台软件redirectaudio播放。 我想这可能很简单。 我可能会稍后再研究一下。

我在快速search过程中发现了这一点:

  • Nobix PageAlert

如果您有拨号networking帐户,则可以连接到互联网,通过电子邮件发送文本,然后断开连接。

在谷歌search中遇到这个问题,并认为虽然我特别想捕捉/重播一个语音样本,但一个简单的短信可能适合您的情况。

我用一个华为调制解调器(USB dongle)作为我的树莓派上的一个短信中心,提供一个来自CSP的免费SIM卡,这样我就可以发短信了,并以系统的基本信息做出响应。 我猜想可以很容易地修改发送短信来响应Nagios检测到互联网故障!

请注意,您需要一个普通的手机SIM(而不是数据/平板电脑SIM)才能发送短信。

我在这里使用博客文章: http : //hristoborisov.com/index.php/projects/turning-the-raspberry-pi-into-a-sms-center-using-python/

… 在github上特别使用这个示例代码。

为了防止链接腐烂,要点是在python( import serial )中使用serial库,并将常规调制解调器AT命令发送到调制解调器。 将调制解调器置于文本模式,然后使用以下string发送testing消息:

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

除了Perl模块和脚本之外,Vgetty还包含一个Bash脚本message.sh ,它可以类似地调出并播放消息。 它可以在mgetty_src_1.1.37/voice/scripts目录中find。 根据您的发行版可能会安装mgetty / vgetty文档。 在OpenSuSE 42.1上可以在/usr/share/doc/packages/mgetty/voice/scripts/message.shfind。

要使用它:

 message.sh 5551212 message.rmd 

它不需要vgetty正在运行,只需要为您的调制解调器正确安装和configuration。 电话号码可以是本地号码(555-1212)或完整号码(1-942-555-1212),但不带任何连字符( – )。 message.rmd必须采用您的调制解调器能够理解的格式 – 或者准备好一个嘶嘶声和stream行音乐。