FAX受信サーバ
社内のファイルサーバ(samba)にFAXモデムを取り付けて、FAX受信サーバを構築しました。
※FAX専用機の用紙が感熱ロール紙なので節約(ペーパーレス)という名目です。
以下の3つのRPMパッケージをインストールします。
mgetty-viewfax-1.1.21-4
mgetty-sendfax-1.1.21-4
mgetty-1.1.21-4
ファイルサーバのOSがVine 2.1.5なのでapt-getコマンドでインターネットからダウンロード・インストールします。
mgettyの設定ファイル/etc/mgetty+sendfax/mgetty.configを編集します。
debug 4 fax-id +81-23-622-xxxx speed 38400 port ttyS0 switchbd 0 fax-only yes ringback no modem-type cls2
FAXモデムはサン電子のMS56KAFを使いました(余っていたやつです)。
Rockwell互換らしく”switchbd”の指定が必要でした。
次にFAX受信後の動作を決める/etc/mgetty+sendfax/new_faxを作成します。
#!/bin/sh PATH="/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin" HUP="$1" SENDER="$2" PAGES="$3" shift 3 CONVERT="/usr/X11R6/bin/convert" TIFFDIR="/home/FAX" MAILTO="user@domain" MAILER="/usr/sbin/sendmail" # convert to Multi-Paged TIFF BASENAME=`basename $1 .01` TIFFPATH=$TIFFDIR/$BASENAME.tiff case $BASENAME in fn*) GEOMETRY="" ;; # find out resolution *) GEOMETRY="-geometry 1728x2339!" esac files= for i in $@ do files="$files fax:$i" done $CONVERT -monochrome -size 1728x2339 $GEOMETRY $files $TIFFPATH if [ $? -eq 0 ]; then chown nobody:nobody $TIFFPATH # rm -f /var/spool/fax/incoming/$BASENAME.* fi ( echo "Subject: fax received ($PAGES Pages)" echo "To: $MAILTO" echo "" echo "see file \\fileserver\FAX\$BASENAME.tiff" ) | $MAILER $MAILTO exit 0
↑は受信したFAXデータをImageMagickに付属のconvertツールでマルチページTIFFに変換したファイルをsambaでアクセスできるディレクトリに置き、メールでファイルの場所を知らせるスクリプトです。
PDFも作成できるのですが、セグメンテーションフォルトが発生するので止めました。