「Asterisk Timer」の版間の差分
提供: VoIP-Info.jp
(新しいページ: 'Asteriskを動作させる上で、ちょっとやっかいと思われるのがタイマーです。Asteriskの一部の機能は動作タイミングをZaptelから取得し...') |
(相違点なし)
|
2007年4月15日 (日) 22:42時点における版
Asteriskを動作させる上で、ちょっとやっかいと思われるのがタイマーです。Asteriskの一部の機能は動作タイミングをZaptelから取得していたり、Zaptelの仮想デバイスを用いているためZaptelが正しく動作する、すなわちZaptelが動作できるタイミングソースが無いと動かない機能があります。Zaptelを必要とするのはAsteriskのアプリケーションの中でも、MeetMeとIAXトランキングのふたつだけですので、もしこれら機能を使わなければztdummyやzaptelをインストールする必要はありません。
ztdmmuy
通常、zaptelはDigiumのハードウェア(TDM400Pなど)からタイミング信号を取得して動作しています。このためzaptelはDigium製のハードが無いと動作しません。
この代替として組み込むのがztdummyです。ztdummyはタイミング信号を得るために、Linuxカーネルが2.4の場合にはUSB-UHCIドライバを使用します。つまりカーネル2.4環境ではUSB-UHCIが組み込まれていないとztdummyは動作しません。
ところがマザーボードによってはUSB-OHCIドライバを使うもの(NECのUSBホストコントローラを使うもの)があり、この環境ではztdummyが動作しないという問題があります。残念ながらUSB-UHCIとUSB-OHCIはドライバの構造が全く異なるため、USB-OHCIで動作するztdummyは作ることができない模様です。
代替手段
USB-UHCIが使えない環境では以下の手段でタイマーを使用することができます。
- Kernel 2.6系のLinuxを使う
- Kernel 2.6系ではカーネル内蔵タイマーの精度が向上しているため、これを使ってztdummyを動かすことができます。現バージョンのzaptelはKernel 2.6に対応しており、コンパイル時にカーネルバージョンを判断することで、2.6系ではカーネル内蔵タイマーを使うようになっています。このためKernel 2.6系ではzaptel+ztdummyが特になにもしなくても動くはずです。多くのLinuxディストリビューションは現在、Kenrel 2.6ですから、この方法が一番簡単でしょう。
- Kernel 2.4系の場合
- Linuxのリアルタイムクロック(RTC)を使う手段が存在します。ただし、カーネルの再構築が必要で、RTCサポートオプションをオフにしたカーネルを使う必要があります。
- この場合にはzaptelとzaprtcと呼ばれるRTCサポートモジュールを使います。zaprtcはここからダウンロードできます。zaprtcを使う場合にはztdummyは必要ありません。