Faxing with sendfax Both mgetty and sendfax deal exclusively with raw 'g3' fax files (g3 stands for group 3) which is the CCITT standard for encoding fax transmissions. You will have to use an external program to create, view, or print these files. There are two types of g3 files: 204x196 dpi - high-resolution 206x98 dpi - low-resolution The width of a fax page is always 1728 pixels, the length arbitrary. A typical full page has a length of around 2100 pixels in high-resolution mode. Sending Fax Files sendfax is called with the following syntax: % sendfax [-v] [-n] phone_number faxpage_s % sendfax 2222323 /tmp/to_gert_1.g3 /var/spool/fax/outgoing/pic.g3 The -v option specifies verbose progress messages. The -n option specifies sendfax to send the fax in normal resolution. The default is fine-resolution. This must be correct. The sendfax return codes are as follows (if the return code is below 10, an extenal program probably should try to re-send the fax, if the return code is 10 or higher, it should alert the administrator): 0: - all pages tx successfully 1: - error on command line 2: - cannot open fax device 3: - error initializing the modem 4: - dial failed "BUSY" 5: - dial failed "NO DIALTONE" 10: - dial failed "ERROR" or "NO CARRIER" 11: - waiting for XON failed. 12: - tx pages failed 15: - some other error Automated Fax Queuing For fax spooling and processing the queue, four additional utility programs are provided: faxspool [options] phone-number input-file(s) phone-number can be an alias. The private alias file is '$HOME/.faxnrs' and the global alias file is '/etc/mgetty+sendfax/faxaliases'. These files are searched for the line stating with this alias and the remainder of the line will be used as the phone number. faxrunq Reads the directory and try to send all the faxes queued there. faxq Will display all entries in the fax queuel If called with the -o parameter, it will also display completed, but not yet deleted jobs (JOB.done files). The -v parameter, the output will be more verbose. faxrm Can be used to remove fax jobs from the queue. It is called with the job ids of the to-be-removed faxes as command line argument. The job ids are thoses that faxq returns. Converting Fax Files The programs in the mgetty package include pbm2g3 and g32pbm. These are used to convert fax files to different formats. The pbm2g3 file converts pbm (portable intermediate format) to the g3 format. The g32pbm does just the opposite. There is also a package called 'pbmplus' which includes a lot of small utilites to convert various bitmat formats into a pbm file. It also comes with a lot of standard tools to scale, flip, and otherwise manipulate the pbm bitmaps. It also comes with different versions of G3 conversion (pbmtog3 and g3topbm). The programs supplied in the mgetty package are faster. For a graphical fax viewer using X11, you can use an image viewer such as 'xview', 'xloadimage', and 'xv'. There is a simple but fast fax viewer found in 'mgetty/frontend/X11/'. Print the fax on a postscript printer: % cat $faxfile | g32pbm | pnmtops -noturn | lp -dest postscript To view the fax in X11: % cat $file | g32pbm >/tmp/fax.pbm; xloadimage /tmp/fax/pbm % g32pbm $file | xv - To create g3 fax files, use pbm2g3, or GhostScript software which contains a 'digifax' driver that will produce the required format, or use 'hp2pbm' which will convert HP LaserJet print files into g3 fax files (also ph2hig3). To convert ascii files use: '% pbmtext | pbm2g3'. Don't convert text longer than 50 lines. You can convert text files into GhostScript using 'psify' / 'pslp.ps' programs from the ghostscript distribution. PostScript input can be converted by GhostScript 2.4+ using the digifax ('dfaxhigh' and 'dfaxlow') drivers. It will generate a plain g3 file with a 64 byte additional header. The typical call to ghostscript will look like this: gs -sDEVICE=dfaxhigh -sOutputFile=/tmp/fax.g3.%d yourdocument.ps With GhostScript 3.01 and higher, you can use the 'faxg3' driver as well, it's output is identical to 'dfaxhigh'. GhostScript version 5.01 and up render fax pages better with 'faxg3' than with 'dfaxhigh'. g3cat