徒然に

徒然に

Asterisk+IAXmodem+Hylafax+Frog FAX@Mail によるFAX環境

2008年03月02日 | Weblog
数週間ぶりに実家に戻ってきました。

FAX使えるようにならない?のお声。
やってみます。

NTTのひかり電話に入っており、RT-200KIで接続されているので、
電話環境とコンピュータシステムの相性はほぼ100%
思ったことはたいていできるという状況ですね。
(テレビなどに比べて、電話は完全にPCからコントロールできる
  その意味で、非常にオープンなインタフェースを提供してくれています。
    テレビのチャネルを勝手にPCから変えたり、画面にテロップ出すなんて
      いまのテレビじゃ望んでもできないですから。)

ということで、目的とするシステムですが、
●要求条件
   1.24時間FAXを受信できる環境を構築する
   2.FAX専用の番号を利用する
   3.PCから簡単にFAXを送受信可能とする
   4.電子メールでFAX受信お知らせとイメージファイルを受信する
   5.FAXが届いたらお知らせ電話を鳴らす

というところでしょうか。

1.、2.については、家の中で24時間稼動しているサーバPCが
あり、Asteriskが立ち上がっていて、ひかり電話にRT-200KIに接続していて、
使っていない追加番号契約があるので、それで満たされます。
 (以前に実験用に追加番号を契約してあった。月100円だし。)
 (2チャネル契約もしてあるし、問題はないですね。)

 なお、ぼくのところは、Vinelinux(4.2)でサーバを構築しています。

 このAsteriskのPBX環境でソフトウェア的にFAXを受信できればよいわけで
  http://voip.gapj.net/index.php?FAX%A4%CE%C1%F7%BC%F5%BF%AE
 を参考にさせていただきました。

 まず、準備としていくつかライブラリを入れてあげる必要があるようです。
 sudo apt-get install libjpeg libjpeg-devel libtiff libtiff-devel

 IAXmodemのインストール
  http://sourceforge.net/projects/iaxmodem
 より最新のソースファイルをダウンロード: iaxmodem-1.1.0.tar.gz
  tar zxvf iaxmodem-1.1.0.tar.gz
 インストールについては、libiax2 と spandsp のライブラリを
 先に作ってから、iaxmodemをbuildするということのようです。

 libiax2 のインストール
  cd iaxmodem-1.1.0/lib/libiax2
  ./configure
  make
  sudo make install

 spandsp のインストール
  cd iaxmodem-1.1.0/lib/spandsp
  ./configure
  make
  sudo make install

 ライブラリは、/usr/local/lib に入るようなので、
  sudo vi /etc/ld.so.conf
 で、/usr/local/libを追加。
  sudo /sbin/ldconfig -v
 ---
  /usr/local/lib:
    libiax.so.0 -> libiax.so.0.0.0
    libspandsp.so.0 -> libspandsp.so.0.0.2
 ---
 となっていれば、ライブラリにリンク。

  cd iaxmodem-1.1.0/   (注: cd ../../ということか)
  ./build
 で、iaxmodemの実行ファイルが作成されるので、
  sudo cp ./iaxmodem /usr/local/sbin
 にでも入れておく。

 iaxmodemの設定については、/etc/iaxmodem/になっているので
  sudo mkdir /etc/iaxmodem
  sudo cp ./iaxmodem-cfg.ttyIAX /etc/iaxmodem/ttyIAX

 ttyIAXの中身の書き方および、Asterisk側の設定については、
  http://voip.gapj.net/index.php?FAX%A4%CE%C1%F7%BC%F5%BF%AE
 を参考に行いました。

 次にHylafaxを入れます。iaxmodemがモデムだったので、
 その裏側で動く、FAX端末を擬似するソフトウェアなのですが、
 多彩なサーバ機能なども持っていて便利です。
  http://www.hylafax.org/content/Main_Page
 にはかなり詳しい説明がありますので、便利です。

 Hylafaxのインストール前に、GhostScriptが入っていたほうが
 良いみたいなので、
  sudo ghostscript ghostscript-devel ghostscript-fonts
 を実行しておきました。(必要ない??)

 それでは、改めて、
  wget ftp://ftp.hylafax.org/source/hylafax-4.4.4.tar.gz
 でソースを持ってきて、
  tar zxvf hylafax-4.4.4.tar.gz
  cd hylafax-4.4.4
  ./configure
 途中で、Configurationを聞いてきますね。
  
  [13] Default page size:      North American Letter

 は、修正したほうがよいでしょう。
  Are these ok [yes]? 13
  Default page size [North American Letter]? A4
 
 次に進んで

