Asteriskのインストール

Posted by joeartsea on 2009-03-21

AsteriskとはオープンソースのIP-PBXです。簡単に言うとサーバを介して幾つもの電話回線と電話機を繋いで管理できます。そうイントラネット(LAN)を活用して通常NTTなどに数百万も払って構築してもらう事務所の電話システムを構築できるオープンソースソフトウェアです。

技術さえあれば無料で電話システムを構築できる時代になったんです。(注意:機器は有料)とは言っても一般の人からすると技術的な敷居は高いですし全然枯れていないので本当の意味での実用化はまだまだ先だと思います。

ではLinuxにAsteriskを入れます。LinuxはVMware上のCentOS5.2でAsteriskのバージョンはAsterisk 1.4.24です。まずAsteriskを入れる前にAsteriskに必要な以下のパッケージを入れておきます。

  • gcc-c++
  • kernel-devel
  • ncurses-devel
  • openssl-devel

これらのパッケージをyumでインストールします。

1
# yum -y install gcc-c++ kernel-devel ncurses-devel openssl-devel

次にZaptelというパッケージをインストールします。ZaptelはMeetMeとIAXトランキングという機能を使わなければ必須ではないらしいですが今回は一応入れておきます。今回インストールしたZaptelのバージョンは1.4.12です。

1
2
3
4
5
6
7
8
9
# wget http://downloads.digium.com/pub/zaptel/releases/zaptel-1.4.12.tar.gz
# tar zxvf zaptel-1.4.12.tar.gz
# cd zaptel-1.4.12
# ./configure
# make
# make install
# make config
# chkconfig zaptel on
# cd

次にAsterisk本体をインストールします。

1
2
3
4
5
6
7
8
9
10
# wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.4.24.tar.gz
# tar zxvf asterisk-1.4.24.tar.gz
# cd asterisk-1.4.24
# ./configure
# make
# make install
# make samples
# make config
# chkconfig asterisk on
# cd

インストール完了後ZaptelとAsteriskを起動します。

1
2
# /etc/rc.d/init.d/zaptel start
# /etc/rc.d/init.d/asterisk start

最後に動作確認です。まずサーバ側にテストユーザを設定します。と言ってもサーバアカウントではなくAsteriskの設定ファイルにユーザとして追記するだけです。

1
2
3
4
5
6
7
8
# vi /etc/asterisk/users.conf
#以下を追加
[6000]
type=friend
username=6000
secret=1234
canreinvite=no
host=dynamic

これでユーザを作成できましたのでAsteriskを再起動します。

1
# service asterisk restart

次にクライアントPCをSIPクライアントにします。X-LiteからDownload X-Lite 3.0 for Windowsをダウンロードします。これはソフトフォンと言ってPC上で動く電話機です。こいつを適当なデスクトップPCにインストールしてサーバに登録します。X-Lite 3など参照してください。

インストール後、ソフト上部の「▼」ボタンを押すとメニューが表示されますので、メニューから「SIP Account Settings」を選択するとアカウント情報を登録する画面が開きます。そこにサーバ側に設定したユーザ情報を登録します。パスワードはusers.confのsecretで設定した「1234」です。「Domain」にはサーバのIPアドレスを入力します。

| |
| 送信者 Blog |

これで画面に「Ready Your username is: 6000」と表示されれば正常にアカウントが登録されました。試しに「9000」にダイアルしてみてください。女性の声で英語で「そんな番号はない」というようなアナウンスが返ってきたら正常に動いています。