wiki:AsteriskDebianZaptel1.2.8

Version 1 (modified by sgk, 13 years ago) (diff)

--

Zaptel 1.2.8

Zaptelのカーネルモジュールのビルドはめんどくさいので、Debianに付属の物を使用することとした。 Debianに付属のは、Zaptel 1.2.8。 本日(2006/9/14)現在、Zaptel 1.2.9が存在するのだけど、1.2.8とあまり変わらないようだ。 だいじょうぶでしょう。 使用したボードは、 X100P(コンパチ品)

# apt-get install zaptel-source
# apt-get install gcc-4.0
# CFLAGS=-DZERO_BATT_RING m-a a-i zaptel
# depmod
# modprobe wcfxo
# apt-get install zaptel

Zaptelモジュールはバイナリでは提供されていない。 Debianのバイナリパッケージのカテゴリに分類されている不思議なソースパッケージ「zaptel-source」をインストールした上で、ビルドする。 ビルドツール「module-assistantm-a)」は自動的にインストールされる。 カーネルをビルドしたのと同じバージョンのコンパイラが必要だが、これは自動的にはインストールされない。 m-aがエラーとなった場合は、エラーログを読んだ上で、必要なコンパイラをインストールしてからやりなおす。 上記の例では、gcc-4.0が必要だった。

m-a a-i」でビルドとインストールが行われる。 「CFLAGS=-DZERO_BATT_RING」が重要。 これをつけなくても一見うまくいっているように見える。 しかし、ISDN TAに接続すると、何度か発着信を行うと「WARNING: Detected alarm on channel 1: Red Alarm」などというエラーが発生して機能しなくなる。 「-DJAPAN」があった方がいいかもしれないが、wcfxo.cを見た範囲では、「ZERO_BATT_RING」を定義すると「JAPAN」も定義されるようなので、とりあえず無視。

インストールしただけではmodprobeでモジュールファイルがみつからないので、depmodが必要。 あとは、zaptelパッケージ(initスクリプトなど補助ファイル群)をインストールする。

ここまでの作業のままでは、Linuxを再起動するとwcfxoがロードされない。 /etc/modulesに以下の行を追加しておく。

wcfxo

/etc/zaptel.confは、こんな感じ。

loadzone=jp
defaultzone=jp
fxsks=1-2

あちこちで注意されていることだが、「FXOボードを使用する場合はfxsksを指定する」ことに注意する。 今回はX100Pを2枚使用したので、「fxsks=1-2」とした。 なお、同じボードを2枚使用するとどのボードが1番だろうかと悩むが、想像通り、PCIスロット番号の若い方が1番として認識されるようだ。

うまくいったかどうかのチェック。

# ztcfg -vv

Zaptel Configuration
======================


Channel map:

Channel 01: FXS Kewlstart (Default) (Slaves: 01)
Channel 02: FXS Kewlstart (Default) (Slaves: 02)

2 channels configured.