amlovell@phoenix.Princeton.EDU (Anthony M Lovell) (11/23/88)
OK. So many of the people who responded to my call for FAX info sent in requests for the same that I felt I should post the collected facts I received. Most of these are from a single person... It starts into an ad spiel partway thru, but the operative facts (for me) are that FAX's can't be sent/received with a normal modem and that the current standard uses some data compression. From here on out, the text is penned by: Stuart.Lynne@wimsey.bc.ca {ubc-cs,uunet}!van-bc!sl Vancouver,BC,604-937-7532 It's basically a raster image, huffman encoded and sent bit synchronous over a V.29 modem. You will need CCITT Recomendations T.4 (Bit encoding) and T.30 (Procedures). These are generally available from companies that sell standards related stuff. Try: Omnicon 1-703-281-1135 What are you trying to do? We have fax software running under Xenix 286 now. It will be available under various other 286 / 386 Unix's later this year. Other types of machines next year. We're using the Quadram JTFax 96 board which ties us to the AT bus. Next year Quadram will have an external version which we can use from any multiuser type box. > How much do these FAX boards cost? DO they have a scanner, or are they > just these V.29 modems? Can an ordinary modem suffice or are they different? First think in terms of what a Facsimile machine is. For sending it's a scanner connected to a V.29 modem with dial capability. It dials remote machine has a conversation and eventually turns scanner on to scan the document and send the (Huffman encoded) bits to the far end. At the receiving end its a V.29 modem connected to a printer. When someone dials in it has a conversation then starts receiving bits which it expands to a raster line and prints. In the case of a computer system *emulating* a facsimile machine you can go the whole nine yards and get a scanner, printer and V.29 modem and emulate the above faithfully. But if you can't afford a scanner, how about imaging an ASCII file directly into the bit stream and sending that. Or create with PC Paint Brush, or pre-scan and send same image to many fax sites. Or for receiving, instead of just printing how about saving to a file. In fact what we've described are some the capabilities associated with the top-of-the line fax machines. Basically to emulate a fax machine you need two things. A V.29 modem and software to make the far end think you are a facsimile machine. Ie you can emulate the conversation at the beginning of the call (and between pages) to initiate a transmission or reception of data. Where you are actually getting the bits you send (or where you put them when you get them) is of no interest to the remote fax machine. What we have is a Smart 80188 based board with V.29 modem and the emulation software in ROM. This is built by Quadram and called the JTFax 96. It can dial (or answer) the phone and send (or receive) the data bits. As far as the other end is concerned it's a "real" fax machine. For sending the JTFax can accept: ASCII PCX (PC Paintbrush) Fax Scanner These types of data can be intermixed in any order or amount during a single call. For receiving it simply saves the Bit data as received. To utilize this board we provide Xenix software which can tell the card what phone number to call and then pass it data as required as the call progresses. It can also monitor the phone and answer and receive data which we will save in a numbered file. Above this level we will be providing many different types of utilities: - mail intercept, forward mail messages to fax machine - generic faxsend command - print filters for dotmatrix - print filters for postscript - display filters - polling, forwarding, distribution lists - support for up to six cards per Xenix system Now back to your questions. > How much do these FAX boards cost? DO they have a scanner, or are they Not sure on US, about $800 or $900. (Our software is extra.) > just these V.29 modems? Can an ordinary modem suffice or are they different? No scanner, just V.29 modem. [without a scanner, you will ...] Basically be sending data files. The files can originate from many sources, scanner (on another machine perhaps), imaged file (ASCII->raster image), graphics program (PC paint brush type), received fax file, etc.. -- Stuart.Lynne@wimsey.bc.ca {ubc-cs,uunet}!van-bc!sl Vancouver,BC,604-937-7532 We provide two programs to send fax's. Faxsend is a generic method which will queue a set of files for delivery to a list of phone numbers. Faxmail is designed to be called by the mail system to deliver a mail message. Another program, faxco, run's periodically (similiar to uucp's uucico) to send queued fax messages. It uses a device list to find a free device and the name of a program to actually send a single message. Currently we have one version of the sending program, jtfax which uses the Quadram 9600 bps Smart Fax Card. This card handles the conversion from ASCII to the Huffman encoded bit stream, and manages the conversation with the remote fax machine. To intercept mail on systems without sendmail or smail we have a simple replacement for uux which checks for "fax!rmail" and exec's either faxmail or the real uux program as appropriate. This message provides an example of the flexibility of our approach. I'm sending it from my main Unix system via mail to an address of the form: fax!555-1234!name or 555-1234!name@fax.your.domain.here My mail system forwards all messages for "fax!" to another machine called "testat" which is the fax development system, via uucp. That system's mail system attempts to deliver the message "rmail fax!rmail 555-1234". This is translated to a call to "uux fax!rmail .." which is then intercepted and passed to the faxmail program with the same arguments. The faxmail program add's a "Received:" header and "X-Fax-To:" header. The latter uses the rest of the address after the phone number. There are no problems with supporting multiple cards of this type. It only takes 2kb of the memory map and because it does the conversion and handles the T.30 conversation the overhead to support to it is *very* low. Much less then sending the same data out over a 4800 bps serial port for example. So quite literally the limitation will probably be how many slots you have in your AT backplane after you stick in whatever else you need. We will be doing a more generic utilities to support receiving fax messages, and filters to send received fax's (T.4 huffman data) to various types of printers. It is also not difficult to be able to send bit images that have been suitably encoded, directly to the fax. There is also a good tie in with all this to ICR. Calera has an interesting smart card (multiple 68020's!!) which does Intelligent Character Recognition. It will be interesting to write a driver for it and be able to feed it T.4 huffman bit's and get ASCII out. Next year when the semi smart external fax modems come out we can do some more work to provide utilities to do the T.4 Huffman Encoding etc and support them. At that point we won't be tied to Unix/Xenix on the AT bus but could support virtually any reasonable Unix or other multiuser system (VMS etc). There are two different types of markets for this type of product. First and most obvious (to us Unix zealots) is simply to provide fax capability to Unix users. Second is providing high powered Fax Relay systems to companies who have a need to send *large* number's of fax's to *large* numbers of phone numbers in a short period of time, quickly and efficently. For example ad agencies, press bureaus, political parties, governments, magazines, etc. UniFax - A Unix Fax Gateway November 1988 =========================== UniFax provides a Unix based system for emulating a G.3 Facsimile Machine. Using a smart Facsimile Card from Quadram and emulation software UniFax allows the Unix user to send various types of files to a remote facsimile machine to be printed. UniFax also operates in receive mode and captures incoming facsimile transmissions. A logfile is maintained showing all incoming and outgoing transmissions. UniFax runs in the background and retries as required to deliver all files. -- UniFax Mail Gateway -- UniFax provides a simple but elegant method of addressing normal Unix mail messages so that they can be intercepted and routed via the UniFax Mail Gateway. This allows Unix users to simply and effectively send simple mail messages to other Unix users and at the same time to people with facsimile machines. For example messages can be addressed to: Domain notation: 1-800-555-1234!Joe.Smith@fax.your.domain.here uucp notation: unixname!fax!1-800-555-1234!Joe.Smith Confirmation of the delivery status is delivered by mail. -- Printing Facsimile's -- Various filters are available for converting the incoming fax data (T.4 Huffman encoded bit stream) into other formats. A sample printer driver is provided in source form to demonstrate interfacing to an Epson style dot matrix printer. These filters can be used in conjunction with the standard lp(1) print filters to provide printing capabilities. UniFax can be configured to automatically print all incoming facsimile transmissions., -- Facsimile Emulation -- The G.3 standard is complied with. Including support for high resolution images. UniFax automatically converts ASCII and PCX files to the T.4 format prior to sending. Other formats can be used by pre-converting to PCX or the T.4 format prior to creating the job. -- Multi Line Capability -- UniFax can support up to four Quadram JTFax 96 cards. This allows for four simultaneous facsimile conversations providing high capacity throughput. -- Fax Send Command -- Faxsend is generic command line program which allows a list of files to be sent to a list of phone numbers. Various options are available to control how and when the files are sent to each of the destinations. Confirmation of the delivery status is delivered by mail. Global options High resolution Ack Send confirmation when job is finished Length page length Phone Options include distribution list High High priority Medium Medium priority Low Low priority Retries max number of retries Rate min number of minutes between retries File Options include include file PCX PCX data G3 received fax file ASCII ASCII file Font font for conversion of ASCII files Size size of characters (96/line or 132/line) -- Unix Systems -- Currently SCO Xenix 286 AT compatible systems are supported. SCO 386 and other 286/386 Unix systems will be supported shortly. This may include the Sun 286/i. -- Who could use UniFax -- If you have a Xenix system running on an AT compatible and send letters or messages to clients or associates who have a facsimile machine then you will find a use for UniFax If you have need for volume fax services either for sending or receiving you can setup a multiline implementaton of UniFax that is cost effective and saves you operating costs. -- Information -- For more information contact: UniFax Software 225B Evergreen Dr. Port Moody, BC, Canada V3H 1S1 604-937-7532 Stuart.Lynne@wimsey.bc.ca ..!uunet!van-bc!sl For a demo send a short email message using the following format of address: yourfaxnumber!your.name@faxdemo.wimsey.bc.ca uunet!van-bc!faxdemo!yourfaxnumber!your.name -- Stuart.Lynne@wimsey.bc.ca {ubc-cs,uunet}!van-bc!sl Vancouver,BC,604-937-7532 -- amlovell@phoenix.princeton.edu ...since 1963.