FreeBSD:mgetty

提供: Configure.sh
移動: 案内検索

mgetty+sendfax導入記

mgetty+sendfaxで出来ること

mgetty+sendfaxは以下のような機能を提供するソフトです.

  • DATA,FAXの受信
  • FAXの送信

普通,モデムを自動着信するようにした場合,DATAまたはFAXのどちらかということになりますが,mgettyを使うと,相手がDATAなのかFAXなのかを自動的に判別して,受信してくれます. FreeBSDでモデムの着信設定をしたりすると,外部からログインできるようになりますが,それに加えて,FAXも受信できるようになると考えるといいでしょう.

私のうちのマシンでは,DATAで接続された場合は,ログインできるようになっていますし,FAXであれば,FAXの受信をするようになっています.なかなか便利です.

なお, mgetty+sendfaxのホームページがありますので,参照すると良いでしょう.最新版のダウンロードも出来ます.

導入のポイント

さて,私のインストールした手順を示しましょう.上記のホームページからすでにファイルはダウンロードしてあり,さらに展開まで終っているという前提で話をします.なお,$MGETTYDIRをmgetty+sendfaxのトップディレクトリとします.

設定

まず,$MGETTYDIR/policy.hを用意します.まず,$MGETTYDIRにいき,次のように,policy.h-distをpolicy.hにコピーします.

% cp policy.h-dist policy.h

そして,policy.hを環境に合わせて編集します.ここで注意しなくてはいけないのが,FAX受信時の232C速度です. DATA受信の場合には,以下のように速度を速く設定しているかと思いますが,

#define DEFAULT_PORTSPEED       57600

このままだと,ほとんどの,Rockwellのチップを使ったモデムでは, FAX受信がうまくいかなくなります.以下のように設定するのを忘れないで下さい.

#define FAX_RECV_SWITCHBD 19200

また,FAXを受信した場合に,メールで受信を知らせることが出来るようになっています.その宛先の設定は以下の通りです.

#define MAIL_TO         "faxadmin"

なお,私のpolicy.hはこちらです.参考にして下さい.

次に,$MGETTYDIR/Makefileを編集します.ここでは,主に次のような設定を行ないます.

  • インストール先のディレクトリ
  • FAXのスプールディレクトリ
  • 必要なライブラリの設定

まあ,文章でだらだら書くより,見た方が早いでしょうから, 私のMakefileの設定例を御覧下さい.これをそのままお使いいただいても構いません.

コンパイルとインストール

コンパイルとインストールはいたって簡単で,$MGETTYDIRで,次のようにするだけです.

% make
% make install

ランタイムの設定

無事にインストールが終ったら,次はmgettyが動作するように環境を整えてあげましょう.まずは,modemを接続して,modemを制御できるようにして下さい. cuやtipで十分です.(これらの設定方法に関しては,適当な資料を探して下さい)

ここでまず注意しなくてはいけないことがあります.それは, モデムは自動着信にしてはいけないということです. cuやtipでモデムに接続している状態で,次のようなコマンドを送って下さい.

ATS0=0

モデムの着信は,mgettyがやるので,モデムが自動着信する必要はないのです. mgettyが着信操作をするからこそ,DATAとFAXの自動認識ができるのです.

モデムの設定が終ったら,次は着信設定です./etc/ttysを編集します.私の場合の設定例を以下に示します.

cuaa1   "/usr/local/sbin/mgetty -x 3 -n 1 cuaa1"        vt100 on secure

普通,着信には,/usr/libexec/gettyを使うと思いますが,それをmgettyにおきかえます.さらに,普通は着信用デバイスとして,ttyd?などを使うと思いますが mgettyでは,cuaa?を使います.私の場合は,com1にモデムがつながっていますので, cuaa1という設定になっているわけです.

これでシステムを立ちあげなおせば,準備完了です.

外部からのログインとFAX受信

準備ができたら,外部からのログインを試してみてください.モデムが着信して,loginプロンプトが出てきたら成功です.さらに,FAXを送ってみてください.正常に送れたら成功です.

受信したFAXは,/var/spool/fax以下にg3のファイル形式で蓄えられます.このファイルをg3topbmコマンドを使って,pbmファイルに変換すれば, xvなどで見ることができます.なお,デフォルトの設定では,faxadmin宛に FAXを受信したというメールが送られるようになっています.faxadminが自分になるように,sendmailのalias定義しておくといいでしょう.

FAX送信

このソフトの名前が,mgetty+sendfaxというように,sendfaxもあります. g3形式のファイルのFAX送信が可能です.詳しくは,manを参照して下さい.