私はあなたのために面白いものを持っています。サーバーの監視および通知システム(Nagiosベース)を調べていましたが、インターネット接続がダウンした場合、通知する方法がないことに気付きました。インターネットがダウンした場合にダイヤルインできるように、予備のPOTS回線でモデムリスニング(Via CentOS 5)をすでに使用しています。録音されたメッセージ(私が推測しているwaveファイル)を拾ったときにダイヤルアウトして再生できるスクリプト(シェル、Pythonなど)を思い付くことができるかどうか疑問に思いました。 Windowsが音声モデムを介した音声通話をサポートしていることは知っていますが、Linux用のソリューションが存在するかどうか疑問に思っていました...
アスタリスクでおそらくそれができることは知っていますが、それはやり過ぎではありませんか(通知メカニズムのためだけの本格的なVOIPシステムであり、使用されることはないでしょう)。そして、それはバックアップネットワークインターフェース(mgettyを介して生成されたPPP)としてのモデムの主要な機能を妨害しませんか?
私はいくつかの検索を行いましたが、実際にはあまり思いつきませんでした。コマンドラインからダイヤルアウトする方法を知っていますが、モデムとしてのみ(音声としてではありません)。最悪の場合、モデムとしてダイヤルアウトするように設定し、その番号からモデムの音で電話がかかってきたら、それが通知であることに気付くことができます...どんな洞察もいただければ幸いです...
Linuxは、モデムを介した音声データにvgetty
を使用します(主に留守番電話として)。 CPANにあるPerlモジュール があり、必要なようなサンプルスクリプトが付属しているようです。
Callmeスクリプト
ソースディストリビューションのexamplesサブディレクトリには、callme.plスクリプトがあります。これにより、指定された番号がダイヤルされ、指定されたメッセージが再生されます。次のコマンドを使用して実行します。
vm Shell -S /usr/bin/Perl callme.pl <number> <message>.rmd
Nagiosの追加インスタンスを実行するために外部サーバーを使用します。これは、完全に失敗した場合の最後の手段の通知です。
モデムのオーディオ再生に関する質問に対する回答があればいいのにと思います。簡単なことだと言いたいのですが、そのことについての私の知識は錆びてきています。以前は 音声モデム オーディオの再生用に特別に販売されていました。
私があなたなら、コンソールソフトウェアを使用してオーディオ再生をリダイレクトしようとしています。これは非常に簡単だと思います。少し時間があれば、もっと後で調査するかもしれません。
クイック検索中にこれを見つけました:
グーグル中にこの質問に出くわし、私は特に音声サンプルをキャプチャ/再生したいのですが、単純なSMSがあなたの状況に適しているかもしれないと考えました。
Huaweiモデム(USBドングル)をRaspberryPiのSMSセンターとしてCSPからの無料SIMを使用して使用しました。これにより、テキストを送信して、システムに関する基本情報で応答します。 Nagiosがインターネット障害を検出したことに応答してSMSを送信するように簡単に変更できると思います!
SMSを送信するには、通常の電話SIM(データ専用/タブレットSIMではない)が必要であることに注意してください。
私はここでブログ投稿を使用しました: http://hristoborisov.com/index.php/projects/turning-the-raspberry-pi-into-a-sms-center-using-python/
...特にこのサンプルコードを使用します github上 。
リンク切れを防ぐために、要点はpython(import serial
)のserial
ライブラリを使用し、通常のモデムを送信することですATコマンドをモデムに送信します。モデムをテキストモードにしてから、次の文字列を使用してテストメッセージを送信します。
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
ディレクトリにあります。ディストリビューションによっては、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
は、モデムが理解できる形式である必要があります。または、ヒスノイズやポップ音に備えておく必要があります。