DAHDI

提供: VoIP-Info.jp
移動先: 案内検索

Digium Asterisk Hardware Device Interface

Zaptelが商標の問題から使用できなくなったため、Asterisk 1.6からはZapではなくDahdiが使用される(Zaptelは1.4系で終了)。現在のAsterisk 1.4系ではZaptelとDAHDIのいずれも使用できるが、将来的に1.6に移行するのであれば、DAHDIを使用する環境に統一する方が良い。
初期正式版リリースはdahdi-2.0.0。DAHDI 2.0.0とDAHDI Tools 2.0.0に分けて提供される。
現在(2009/11)のリリースでは、DAHDI本体とDHADI Toolsが統合されたパッケージが用意されている。

レイアウト

/ -- etc/ -- dahdi -- init.conf
   |                  modules
   |                  system.conf
   |
   +- dev/ -- dahdi -- Zapと同様、DAHDIデバイス

設定ファイル

/etc/asterisk/zapata.confは/etc/asterisk/chan_dahdi.confに変更。

モジュール

直接Zapを使用していたモジュールはDAHDIを使用するように変更される。該当モジュールは以下の通り。

chan_zap.so -> chan_dahdi.so
app_zapbarge.so -> app_dahdibarge.so
app_zapras.so -> app_dahdiras.so
app_zapscan.so -> app_dahdiscan.so
codec_zap.so -> codec_dahdi.so

チャネル名

ZAP/で指定されていたチャネル名はすべてDAHDI/に変更される。

インストール

  • DAHDI本体
ソースを展開しmakeする。この際、Linuxのディストリビューションによってkernel-sourceやkernel-develが必要となるので注意。
makeが完了したならばmake installを実行するだけ。make install中にボード用ファームウェアをインターネット経由で落としに行こうとするので注意。
  • DAHDI-Tools
従来まで同梱されていた設定ファイルや起動スクリプトやユーティリティは、こちらに含まれるようになった。
make,make install,make configを行う。
make menuselectも使えるので必要なものだけコンパイルしてもよい。

DAHDIインストール

参考情報

ZaptelやDAHDIでLinuxカーネルメッセージに以下が大量に出力される場合の対処方法。

rtc: lost some interrupts at 1024Hz.

XenのDmain-0等で発生する模様。動作そのものは一見問題ないように見えるが・・・
RTCの割り込みが落ちているという意味なので、RTC割り込みを使わなければよい。DAHDIの場合ならば drivers/dahdi/dahdi_dummy.c に以下の一行を追加する。

#define USE_HIGHRESTIMER
#else
#define USE_RTC
#endif
#else
#if 0
#define USE_RTC
#endif
#endif
#endif                      <--これの後に

#undef USE_RTC              <--この1行を追加

これによりmakeしなおすと、dahdi_dummyはRTCを使用せず、kernel tickを使用するようになるので、先ほどのメッセージは出なくなる。