
我有一個有趣的給你。我一直在檢查我的伺服器監控和通知系統(基於 Nagios),並意識到如果我們的網路連線出現故障,它無法通知我。我已經在備用 POTS 線路上安裝了數據機(透過 CentOS 5)進行監聽,這樣我就可以在網路故障時進行撥入。我想知道我是否可以想出一個腳本(Shell、Python 等),可以在拾取時撥出並播放錄製的訊息(我猜是波形檔案)。我知道 Windows 支援透過語音調製解調器進行語音呼叫,我想知道 Linux 是否存在解決方案...
我知道 asterisk 可能可以做到這一點,但這不是矯枉過正嗎(一個完整的 VOIP 系統只是用於通知機制,但願永遠不會被使用)?它不會幹擾調變解調器作為備份網路介面(透過 mgetty 產生的 PPP)的主要功能嗎?
我已經做了一些搜索,但還沒有真正得出太多結論。我知道如何從命令列撥出,但只能作為調製解調器(而不是語音)。最糟糕的情況是,我可以將其設置為調製解調器撥號,然後意識到,如果我接到來自該號碼的帶有調製解調器聲音的呼叫,則表明這是通知...任何見解將不勝感激...
答案1
Linuxvgetty
透過數據機(主要作為答錄機)用於語音資料。看起來好像有一個Perl 模組位於 CPAN附帶一個像您想要的範例腳本。
打電話給我腳本
在原始碼分發的範例子目錄中,有一個 callme.pl 腳本。這會撥打給定的號碼並播放給定的訊息。使用以下命令來運行它:
vm shell -S /usr/bin/perl callme.pl <number> <message>.rmd
答案2
我使用外部伺服器來運行 Nagios 的附加實例,這是完全失敗時的最後手段通知。
我希望我能回答您的數據機音訊播放問題。我想說這應該很簡單,但我對這些東西的了解正在變得生鏽。過去有語音數據機專為播放音訊而出售。
如果我是你,我會嘗試使用控制台軟體重新導向音訊播放。我認為這可能非常簡單。當我有空的時候,我可能會進一步研究。
答案3
我在快速搜索中發現了這一點:
答案4
在谷歌搜尋時遇到這個問題,並認為雖然我特別想捕獲/重播語音樣本,但簡單的短信可能適合您的情況。
我使用華為調製解調器(USB 加密狗)作為我的樹莓派上的短信中心,並使用 CSP 提供的免費 SIM 卡,這樣我就可以給它發短信,它會回復有關係統的基本信息。我猜想它可以很容易地修改為發送短信以響應 Nagios 檢測到互聯網故障!
請注意,您需要普通手機 SIM 卡(而不是純數據/平板電腦 SIM 卡)才能發送簡訊。
我在這裡使用了部落格文章:http://hristoborisov.com/index.php/projects/turning-the-raspberry-pi-into-a-sms-center-using-python/
...具體使用此範例程式碼在 github 上。
為了防止連結失效,重點是使用serial
python ( import serial
) 中的函式庫並向調變解調器發送常規調變解調器 AT 指令。將數據機置於文字模式,然後使用以下字串發送測試訊息:
AT+CMGF=1\r
AT+CMGS="07123456789"\r
some message here.<Ctrl-Z>