匿名

差分

Asterisk Timer

2,751 バイト追加, 2007年4月15日 (日) 22:42
新しいページ: 'Asteriskを動作させる上で、ちょっとやっかいと思われるのがタイマーです。Asteriskの一部の機能は動作タイミングをZaptelから取得し...'
Asteriskを動作させる上で、ちょっとやっかいと思われるのがタイマーです。Asteriskの一部の機能は動作タイミングをZaptelから取得していたり、Zaptelの仮想デバイスを用いているためZaptelが正しく動作する、すなわちZaptelが動作できるタイミングソースが無いと動かない機能があります。Zaptelを必要とするのはAsteriskのアプリケーションの中でも、MeetMeとIAXトランキングのふたつだけですので、もしこれら機能を使わなければztdummyやzaptelをインストールする必要はありません。
==ztdmmuy==
通常、zaptelはDigiumのハードウェア(TDM400Pなど)からタイミング信号を取得して動作しています。このためzaptelはDigium製のハードが無いと動作しません。<br>
この代替として組み込むのがztdummyです。ztdummyはタイミング信号を得るために、Linuxカーネルが2.4の場合にはUSB-UHCIドライバを使用します。つまりカーネル2.4環境ではUSB-UHCIが組み込まれていないとztdummyは動作しません。<br>
ところがマザーボードによっては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は必要ありません。