Asterisk、更に更新

 Asteriskの設定を更に煮詰めてみました。

■050番号へかける時だけプロバイダIP電話で発信させる

 現在、我が家は主番号045のNTTひかり電話回線と、050番号のプロバイダIP電話回線へ発信できるのですが、NTT提供のルーター&VoIPアダプタ環境だと、普通にダイヤルすると050で発信、頭に0000をつけるとNTTで発信となります。しかしNTT回線をひかり電話にすると、もはや050発信は同一基盤番号相手の無料通話しか価格メリットはないワケで、それ以外は一般的なNTT番号を通知して発信したいと思う訳です。つまり、デフォルトはひかり発信で、何かしらのプレフィクスをつけたら050発信、としたい。

 9発信すると050というのはすぐに設定できました。ただたいていの電話機には電話帳登録してある番号の先頭に特定の数字を付加、ということが簡単にはできないので不便です。どうせなら050番号相手に発信した時は自動的にIP電話で発信、くらいはやりたい。これが結構ハマりました。

 最初、ダイヤルプランを定義する、extension.confに

exten => _050.,1..(050発信処理)
exten => _0.,1….(NTT発信処理)

のようにしてみました。正規表現的に言えば、「_」は先頭にマッチ、「.」は任意の桁にマッチの意味です。しかし、どうしても上がスルーされて下にマッチしてしまいます。前回書いた本にも、日本語のWikiにも情報がなく、仕方ないのでもっともAsterisk情報が集まっていると言われる海外のWikiを読みあさって、こんなドキュメントを発見。どうも、extention.confに書いたパターンを内部的にソートしてから適用するらしく、記述順に関わらず_050.よりは_0.が先にマッチしてしますようです。CLIから

show dialplan [コンテクスト名]

で表示される順が、実際に適用される順のようです。

 で、解決法としては、

exten => _050.,1,…
include => ntttel

[ntttel]
exten => _0.,1,…

のように、後からマッチさせたい部分を別コンテクストに追い出して、メインコンテクストでincludeすれば、includeされた部分の適用順位は下がるとのことです(複数includeさせた場合はさせた順)。

 実際、これで上手くいきました。本当は、050番号の中でも、ウチのプロバイダと無料通話提携しているところへ発信する場合だけ、といった分岐をしたいのですが、適用範囲を全部定義するとextensions.confがやたら長くなって管理が大変そうなので断念。

■VoIPアダプタをATAとして利用する

 プロバイダIP電話サービスをAsteriskで待ち受けることに成功したので、NTT東日本からレンタルしているVoIPアダプタ(\380/月)は返却できそう、と思ったんですが、ふと思い立って実験。あっさり、Asterisk配下にREGIST成功しました(^^)/。管理画面から、普通にサーバー情報を手動設定し、UPnPをオフにしただけです。つまり、VoIPアダプタに接続したアナログ電話をAsteriskの内線端末として利用できるワケです。今まではAsteriskより上(ひかり電話側)にあるRT-200KI配下だったので、050着信した場合には鳴らなかったんですが、これでバッチリです。こういう働きをするアダプタをATAと呼ぶのですが、日本語で扱えて入手もしやすい製品として、このNTTのVoIPアダプタは狙い目かも知れません。レンタル継続決定w。

■留守番電話機能

  留守番電話機能も順調。応答時に特定のナンバーをプッシュするとメッセージ再生フローに分岐するといった、市販の留守電と遜色ない動作も成功。ただし、Asteriskで電話をとってしまうと、FAXやエアコンの遠隔操作デバイスが機能しなくなるので、これは後日専用番号を取得してから利用することに。

 機能としては、吹き込まれた音声ファイルをメールに添付して送信したりとかもできるのでまた色々遊べそう。

 そういえば、普通の電話機と違って、HDD容量はタンマリあるので、通話は無条件に録音しとくなんてライフログ的な試みもできたりするワケだなぁと思ってみたり。

 

 

 

 

 