HylaFAX configuration parameters (part 2 of 2) are:

[15] Location of getty program: /sbin/agetty
[16] Location of voice getty program: /bin/vgetty
[17] Location of sendmail program: /usr/sbin/sendmail
[18] Location of TIFF tools: /usr/bin
[19] Location of SysV init scripts: /etc/rc.d/init.d
[20] Location of SysV start scripts: ../rc2.d ../rc3.d ../rc4.d ../rc5.d
[21] Location of SysV stop scripts: ../rc0.d ../rc1.d ../rc6.d
[22] Name of SysV start script: S97hylafax
[23] Name of SysV stop script: K05hylafax
[24] Init script starts faxq: yes
[25] Init script starts hfaxd yes
[26] Start old protocol: no
[27] Start paging protocol: no

 これは、このままで問題ないと判断。
 ./configureが終了するので
  make
  sudo make install
 します。
 /etc/init.d/hylafaxができているので、
  sudo /sbin/chkconfig hylafax on
 それから、Hylafaxの設定が必要です。
  sudo /usr/local/sbin/faxsetup
 次くらいの変更でよいと思います。あとは全部デフォルトでリターンのみ。
  Country code [1]? 81
  Area code []? 3   (東京など、0を除いた番号?)
  Long distance dialing prefix [1]? 0
  International dialing prefix [011]? 010
 これで、あとはリターンで、Hylafaxのサーバが起動します。
 
 Asterisk <-----> iaxmodem <-----> Hylafax
 の構成で接続されるわけですが、
  Asterisk <---IAX---> iaxmodem <---ttyIAX---> Hylafax と接続されます。

 まず、iaxmodemを起動し、ttyIAXを出力とします。
  sudo /usr/local/sbin/iaxmodem ttyIAX > /dev/null 2>&1 &
 これで、iaxmodemが起動した形になります。
 次に、Hylafaxですが、すでにfaxsetupの際に起動していると思います。
 起動スクリプトは、/etc/init.d/hylafax です。
 そこで、hylafaxにiaxmodemと接続するために、ttyIAXをつかませます。
  sudo /usr/local/sbin/faxgetty /dev/ttyIAX &

 以上でFaxが受け取れるようになりました。
 /var/spool/hylafax をSambaなどで共有すると便利です。

 なお、faxsetupの途中で、作業アカウントに対して、Fax受信メールを
 送るような設定になっているので受信した場合にメールが届きます。

 次にWindowsマシンから、FAXを送信するためのアプリケーションを
 Windowsマシンにインストールします。
 Frog FAX@MailなるアプリケーションがHylafaxのページで紹介されており、
 使い勝手もよさそうです。
  http://www.frogfax.com/modules/spxnews/
 Frogfax - Lite版は、Freeとのことなので、Downloadページからダウンロードします。
 インストールは、ドキュメントに従って入れればよいので簡単です。
  http://www.frogfax.com/modules/spxsection/category.php?categoryid=4

 Frog FAX@mailは、次のような構成で接続されます。
  PC上のアプリ <--印刷--> Frog FAX@Mail <--Hylafaxの通信プロトコル--> Hylafaxサーバ
 インストール手順で、順次出来上がりますが、Hylafaxサーバへのユーザ名、パスワードの
 登録が必要なようです。
  sudo /usr/local/sbin/faxadduser -u (username) (password)
 で、サーバ側に登録すれば、出来上がりです。

 送りたい文書を、印刷するときにFrogを選択し、起動して送信先を
 登録して、送信するだけで発信できます。

以上長くなりました。
結構便利です。