2006年02月03日

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も作成できるのですが、セグメンテーションフォルトが発生するので止めました。
Posted by admin at 07:17 午後 | from category: Computer |
コメント
コメントはまだありません