Asteriskのインストール

出典: Asterisk works Wiki
目次 |
Asteriskとは?
AsteriskはIP-PBXソフトウェアである。 高価なPBX機器の機能をソフトウェアで実現する。 しかもGPLライセンスのオープンソースソフトウェアで提供されている。
ソースの入手
Asteriskとその関連モジュールはftp://ftp1.digium.com/pub/からダウンロードできます。 Asteriskにはzaptelとlibpriという2つのライブラリがあったほうがよいので(無くても一部機能が使えなくなるだけ)これもダウンロードします。この2つも同じところからダウンロード可能です。
2006/12時点での安定版の最新モジュールは次の通りです。
| zaptel | zaptel-1.2.11.tar.gz |
| libpri | libpri-1.2.4.tar.gz |
| Asterisk | asterisk-1.2.13.tar.gz |
インストール
インストールはzaptel、libpri、Asteriskの順に行います。
zaptelのインストール
カーネルの開発パッケージの確認
zaptelのインストールにはkernelの開発パッケージが必要です。 rpmコマンドで確認する。
# rpm -qa |grep kernel # kernel-xen-2.6.18-1.2798.fc6 # kernel-xen-2.6.18-1.2849.fc6 # kernel-xen-devel-2.6.18-1.2849.fc6 <==これが必要 # kernel-headers-2.6.18-1.2849.fc6
あれば、次に進みます。無ければyum等を使ってインストールしましょう。 開発パッケージでなく、カーネルソースをインストールしてもいいです。
zaptelのインストール
zaptelのインストールは簡単です。
# tar zxvf zaptel-1.2.11.tar.gz # cd zaptel-1.2.11 # make # make install # make config
これだけです。
libpriのインストール
libpriのインストールも簡単です。
# tar zxvf libpri-1.2.4.tar.gz # cd libpri-1.2.4 # make # make install
これだけです。
Asteriskのインストール
いよいよAsteriskのインストールです。ここでFedoraCore6にインストールするときにはちょっと注意が必要です。asterisk-1.2.13.tar.gzには不具合があってそのままではmake出来ません。 Asterisk-DEVの[[メーリングリストに解決方法>http://www.mail-archive.com/asterisk-dev@lists.digium.com/msg24451.html]]が載っていました。解決するにはソースを書き換える必要があります。
# tar zxvf asterisk-1.2.13.tar.gz # cd asterisk-1.2.13 # cd channels # vi chan_phone.c
chan_phone.cを開いたら、linux/compiler.hをインクルードしている行をコメントアウトします。 その後はmake、make installするだけです。
# cd ../ # make # make install
以上でAsteriskのインストールはおしまいです。 設定ファイルのサンプルや、ドキュメントが必要なら続けて次のコマンドを実行します。
# make samples <=サンプル設定の生成 # make progdocs <=ドキュメントの生成
Asteriskの設定
Asteriskの設定ファイルは/etc/asterisk/にあります。 Asteriskの設定ファイルではセミコロン;がコメント記号となります。#は電話番号で利用されるため気をつけましょう。 ここでは最低限、SIPで接続するのに必要な設定を紹介します。筆者(森下)が勉強不足なため詳しくは解説できません。 /etc/asterisk/ディレクトリにはたくさん設定ファイルがありますが、編集するのはextensions.confとsip.confのみです。 この設定例では3台のSIPクライアントを登録します。それぞれのSIP番号は5001、5002、5003です。
extensions.confの設定
[globals]セクションに次の行を追加してください。
PHONE1NM=SIP/5001 PHONE2NM=SIP/5002 PHONE3NM=SIP/5003
次に[test-local]というセクションを作って以下のように設定します。
[test-local]
exten => 5001, 1, Dial(${PHONE1NM},20,Ttm)
exten => 5001, 2, Hangup
exten => 5002, 1, Dial(${PHONE2NM},20,Ttm)
exten => 5002, 2, Hangup
exten => 5003, 1, Dial(${PHONE3NM},20,Ttm)
exten => 5003, 2, Hangup
sip.confの設定
番号5001に対応したSIPクライアントの設定は次の通りです。このまま、sip.confに追記します。
[5001] type=friend secret=pc5001 aith=md5 nat=yes host=dynamic reinvite=no canreinvite=no qualify=1000 dtmfmode=inband callerid="PC 1" <5001> disallow=all allow=ulaw allow=alaw context=test-local
[5001]がextensions.confに[globals]に設定した番号に対応することを表しているようです。 secretの値がこのクライアントの認証パスワードとなります。 calleridがこのSIPクライアントの表示名、 contextの値はたぶん、extensions.confに追加した[test-local]セクションに対応していることを現しています。 5002、5003の分も5001の部分を書き換えて追記します。
Asteriskの起動・停止
起動は次のコマンドを実行します。
# /usr/sbin/asterisk -vvv &
停止は次のコマンドです。
# /usr/sbin/asterisk -r #CLI> stop now
ソフトフォンで接続する
Tools/X-Liteで説明します。
