Asterisk+Debian

2009年11月11日 (水) 02:35時点におけるTakahashi (トーク | 投稿記録)による版 (udevの調整)

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 で起動します。