DAHDIインストール
DAHDIのインストール手順
Asterisk 1.4の現在バージョンではZaptel,DHADIいずれも使用可能。1.6からはDAHDIのみ使用可能。
目次
DAHDI+CentOS 5.2
CentOS 5.2の基本インストールはサーバインストールの場合です。
インストール終了後は yum update でシステムを更新しておいてください。
追加パッケージ
以下のパッケージをCentOSに追加します。
# yum install gcc gcc+c++ kernel-devel ncurses-devel
DAHDIの入手と展開
DAHDIは http://downloads.digium.com/pub/telephony/dahdi-linux/ からダウンロードできます。
# wget http://downloads.digium.com/pub/telephony/dahdi-linux/dahdi-linux-2.1.0.3.tar.gz # tar zxvf dahdi-linux-2.1.0.3.tar.gz # cd dahdi-linux-2.1.0.3
DAHDIのコンパイルとインストール
パッケージが揃っていればmakeするだけです。
make install中にDigiumボードのファームウェアをダウンロードしますのでネットワーク接続が必要です。
# make # make install
DAHDI Toolsの入手と展開
Zptelでは同梱されていましたが、DHADIからはドライバそのものとToolsに分けて配布されています。
dahdi-toolsは http://downloads.digium.com/pub/telephony/dahdi-tools/ からダウンロードできます。
# wget http://downloads.digium.com/pub/telephony/dahdi-tools/dahdi-tools-2.1.0.2.tar.gz # tar zxvf dahdi-tools-2.1.0.2.tar.gz # cd dahdi-tools-2.1.0.2.tar.gz
DAHDI Toolsのコンパイルとインストール
configure,makeを行います。なお、make menuselectも使用できます。
# ./configure # make
コンパイルが完了したらmake installとconfigを行っておきます。
# make config # make install
設定ファイルの調整
DAHDIの設定ファイルは /etc/dahdi に置かれます。ロードするモジュールを設定するには modules ファイルを編集します。例えばdahdi_dummyだけしか使用しないのであれば以下のようにdahdI_dummyを追加します。
# Digium TE205P/TE207P/TE210P/TE212P: PCI dual-port T1/E1/J1 # Digium TE405P/TE407P/TE410P/TE412P: PCI quad-port T1/E1/J1 # Digium TE220: PCI-Express dual-port T1/E1/J1 # Digium TE420: PCI-Express quad-port T1/E1/J1 #wct4xxp <-- Digiumのカードを使ってなければコメントアウト # Digium TE120P: PCI single-port T1/E1/J1 # Digium TE121: PCI-Express single-port T1/E1/J1 # Digium TE122: PCI single-port T1/E1/J1 #wcte12xp <-- 同様にコメントアウト ~中略~ # Digium TC400B: G729 / G723 Transcoding Engine #wctc4xxp # Xorcom Astribank Devices #xpp_usb # DAHDI Dummy <--追加 dahdi_dummy <--追加
dahdi_dummyはその名の通り、ztdummy同様にタイミングだけを生成するモジュールです。Digiumのカード類などのハードウェアを実装していなければ、このdahdi_dummyだけロードすればよく、他のモジュールはロードする必要はありません。
なお、DAHDIのスタート時に、ハードが実装されていなければ自動的にdahdi_dummyがロードされますが、ここでは明示的に設定しています。
ロードのテスト
インストール、設定が完了したら起動してテストしてみます。
# /etc/init.d/dahdi start Loading DAHDI hardware modules: dahdi_dummy: [ OK ] Running dahdi_cfg: [ OK ]
lsmodでロードを確認します。
Module Size Used by dahdi_dummy 9384 0 dahdi 190600 1 dahdi_dummy crc_ccitt 6337 1 dahdi
上記のようにロードされるはずです。
確認できたなら一旦、DAHDIを止めて次のステップに移ります。
# /etc/init.d/dahdi stop
udevの調整
Asteriskをユーザ名asteriskで起動する場合、DAHDIのパーミッションが問題となりますので、ここでudevを調整しておきます。
以下のコマンドでユーザとグループを登録しておきます。
# groupadd -g 5060 asterisk # adduser -g 5060 -u 5060 -d /var/lib/asterisk -s /sbin/nologin asterisk
/etc/udev/rules.d に dahdi.rules ファイルがインストールされているはずなので、これを以下のように名前を変更します。
# cd /etc/udev/rules.d # mv dahdi-rules 99-dahdi.rules
DAHDIを再度起動してオーナとグループを確認します。
# /etc/init.d/dahdi start Loading DAHDI hardware modules: dahdi_dummy: [ OK ] Running dahdi_cfg: [ OK ] # ls -l /dev/dahdi/ total 0 crw-rw---- 1 asterisk asterisk 196, 254 Feb 3 16:58 channel crw-rw---- 1 asterisk asterisk 196, 0 Feb 3 16:58 ctl crw-rw---- 1 asterisk asterisk 196, 255 Feb 3 16:58 pseudo crw-rw---- 1 asterisk asterisk 196, 253 Feb 3 16:58 timer
RTCを使用しない場合
Zaptelと同じですが、dahdi_dummyでRTCを使用したくない場合にはソースを調整します。
dahdi_dummyは drivers/dahdi/ の下の dahdi_dummy.c です。
#define USE_RTC #endif #endif #endif #undef USE_RTC <--追加します #include <linux/kernel.h> #include <linux/errno.h>
ソースを変更したならば再度、make,make installを行います。DAHDI Toolsは再インストールする必要はありません。