フリー・エンジニア
高橋隆雄 フリー・エンジニア
高橋隆雄


実際にAsteriskをインストール/使用してみるには、どのようなマシンやOSといったプラットフォームで動作するかをまずは確認しておこう。基本的にAsteriskはLinux上で動作するアプリケーションであるため、Linuxの動作するマシンでは動作することが多い。多いというのは必ずしも動作するというわけではなく条件がいくつかあるためだ。

・Asteriskにセキュリティ上の脆弱性

 まず最初に Asterisk関連のニュースだが、既報(http://itpro.nikkeibp.co.jp/article/NEWS/20060614/240931/)の通りAsteriskに脆弱性が発見されている。この問題はAsteriskの使用するIAX(inter-Asterisk exchange)チャネルにあり、セキュリティ上の脆弱性を突くことでAsteriskが実行されているユーザ権限が奪取されるというものであるため、Asteriskをroot権限で動作させている環境では要注意である。

 これにより2006年6月5日付で問題を解消したAsterisk 1.2.9.1およびAsterisk 1.0.11.1がリリースされている。1.0系に対してもセキュリティ・フィックスということでリリースされており既存ユーザは最新バージョンへのアップグレードが強く推奨されている。問題の個所はIAXチャネル(chan_iax2)なので、IAXを使用していない場合(モジュールをロードしていない場合)には影響を受けないと思われるが、使用している場合には最新版へのアップグレードを行うべきだろう。なお筆者のWikiで提供している日本国内向け対応のパッチは、いずれのバージョンにも適用可能なことを確認している。

・Asteriskの動作環境

 さて,本題に入ろう。AsteriskはLinux上の「アプリケーション」の一つであることは何度も書いてきた。これはWebサーバーのApacheが単なるアプリケーションとしてLinux上で動作し,動作環境をそれほど選ばないということとよく似ている。

 最もインストールが簡単なのはインテル系のLinuxサーバである。Asteriskが要求する最低限といわれているCPUはPentium III 800MHz程度で、これ以上のスペックを持つマシンならば大抵は動作する。ただし、実はこれよりも低いスペックであってもAsteriskに対する要求仕様がそれほど高くない環境では十分動作することも多い。手持ちの要らないマシンでチャレンジしてみてほしい、というのにはこういう理由もある。

 OSについてはLinuxの多くのディストリビューションで動作しているという報告が上がっている。例えば筆者の場合、RedHat Linux 9、Fedora Core 4とRedHat系での動作を確認している。また特殊な例として後述のいくつかのプラットフォームでの動作も確認している。

 インテル系マシン+Linuxではそう敷居は高くないとは言うものの、Asteriskには構造上の問題点が若干あるため、その部分でインストールできない/機能が使えないことがあるので注意を要する。

 なお、どのようなマシンで動いた、あるいは動かないという情報も筆者のWikiで飛び交っているので参考にしていただきたい。

・ひっかかりやすいZaptel

 前回ご紹介したAsteriskのアナログ対応チャネルがZap(chan_zap)である。このチャネルはアナログ回線を扱うだけでなくAsteriskの動作と密接にかかわる部分がある。

 Asteriskは単なるアプリケーションと書いたが、実はその内部で「タイミング」を必要とする個所がありタイミング・ソースとしてZaptelが使用されているのである。具体的に言うとIAXチャネルのトランキング動作およびMeetMe(音声会議)アプリケーションで、現在のAsteriskはZaptelがインストールされていないと、これら機能が動作しない。逆に言うと、これらを使わなくて構わないのであればZaptelをインストールする必要はない。

 Zaptelの構造概略は図1のようになっている。ZaptelそのものはLinuxのカーネル・ローダブル・モジュールとして動作するドライバが基本で、これに加えてDigiumのカード類を使用するハードウエア・ドライバがロードされる。図ではハードウエアドライバはロードされておらず、zt_dummyと呼ばれるダミー・モジュールが組み込まれた状態を示している。

図1 Zaptelの構造
図1 Zaptelの構造