玄箱Asterisk

2007年5月12日 (土) 05:32時点におけるTakahashi (トーク | 投稿記録)による版 (CF化を追加)
ちょっとやりすぎ

バッファローのNASキット、玄箱用のAsteriskディストリビューション。現在のところ玄箱および玄箱HGに対応しています。
玄箱PROはCPUが変更になったため、下記のバイナリ・キットは動作しません。

目次

バイナリ・キット

当サイトのftpサーバで配布中です。下記リンクからダウンロードできます。

ftp://ftp.voip-info.jp/asterisk/kuro-box/

なお、このバイナリはPPCタイプの玄箱(無印およびHG)用です。PROでは動作しませんので注意してください。

インストール方法

 バイナリキットからのインストールは簡単です。バイナリ・キットを玄箱のルートディレクトリに展開してください。再起動するとAsteriskが使えるようになります。  まず、玄箱にバイナリ・キットを転送します。この際、玄箱のディスク領域を圧迫しないため/mntディレクトリに転送すると良いでしょう。転送が終わったら以下の例のようにして展開します。

# cd /
# tar zxvf /mnt/転送したファイル名.tar.gz

zaptelを有効にするため以下のコマンドをrootで実行します。

# depmod -a

depmodのエラーは気にする必要はありません。
これで玄箱を再起動するとAsteriskが使えるようになります。内線の設定等はAsterisk_サンプル設定ファイルの設定に準じます。

コンパイル方法

OSを入れ換えないでもAsteriskは一応動きます。ただしそのままではzaptelが使えないのでMeetMeやIAXトランキングは動作しません。

1)玄箱を普通にインストールする。

makeするので玄箱の時刻を正しくあわせること。

2)付属CDに入っている追加のコマンド類を入れる。この際、bisonは後で入れなおすので入れなくてよい。
3) bisonをhttp://www.gnu.org/software/bison/bison.htmlから入手。1.35で動作確認。
4) bisonを展開し./configure、make、make installでインストール。/usr/local/binにインストールされるので、もし事前に玄箱付属のbisonをインストールしてしまっている場合には削除しておくこと。
5) awkが/usr/binにないので

ln -s /bin/awk /usr/bin/awk

6) Makefileの(shell pwd)が動かないので、面倒ないのでpwdを作ってしまう。

ln -s /bin/busybox /bin/pwd

7) mpg123を入手、インストールする。

make linux-ppc; make install8) ncursesがないのでここから入手。./configure、make、make install

9) Asteriskを入手、展開する。
注意:MeetMeを使いたければ玄箱ztdummyの項を先に実施すること。
10) あとはmake、make installするだけ。

番外) mknodが無いとお嘆きのあなたに。
mknodはbusyboxにリンクすればいいだけ

玄箱ztdummy

ちょっと無茶な方法ですが、MeetMeでの動作を確認しました。タイミングについて考慮していないのでIAXトランキングではダメじゃないかと思います(未テスト)。また、高負荷時には音がふらふらするかもしれません。皆様のテスト結果をご報告ください。このモジュールを使うことでオリジナルのカーネルのままの玄箱でMeetMeが使えるようにになると思います。

入手

ftp://ftp.voip-info.jp/asterisk/kuro-box/ztdummy_kb.c
から、ダウンロードしてください。

コンパイル

コンパイル方法は簡単です。このztdummy_kb.cをzaptelを展開したディレクトリに置いて下さい。次に Makefileを以下の2箇所修正します。

MODULES=zaptel tor2 torisa wcusb wcfxo wcfxs \
        ztdynamic ztd-eth wct1xxp wct4xxp wcte11xp  ztdummy ztdummy_kb <--追加する
ztdummy.o:ztdummy.c ztdummy.h
         $(HOSTCC) $(KFLAGS) -c ztdummy.c
 
ztdummy_kb.o:ztdummy_kb.c                     <--+--このエントリを追加する
         $(HOSTCC) $(KFLAGS) -c ztdummy_kb.c   <--+

ztdynamic.o: ztdynamic.c zaptel.h
        $(HOSTCC) $(KFLAGS)  -c ztdynamic.c

Makefileの修正が終わったらmakeしてztdummy_kb.oを作成します。insmodでzaptel.oをロードした後、insmod ztdummy_kb.oをロードしてください。元のztdummyをロードする必要はありません。これでAsteriskを起動し、MeetMeを使用してみてください。

Zaptel 1.2系で使用する場合 ztdummy_kbはzaptel-1.2.xでも動作します。zaptelのディレクトリに置いた上で以下を実行してください。

Makefileを修正します。そもそも玄箱にはztdummy以外のモジュールはどのみち使えないので、コンパイルしません。MakefileのMODULES=の部分を以下のように修正してしまいます。

MODULES:=zaptel ztdummy_kb
#MODULES:=zaptel tor2 torisa wcusb wcfxo wctdm wctdm24xxp \
#        ztdynamic ztd-eth wct1xxp wct4xxp wcte11xp pciradio \
#         ztd-loc  ztdummy_kb # ztdummy

あとはmakeするだけです。モジュールのロード方法などは1.0.xと同じですので参考にしてください。

関連項目