hqm@ai.mit.edu (Henry Minsky) (05/13/91)
Archive-name: dcom/fax/netfax/1991-05-13 Archive-directory: transit.ai.mit.edu:/pub/systems/netfax/ [128.52.39.116] Original-posting-by: hqm@ai.mit.edu (Henry Minsky) Original-subject: Netfax 2.1 Postscript->Fax spooler package Reposted-by: emv@msen.com (Edward Vielmetti, MSEN) The following software is available by anonymous ftp from transit.ai.mit.edu:/pub/systems/netfax/netfax.tar **************** MIT AI Lab Fax Sending and Spooling System **************** ----------------------------------------------------------------------------- (c) Copyright 1991 by Henry Minsky and David M. Siegel. All rights reserved. This file is part of Netfax. This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. No author or distributor accepts responsibility to anyone for the consequences of using it or for whether it serves any particular purpose or works at all, unless he says so in writing. Refer to the General Public License for full details. Everyone is granted permission to copy, modify and redistribute Netfax, but only under the conditions described in the Netfax General Public License. A copy of this license is supposed to have been given to you along with Netfax so you can know your rights and responsibilities. It should be in a file named COPYING. Among other things, the copyright notice and this notice must be preserved on all copies. ----------------------------------------------------------------------------- This is version 2.1 of Netfax. Please send comments, bug reports, and fixes to: bug-fax@ai.mit.edu. Faxes to (617) 253 5060 **************** Overview **************** This is a set of software which provides Group 3 fax tranmission and recptions services for a networked unix system. It requires a faxmodem which conforms to the new EIA-592 Asynchronous Facsimile DCE Control Standard, Service Clas 2, such as the model " Everfax 24/96 D" -- (model EV-968-51) [ I have heard you can order through a dealer, such as Avcom in Palo Alto. A contact there is Mark Wakup (or Karen Southerland). Avcom's number is 326-8686. The list price is $499. The model number is 968-51, and the product name is Everfax 24/96D. The "D" seems to indicate that it's the latest one, but John Dyer-Bennet told me to be sure to specify the model number also. Everex's main number is 1-415-491-1111 for support(?). The sales number is 1-800-821-0806. ] The system works by running a queue manager (faxspooler) on the host machine with the faxmodem installed. This program scans a queue directory for entries from user programs. Users can post faxes using the fax program directly, or, with the proper entry in the mail aliases file, send email to post a fax. The user can post files in ASCII text, postscript, or TeX DVI format. They are all converted to postscript and queued to be sent. Incoming telephone calls to the modem are answered, and incoming faxes are deposited in the spooler's incoming fax directory. Nothing else is done with the received faxes, they just sit there until someone looks at them. The fax queue entries consist of the document to be sent as a postscript file, and a job header file which contains the transmission data (user, fax phone number, retry count, etc). When a queue entry is found, the postscript document is converted to multiple bitmap images, one per page, using the Ghostscript system. The bitmaps are then converted to fine-resolution g3 fax format (1-d Modified Huffman coding, 200 dpi) using the pbm Portable Bitmap Toolkit system. Received faxes are currently stored in the /com/fax/incoming (or wherever you set the INCOMING directory in the conf.h file) as g3 format files. You could use Sam Leffler's fax2tiff program to create class F tiff files from these directly, if you wish. **************** Other Software You Need **************** You must have Ghostscript installed, and the Portable Bitmap tools installed in order to run this system. See the INSTALL file for information about where to get these programs. You should have gotten with this release a copy of 'psify', a program to format computer programs into postscript. It also does plain ASCII text files. The enscript program from Adobe, or something comparable, is also useful to format an ascii text file as a postscript file. **************** Installation **************** Look in the file INSTALL in this directory **************** Fax System Directory **************** The software sources are divided into several directories: coversheet: Program used by spooler to make coversheet for a fax transmission. doc: Some Documentation of internals. fax: The program a user calls to send a document as a fax. Currently has options for sending ascii text, postscript, and DVI files. faxmail: The program called by the mailer to parse and queue a mail message for transmission as a fax. faxsend: Program to sends a list of fax pages to a particular fax. faxspooler: Simple spooler to manage a queue of faxes. include: Common header files libfax: Common utility routines: Currently just the serial port and faxmodem protocol drivers. man: Manual pages for documentation ps: Postscript programs used to generate bitmaps and coversheets. scripts: Various shell scripts used by the system. ---------------- **************** User Interface **************** (1) The 'fax' program invoked by the user to post a fax transmission. The command line arguments are: usage: fax [-p returnfax] [-r recipient] [-d] phone [file] The phone number is a Hayes Modem compatible dial string. (A comma in the dial string indicates a pause, etc; see a Hayes manual for details). The file can be ascii, postscript, or DVI format. For DVI format, use the -d option. Postscript will be automatically recognized if the first two characters in the file are '%!'. The optional -p and -r options are strings which go on the coversheet. '-r' is the name of the recipient, and -p is a return fax number. (2) Alternatively, faxes can be posted from email. See the installation instructions in doc/install.doc for details. **************** Potential Improvements **************** Here are some things which might be cool to implement, if you are feeling the urge to hack. You can obtain copies of the faxmodem class 2 standard document (EIA-592)from the Electronic Industries Association. 1. Add support for sending tiff files, including class F. This would be a trivial thing to do, using Sam Leffler's TIFF library functions. 2. Do something with the received faxes; a little OCR or AI might go a long way. **************** KNOWN BUGS/FIXES **************** [1] For fax reception, I changed the scan_queue procedure to read the serial line in the top level loop, using the ALARM signal set to kick it out at the QUEUE_INTERVAL to check for outgoing entries in the queue. I had been having trouble with reliability with the process when fax receive is enabled. [Previous to this change, the faxspooler process had been known to lock up from time to time and I had trouble debugging it, especially when it was running as a daemon process.] -- comp.archives file verification transit.ai.mit.edu total 3648 -rw-rw-r-- 1 hqm 532480 May 12 05:56 netfax.tar -rw-rw-r-- 1 hqm 328367 Apr 23 19:42 netfax.tar.Z -rw-rw-r-- 1 hqm 829481 Apr 19 01:27 v2.3pics.tar.Z -rw-rw-r-- 1 hqm 351929 Apr 19 01:26 v2.3.tar.Z -rw-rw-r-- 1 hqm 688527 Apr 19 01:25 v2.2pics.tar.Z -rw-rw-r-- 1 hqm 333827 Apr 19 01:23 v2.2.tar.Z -rw-rw-r-- 1 hqm 32768 Apr 19 01:13 psify.tar -rw-rw-r-- 1 hqm 278222 Apr 19 01:13 pbmplus.tar.Z -rw-rw-r-- 1 hqm 270336 Apr 19 01:13 faxpak.tar found netfax ok transit.ai.mit.edu:/pub/systems/netfax/