RT58i と rsyslog を使って発信者番号をメール通知

ヤマハの RT58i には着信した電話の発信者番号を syslog に出力する機能があります。そして syslog デーモンの一種 rsyslog にはログをメールで送る機能があります。

そこでこれを組み合わせたら、着信した電話の発信者番号をメールで通知することができるのではないかと考えて試してみたので設定を紹介します。

前提条件

今回試した設定では以下のバージョン (リビジョン) を利用しました。

  • RT58i: ファームウェア Rev.9.01.51
  • rsyslog: バージョン 8.4.2 (Debian 8 収録のもの)

準備

RT58i でログを別ホストに送信する設定

まず RT58i でログを別ホストに送信するように設定します。以下のようにホスト名なり IP アドレスなりで rsyslog の動作するホストを指定します。

syslog host syslog.example.com

これを設定したら save を忘れずに。

rsyslog で別ホストからログを受信する設定

rsyslog.conf (Debian の場合は /etc/rsyslog.d 以下の任意の example.conf ファイルに記載するとよいでしょう。) に以下を記述して UDP 受信を有効にします (ここでは legacy configuration で記載しています。)。

$ModLoad imudp
$UDPServerRun 514

ここまで設定して service rsyslog force-reload を実行すれば、RT58i のログが rsyslog で記録されるようになるはずです。

rsyslog で着信電話の発信者番号をメール送信する設定

RT58i では電話の着信があると以下のようなログを残します。

TEL[**/*] InComing Call from 0ABCDEFGHIJ

そこでまずこれを抜き出すために以下のような正規表現を使ったフィルターを使います (まあ国内の電話番号なら必ず 0 で始まるはずなので [0-9] は余計かもしれませんが念のために入れておきました。)。

:msg,regex,"InComing Call from [0-9]" action

rsyslog の仕様なのか TEL[…] の部分は msg プロパティーには含まれないので正規表現には含めていません。

次にこのフィルターを利用して以下のように発信者番号をメール送信するように設定します。

$ModLoad ommail

$template MailSubject,"Got an incoming call"
$template MailBody,"From %msg:R,ERE,1: from ([0-9]+)--end%"

$ActionMailFrom nobody@example.com
$ActionMailTo somebody@example.com
$ActionMailSubject MailSubject

:msg,regex,"InComing Call from [0-9]"   :ommail:;MailBody

ここまで終わったらもう一度 service rsyslog force-reload を実行して新しい設定を有効にします。

最後に自分の携帯電話から発信するなり誰かに発信してもらうなりして実際にメールで発信者番号が通知されることを確認すれば作業は終わりです。

たぶん後継機種の NVR500 でも同様にできると予想しますが、そこは自己責任でお願いします。

REGZA 録画用ハードディスク入れ替えの顛末

先の休日に新しいハードディスクを入手したので、今まで使っていた据え置きハードディスクからの入れ替えを実行

テレビ側の録画用 USB ポートが一つしかないので、セルフパワーのハブを探してきてダビングを開始するも、しかし早々に問題が発覚

異様にダビングが遅い

なんとハブが USB 1.1 だったよ。AC アダプターまで探してきたのにね……

仕方がないので使用中の USB 2.0 ハブを一時拝借してダビング再開

まあそれでも 500 GB のムーブには時間もかかるし、ダビング中は録画番組の再生もできないので、結局 小分けにしつつ二日がかりでどうにか入れ替え完了

録画予約の保存先だけの変更はできなかったので、全部予約しなおしが必要になったけど、テレビ周りのコンセントに一つ空きができたので これでよしとしておこう

Logicoolカメラ

Qcam Communicate STX (QVC-70) というカメラを持っているんだけど、先日Logicoolの新しいドライバーを入れようとしたら、すでにサポート対象から外れていたのを発見した。製品サポートページでは探せなかったんだけど、M/Nによると中身はこれと同じらしい。

同じCommunicate STXでも型番違いのQVC-71はサポートされてるのが悔しいね。捨てて新しいUVCのやつでも買うか。

VAIO type PにWindows 7

Vistaプレインストールで買ったものの、どうせVistaは使い続ける気がなかったので、サプリメントディスクを使ってアップグレードしてしまった。

いったんHDにリカバリー領域を作り直さなければいけない (実際にDVDからリカバリーした) のが面倒だったけど、なんとか終了して、現在は環境を復元中。

Windows 7にタイミングを合わせたのか、VAIO UpdateがアップデートしてInternet Explorerに依存しなくなったので、一般ユーザーアカウントからは使いやすくなった。新着でBIOSとGMA500のドライバーが出ていたのでアップデートを実行。

まずBIOSアップデートでは、VTの有効・無効が切り替えられるようになっていた。この設定項目は、以前はなかったと思うんだけど、新しいVirtual PCに必要なので追加したのかな。もう一つのGMA500のドライバーは、Aeroで使っても表示が乱れなくなったのが目立った改善点か。ただ、3Dグラフィックスを使ったゲームを実行すると音がブツ切れで壊滅的になるのはダメすぎ。

以前のドライバーは「パフォーマンスモード」を無効にすることで改善していたのだけど、新しいドライバーではこの設定項目自体がなくなっているので、今のところどうしようもない。見た目の印象では、以前よりストレスなく動くようになっているので、ここだけが本当に惜しいところだ。

Windows VistaでPM-940C

先日、長いこと使ってきたWindows 2000機に替えてWindows Vista Businessプリインストール機を入れたんだけど、PM-940CでCD/DVDレーベル印刷するのに必要なEPSON CD Direct PrintはVista不対応とな。

PM-940Cのドライバー自体は、Windows Vista標準であるみたいなので、試しにインストールして使ってみると…

印刷位置が合わないか。調整で何とかなるレベルじゃないみたいね。

そこで、無理を承知でWindows XP用のドライバーをインストールしてみたら、あら不思議、ちゃんと動くじゃないのよ。セットアッププログラムを使わずにWindowsにドライバーを検索させると、インストールできる模様。

当分はこれで使うしかないかな。

リンク: インクジェットプリンター・インクジェット複合機 ソフトウェア Windows Vista(R) 対応表 | 製品OS対応情報 | 修理サービス | サポート | エプソン.

Intel SCH US15Wのビデオデコーダー

調べてみたところ、DirectX Video Acceleration (DXVA) を利用すればハードウエアアクセラレーションが効くらしい。
しかし、SilverlightはDXVAに対応しないんだとか。Flash Playerも対応するという話は聞かないし、せっかくの機能も流行りのWebビデオでは宝の持ち腐れか。Atomで再生すると重いんだよなあ[E:weep]。