FreshReaderイケてる

 少し前のエントリで紹介したFreshReaderをインストールしてみました。バックエンドにSQLサーバーなどを利用しないので、PHP環境なら基本的にディレクトリ展開だけでOKな手軽さでした。

 ベータ版なせいか、普通に複数アカウントも作成できるようです。同じRSS feedをみてる人が何人いる、なんての表示も出たりで、ソーシャルブックマークっぽくもありますね。

 準備中の仮サーバーに設置してあるので、近日中にURLが変更になる可能性がありますが、とりあえず使ってみたい人は、アカウント作りますので連絡ください。>身内

 RSSアグリゲーター(リーダー)でWebをウォッチしてるけど、マシンが複数あって同期に困ってる、でもBloglinesみたいな英語サービスはどうも、なんて方にはオススメです。

IP-PBX Asterisk導入

 自宅の電話環境のIP化(ひかり電話&050IP電話)に絡んで、色々遊べそうだったので、オープンソースのIP-PBXシステムAsterisk(アスタリスク)を導入してみました。

 現在、新サーバーとして準備中のCentOSマシンに導入。yumリポジトリにはなかったので、ソースから構築。右の本には大変お世話になりました。Asterisk本としては現在日本唯一で、非常にわかりやすかったです。一部、バージョンやOSの違いからか、説明通りにいかなかった部分もありますが、なにやらいじってるウチに動いてしまったカンジ(^^;)。

 構成としては、ひかり電話ルーターであるRT-200RIがNTT東日本のSIPサーバーにクライアントとしてぶら下がっており、主回線の045番号を待ち受けています。Asteriskはアナログ電話機やフレッツフォンVP1000と同様にRT-200KIの内線子機としてぶら下がる形になります。更に、Asteriskには先日購入したWI-100HCと各PC上のソフトSIPフォンがレジストされています。更にプロバイダ提供の050IP電話もAsteriskで待ち受けに成功。Asterisk配下のWI-100HCやソフトフォン群なら045番号と050番号を両面待ち受けできています。WI-100HCをRT-200KI直下ではなく、Asteriskにレジストしたのは、前にも書いたとおり、WAN経由レジストの目論見があったのと、050番号を待ち受けられるのがPC上のソフトフォンだけでは不便そうだから、という理由です。

 AsteriskはSIPプロキシ以外にも様々な機能があり、保留や転送はもちろん、留守番電話なども実装されています。吹き込まれたメッセージはWAVやGSM形式のファイルとして保存され、そのままメールに添付して通知、なんてことも楽勝。保留音を自分の好きなMP3ファイルにするなんてこともできちゃいます。

 デフォルトの音声ファイルは、上記書籍の著書である高橋さんが日本語版を作って配布してくださっているんですが、なんとその声は声優の竹田えりさん。ミリア・ファリーナ・ジーナスですな。

 しかし、これはスゴいソフトですね。IPさえ届けば、遠隔の拠点間をつなぐ本格的な内線システムも簡単に作れてしまいます。設定ファイルをいじるだけで、あらゆる設定が瞬時に反映されます。どの番号にかかってきたらどの内線端末が鳴動するか、それで出なければ次は誰のを鳴らして、etc.本当に自由度が高いです。某オフィスで、PHSベースの内線システムの設定を変えるのにわざわざ業者を呼んで作業してもらわなければいけないのがバカらしく思えてきますな。しかも、内線番号ごとに伝言ボックスも設置できるし、メール通知もできるし、三人以上で電話会議をする仮想会議室なんてのも。今のあのオフィスの電話システムが毎月どれくらい払ってるか知らないですが、このAsteriskを含めて、IPセントレックスの技術・サービスは電話業界に相当なインパクトを与えるよな、と今更ながらに感心することしきりです。

サーバインストール型RSSリーダー「FreshReader」

ユーザーがRSSを共有できるサーバインストール型RSSリーダー「FreshReader」登場 – CNET Japan

 自サーバーにインストールして使える、サーバー型RSSリーダー(bloglinesのようなの)で国産品が登場したようですね。

  1. ブロガーライセンスなら無料
  2. Ajax対応
  3. RSS未対応でも解析で対応
  4. ユーザ間共有機能
  5. RSS内の危険なスクリプトを除去
  6. 日本語完全対応

