2016/12/21

ひかり電話で特定電話番号以外からの電話を拒否する

我が家では固定電話としてひかり電話を使用していますが、最近、迷惑電話が増えてきました。電話機には迷惑電話拒否機能が付いていますが、30番号しか登録できず、すぐにいっぱいになってしまいます。迷惑電話がかかってくるたびにブラックリストに登録するのでは埒が明かないので、逆に、ホワイトリストに登録した番号以外からは着信できないようにしたいと思います。

やりたいことは、市内からの電話と登録した番号以外からの着信を拒否することです。特定番号からのみ受けられる電話機もありますが、設定できる番号の数が少ないですし、ワイルドカードを使うような設定もできません。そこで、ひかり電話アダプタにYAMAHAのVoIPルータ「RT57i」でSIP接続し、syslogdを自作して自宅サーバで動かすことで、選択着信機能を実現させました。

【必要なもの】

SIP対応のひかり電話アダプタ
SIP接続に対応したひかり電話アダプタが必須です。AD-100系のひかり電話アダプタでは対応できませんので、その場合はテレビ電話オプションを申し込むなどして、AD-200系への交換が必要になります。

YAMAHAのVoIPルータ
RT57iなど、IP電話に対応したYAMAHAのVoIPルータから、ひかり電話アダプタにSIP接続して使います。

自宅サーバ(Windows)
24時間稼働のWindowsマシンが必要になります。IPアドレスは固定にしてください。Windows XPの入った古いPCでも構いません。

Tera Term
RT57iにTELNET接続してマクロを実行するために必要となるので、公式ホームページからダウンロードしてインストールしてください。

【準備】

まず、RT57iでひかり電話が出来るように接続と設定を行います。ここで詳細は説明しませんので、「RT57i ひかり電話」などで検索して、RT57iでひかり電話の発信と着信ができるようにしてください。

【RT57iのsyslog設定】

RT57iのトップページ→「詳細設定と情報」→「本機のログ(Syslog)のレポート作成」から、「Infoモード」にチェックをして、「Syslogホストアドレス」に自宅サーバのIPアドレスを設定してください。これで、Syslogのパケットが自宅サーバに飛んでくるようになります。

Image1

【プログラムの設置】

VB6でsyslogを受信して、着信電話番号を解析する簡単なプログラムを作成しました。

ここからダウンロードできます。VB6のソースコードも入っています。

アーカイブ内には次のファイルが入っています。

不要電話拒否.exe
RT57iのsyslogを受信して迷惑電話であれば「Reboot.bat」を起動する、メインのプログラムです。必要に応じてスタートアップに登録してください。VB6のランタイムが入っていない場合は別途必要になります。

AllowNo.txt
着信を許可する電話番号を記載します。1行に1電話番号を書いてください。ワイルドカードが使用でき、例えば「0123」で始まる電話番号をすべて許可したい場合は、「0123*」としてください。

DenyNo.txt
着信を拒否する電話番号を記載します。書き方はAllowNo.txtと同じです。AllowNoとDenyNoの両方に書かれている場合は、DenyNoが優先されて、着信拒否します。

Reboot.bat
着信拒否時に呼び出すバッチファイルです。Tera TermとReboot.ttlの置かれたフォルダ名の部分を、環境に合わせて書き換えてください。

Reboot.ttl
Tera Termのマクロファイルです。環境に合わせて、RT57iのIPアドレスとパスワード部分を書き換えてください。

不要電話拒否.frm
不要電話拒否.vbp
不要電話拒否.vbw

VB6のソースファイルです。ご自身で使うためであれば、改造していただいて構いません。

不要電話拒否.exeの実行】

不要電話拒否.exeを実行してください。ログウィンドウが表示され、syslogの受信を開始します。

仕組みとしては、不要電話拒否.exeがRT57iからのsyslogを受信・解析し、着信があれば電話番号を解析します。

着信拒否する場合は、Reboot.batからTera Termのマクロを実行して、RT57iにTELNETで入り、RT57iを強制的に再起動させることで、着信を拒否します。

その間、発信者は呼び出し音が鳴っているだけです。留守と思って電話を切る頃には、RT57iの再起動が終わっているという仕組みです。

なお、着信があった場合は、Incoming.logに着信ログが記録されます。ログ中、Aが着信許可、Dが着信拒否を意味します。

我が家では、市内からと、指定した電話番号からの着信だけを許可するように設定しました。かなり環境が限定されますが、迷惑電話に困っている方は参考にしてください。

0 件のコメント:

コメントを投稿