wiki:AsteriskZapataConf

Asterisk: zapata.conf

「Zapataテレフォニー」ドライバ群を経由してアナログ電話回線等を取り扱うための、Asteriskの設定ファイル。Zapataテレフォニードライバ自体の設定は、/etc/zaptel.confなので区別すること。

このファイルの文法がちょっとわかりづらい。 「XXXXX=XXXXX」という行は、それ自体では回線の設定を行わない。 「channel=>XX」という行が、それ以前の「XXXXX=XXXXX」の行で指定された内容で、回線の設定を行う。 …というのを日本語で書いていても、いまいち説明できてないのがもどかしい。 なんどか読んで、意味するところを理解してください。

たとえばこんな感じ。

[channels]
signalling=fxs_ks
usecallerid=no
callwaiting=no
usecallingpres=no
callwaitingcallerid=no
threewaycalling=no
transfer=no
canpark=no
cancallforward=no
callreturn=no
echocancel=yes
busydetect=yes
busycount=8

context=ext1
callerid="Ext 1"
channel=>1

context=ext2
callerid="Ext 2"
channel=>2
usecallerid=no
ナンバーディスプレイを契約してない場合、X100Pなど発信者番号通知を認識できないインターフェースボードを使っている場合は、必ず「no」にすること。さもないと、電話回線からの呼び出しを認識するまで3秒くらいタイムラグが発生します。つまり、電話のベルが鳴るのが遅くなります。
context=ext1
一般的には、どの外線に着信しても同じコンテキストでextension.confの実行を行います。 上記の例では、着信した外線ごとに異なるコンテキストで実行するようにしてみました。
callerid="Ext 1"
上記の例では発信者番号通知を使用しないため、発信者番号で、どの外線への着信なのかを示すことにしました。 callerid=で発信者番号を上書きしています。
channel=1
ここまでの指定内容で、外線設定を作成しています。 ここでは1番の外線だけを指定していますが、channel=>1-2というように複数の外線を一度に指定することもできます。

外線によって異なるのは「context」と「callerid」だけなので、この部分だけを「channel=>」の直前に個別に記述しています。それ以外の部分は共通なので、ファイルの先頭に記述しています。