あるお客様が一日中ひっきりなしにFAXを受け、トナーを買いに行く手間も値段もバカにならないし紙も大量に消費して地球に優しくないとのこと。常時可動のサーバも無いので、そりゃHylaFAXの出番でっせ、と社に戻って記憶をたどってワークショップをあさると、ありました外付けモデムME5614D2 for まいと~く、そして非力ながらもまだまだ使えるWindows 2000 Professionalときらきら光るシールの張ってあるPC。これでナンバーディスプレイ対応FAX e-mail変換機が簡単にできるじゃありませんか。送信時は媒体が定まっていないので今までどおりFAXに挿すままでよさそう。受信だけが問題である、というわけでさらに簡単(後日 PDF -> e-mail添付 -> FAX送信でペーパレス もやりました)。他にも「HylaFAXでの送受信速度」も参考になるかもしれません。あとインターネットからサーバへのアクセスはフィルタするなり対処が必要です。IPv6でlistenしているからいいやとほっておくと、当たり前にIPv6になった日に大騒ぎになるかもしれません。
まずはFreeBSD RELEASEを最小インストール、そしてpowerd, ntp, ipfw, メール, syslog転送など必要な設定(ざくっと省略)。
1 2 |
# portsnap fetch && portsnap update # cd /usr/ports/comms/hylafax && make install clean |
デフォルト以外を選択したのは
- [nn] Default page size: A4
だけ。 /dev/cuau0 (cf. http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/serialcomms.html)がモデムがつながっているやつであることをさくっと確認。ATI4とかATI3とか。そしてアプリケーションでの設定。USBモデムならば/dev/cuaU0とか。
1 |
# faxsetup |
デフォルト以外を選択したのは
- Country Code: 81
- Area Code: 3 (東京03から国内開放番号の0を除いた3)
- Long distance dialing prefix: 0 (国内開放番号)
- International dialing prefix: 010 (国際開放番号 cf. マイライン)
自動的にfaxaddmodemが起動され、そこでデフォルト以外を指定したのは
- Serial port that modem is connected to: cuau0
- Phone number of fax modem: +81.3.0000.0000 (FAXの番号)
- Local identification string: HOGEHOGE (任意のFAXID。相手側のFAXに通知される。)
- Long distance dialing prefix: 0 (国内開放番号)
- International dialing prefix: 010 (国際開放番号 cf. マイライン)
- Tracing during normal server operaton: 0x1a73f
- Default tracing during send and receive sessions: 0x1a73f
- Rings to wait before answering: 3 (早すぎると相手番号を取得し損ねる)
Windows用のinfファイルを見ながら適当にモデムに向かって電話をかけつつ、Caller IDを取得する方法(ここではAT+VCID=1)を見つけて /var/spool/hylafax/etc/config.cuau0 とか.cuaU0 などに追加。
1 2 3 4 5 6 |
# #ModemSoftResetCmd: "ATI4\nATI3\nATI6\nAT&V\nATZ\nAT+MS?\nAT+GCI=?\nATI5\nAT+GCI=00\nATI5\nAT+VCID=1" ModemSoftResetCmd: "ATI4\nATI3\nATI6\nAT&V\nATZ\nAT+VCID=1" CallIDPattern: "NMBR = " CallIDPattern: "ANS_NMBR = " # |
CallIDPatternの後者は自機の番号。AT+GCI=00はAmazonなどで売っているConexant CX93001搭載の技適マークなんか付いてないど安いClass 1.0, Class 2 USB FAXモデムを構内回線につないでFAX受信時にATAでオフフックにならないような場合に付けてあげるともしかしたらつながるようになるかもしれません。Amazonの商品コメントでもFAXの送信ができても受信が安定してないとかできないと書いてありますが、料金からしてだめもとでいろいろ試して楽しめちゃう人向け商品ですね。IN/OUTがあるとかいう深い謎を持った商品もありましたがLINE/PHONEの間違いでしょうきっと。AT+GCI=で設定してATI5で返ってくる00の部分は、日本製でもITU-T.35のAnnex Aに基づいているものもあれば某携帯キャリアのように81とか電話の国番号だったり、某モデムでは64とかなんでかわからない値だったりするので、チップセットメーカによって違う場合があります。話を戻してその他のATI4とかはログで眺めてふーんとうなずくためのものです。ついでに下のこのME5614D2 for まいと~く用に書いた追加設定でMR560E5 for まいと~くも動作することも確認。
e-mail送り先などを指定するために /var/spool/hylafax/etc/FaxDispatch を作成。http://www.hylafax.org/content/Handbook:Server_Operation:Receiving_Faxesにも詳しく書いてありますが、/var/spool/hylafax/bin/faxrcvd を見ながら作成すると必要なものが一目瞭然。
1 2 3 4 |
FILETYPE=pdf TEMPLATE=ro (ちょっとしたボケのつもり) NOTIFY_FAXMASTER=errors ("always"とか、"neverメッセージタイプ"とか。) |
他にも${CALLID1}が自社の番号の時には自社の名前を表示するようにしたりして遊んでみました。/var/spool/hylafax/etc/templates/ro(ちょっとしたボケ)/faxrcvd-succces.txtを自分の気に入った順番や必要な情報だけに整理(ftp://など必要ない)して、
1 |
# printf '\nhylafax_enable="YES"\n' >> /etc/rc.conf |
/etc/ttysでは、TAで送信者の電話番号による振り分けを行って2つのfaxgettyで捌くように設定します。
1 2 |
cuau0 "/usr/local/sbin/faxgetty" dialup on secure cuaU0 "/usr/local/sbin/faxgetty" dialup on secure |
を追加。
1 2 |
# kill -HUP 1 # service hylafax start |
して、syslogでエラーが無いことを確認。FAXを送って動作していることを確認して、再起動。再起動後もFAXを送ってちゃんと動作していることを確認。ハードディスクの空きは十分すぎるほどあるのと、良く伺うお客様なので、キューはひたすら溜めて問題時対応用に。いずれフラッシュするようにしましょう。
さらに万が一のPCハングや保守時にも受信できないといけないので、ワークショップからCFカードにFAXを受信できるVE-GP62をひっぱりだしてきましたが、さすがに大量のファックスをいちいち確認するのは大変かもしれないので、冗長用には今のFAXの使い方の紙に印刷のまま使ってもらうのが良いでしょうか。そもそも送信用のFAXは今までのを使うのだから後者ですね。実際に運用して確認してもらいましょう。
ありがとう HylaFAX と portsシステム。あなた方のおかげで楽して世の中がまたまた少しエコになりました。多分。