アナログ回線ボードTDM400Pを使ってみる(2005年頃の記事)

TDM400P?   Digium社からアナログ回線用のWildcard TDM400Pという
ボードを購入すれば、Asteriskに電話線をつなぐことが出来るように
なります。Fritzが購入したのは、TDM22Bというもので、TDM400Pに
内線用基盤×2枚、外線用基盤×2枚が入っているものです。

TDM400Pカードを装着したところ。
このカードには、12Vの電源を供給する必要があります。

使い方   TDM400Pには、電源コードが付属していません。パソコンの電源ユニットから
HDD用の電源コードがたくさん出ていますが、大抵は何本かは余っていますので、
適当に空いているコードをTDM400Pに差し込みます。

これで、ハードウエアの準備はOK
しかし、PCの電源ユニットからの電源を内線のリンガー用につかうなんてのは
灯台下暗しでしたね。拍手拍手。大抵のメーカーは別途専用の電源ユニットを
買わないといけないですもんね。Fritzもこれには一本取られました。
よく考えてみれば、これが一番スマートな方法ですね。

設定   ハードウエアの準備が整ったら、今度はドライバ関係の初期化です。
まずは、/etc/zaptel.conf ファイルを設定します。

fxols=1-2
fxsls=3-4
loadzone=jp
defaultzone=jp

jpを指定することで、日本のNTT用の設定にします。

次に、以下のコマンドを投入します。

modprobe zaptel

何事もなければ、エラーメッセージなどが表示されずに終わるはずです。
さらに /var/log/messages を見て、エラーが出ていないことを確認します。


次に、以下のコマンドを投入します。

modprobe wctdm

これで何もエラーが出なければ、以下のコマンドを投入します。

ztcfg -vvvv

上記のコマンドを投入すると約1秒から2秒くらい固まりますが
正常にコマンドが終了すればプロンプトにちゃんと戻ってきますので
Ctrl-Cとかやらないで待ちましょう


次に、/etc/asterisk/zapata.confを編集します。

この例では、TDM400Pの各ポートを別々のトランクグループとします。

[channels]

;FXO
context = office-A
usecallerid=yes
hidecallerid=no
callerid=LINE1
signalling=fxo_ls
echocancel=yes
group=1
channel => 1

;FXO
context = office-A
usecallerid=yes
hidecallerid=no
callerid=LINE1
signalling=fxo_ls
echocancel=yes
group=2
channel => 2

;FXS (gaisen)
signalling=fxs_ls
callprogress=yes
progzone=jp
callerid=ZAPTEST <9000>
echocancel=yes
context = office-A
usecallerid=yes
hidecallerid=no
echocancel=yes
busydetect=yes
busycount=4
answeronpolarityswitch=yes
hanguponpolarityswitch=yes
ringtimeout=8000
group=3
channel => 3

;FXS (gaisen)
signalling=fxs_ls
callprogress=yes
progzone=jp
callerid=ZAPTEST <9000>
echocancel=yes
context = office-A
usecallerid=yes
hidecallerid=no
echocancel=yes
busydetect=yes
busycount=4
answeronpolarityswitch=yes
hanguponpolarityswitch=yes
ringtimeout=8000
group=4
channel => 4


配線作業   ここで、電話線と内線電話をTDM400Pに接続します。
配線が出来たら、ここを参考にダイヤルプランを
作成してください。

試す   設定と配線ができたら早速テストしてみましょう。
まず、内線電話器をオフフックして、「0117」をダイヤルしてください。
天気予報が聞こえたらOKです。