「Zaptel-1.2の問題点」の版間の差分

提供: VoIP-Info.jp
移動先: 案内検索
(「Zaptel-1.2の問題点」を保護しました ([編集=管理者のみ許可] (無期限) [移動=管理者のみ許可] (無期限)))
 
(4人の利用者による、間の5版が非表示)
35行目: 35行目:
  
 
==zaptel-1.2.2 の -DJAPAN 対応パッチ==
 
==zaptel-1.2.2 の -DJAPAN 対応パッチ==
zaptel-1.2のソースコードの修正と Makefile の -DJAPAN の追加を patch ファイル zaptel-1.2.2_japan.patch.gz にまとめました。  
+
zaptel-1.2のソースコードの修正と Makefile の -DJAPAN の追加を patch ファイル [ftp://ftp.voip-info.jp/zaptel/zaptel-1.2.2_japan.patch.gz zaptel-1.2.2_japan.patch.gz] にまとめました。  
 
パッチの当て方は、次の通りです。<br>
 
パッチの当て方は、次の通りです。<br>
 
1) どこか適当なディレクトリ (たとえば、/usr/src) で zaptel-1.2.2.tar.gz を解凍
 
1) どこか適当なディレクトリ (たとえば、/usr/src) で zaptel-1.2.2.tar.gz を解凍

2017年11月18日 (土) 17:52時点における最新版

 mixさんのご指摘で判明しましたが、zaptel-1.2系は日本向けの処理部分のチェックがなされておらず、CFLAGSに-DJAPANを付けるとコンパイルが通りません。
 とりあえずの逃げとしては、-DJAPANを付けないでコンパイルしてください。
 原因については、一応、ソースを追ってみたところ、どうも従来のwcfxo部分をwctdmで吸収しなおしたようなのですが、これが日本対応部分の変更を忘れているようで以下の方法で修正すれば-DJAPANを付けてコンパイルが通ります。ただし、実際の挙動についてはまだ検証していませんのでご注意ください。皆さんからの、ご報告をお待ちしております。

-----wctdm.c
325行目付近
                          int battery;
                       int lastpol;
                       int polarity;
                       int polaritydebounce;
#ifdef JAPAN                                 <--+
                       int ohdebounce;          | 追加
#endif                                       <--+
               } fxo;
907行目付近
                       wc->mod[card].fxo.battery =  0;
#ifdef        JAPAN
                       if ((!wc->mod[card].fxo.ohdebounce) && wc->mod[card].fxo.offhook) {
                         (この行を修正する)
-----wctdm24xxp.c
343行目付近
                           int polaritydebounce;
#ifdef JAPAN                               <--+
                        int ohdebounce;       | 追加
#endif                                     <--+
                } fxo;
1140行目付近
#ifdef  JAPAN
                        if ((!wc->mods[card].fxo.ohdebounce) && wc->mods[card].fxo.offhook) { 
                           (この行を修正する)


zaptel-1.2.2 の -DJAPAN 対応パッチ

zaptel-1.2のソースコードの修正と Makefile の -DJAPAN の追加を patch ファイル zaptel-1.2.2_japan.patch.gz にまとめました。 パッチの当て方は、次の通りです。
1) どこか適当なディレクトリ (たとえば、/usr/src) で zaptel-1.2.2.tar.gz を解凍

cd /usr/src
tar xzf zaptel-1.2.2.tar.gz2) zaptel-1.2.2 のディレクトリに移動

cd zaptel-1.2.23) パッチ zaptel-1.2.2_japan.patch.gz を当てる
gunzip (パス)/zaptel-1.2.2_japan.patch.gz
patch -p1 < (パス)/zaptel-1.2.2_japan.patch
または、
zcat (パス)/zaptel-1.2.2_japan.patch.gz | patch -p1
*(注) (パス) の部分は、patch ファイルが置かれたディレクトリを指定します。

あとは、普通に make します。

 make linux26 (Linux kernel version 2.6.x の場合)