と、今使っている(最近更新がなさげな)Feed on Feedよりはかなりヨサゲ。

 画面はこんな感じ。>画面直リン

 ちょうど今、サーバーの入れ替え作業をしているので、新サーバーへのToDoとして挙げておこう。利用希望者がいれば連絡下さい。>身内

 impressの記事だと、ブロガーライセンスと、一般(個人)ライセンスはマルチユーザでは使えないかも知れず。一般ライセンスは「3,000円/ユーザ」と書いてあるけど、じゃぁ6,000円で2ユーザになるのかどうか不明。さすがに10ユーザ版5マソはちょっと無料提供できナサゲ…

ひかりパーソナルフォンWI-100HC、オモスレー

WI-100HC

 本日の購入備品はコレ。 ひかり電話用の無線LAN型子機。ひかり電話ルーターは、SIPという規格でLAN内の機器を子機として登録することができ、X-Liteなどのパソコン上で動く電話ソフトなどで自宅電話を受けたりかけたりできちゃうのですが、この「ひかりパーソナルフォンWI-100HC」は、無線LAN経由で単独で子機として動作する端末というワケです(というかむしろこっちが標準の使い方で、X-LiteとかはNTT推奨の利用形態ではないw)。

 詳しいレビューは、清水隆夫氏のブログが参考になります。

 電話機としては割とオーソドックスですかね。ケータイではあまり無いシボ加工の表面が、プラスチッッキーな安さを感じさせません。ツルテカなケータイよりも持ちやすいかも。

 充電器の端子がUSB-miniBなのに、本体のPC接続用の同端子に挿しても充電できないっつーのはどうよ、と思いますが…

 あと、イヤホンマイク端子もないですね。まぁ、コードレス子機なんだからってのはありますが、それならむしろハンズフリーは欲しかった。

 一方で内線ボタンはなく、「1+発信」のような形を採るので、子機としても半端っちゃ半端。ちなみにショートカット発信は数字キーの長押し。

 さて、一人暮らしな上に、HS登録したPHSも含めると4台もの子機がトイレにまで設置してある我が家に、なぜこれを追加してみたか、というと、

  • Webサーバーが動いていて楽しげだったから
  • インターネット経由で自宅の電話を使ってみたかったから

という2点(^^;)。

■httpサーバー内蔵の電話機

 Webサーバーといっても、任意のコンテンツを公開できるワケではなく、PCからブラウザで設定画面を呼び出して、電話帳を操作したりできるってだけ。先述のUSB端子でPCにつなげば同じことはできるので、別にLAN経由する意味は全くないんですが…。まぁ、ガジェット好きな人ならこの気持ちはわかってもらえるかとw。PDAやiPodでLinuxが動く、ということ自体がワクワクするのと同じですわ。

 でも電話帳の一括バックアップ&レストアなんかも簡単なCGIで実装されてるようので、たとえば大規模な事業所でこれを利用した場合、簡単なスクリプトで一斉更新とかできちゃうでしょうね。

■WAN経由利用

 さて、問題はWAN経由利用が本当にできるのか?ということです。X-Liteで試した限りでは、単にルーターのポートをあけるだけではダメっぽかったです。X-Liteの場合、ホストOS自体をSoftEtherなりで自宅のLANにVPN接続してやれば利用可能でした。しかし、WI-100HCには当然VPNスタックがないので、そういうワケにもいきません。ちなみにブラウザも搭載されていないので、Webで認証するタイプの公衆無線LANスポットでも利用は無理でしょうね。FreeSpot位?あとは実家とかオフィスとか。暗号化はWEPとWPA-PSKに対応していて、複数の設定を切り替えることもできます。

 話を戻して、SIP登録。ググると、LAN内にAsterisk(オープンソースのIP-PBXソフト)を立て、それをひかり電話ルーターに子機として登録し、WI-100HCはAsteriskに対してクライアント登録、という方法では成功例があるみたいです。Asteriskの方が汎用性が高いので、さもありなんですね。ちょうど来月あたり、そろそろ自宅のサーバーを刷新しなければと思っているので、Asteriskにも挑戦してみようかと。

 道具眼もそのうちアシスタントを雇いたいなぁと思ってるわけですが、IP-PBX環境が整えば、アシスタントの人は自宅にいながらにして、道具眼宛の電話がとれるわけで、σ(^^)は日中寝ていても大丈夫なワケでw。

 つーか、そろそろ道具眼とプライベートで電話番号をわけることも考えとくべきかな。ひかり電話なら追加番号がたったの\100/月だし。