第1回 ご存じですか? Asteriskの魅力


高橋 隆雄
2008/12/22
オープンソースソフトウェアのPBXとしてはほぼ唯一無二の存在だった「Asterisk」。この連載では、その特徴や導入手順、便利な使い方を紹介していきます。

 皆さんは「Asterisk」というソフトウェアをご存じでしょうか? 「Asterisk: An Open Source PBX」というキャッチフレーズのとおりの、オープンソースのPBXです。この連載では、Asteriskの特徴や動作の仕組みに触れ、さらに導入に必要な機材や手順などを紹介していきます。

 Asteriskは、近年注目度の高まっているOSS(Open Source Software)の1つです。これまで、どちらかといえばWebなどを中心として発展してきたほかのOSSとは異なり、テレフォニー分野におけるOSSの筆頭といえるものです。

 少し前まではAsteriskは「Asterisk: The Open Source PBX」と呼ばれており、OSS業界における「唯一の」PBXでした。しかしながらAsteriskの登場後、テレフォニー分野におけるOSSも広がりを見せ、現在では「FreeSWITCH」、「SIP Express Router」(SIPのみ)、「YATE」など、複数のオープンソースPBXが存在しています。

 Asteriskの歴史

 AsteriskはOSSとしては比較的新しいソフトウェアです。最初の正式リリース版であるAsterisk 1.0は、2004年の9月に公開されました。例えば、OSSとして著名なApache http Serverは最初の公開が1995年といわれていますから、Asteriskはかなり「新しい」といっても構わないのではないかと思います。

バージョン リリース時期
1.0 2004年9月
1.2 2005年11月
1.4 2006年12月
1.6 2008年10月
表1 Asteriskのリリース

 Asteriskのバージョン番号の付け方ですが、現在までのところ、ドット以下の部分(.0)がメジャーなバージョン番号となっており、公開版は偶数番号を取ります。現在までのメジャーリリースは、1.0、1.2、1.4、1.6の4つとなっています。基本的に奇数番号は一般公開されることはなく、開発バージョンの扱いになっています。その下にドットが付されて、マイナーバージョン番号が付きます。

 この表では、メジャーバージョンの最初のリリース(1.6.0など)が出た時期を示しています。1.6.1は1.6.0よりも新しい「Asterisk 1.6系」と位置付けられます。表からも分かるように、メジャーな変更は、ほぼ1年以上という比較的長期スパンで実施されています。

 そもそもAsteriskとは何だろう?

 さて、最初の疑問に戻りましょう。そもそもAsteriskとは何でしょうか?

 答えは、「PBX」という言葉が示すように「電話交換機」そのものです。電話交換機というとあまりなじみがないかもしれませんが、会社などで使っている電話システムを制御している装置で、そのおかげで内線や外線通話が行えます。

 では家庭では? と思われるかもしれませんが、実は家庭でも電話交換機は使われています。留守番電話機は、日本でかなり普及している電話機の1つですが、これはPBXの一種だといえます。親機・子機間の通話(内線)ができますし、親子間での転送もできます。また留守番電話の機能を使えば、応答メッセージの再生と伝言の録音ができます。これはまさにボイスメールの機能です。

 このように案外身近に使われているPBXなのですが、なぜか「ソフトウェア」というジャンルにおいては、電話(テレフォニー)は別の世界のものと認識されることが多いようです。この理由は、これまでテレフォニーの分野にはOSSが存在せず、もっぱら専用の高価なソフトウェアで交換機の機能が実現されていたためでしょう。この点でも、Asteriskの登場は業界にインパクトを与えたといえるでしょう。

 どのような環境で動く?

 基本的にAsteriskは、動作に当たって専用のハードウェアを必要としません。必要になるのは、アナログ電話回線やISDN回線などを直接つなぎ込む場合のインターフェイスカードぐらいです。

 もともとAsteriskはLinux上で開発が進められてきたため、多くのLinuxディストリビューション上で動作します。人気があるディストリビューションとしてはCentOSが挙げられますが、ほとんどのディストリビューションで動作するといっても過言ではありません。もっとも、Linuxをプラットフォームに使用する多くのサーバソフトが同様ですが。

 ここでいうディストリビューションとは、何もデスクトップやサーバ向けに限ったものだけでなく、例えば「Voyage Linux」(Debian派生のROM化可能なもの)といったエンベデッド(組み込み)系Linuxでも動作します。

 動作環境としては、ミニマムでPentium-III(4ではなく3)の800MHz程度といわれています。実際に動作させてみると、同時通話数を多く取らなければ、かなりコンパクトなPCで動作しますし、それこそLinuxが動作しているワンボードコンピュータでも使用できます。

 またAsteriskはLinuxだけでなく、BSD系やMacOS X、Solarisなど、そのほかのOSに対応したものも用意されています。

 Linuxで動作するゆえの高い自由度

 Asteriskとは、いい換えれば「電話サーバ」のようなものです。Asteriskに「似た」ソフトが何か? と問われると少し困ってしまうのですが、筆者はそういうとき「Apache httpdのようなものだ」と答えることにしています。

 Apache httpdは皆さんご存じのようにWebサーバであり、Webページの提供を行うという「サーバ」の機能を実装したものです。ですが、Windowsなどのように派手なGUIがあるわけではありませんし、設定は設定ファイル上で行うようになっています。「Webコンテンツを提供する」という目的のためにさまざまな機能を持っているのですが、エンドユーザー、すなわちブラウザを使っている人からはその存在は見えないわけです。

図1
図1 Apache httpdの動作

 Asteriskもこれと同様に、電話をつなぐことに加え、さまざまな音声サービスの機能を提供します。しかしながら電話機を使っているユーザーから見れば、それがAsteriskで提供されているのかどうかはあまり重要ではありませんし、意識することもないでしょう。もともと、サーバというのはそういうものなのです。

図2
図2 Asteriskのイメージ

 実際に、Asteriskを会社のPBXとして導入しているケースは少なくありません。しかしながら、ユーザーが通話していてそれに気付くことはまずありません。

 さて、Apache httpdをたとえに使うと、うまくAsteriskの特徴を説明できる点がもう1つあります。ほかのツールと組み合わせることによる拡張性です。

 Apache httpdはそれ自体では単なるWebサーバですが、CGIプログラム、Perl、PHPなどと組み合わせて使用することによって、豊富な機能を提供することができます。これは、Linux(やUNIXのOS)プラットフォーム上で提供される機能を柔軟に組み合わせることで、実現できることが増えるという意味です。いまはやりのSNSやCMSは、Webサーバの機能にはApache httpdを使用していますが、その多くは、LAMP環境といわれる「Linux+Apache+MySQL+PerlやPHP」によって実現されています。

 Asteriskにも同様なことがいえます。Asteriskそれ自体は音声サービスの機能を提供するだけですが、同じプラットフォーム上で動作するほかのツールを組み合わせれば、自由度が高く、応用範囲の広いシステムを構築することができます。1つの例としては社内SNSに内線電話機能を付けたものなどが挙げられるでしょう。

 
1/2

Index
オープンソースPBX、Asteriskの実力
 第1回 皆ご存じですか? Asteriskの魅力
Page1
Asteriskの歴史
そもそもAsteriskとは何だろう?
どのような環境で動く?
Linuxで動作するゆえの高い自由度
  Page2
「Asterisk」イコール「IP-PBX」なの?
Asteriskが「ニガテ」な部分とは?
使ってみるのは難しいの?


Wiresharkでトラブルハック 連載インデックス


Master of IP Network フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Master of IP Network 記事ランキング

本日 月間