Asterisk+Debian

2017年11月18日 (土) 17:51時点におけるSysop (トーク)による版 (「Asterisk+Debian」の保護を解除しました)

Debian(lenny)にAsteriskをソースインストールする場合のメモ。

目次

パッケージ

Debianの場合、Asteriskがパッケージで提供されていますが、Zaptel+Asterisk 1.4系で若干古いバージョンになっています。

コンパイル環境

以下のパッケージが必要です。

gcc
g++
libc6-dev
make
linux-libc-dev
libncurses5-dev
perl-modules
patch
linux-headers-2.6.26-2-all
linux-kbuild-2.6.26

headersは-allでなくてもかまいません。使用しているバージョン/アーキテクチャにあったものを入れてください。

apt-get install gcc g++ libc6-dev make linux-libc-dev libncurses5-dev perl-modules patch linux-headers-2.6.26-2-all linux-kbuild-2.6.26

DAHDI

上記のパッケージを追加してあれば、普通にmake, make install, make configができます。
ロードするモジュールを設定するには /etc/dahdi/modules ファイルを編集してください。
DAHDIのスタート/ストップは/etc/init.d/dahdiで行えます。また、/etc/rcX.dにもスクリプトのシンボリック・リンクが作られますので、DAHDIが自動起動されるようになります。

udevの調整

以下の例を参考に、ユーザ asterisk とグループ asterisk を登録します。UID=GID=5060は趣味です。

# groupadd -g 5060 asterisk
# useradd -g 5060 -u 5060 -d /var/lib/asterisk -s /usr/sbin/nologin asterisk

/etc/udev/rules.d ディレクトリにdahdi.rules ファイルがインストールされているはずなので、これをリネームします。

# cd /etc/udev/rules.d
# mv dahdi.rules S99-dahdi.rules

udevを再起同します。

# /etc/init.d/udev restart

DAHDIを起動または再起動し、デバイスのオーナを確認します。

# /etc/init.d/dahdi start
Loading DAHDI hardware modules:
   dahdi_dummy: done
Running dahdi_cfg: done.
# ls -l /dev/dahdi
total 0
crw-rw---- 1 asterisk asterisk 196, 254 Nov 11 02:33 channel
crw-rw---- 1 asterisk asterisk 196,   0 Nov 11 02:33 ctl
crw-rw---- 1 asterisk asterisk 196, 255 Nov 11 02:33 pseudo
crw-rw---- 1 asterisk asterisk 196, 253 Nov 11 02:33 timer

これで、DAHDIは asterisk:asterisk で起動します。

Asterisk 1.4

ここまでの設定が完了していればAsterisk 1.4は ./configure, make, make installでコンパイル/インストールを行うことができます。
起動スクリプトは make config でインストールされます。
後はAsteriskのパーミッション設定など、必要な設定を行って起動してください。