Nordic Star Products 43a User Manual

XFAX  
User’s Guide 4.3a  
15.1.30 FAIL_FAXNO.....................................................................48  
15.1.31 FAXHOST ...........................................................................48  
XFAX - User’s Guide 4.3a  
3
15.1.80 SYMBOL_SET....................................................................56  
15.1.81 T30_ECM.............................................................................56  
XFAX - User’s Guide 4.3a  
4
17.5 Modems tested ................................................................................60  
17.6 Typefaces in XFAX ........................................................................61  
XFAX - User’s Guide 4.3a  
5
Overview  
1. Overview  
The fax system is constructed in accordance with a client-server principle, with a  
fax host that is run in the background and a number of client programs that the  
user utilizes to communicate with the host. Faxmaster, as the fax server is  
known, keeps order in the user’s fax queues, checks authorizations, gives the  
user status information etc. In order to receive information from the faxmaster  
and give instructions to it, programs such as faxlogon, faxsend, faxq, faxrm etc.  
are used.  
The advantage of a system constructed in this way is that the commands that are  
executed merely forward the task to the fax server, where all work is done, which  
quickly leaves the terminal free for new assignments.  
From a system administrator’s point of view, this arrangement means that the  
system is easy to configure and administer since the server does all the real work.  
When functions in the server can be administered in a simple way it automati-  
cally follows that the whole system is easy to administer.  
The XFAX directory structure appears in the form shown below, the symbolic  
names of the various directories are used throughout this manual.  
ETCDIR  
System files (configuration, messages, statistics, etc.) Can be changed by  
setting the environment variable XFAXDIR. The default directory is /etc/  
xfax.  
FONTDIR  
Font files.  
Changed in the configuration file with the keyword FONTDIR. The  
default directory is /etc/xfax/Fonts.  
BINDIR  
Programs (faxmaster, faxlogon, faxsend, etc.).  
The directory where the program files are located should be included in  
PATH for those users who are to have access to the fax system.  
SPOOLDIR  
Data and control files for the queue system.  
Can be changed with the keyword SPOOLDIR in the configuration file.  
HOME/Fax  
The user’s own faxes, which have not been sent, are stored here.  
In addition, the system uses /tmp for temporary files plus, depending on the oper-  
ating system, /usr/spool/uucp, /usr/spool/locks or /etc/locks for locking files in  
combination with communication.  
We use the following symbolic names for the various directories used by XFAX  
throughout the documentation.  
XFAX - User’s Guide 4.3a  
6
 
Overview  
XFAXDIR  
Directory for the configuration files (default is /etc/xfax)  
SPOOLDIR  
Directory for messages in the outgoing queue (default is /usr/spool/xfax)  
BINDIR  
Directory for the executables (default is /usr/bin)  
Some important files:  
XFAXDIR/config  
Configuration file  
XFAXDIR/stats  
Statistics file  
XFAXDIR/LCK.faxmaster  
The faxmaster lock file that indicates the faxmaster is running  
XFAX - User’s Guide 4.3a  
7
 
Installation  
2. Installation  
The software is distributed in a tar archive, which extracts into a temporary  
directory, /tmp/xfax. After the extraction you run a installation script, /tmp/xfax/  
INSTALL, which asks questions about your configuration and then puts every-  
thing in its right place.  
Go to the root directory  
cd /  
Extract the archive, xfax42aix.tar for AIX for example  
tar xvf xfax42aix.tar  
Execute the installation script  
sh /tmp/xfax/INSTALL  
Check the installation by running faxmaster -v which should display software  
information provided that:  
a. /etc/xfax is used for the configuration files or the variable XFAXDIR is set to  
the directory used.  
b. The directory for the executables is included in PATH.  
c. There is a valid license.  
Now you can start the XFAX daemon, faxmaster, and you are ready to send your  
first fax.  
XFAX - User’s Guide 4.3a  
8
 
Configuring the software  
3. Configuring the software  
The behavior of XFAX is mainly controlled by a number of keywords used in the  
configuration file, config. You can alter the way XFAX acts by modifying config  
and then restart faxmaster. You restart the faxmaster by finding the process id,  
kill the process and then start the daemon again. Do not use the –9 option when  
killing the faxmaster process.  
3.1 Keywords  
To use a new keyword in the configuration file add the keyword, preferably at  
the end of the file, and then restart faxmaster.  
Examples of some useful keywords:  
DIAL_PREFIXDial prefix, for example "0" to get out through a PBX  
INIT_STRINGInitilisation string for modem  
XON_XOFFSpecifies XON/XOFF flow control is to be used  
FLOWFLOW=0 specifies do not try CTS/RTS flow control  
EXECUTE_AFTER_SENDSpecify a program to be executed after transmission  
MAX_RETRIESMaximum number of tries to send a message  
RETRY_TIMETime, in minutes, between tries  
ROUND_ROBINUsed with multiple modem devices  
There are more than 100 different keywords used by XFAX.  
3.2 Environment variables  
A couple of environment variables can be used to change the behavior of XFAX:  
XFAXDIRSpecifies where the XFAX config file is located, normally /etc/xfax.  
XFAXCONFIGSpecifies an alternate config file to use. Must specify the file-  
name including the complete absolute path.  
XFAXIDSpecifies for faxsend which id to use, this is displayed in the page  
header.  
XFAXLICENSESpecifies an alternate XFAX licence file to use.  
Example, in Bourne shell:  
XFAXCONFIG=/etc/xfax/config2  
export XFAXCONFIG  
XFAX - User’s Guide 4.3a  
9
     
Configuring the software  
3.3 Adding actions  
You can tell faxmaster that it should execute a specific script or program after a  
fax has been sent or could not be sent. This could be useful if you want to update  
your own database or similar and is done by using the  
EXECUTE_AFTER_SEND keyword in the configuration file:  
EXECUTE_AFTER_SEND=/usr/local/bin/faxafter  
The specified program will be called with a number of parameters.  
3.4 XFAX and multiple fax devices  
To use multiple fax devices, or fax lines, with XFAX first of all you need an  
XFAX license that permits multiple lines. You can display the number of lines  
your current license permits using faxmaster –v.  
To define which tty:s should be used by XFAX you use the FAXLINE keyword  
in the XFAX configuration file. If you for example want to use tty1 and tty2 you  
should use the following:  
FAXLINE=tty1:tty2  
By default XFAX, when sending a fax, tries to use the first line specified by the  
FAXLINE –keyword and if that one is busy it tries with the next one. You can  
use the keyword ROUND_ROBIN to make XFAX use the fax lines in a round-  
robin manner. This means that it alternates between the line in a cyclic way. The  
first line specified is used for the first fax, then line number two and when the  
end of the list is reached it starts over from the beginning again.  
All keywords in the configuration file specify attributes for all lines if not sur-  
rounded by the LINE ttyxx < … > keyword. If you for example would like to  
define a different init-string for the modem on tty2, you could use:  
LINE tty2 <  
INIT_STRING=”AT&F&K4”  
>
Keywords that may be used for line-specific attributes:  
ACCEPT_USERS  
AUTOPRINT  
CLASS  
DENY_USERS  
DIAL_TIMEOUT  
DIAL_PREFIX  
EXIT_STRING  
INIT_STRING  
MAX_BPS  
RECEIVE_ONLY  
SEND_ONLY  
XON_XOFF  
When you display the queues for sent and failed faxes you can use the –x param-  
eter to see which line was used. This can be useful for debugging purposes.  
XFAX - User’s Guide 4.3a  
10  
   
Configuring the software  
XFAX - User’s Guide 4.3a  
11  
Sending a fax  
4. Sending a fax  
Many of the fax messages that are sent are of a very simple nature. They may  
involve confirmation of an agreed time, an order, cancellation or similar, which  
only takes up a couple of lines. In such cases it should be possible, by means of a  
simple manipulation, to send just such a fax from the command line or from your  
favourite word processor, with the minimum of work on the part of the user.  
The system can convert text files with the HP Laserjet PCL commands - to be  
more precise the commands that are generated by an HP Laserjet or HP Laserjet  
Plus printer. This means that HP Laserjet printouts from within another program  
such as a word processor can be sent direct to XFAX with precisely the same  
results as if they had been printed out on the laser printer. The only difference is  
that the resolution on a fax is 200 dpi (dots per inch) as opposed to a laser  
printer’s 300 dpi or more. Lists of the commands that are supported are given in  
the appendix. For a more detailed description of the PCL standard you are  
referred to printer manuals or similar.  
The typefaces that accompany XFAX are the same as the typefaces found in the  
Z1A typeface cassette from Microsoft.  
The command faxsend converts files to the fax format and asks the fax server to  
place the final fax in a queue awaiting transmission. When the time for transmit-  
ting is reached (normally immediately) an attempt is made to send the fax. If the  
transmission is successful the fax is removed from the transmission queue and  
the statistic is saved in the statistics file. On the other hand if the attempt is not  
successful, the fax is given a new time for a new attempt. The new time becomes  
the current time plus the number of minutes given by the keyword  
RETRY_TIME in the configuration file. When the maximum number of  
attempts, given by the keyword MAX_TRIES, has been reached the fax is  
moved from the transmission queue to the queue for unsuccessful faxes. A copy  
of the fax is saved in the directory “Fax” (see also FAIL_DIR) under the home  
directory for the user who first placed the fax in the queue. This user can also be  
informed of the failure via electronic mail if so desired. There is also the possi-  
bility of getting the system to execute a special command after the concluded  
transmission or failed transmission, see also the keyword  
EXECUTE_AFTER_SEND.  
4.1 faxsend  
The easiest way to send a fax using faxsend is quite simply to give a telephone  
number and a file name as an argument. For example:  
# faxlogon  
# faxsend 7586535 pricelist  
which converts the text in the file “pricelist” to fax format and sends the finished  
fax to fax number 7586535.  
Data can also be sent to faxsend via a so-called pipe as follows:  
XFAX - User’s Guide 4.3a  
12  
   
Sending a fax  
# cat price list | faxsend 7586535 -or  
# faxsend 7586535 - <pricelist  
This sends the contents in the price list file to the faxsend command which, since  
the parameters are specified, reads the data from standard input, converts and  
places the fax in a queue to a recipient with the fax number 758635. Note that  
you must be connected to the fax server before you can use any of the fax ser-  
vices. This is done with the command faxlogon.  
If you send a fax abroad or via a telephone exchange, the modem may sometimes  
need to wait for a tone during the dialing of the number. In order to achieve this a  
“W” (wait for the tone) or a “,” (wait 2 seconds) is inserted in the telephone num-  
ber. For example, to make a call through a telephone exchange the number may  
appear as follows: 0W087586535. If the modem is connected to a telephone  
exchange line it is unnecessary to dial 0W before each telephone number. Instead  
you can use the keyword DIAL_PREFIX in the configuration file.  
Note. If an area code given in the telephone number corresponds with that which  
is defined by LOCAL_PREFIX in the configuration file, it is automatically  
removed before the fax is placed in the queue. This means that it is possible to  
always give the area code, e.g. in the telephone book, without any problems aris-  
ing during transmission.  
4.2 Attaching a note to a fax  
In order to be able to keep track of which fax is which, a note of a maximum of  
80 characters can be attached to the fax. This note is then shown in the fax  
queues on a separate line. In order to add a note, the parameter -n is added to fax-  
send.  
It will also be supplied to scripts defined by EXECUTE_AFTER_SEND.  
# faxsend -n “Quotation to Stefan” 7586535 quotation  
Notes are shown in the following way in the fax queue:  
# faxq  
Outgoing  
ID  
Fax number  
Enqueued  
Next St P Try LC User  
davcar  
Pgs  
182  
3
7586535  
09:41 19980601 09:41 PE 4  
0
>>>> Quotation to Stefan  
4.3 One fax to several recipients (group transmission)  
The same fax can easily be sent to several recipients if the recipients’ fax num-  
bers are stored in a file, one number per line, and then the parameter -l with the  
file name is used as an argument. Lines which begin with the symbol # are  
missed out and can thereby be used for comments. E.g.:  
# faxsend –l customerfax news.txt  
XFAX - User’s Guide 4.3a  
13  
   
Sending a fax  
This sends the file news.txt to the recipients who are shown in the file customer-  
fax.  
If this method is used then only one copy of the fax file is saved, plus a small  
control file per recipient, which means that a minimum of hard disk space is  
taken up.  
4.4 Scheduled transmissions  
A particular time for transmission can be given by using the parameter -t with the  
time as an argument. E.g.:  
# faxsend -t 12:18 7586535 letter  
which means that the file letter is put in the queue for transmission at 18 minutes  
past 12.  
Naturally it is possible to combine the above functions so that e.g.:  
# cat newsletter | faxsend -l customerlist -t 0:30 -  
puts newsletter in a queue for transmission to all customers whose fax number is  
in the customerlist file. However the actual transmission does not begin before  
12.30 at night, perhaps to minimize telephone costs.  
4.5 The ID of the fax in the queue  
Each fax is given its own unique identity number before being placed in its  
respective queue. When being transmitted, the fax’s ID can be shown on the  
screen, after the fax has been placed in the queue, by giving the parameter -id to  
faxsend. It can look like this:  
# faxsend -id 7586535 letter  
Converting files...OK  
Placing fax in queue...OK  
1136  
The above fax received the ID 1136.  
4.6 Printing a fax before sending  
By using the parameter -d, the fax can be printed out on a printer.  
# faxsend -d laser 7586535 letter  
prints out the fax on the laser printer before it is placed in the queue. Normally  
the UNIX command 1p is used for the printouts as well as the standard printer in  
the operating system. In order to change this the keywords LP, LP_PRINT-  
OPTION and DEFAULT_PRINTER in the configuration file are used.  
4.7 The script xfax  
Accompanying the XFAX distribution is a small command script known as xfax,  
which can be found under BINDIR. This command is for sending a fax, together  
XFAX - User’s Guide 4.3a  
14  
       
Sending a fax  
with a cover sheet, in a simple way. The user is requested to feed in the recipi-  
ent’s fax number, name and company, and then a page with this is created and the  
sender’s (your) information plus a message which can be entered in. You can  
also add files that are to be sent after the introductory cover sheet. This is useful  
if you wish, for example, to send a price list that is stored in a file to a prospec-  
tive customer together with a few polite words.  
You can also set up a telephone book to use together with xfax. Not only can glo-  
bal telephone books be arranged for all users of XFAXDIR/faxdir but personal  
telephone books can also be set up for each user in the directory .faxdir under the  
user’s home directory. The format on the file is one recipient per line and each  
line consists of four fields with “:” as a field separator. The first field contains the  
name you want to use and the second field contains the fax number. Fields three  
and four can contain the recipient’s name and company respectively, but these  
need not be given. E.g.:  
icab:7586535:Stefan Norlin:Infoflex Connect AB  
nisses:012-345678:Nisse Karlsson  
If a recipient is chosen from a telephone book the system proposes the recipient’s  
name and company on the cover sheet, but this can be changed if so required.  
Windows clients also use the telephone books in the system.  
Note. If an area code given in the telephone number corresponds with that which  
is defined by LOCAL_PREFIX in the configuration file, it is automatically  
removed before the fax is placed in the queue. This means that it is possible to  
always give the area code, e.g. in the telephone book, without any problems aris-  
ing during transmission.  
4.8 The script faxadm  
Faxadm is another script that gives a simple menu for the user’s fax handling.  
This program is an example of how, with simple aids, you can create a more easy  
to use user interface for your fax users. You are welcome to look in both xfax and  
faxadm scripts to get your own ideas on how the tools in XFAX can be used.  
4.9 Document codes  
In order to facilitate transmission from an environment where it is not possible to  
give a fax number in a simple way, the faxsend command can handle codes that  
the user places in the document. During conversion faxsend searches for these  
codes and makes use of the information. The actual code is naturally removed  
and is not included in the finished fax.  
The code is given in the document within square brackets (if it is not defined  
with the aid of the keywords CODE_START and CODE_END), e.g.  
[[FAX=123456]].  
Note. If an area code given in the telephone number corresponds with that which  
is defined by LOCAL_PREFIX in the configuration file, it is automatically  
removed before the fax is placed in the queue. This means that it is possible to  
XFAX - User’s Guide 4.3a  
15  
     
Sending a fax  
always give the area code, e.g. in the telephone book, without any problems aris-  
ing during transmission.  
Thus it is only necessary to give:  
# cat newsletter | faxsend -  
It must be borne in mind that the text that contains the document codes must  
come up as ASCII text, even when printing out. If, for example, a font in Win-  
dows is used which is not in the printer, screen data will be generated for the text  
from the font descriptions in Windows. An XFAX cannot interpret this. The  
typefaces which can be used are those which are included in a Microsoft Z1A  
font cassette and they are indicated in font lists in Windows with a small printer.  
The following codes are available:  
FAX=telno  
Gives the recipient’s fax number. Several fax numbers can be given after  
one another and should then be separated with semi-colons “;” or colons  
“:”.  
SYMBOL_SET=id  
Indicates that the symbol set, id, should be used. For lists of permitted val-  
ues see the Appendix: Commands - faxsend.  
CHAR_SET = id  
Indicates that the character set, id, should be used. For lists of permitted  
values see Appendix: Command reference - faxsend.  
TIME=tt:mm  
Indicates at what time the transmission of the fax should start.  
4.10 The telephone cost file ETCDIR/cost  
In order to be able to calculate the approximate costs for the fax transmissions  
that are made in the system, it is possible to include the actual telephone tariffs in  
the file ETCDIR/cost. A number of keywords are used in the file as follows:  
CHARGE_PER_MINUTE  
Indicates that debiting is done per minute and not using marks and mark  
intervals. This is Telia’s new way of debiting in Sweden.  
COST_PER_MARK=kronor  
The cost of one mark is given in kronor (Swedish Crowns). Not used  
today in Sweden. Bear in mind VAT costs.  
MINIMUM_CHARGE=price  
Gives the minimum debiting. In Sweden 0.29 kronor including VAT  
(November 1995).  
XFAX - User’s Guide 4.3a  
16  
 
Sending a fax  
LOCAL_ZONE  
Gives the zone that should be used when the area code is not included in  
the telephone number, i.e. with local calls. E.g.:  
LOCAL_ZONE=LOCALLY  
AREA_CODES<...>  
Here one area code is given per line and to which zone the area code  
belongs. E.g.  
AREA_CODES<  
08LOCAL  
031AREA 3  
009ABROAD  
0091USA  
>
The codes above (AREA 3 etc.) are arbitrary and can be changed, see also  
below under ZONES.  
It is worth noting that the system goes through all area codes each time and if  
several lines match the area code in question, the last found always applies. The  
above means that it is possible to use ABROAD as a standard cost for foreign  
calls (which of course begin with 009) while for certain countries to which you  
often ring the cost can be specified exactly, as for USA in the example above. If  
the line with 009 ABROAD had not been there with the above, a number which  
began with e.g. 00949 (Germany) would not have been able to be matched  
against any line in the table and consequently would have been considered as a  
local call.  
ZONES time 1 [time 2 [...]] <...>  
Here the tariff zones that are to be found are given plus the cost per minute or the  
interval between marks at different times of the day. E.g.:  
ZONES 0 8 18<  
LOCAL  
0.29 0.58 0.29  
REGION 0.36 0.71 0.36  
>
The above means that with e.g. local calls made between 0.00 and 8.00 the price  
is 29 öre per minute. Note that the names above, LOCAL and AREA 3, are arbi-  
trary and can be chosen according to opinion and taste. However, the same name  
must of course be used in the AREA_CODES section so that the right area code  
can be paired with the right cost.  
XFAX - User’s Guide 4.3a  
17  
Receiving faxes  
5. Receiving faxes  
Receiving a fax is simpler than sending one. It does not require any special effort  
by the user. The faxmaster receives faxes in the background and sends a message  
to the system administration and possibly other users when this is done. The fax  
is placed in a queue for received faxes and can be printed out with the command  
faxprint.  
What is also necessary is that the reception function is included in your license  
agreement and that the keywords SEND_ONLY are not shown in the configura-  
tion file, ETCDIR/config.  
5.1 Automatic printing of incoming faxes  
Incoming faxes can be automatically sent to a printer by defining the keyword  
AUTOPRINT in the configuration file. The format is AUTOPRINT=“com-  
mand”, whereby command is something which can receive data and forward it to  
a printer. E.g.:  
AUTOPRINT=”| lp -d LASER”  
this takes the printer data and sends it on to the 1p command via a pipe.  
The data can also be saved in a file or similar by  
AUTOPRINT=”>>/tmp/file”  
XFAX - User’s Guide 4.3a  
18  
   
Handling faxes  
6. Handling faxes  
The fax system contains a number of commands for handling faxes and fax  
queues. A description is given below of what can be done by using these com-  
mands. Generally, commands are run which affect a fax using the fax’s ID num-  
ber as an argument. The ID number can be found with the aid of the command  
faxq.  
6.1 Fax queues  
The system separates faxes into four different queues, which can be shown by  
giving the parameters shown below as an argument to the command faxq.  
Argument Queue  
none, -p  
Outgoing faxes  
-r  
-s  
-f  
Incoming faxes  
Transmitted faxes  
Not transmitted due to a failure  
E.g.:  
# faxq  
Outgoing  
ID  
Fax number  
Enqueued  
Next St P Try LC User  
Pgs  
14  
1
15  
3
55576861  
04012345  
11:01 19980430 11:41 SE 4 1 BUSY stenor  
11:33 19980430 11:33 PE 4 1 NOAN davcar  
>>>> Infoflex System AB, Lars  
18  
1
55576861  
11:45 19980430 11:45 PE 4  
2
davcar  
The information that is in the columns above is in sequence:  
The Fax’s ID number, the recipient’s fax number, the time and date when the fax  
was placed in the queue, the time for the next transmission attempt, status, prior-  
ity, the number of attempts to date, the latest status code, the user who placed the  
fax in the queue plus the number of pages in the fax.  
The following codes occur in the status column:  
SE  
PE  
HO  
Sending  
Pending  
Holding  
The latest status codes can be:  
BUSY  
NOAN  
NOCA  
NODT  
LINE  
Busy  
No answer  
The link was broken before connection was made (no carrier)  
No dial tone  
Communication with the modem is not functioning  
XFAX - User’s Guide 4.3a  
19  
   
Handling faxes  
INTR  
UNKN  
Transmission interrupted  
Unspecified error  
Numerical error codes above 20 means that a failure has occurred during fax data  
transmission.  
Some examples of error code intervals:  
20-39  
40-49  
50-  
Handshaking before the page failed  
Fault in the transferring of data  
Handshaking after the page failed  
6.2 Reschedule a fax  
Outgoing faxes that are awaiting transmission can be “given a push”, i.e. the  
transmission time can be set to the current time, by using the parameter -n to  
faxq. E.g.:  
# faxq -n 3  
This means that an attempt is made to immediately transmit the fax with ID 3.  
6.3 Scheduling a fax  
The transmission time for a fax can also be brought forward in time by means of  
the parameter -t as shown below:  
# faxq -t 12:18 16  
The above changes the transmission time for a fax with an ID of 16 to 12.18.  
6.4 Canceling of a fax  
A fax can be cancelled, i.e. removed from the outgoing fax queue, by means of  
the command faxrm which takes one or several IDs as an argument. E.g.  
# faxrm 28 12  
removes faxes with IDs 12 and 28.  
Faxrm is also used to remove a fax from the statistic queues for sending and  
faulty faxes. When canceling such faxes, the fax is marked as having been  
removed in the statistics file, but statistic information still remains as a basis for  
statistical calculations. In order to remove old statistics completely, the com-  
mand faxclean is used, which can only be run by the system administrator.  
All the faxes in a queue can be removed by using the parameter -all queue to  
faxq, where the queue can be p (outgoing), s (sending), f (faulty) or r (receiving).  
These can also be combined, e.g. faxq -all sf. If you wish to remove all faxes up  
to a certain date, you use -all in combination with -to date. E.g.:  
# faxq -all s -to 20010401  
XFAX - User’s Guide 4.3a  
20  
         
Handling faxes  
6.5 Printing a fax  
Faxes that lie in a queue for outgoing faxes plus received faxes can be printed out  
on an HP Laserjet compatible printer. The command that is used is faxprint with  
the fax’s ID or a file name as an argument. The fax’s ID can be obtained by  
means of the command faxq.  
For example:  
# faxprint -d LASER 28  
in order to print out a fax with ID 28 on the printer LASER, or  
# faxprint -d hplj /usr/spool/fax/D.00023  
in order to print out the fax file D.00023 on the printer hplj.  
Normally, the UNIX command lp is used for printing and the standard printer in  
the operativing system. To change this the keywords LP, LP_PRINT_OPTION  
and DEFAULT_PRINTER in the configuration file can be used.  
6.6 Listing faxes in a particular directory  
Faxes that it has not been possible to transmit after the maximum number of  
attempts specified will be, if NO_ERROR_SAVE has not been defined, moved  
to the directory Fax under the home directory of the user who placed the fax in  
the queue. In order to list the faxes that are in this, or some other directory, the  
parameter -d is used to faxq. When this parameter is used alone, files in  
$HOME/Fax are shown. E.g.:  
# faxq -d  
Directory /Fax  
ID  
14  
Fax number  
55576861  
Sec Try Time  
LC  
User  
Pgs  
2
2
3 11:01 19980601 BUSY stenor  
The command searches for files which have a name beginning with S. and R.  
and which are recognized as XFAX files. The information that is listed includes  
the recipient’s fax number, the time when the fax was first placed in the queue  
plus the name of the user who placed the fax in the queue.  
6.7 Routine maintenance  
When XFAX is set up in accordance with requirements and started, the system  
requires very little maintenance. It can be worth keeping an eye on the size of the  
statistics file to see that there is no old data and control files remaining in  
SPOOLDIR. If you run mail integration, there is a debug trigger which creates  
log files under /tmp or ETCDIR. You will not want to have these files remaining  
if you run in production.  
It is appropriate to set up a job for “cron” which is run each night or similar.  
Before clearing out the statistics files you can print out the data if you think you  
might have use for it.  
XFAX - User’s Guide 4.3a  
21  
       
Handling faxes  
By giving the parameter -x to faxq -f it is possible to see if there is one particular  
modem which causes more faulty transmissions than any other. In such a case  
there is a suspicion of there being a hardware problem. This of course only  
applies if several lines are run.  
6.8 Cleaning the statistics file  
After a period of use, the statistics file may have grown to a considerable size. In  
order to remove parts of the contents of this file the command faxclean is used.  
As an argument for faxclean it can be indicated that information up to and  
including a particular date should be removed in the following way:  
# faxclean -to 19980420  
Note that faxclean must be run on the machine where the statistics file is kept,  
i.e. where XFAXDIR is to be found. The user who runs faxclean must also have  
the authority to read and write in the file, which is normally only the system  
administrator (root).  
This command can, to advantage, be run automatically once a day or similar  
using cron.  
XFAX - User’s Guide 4.3a  
22  
 
XFAX in a Windows environment  
7. XFAX in a Windows environment  
If you have a network with PC machines which run Windows and a UNIX  
machine which runs XFAX, these worlds can be combined and XFAX used  
direct from the Windows environment.  
7.1 The XFAX Windows client (printer driver)  
The XFAX Windows client is actually a Windows printer driver. It works with  
Windows 95/98/NT4/2000. However it requires Winsock 2 which, for Windows  
95, needs to be downloaded from Microsoft and installed.  
Using the Windows client it is possible to:  
! Send a fax from any Windows application you cant print from.  
! Create cover sheets.  
! Use XFAX phone books, stored on the XFAX server.  
7.1.1 Installation  
! Download the XFAX Windows client, xfax402.exe.  
! Execute the self-installing file.  
! Fill out the host and port configuration to match the fax server configuration.  
! Done.  
Now there is a printer available known as XFAX on XFAX:.  
7.1.2 Using the client  
If you want to send a document from Microsoft Word, for example you open the  
document in Word and choose Print. In the print dialog choose the XFAX printer.  
When you click OK the XFAX client will connect to the server and open the  
XFAX Send Fax dialog.  
7.2 Using the address book in XFAX  
When using the XFAX Windows client you also have the possibility to use an  
address book to simplify your facsimile transmissions.  
There are some ways using the address book in XFAX:  
1) Create a txt-file which has the following content:  
"0855576861","Infoflex Connect","Fredrik Nilsson"  
"faxnr","Company","recipient"  
"faxnr","Company","recipient"  
and so on..  
You can then import this file in the XFAX-dialog.  
! 2) Put a file in the /etc/xfax/faxdir on the server side. The file has to have the  
following content:  
XFAX - User’s Guide 4.3a  
23  
           
XFAX in a Windows environment  
1: 0855576861:Fredrik Nilsson:Infoflex Connect  
2:faxnr:recipient:company  
3:faxnr:recipient:company  
3) Put a file in the users home-catalog/.faxdir on the server. The file has to have  
the following content:  
1: 0855576861:Fredrik Nilsson:Infoflex Connect  
2:faxnr:recipient:company  
3:faxnr:recipient:company  
XFAX - User’s Guide 4.3a  
24  
Overlay files and cover sheets  
8. Overlay files and cover sheets  
Overlay files are files store in the XFAX fax format which can be used as cover  
pages or merge on to each fax page sent as a form template for example. This  
makes it possible to send faxes with a very nice layout. For example you can  
send order confirmations with your logotype and other form elements being  
merged on to raw text data which contains the order data.  
8.1 Using overlay files as forms and cover pages  
In order to generate an overlay file you use the XFAX Windows client. Put  
together your document in an application such as Microsoft Word and then print  
the document choosing the XFAX printer. When the XFAX dialog show up,  
press “Store”. You will be asked for a name to “Store Coverpage As”. Enter a  
filename. Then a XFAX fax file will be generated and stored on the UNIX server  
in the XFAXDIR/covers directory. This file can then be used as an overlay file.  
In order to use an overlay file with faxsend you can do this:  
faxsend –overlay /etc/xfax/covers/orderform 55576861 orderdata.txt  
You can also use one overlay file as cover page and another overlay file as form  
for the rest of the pages:  
faxsend –cover mycover –overlay_repeat –overlay_skip 1 –overlay  
orderform 55576861 orderdata.txt  
This is an easy way for adding a form including the company logo to outgoing  
purchase orders or to add a nice layout in an e-mail to fax gateway for example.  
8.2 Cover sheets the old way  
It is quite easy to make neat cover sheets, page headings and page footings in  
XFAX with logotypes and other refinements. The principle is that you design  
your cover sheet (or whatever) in some suitable program which can make a print-  
out in the form of PCL code; to be more precise the data which is generated by  
an HP Laserjet Plus, for the file. For example, you can use Word or Pagemaker in  
Windows. You simply position the codes in the document where you want to  
have the name of the sender, recipient, etc. These codes should be in a typeface  
that means that the text is stored as text and not converted to screen data. In order  
to avoid this you should use the typefaces that have been built into XFAX. These  
are the same typefaces that are in a Microsoft Z1A font cassette. These typefaces  
are marked with a small printer in the typeface list in the application when the  
right printer is chosen. Print out the document to file. Stage 1 is now completed.  
The next step is to replace the filed codes in each fax that is to have a cover sheet  
with the real values for sender, recipient, etc. This is best done with the com-  
mand faxsr (Search and Replace). faxsr takes a number of arguments of the type  
“code = value” and then searches for the sequence “:code:” and replaces this  
with the values given. If, for example, you have set in the code “:REC:” in the  
cover sheet template ETCDIR/cover.icab where you want to have the recipient’s  
XFAX - User’s Guide 4.3a  
25  
       
Overlay files and cover sheets  
company name and :RECNAME: where you want to have the name, faxsr is  
called up in the following way:  
# faxsr ETCDIR/cover.icab "REC=Infoflex Connect AB" "RECNAME=Ste-  
fan Norlin" >cover.final  
Note that the result is written to “standard out” in the example above and that  
above the field names are arbitrary.  
At the end of a file which is created with a printout in Windows, a page feed (hex  
0x0c) and Esc E (hex 0x1b 0x45) is always added to restore the printer after the  
print-out. faxsr bypasses these three characters automatically unless the argu-  
ment -no_skip is given.  
Summary:  
! Produce the document in a suitable application in Windows.  
! Choose HP Laserjet Plus as the printer.  
! Choose the font cassette Z: Microsoft 1A for the printer.  
! Remember that document codes should exist with some of the built-in type-  
faces.  
! Print the document.  
For each fax that is to be sent, the template is “mixed” with the variable data with  
the aid of the command faxsr.  
Some special field codes:  
:MESSAGE:  
Replaced with the contents in the file which is indicated as an argument.  
E.g. “MESSAGE=/tmp/message” insert the file /tmp/message instead of  
the code.  
:DATE:  
The current date is inserted. The format is yyyy-mm-dd  
:TIME:  
The current time is inserted. The format is tt:mm.  
Note that the script xfax automatically searches for a file cover under ETC-DIR.  
If this file is there it will be used as a cover sheet. You are welcome to look in  
xfax to find what field names have been used for the call to faxsr.  
There are some things you may need to change in the PCL file, namely:  
The symbol set up, XFAX wants to have Latin-1. Change any other control  
codes for the symbol set up to Latin-1 (ISO 8859-1). The control codes for Latin-  
1 are ESC(0N, Roman-8 ESC(0U etc. This is described in more detail in a HP  
Laserjet manual.  
If the MESSAGE codes lie before the screen data in the PCL file you obtain the  
following scenario. Where you set in the MESSAGE field, the files given are set  
in during the operation. If the files are more than one page long so that a page  
break is set in, the screen data (logotype, graphics, etc.) is set in on the page.  
Therefore, this code must be set in last in the document.  
XFAX - User’s Guide 4.3a  
26  
Overlay files and cover sheets  
Last but not least. You are welcome to contact your retailer or Nordic Messaging  
Technologies if you need any help in setting up and using cover sheets./  
XFAX - User’s Guide 4.3a  
27  
XFAX and e-mail  
9. XFAX and e-mail  
XFAX can be used, to advantage, as a fax gateway in a system for electronic  
mail. By addressing your letters in a special way you can send both fax and elec-  
tronic mail from one and the same program, the mail client.  
9.1 Sendmail  
Described below how this functionality is set into sendmail that is the most com-  
mon program for routing mail in the UNIX environment. Sendmail is a so-called  
MTS, Message Transfer Agent, which takes care of incoming and outgoing mes-  
sages and ensures that they are passed on in the correct way.  
You begin by deciding on a standard for how mail to the fax gateway should be  
addressed. Below we use an example domain which is known as infoflex.se and  
assume that one machine acts as both mail and fax gateway. Let us say that the  
machine is known as gw.  
There are various options for addressing, two of which can be  
<faxno>[email protected] and <faxno>@fax.infoflex.se. In the latter example it  
is necessary that any name servers in the network can handle fax.infoflex.se and  
steer on this mail to gw.infoflex.se. We have also presupposed that gw.infoflex.se  
lies hidden behind infoflex.se in the first example.  
Below we use the first example since this does not require any changes to any  
name servers.  
The configuration file for sendmail is known as sendmail.cf and is generally to  
be found under /etc or /usr/lib. Furthermore, we presuppose that the software is  
installed so that BINDIR is /usr/local/xfax/bin and that ETCDIR is /usr/local/  
xfax/etc. A tip is to copy sendmail.cf to e.g. sendmail.xfax and then make the  
changes in this. After having verified that the new rules, which have been added,  
function as they should, you can move sendmail.xfax to sendmail.cf and run the  
whole thing distinctly. All this is done in order to avoid disturbing traffic in  
progress as little as possible.  
The first thing to do is to create a new delivery method in sendmail for faxes by  
setting up a new delivery handler, or delivery agent. Adding a line, most suitably  
close to the other definitions for delivery handlers as shown below does this.  
Mxfax, P=/usr/local/xfax/bin/faxmail, F=lsDFM, S=10, R=20,  
A=faxmail $u  
The above line defines a new delivery agent xfax which, when used, forwards the  
message to a new program, or shell script, which is known as faxmail and is to be  
found under /usr/local/xfax/bin. In the XFAX distribution there is an example of  
how such script can appear. Study this carefully. As an argument to this program  
a user name will be sent in. In our case this user name will be the fax number to  
our recipient.  
Step two is now to set up a rule that says when the delivery agent we have  
defined above should be used. It can appear as follows:  
XFAX - User’s Guide 4.3a  
28  
     
XFAX and e-mail  
R$+.fax<@infoflex.se>  
$#xfax$:$1  
This rule should be placed in the rule set up, ruleset, SO and states that all mail to  
*[email protected] should be sent on to the delivery agent xfax. Before rule SO is  
used another rule, S3 will be used. This rule normally adds “<>” around the  
domain part of the address which explains that above there is R$+.fax<@infof-  
lex.se> and not [email protected]. $:$1 above shows that the user name  
should be added to that which stands before .fax, in our case the fax number.  
Note. Sendmail, which is often run as root, must have locking and evacuation  
rights to the script faxmail. Furthermore, the first line in faxmail, presupposing  
that faxmail is a Bourne-shell script, reads:  
#!/bin/sh  
in order that it should be executed correctly.  
Now we can test that the rule works.  
This is most suitably done by running sendmail in the test position by starting  
sendmail with the parameter -bt. If we use the temporary configuration file send-  
mail.xfax we must also indicate this to sendmail.  
# sendmail -Csendmail.xfax -bt  
When we execute the command we obtain a prompt. There we write in:  
Check that the mail is in a queue in XFAX. If this does not work it is only neces-  
sary to write out the log message at a strategic place in faxmail. Note that you  
can use the special shell variable $? which always contains the return code for  
the command last executed.  
Set up any cover sheet, address filter to prevent unauthorized people using it etc  
in faxmail.  
There are example lines for sendmail.cf in the file sendmail.data under ETCDIR:  
9.2 The script faxmail  
Faxmail is the script that takes care of the addresses and the letter data that  
comes from sendmail. The script that is supplied with the XFAX distribution is  
to be seen as a relatively complete example of how faxmail should function.  
However, a certain amount of manual adaptation is needed in order to adapt the  
script to the specific customer environment.  
In faxmail you can choose to deal with the following:  
! Save the message to file  
! Run the message through a MIME filter (fax memory).  
! Filter away the enclosures which cannot be handled as a fax and possibly  
inform the sender of the removed enclosures by means of mail.  
! Check that the user has the authority to send faxes. Does the fax come from  
within his/her own domain? Is the user a valid mail user?  
XFAX - User’s Guide 4.3a  
29  
 
XFAX and e-mail  
! Mount the message on a cover sheet. You may possibly wish to have different  
cover sheets for various departments or similar.  
! Place the fax in a queue with the aid of faxsend.  
! Report back on any problems via mail.  
XFAX - User’s Guide 4.3a  
30  
XFAX and Ghostscript (sending PDF and Postscript)  
10. XFAX and Ghostscript (sending PDF and  
Postscript)  
Using XFAX with the software Ghostscript makes it possible to fax Postscript  
and PDF documents. Ghostscript is available more or less freely as long as you  
comply with the terms in the licence under which it is distributed. You can learn  
Below you find instructions of how to add a XFAX driver to Ghostscript 7.00,  
which today (june 2001) is the latest version of Ghostscript. The procedure does  
require knowledge on how to configure and compile a C source code distribution  
in a UNIX environment. You MUST have a C compiler installed on your UNIX  
box.  
10.1 Installing Ghostscript and the XFAX driver  
1. Download the Ghostscript distribution. You find information on where it is  
this path from now on), and follow the installation instructions to compile it on  
your platform. We do not provide support for the Ghostscript software itself.  
2. Download and store the XFAX source files, gdevxfax.c and gdevxfax.h, into /  
script.  
3. When you compile Ghostscript you use one of the supplied makefiles, we use  
src/unixansi.mak. You need to modify the makefile to include the XFAX driver.  
Add $(DD)xfaxhigh.dev to the DEVICE_DEVS7 line in the makefile. In our dis-  
tribution we changed line 339 in unixansi.mak:  
DEVICE_DEVS7=$(DD)faxg3.dev $(DD)faxg32d.dev $(DD)faxg4.dev  
$(DD)xfaxhigh.dev  
You also need to add the device to devs.mak. We added the following five lines  
to devs.mak at line 1259:  
xfax_=$(GLOBJ)gdevxfax.$(OBJ)  
$(DD)xfaxhigh.dev : $(DEVS_MAK) $(xfax_) $(GLD)page.dev  
$(SETPDEV2) $(DD)xfaxhigh $(xfax_)  
$(GLOBJ)gdevxfax.$(OBJ) : $(GLSRC)gdevxfax.c $(PDEVH)  
$(GLCC) $(GLO_)gdevxfax.$(OBJ) $(C_) $(GLSRC)gdevxfax.c  
On line three and five above the leading whitespace must be a tab.  
Now you should be able to compile gs with support for the XFAX driver.  
4. Using the new gs executable, try to convert one of the sample Postscript files  
using the xfaxhigh driver. For example:  
# cd /opt/gs7.00/lib  
# ../bin/gs -dNOPAUSE -sDEVICE=xfaxhigh -sOutputFile=test.fax ../  
examples/golfer.ps  
XFAX - User’s Guide 4.3a  
31  
     
XFAX and Ghostscript (sending PDF and Postscript)  
5. I the above works out OK, you should now be able to fax Postscript and PDF  
files. If you are using XFAX 4.2a or later faxsend directly supports files with .ps  
and .pdf suffix respectively. Please note that faxsend requires the Ghostscript  
executable, gs, to be in the PATH and properly configured.  
# faxsend 12345 test.pdf  
If you are using an earlier version you need to do the conversion separately.  
# gs -dBATCH -dNOPAUSE -sDEVICE=xfaxhigh -sOutputFile=test.fax  
test.pdf  
# faxsend 12345 test.fax  
10.2 Troubleshooting  
If you are expebriencing problems there are two common mistakes to be men-  
tioned here:  
1) You should run "make -f src/unixansi.mak install" so that the files Ghostscript  
needs is placed in the proper locations. Among other files gs looks for gs_init.ps  
in /usr/local/share/ghostscript/7.00/lib.  
2) You need the font files which are distributed in separate tar files. gs looks for  
fonts in /usr/local/share/ghostscript/fonts.  
The XFAX driver for Ghostscript is provided "as is" without warranties and we  
cannot guarantee support. However, we are helpful! Send your questions to sup-  
XFAX - User’s Guide 4.3a  
32  
 
The integrated HTTP server  
11. The integrated HTTP server  
XFAX features an integrated HTTP server, which makes it possible to use a  
browser and to send a fax, display faxes, display queues etc. It is also possible to  
forward a fax as e-mail where the actual fax pages will be JPEG attachments in  
the e-mail.  
You need to enable the HTTP server in order to use it (see HTTP_ENABLE).  
The default port the server listens to is 7180, this can be changed using  
HTTP_PORT in the config file.  
If the server is enabled and is using the default port, point your browser to http://  
hostname:7180.  
In order to limit access to the HTTP server you can specify hosts or networks  
that can access the server, see ACCESS_HTTP. You can also specify users and  
password using USER_FILE.  
Keywords used by the HTTP server:  
HTTP_ENABLE, HTTP_PORT, ACCESS_HTTP, USER_FILE  
XFAX - User’s Guide 4.3a  
33  
 
The integrated SMTP server  
12. The integrated SMTP server  
XFAX features an integrated SMTP server, which makes it possible to send a fax  
via SMTP.  
You need to enable the SMTP server in order to use it (see SMTP_ENABLE).  
The default port the server listens to is 7181, this can be changed using  
SMTP_PORT in the config file.  
In order to limit access to the SMTP server you can specify hosts or networks  
that can access the server, see ACCESS_SMTP. You can also specify users and  
password using USER_FILE.  
Keywords used by the SMTP server:  
SMTP_ENABLE, SMTP_PORT, ACCESS_SMTP, USER_FILE  
XFAX - User’s Guide 4.3a  
34  
 
Modems and flow control  
13. Modems and flow control  
When sending a fax the speed over the line is generally 9 600 bps (bits per sec-  
ond) or at best 14 400 bps. However, the transmission speed between computer  
and modem is always 19 200 bps in accordance with the specifications which  
apply for Class 2 compatible fax modems. This means that the modem has to  
receive data at a quicker rate from the computer than it manages to send in on to  
the recipient. As a result the modem must be able to stop the flow when its buffer  
is full so that the computer stops sending for a while until the modem has cleared  
the backlog of data it holds. It is this control of the data flow that is logically  
called flow control. There are two dominating variants of flow control today:  
CTS/RTS, hardware flow control, and XON/XOFF, software flow control.  
CTS/RTS functions for communication from computer to modem so that the  
modem, when it can receive data, raises the signal CTS (Clear To Send) which is  
situated on pin 5 in a serial 25 pole port. When the buffer is full the modem  
reduces the signal and the computer detects this and takes a rest. This means that  
the drive routines for serial communication in the computer must be able to  
detect and handle these signals in the correct way. This is not always the case,  
particularly in older machines. However, where there is support for this type of  
flow control it is very efficient. It is quick and reliable even for communication  
at high speeds.  
Variant number two, XON/XOFF, is based on another principle. For this two  
ASCII characters XON (hex 0x13) and XOFF (hex 0x11) are chosen as control  
characters and these are used to control the data flow. When transmitting from  
computer to modem, the modem sends the character XOFF to show that the  
buffer is, or is close to becoming, full. The software in the computer receives the  
character and stops sending data until the modem sends the character XON when  
it is ready to receive more data. This method does not really demand anything of  
the operative system, since support for XON/XOFF is generally built into the  
drive routines to the serial card. The disadvantage is that any waste matter on the  
connection can be interpreted as a control character and communication then  
gets caught up. Problems can also arise if the XOFF character does not arrive at  
the application before it has managed to send so much data that the buffer over-  
flows. It is often possible to set the threshold levels for XON and XOFF in the  
modem and thereby control at what level the modem should send off the XOFF  
and XON characters.  
The conclusion is that CTS/RTS is to be preferred, but this is not always sup-  
ported by the operative system. XON/OFF is simple and easier to get to function  
satisfactorily. The support for CTS/RTS also varies from one operative system to  
another. On AIX it is often easy to get started. It is also satisfactory in those cases  
where serial cards are used which enable CTS/RTS to be set with stty parame-  
ters, e.g. DigiBoard.  
XFAX - User’s Guide 4.3a  
35  
 
Command reference  
14. Command reference  
Here we describe the syntax of each command in the software. You can use -v as  
an option for most of the commands to get syntax information for the command.  
To get debug information, especially good for faxmaster, use -debug or -xdb.  
All scripts supplied with XFAX are example scripts of which the functionality is  
not guaranteed. However, the intention with these scripts is that they should be as  
complete as possible and improvements are being made on a regular basis.  
The following command-line utilities are available in XFAX.  
14.1 Commands  
14.1.1 faxadm  
Syntax: faxadm  
Script which gives the user a simple, text-based, menu for the administration of  
his/her fax environment.  
14.1.2 fax2bmp  
14.1.3 fax2hp  
Syntax: fax2bmp  
Converts a fax file to bitmap format. This functionality will be extended.  
Syntax: fax2hp  
Converts a fax file to HP Laserjet format (PCL code). Used by faxmaster and  
faxprint for printing out faxes.  
14.1.4 faxclean  
Syntax: faxclean [-older days] [-to date]  
Used to clean out the statistics file.  
Parameters:  
-v  
Shows the program version and syntax.  
-older days  
Indicates that information older than the number of  
days given should be removed.  
-to date  
Indicates that information up to and including the date  
stated will be removed.  
14.1.5 faxlogon  
Syntax: faxlogon [-q] [-u user]  
XFAX - User’s Guide 4.3a  
36  
             
Command reference  
Used for connection to the fax server, faxmaster.  
Parameters:  
-v  
Shows the program version and syntax.  
-q  
Does not write information to the screen.  
-u user  
Logs on as specified user. The specified user can be an  
existing user or a fictitious user. In a mail coupling it  
can for example be the sender’s mail address.  
The user cannot utilize the services of the fax system before he/she is connected  
to the fax host via faxlogon. When the maximum number of users in accordance  
with the licence agreement has been reached, faxlogon will deny any new users  
connection to the fax host.  
14.1.6 faxmail  
Syntax: faxmail  
Script which is used on integration with mail software, e.g. sendmail. Faxmail is  
described in more detail in the chapter “XFAX connected to mail”.  
14.1.7 faxmaster  
Syntax: faxmaster [-debug] [-xdb] [-r] [-v]  
Parameters:  
-v  
Shows the program version and syntax.  
-debug  
Means that information on events during program run-  
ning are written to standard out.  
-r  
Shows the return codes from the various fax com-  
mands.  
-xdb  
Display more detailed debug information.  
This is the fax server which does all work on behalf of its clients and users. The  
fax host maintains fax queues, checks authority and licence information and  
reads data, control and statistic files. Faxmaster is normally started from one of  
the initiation scripts (rc-files) which are run when the system is started up. After  
this it remains in the background and doing its job without any fuss. Any fault  
messages are written out in the file ETCDIR/Log/faxmaster.  
Faxmaster must be restarted when the configuration file, ETCDIR/config, or the  
serializing file, ETCDIR/.serial, are modified.  
14.1.8 faxmime  
Syntax: faxmime [-e | -file]  
Used to extract information from a file on the MIME format. The result is writ-  
ten on stdout and consists partially of codes and partially of the file name with  
the extracted attachments. The following codes can occur:  
XFAX - User’s Guide 4.3a  
37  
     
Command reference  
!FROM  
The identity of the sender  
The subject line  
!SUBJECT  
Files which are created are called <pid>.<seqno>.<ext> where the seqno is the  
enclosure’s sequence number in the file, ext is the file’s extension, which can for  
example be txt for a text file, and pid is the processor’s id and is guaranteed to be  
unique.  
You can then choose which enclosures you want to use and which ones you wish  
to discard.  
Parameters:  
-dir dir  
Indicates which directory the extracted enclosures will  
end up in. Normally /tmp.  
-e  
Reads standard input, codes to BASE64 and writes in  
standard output.  
-noheader  
-prefix str  
Indicates that the program will not work mail-headers.  
Adds str to the prefix before pid in the file name.  
14.1.9 faxprint  
Syntax: faxprint[-q] [-d printer] [ID [ID ...] | file]  
Used to print out a fax on an HP Laserjet compatible printer.  
Parameters:  
-v  
Shows the program version and syntax.  
Does not write information to the screen.  
-q  
-d printer  
Specifies that the printout will be sent to the stated  
printer.  
The argument can be either a fax-ID or the name of a fax file. The printout data is  
sent to the standard printer if no special printer is specified. The printer should be  
HP Laserjet compatible and the data must not be filtered, i.e. the printout should  
be raw, otherwise it will be garbage. E.g. faxprint -d LASER 13 or faxprint  
D.510.000.  
14.1.10 faxq  
Syntax: faxq [-reverse] [ -p | -s | -r | -f | -d [directory] [ -h ID ] [ -n ID ] [ -t tt:mm  
ID] [-x]  
Used to show the various fax queues, to change the sending times for a special  
fax and to list fax files.  
Parameters:  
-v  
-p  
Shows the program version and syntax.  
Shows the queue of outgoing faxes.  
XFAX - User’s Guide 4.3a  
38  
   
Command reference  
-f  
Shows the queue of faxes which it has not been possi-  
ble to send.  
-s  
Shows the queue of faxes which have been sent.  
Shows the queue of received faxes.  
-r  
-d [dir]  
Lists the fax files which are to be found in the direc-  
tory dir.  
If there is no argument, the program looks in the direc-  
tory Fax under the user’s home directory ($HOME).  
The information listed is, in sequence: ID, the recipi-  
ent’s fax number, the number of seconds connected,  
the number of retries, the time the fax has been in the  
queue and the number of fax pages. Note that you must  
have authority to read the directory in question.  
-h  
Holds and releases faxes (hold).  
-n ID  
Changes the time for the next transmission attempt to  
the given time in hours and minutes.  
-x  
Lists the line used, cost and number of retries for sent  
and faulty faxes.  
14.1.11 faxrm  
Syntax: faxrm [-all queue] [-to date] ID [ID [ID ...]]  
Used to cancel a fax that is in a queue for outgoing faxes. Furthermore, you can  
mark sent and faulty faxes that have been removed to avoid having a mass of old  
faxes when you look through your queues. However, the statistics are kept.  
Parameters:  
-all queue  
Indicates that all the faxes in the queue indicated  
should be cancelled.  
-to date  
Used in combination with -all and indicates that only  
faxes up to and including a certain date should be  
removed.  
-v  
Shows the program version and syntax.  
You find out the ID of a fax by using the command  
faxq. Several faxes can be cancelled at the same time  
by giving several IDs separated by a space.  
14.1.12 faxsend  
Syntax: [-c id] [-s id] [-l file name] [-n note] [-p priority] [-t tt:mm] [-u user] [-d  
printer] [-q] fax number [file 1 [file 2...] | - ]  
Converts a HP Laserjet file to fax format and sends information on the fax to the  
fax server which then takes care of the actual transmission.  
Parameters:  
XFAX - User’s Guide 4.3a  
39  
   
Command reference  
-v  
Shows the program version and syntax.  
-c id  
Chooses the national set of characters when converting  
the text file to fax format. Possible values of id:  
0 (US), 1 (French), 2 (German), 3 (UK), 4 (Danish), 5  
(Swedish), 6 (Italian), 7 (Spanish), 8 (Japanese), 9  
(Norwegian), 10 (Danish 2) and 11 (Spanish 3).  
The standard values are given by the keywords  
CHARACTER_SET in the configuration file.  
-d printer  
Printing out of the file is done through the specified  
printer after the fax has been placed in a queue to the  
fax server.  
-h  
Indicates that the fax should be parked, i.e. remain in  
the queue until it is released with the aid of faxq -h.  
-id  
Writes the id(s) of the fax(es) in the queue on the  
screen.  
-l filename  
Sends the same fax to all recipients whose fax number  
is in the stated file. The file should be a normal text file  
with one fax number per line. Comments can be set in  
by beginning the line with the symbol #.  
-margin n  
-n string  
Sets the default margin af the fax to 5 characters. See  
also: DEFAULT_MARGIN  
Ties a note string to the fax. This note is then shown in  
the fax queues. Maximum length is 80 characters.  
-p priority  
Indicates that the fax should have a certain priority.  
Normally 4. Permitted values are 1-7. 1 indicates the  
highest priority.  
-q  
Does not write information to the screen (quiet).  
-s id  
Chooses the set of symbols when converting text files  
to fax format. Possible values for id:  
0Roman-8  
1Latin-1 (ISO 8859-1)  
2Windows  
The standard value is given by the keywords  
SYMBOL_SET in the configuration file.  
-simulate  
-t tt:mm  
Runs a simulated fax transmission. This can be done to  
estimate the time and cost of sending a fax and to com-  
pare how these factors are affected by sending the fax  
at different times of the day. No fax is placed in the  
queue when this parameter is used.  
Gives a particular time when the fax is to be sent. In  
normal cases the fax is sent as soon as possible, but  
with this parameter the transmission can be postponed.  
The time is given in hours and minutes, e.g. faxsend -t  
12:34 7586535 faxfile.  
XFAX - User’s Guide 4.3a  
40  
Command reference  
-u user  
-
Sends the fax as stated by the user.  
If this parameter is given, the program data reads from  
standard input instead of from the given files. E.g. fax-  
send 7586535 - <letter or cat letter | faxsend  
7586535 -.  
14.1.13 faxsr  
Syntax: faxsr infile [-]  
Used to make a search & replace in HP Laserjet files. See further details in the  
chapter XFAX and cover sheets.  
Parameters:  
-
If this parameter is given, the program reads the data  
from standard input instead of the stated files.  
14.1.14 faxstat  
Syntax: faxstat [-g] [-v] [-s string]  
Used to generate statistics reports and to show activity graphs.  
Parameters:  
-v  
-g  
Shows the program version and syntax.  
Shows the activity graph, i.e. how many faxes are in  
the queue at different times of the day. This function  
can be used to see where the largest telephone costs are  
and possibly do something about this by locating fax  
transmissions to those times of the day when the tele-  
phone tariff is lowest.  
-s “string”  
Selection string which describes which data should be  
included in the report. Example:  
faxstat-s “date=960120-960125”.  
If no parameter is given, statistics of the number of faxes in the queue are shown,  
plus the number of unsuccessful faxes, the connected time and the cost for the  
call in accordance with the tariff tables in the file ETCDIR/cost.  
14.1.15 faxwho  
Syntax: faxwho [-u]  
Used to find out which users are connected to faxmaster and from which tty: or  
IP addresses they are logged in.  
Parameters:  
-v  
-u  
Shows the program version and syntax.  
When this parameter is given only unique user names  
are listed.  
XFAX - User’s Guide 4.3a  
41  
     
Command reference  
14.2 Exit codes  
The client programs use the following exit codes:  
2
Error in serialisation file  
Error in configuration file  
Invalid argument  
3
4
6
Could not connect to faxmaster  
Invalid recipient  
13  
16  
52  
Could not read recipients file  
Out of disk space  
XFAX - User’s Guide 4.3a  
42  
 
Keyword reference  
15. Keyword reference  
The keywords below are used in the configuration file ETCDIR/config. The file  
can be modified according to requirements with the help of a normal text editor.  
If changes are made in the file the faxmaster must be stopped and started again  
for the changes to take effect.  
When using several lines the keyword can be specific for a certain line (local  
keyword) given by means of the following syntax:  
LINE tty <  
keyword  
etc.  
>
For example:  
LINE tty1a <  
INIT_STRING = “AT&H3”  
DIAL_PREFIX = “0W”  
SEND_ONLY  
>
This means that several different types of modem can be used and that certain  
lines can be used only for sending and others only for receiving etc.  
Note that keywords which apply generally for all lines, global keywords, must be  
placed in front of the keywords which are specific to the line in order to achieve  
the intended effect. If the same keywords occur several times, the last definition  
given always applies.  
15.1 General keywords  
15.1.1 FAXLINE  
FAXLINE = tty1 or  
FAXLINES = tty1[:tty2...]  
Gives the port or ports the fax system should use. /dev should not be given  
before the name of the port. Note that the number of ports which the system  
takes note of is limited by the scope of the licence agreement.  
15.1.2 ACCESS_HTTP  
ACCESS_HTTP=”string”  
Specifies which hosts or network can access the HTTP server.  
Example:  
ACCESS_HTTP=10.1.11.10/32,10.5.1.0/24  
See also: USER_FILE  
XFAX - User’s Guide 4.3a  
43  
       
Keyword reference  
15.1.3 ACCESS_SMTP  
ACCESS_SMTP=”string”  
Specifies which hosts or network can access the SMTP server.  
Example:  
ACCESS_SMTP=10.1.11.10/32,10.5.1.0/24  
See also: USER_FILE  
15.1.4 ACCEPT_USERS  
ACCEPT_USERS=“user1[:user2 ...]”  
Specifies that only the given users are allowed to use a fax device. Useful when  
having multiple devices where a specific device should be dedicated to specific  
users.  
See also: DENY_USERS  
15.1.5 ADMINISTRATOR  
ADMINISTRATOR=“string”  
Indicates which user is to be the system administrator. As system administrator  
you can see and manipulate all the user queues, while as a normal user you can  
only see your own queues. Several administrators can be appointed by giving the  
user name separated by a colon, “:”, e.g. ADMINISTRATOR = “root:kalle”.  
15.1.6 ALERT_USER  
ALERT_USER = “recipient1 [recipient2 ...]”  
If for any reason faxmaster dies, a message is sent to the recipient indicated.  
Addresses of recipients can, of course, be both external and internal. Several  
users can be shown separated by a space.  
15.1.7 ARCHIVE_SENT  
ARCHIVE_SENT  
Indicates that faxes that have been sent should be filed under SPOOLDIR/  
ARCHIVE.  
15.1.8 AUTOPRINT  
AUTOPRINT=“string”  
Indicates that a received fax should always be sent to a printer. The string is a  
command that should take care of the printout data and forwards it to an HP  
Laserjet compatible printer. E.g.: AUTOPRINT=”½ 1p -dLASER”. The com-  
mand is executed automatically when the system has received a fax.  
XFAX - User’s Guide 4.3a  
44  
           
Keyword reference  
15.1.9 BROKEN_SELECT  
BROKEN_SELECT  
This indicates that XFAX should be run on SCO Xenix.  
15.1.10 BUSY_FAIL  
BUSY_FAIL=number of retries  
Gives the maximum number of retries when engaged. Normally engaged is not  
counted as a failed attempt, but with the help of this keyword it is possible to get  
round this.  
15.1.11 CHARACTER_SET  
CHARACTER_SET=characterset  
Gives the set of characters that should be used. See the command faxsend for  
possible options.  
Standard value: 5 (Swedish 7 bit mapping)  
15.1.12 CLASS  
CLASS=string  
By default faxmaster tries to determine if it is a Class 2 or Class 2.0 device. By  
using CLASS=2 or CLASS=2.0 you can avoid that. It makes the initialisation a  
little bit quicker.  
15.1.13 CODE_END  
CODE_END=string  
Gives the character sequence to mark the end of a document code.  
Standard value: “]]”  
15.1.14 CODE_START  
CODE_START=string  
Gives the character sequence to mark the start of a document code.  
Standard value: “[[“  
15.1.15 COMPANY  
COMPANY=string  
This gives the company name which will appear on the cover sheet when send-  
ing by means of the script xfax.  
XFAX - User’s Guide 4.3a  
45  
             
Keyword reference  
15.1.16 DEBUG  
DEBUG  
If this keyword is given, debug information is written to standard output, i.e. on  
the screen when faxmaster is started. Can be used to search for faults.  
15.1.17 DEFAULT_FONT  
DEFAULT_FONT=filename  
Indicates the typescript that should be chosen when converting text in normal  
cases, when the typeface is not chosen by means of control codes. The file name  
is a file under the directory ETCDIR/Fonts. E.g. DEFAULT_FONT =  
counu100.fp2 to choose Courier 10 cpi normal style.  
15.1.18 DEFAULT_MARGIN  
DEFAULT_MARGIN=n  
When sending a plain text file this keyword can be used to add a left margin. For  
example to get a left margin of 10 spaces, define DEFAULT_MARGIN=10.  
Standard value: 0.  
15.1.19 DENY_USERS  
DENY_USERS=“user1[:user2 ...]”  
Specifies that the given users are not allowed to use a fax device. Useful when  
having multiple devices where a specific device should not be available to spe-  
cific users.  
See also: ACCEPT_USERS  
15.1.20 DIAL_PREFIX  
DIAL_PREFIX=“string”  
Gives the prefix that is added before the telephone number when calling. E.g.  
DIAL_PREFIX = “0W” can be used to get the modem to come out through an  
exchange by dialling a zero and then waiting for a tone before the rest of the  
number is dialled.  
15.1.21 DEFAULT_PRINTER  
DEFAULT_PRINTER=printer name  
Gives the standard printer to use when printing out a fax if no other printer has  
been explicitly given.  
15.1.22 DIAL_TIMEOUT  
DIAL_TIMEOUT=seconds  
XFAX - User’s Guide 4.3a  
46  
             
Keyword reference  
Indicates how long after an attempt is made to make a connection the attempt  
should be discontinued if the connection is not established.  
15.1.23 DOMAIN  
DOMAIN=domain  
Specifies the domain name to use when sending e-mail.  
15.1.24 EXEC_WORKDIR  
EXEC_WORKDIR=directory  
Indicates which directory should be used as a working directory when a program  
given by EXECUTE_AFTER_REC and EXECUTE_AFTER_SEND is exe-  
cuted.  
15.1.25 EXECUTE_AFTER_RECEIVE  
EXECUTE_AFTER_RECEIVE=program  
Gives a program which is executed after receiving a fax.  
The program is executed with the following arguments in the sequence given:  
ID  
ID of fax  
Result code  
Result code from the reception.  
15.1.26 EXECUTE_AFTER_SEND  
EXECUTE_AFTER_SEND=program  
Gives a program which is executed when a fax is concluded, i.e. has been sent or  
not been able to be sent.  
The program is executed with the following arguments in the sequence given:  
ID  
The ID of the fax  
Fax number  
Result code  
The recipient’s fax number  
Can be any of the following values: 0 (OK), 1 (Con-  
nect), 2 (Ring), 3 (No carrier), 4 (Error), 6 (No dial-  
tone), 7 (Busy), 8 (No answer), 19 (No line), 20 (Inter-  
rupted) or any of the result codes the modem uses in  
fax mode (see the description of faxq in the chapter:  
“Handling faxes”, for a more detailed description).  
No of retries  
Notes  
The number of attempts to send the fax.  
Any notes which are attached to the fax. This is added  
with the parameter -n to faxsend.  
Conn. time  
Concl. time  
The number of seconds connected during the transmis-  
sion attempt. This is not exact, but a good estimate.  
The time when the fax is concluded, i.e. sent or an  
attempt has been made for the last time.  
XFAX - User’s Guide 4.3a  
47  
       
Keyword reference  
User  
The user who placed the fax in the queue.  
15.1.27 EXECUTE_BEFORE_SEND  
EXECUTE_BEFORE_SEND=program  
Gives a program which is executed before a fax is placed in queue.  
The program is executed with the following arguments in the sequence given:  
ID  
The ID of the fax  
The recipient’s fax number  
Not used.  
Fax number  
Result code  
No of retries  
Notes  
Not used.  
Any notes which are tied to the fax. This is addedwith  
the parameter -n to faxsend.  
Conn. time  
Concl. time  
User  
Not used.  
Not used.  
The user who placed the fax in the queue.  
15.1.28 EXIT_STRING  
EXIT_STRING=“string”  
Gives a command string which is sent to the modem after the call is finished.  
Note that ATZ (reset) is always sent to the modem before the given string is sent.  
15.1.29 FAIL_DIR  
FAIL_DIR=directory  
The directory in which to place unsuccessful faxes. If NO_ERROR_SAVE is not  
defined an unsuccessful fax will end up under $HOME/Fax, but with this key-  
word this directory can be freely selected.  
15.1.30 FAIL_FAXNO  
FAIL_FAXNO=fax number  
The fax number to send faxes which have not reached their destination. Can be  
used to get faxes which it is not possible to send to be sent to your own fax.  
15.1.31 FAXHOST  
FAXHOST=string  
Used when XFAX is run in a network and indicates which machine should be  
used as a server.  
The name can be a machine name or an IP address.  
XFAX - User’s Guide 4.3a  
48  
         
Keyword reference  
15.1.32 FAXNO  
15.1.33 FLOW  
FAXNO=string  
Gives the fax number that appears on the cover sheet, when sending by means of  
the script xfax.  
FLOW=value  
Normally XFAX tries to set up the port for CTS/RTS flow control. If you give 0  
as a value to the keyword FLOW, this is not done.  
15.1.34 FONTDIR  
FONTDIR=directory  
Indicates in which directory the typeface descriptions are located.  
Standard value: /etc/xfax/Fonts  
15.1.35 GROUP  
GROUP=value  
Defines a user group. Users that belong to the same group can see and handle  
each other’s queues. Repeating the use of this keyword can create several  
groups. Example:  
GROUP = “kalle:nisse:pelle”  
creates a group with three users.  
15.1.36 HTTP_ENABLE  
HTTP_ENABLE  
Enable the integrated HTTP server in faxmaster.  
See also: HTTP_PORT, ACCESS_HTTP, USER_FILE  
15.1.37 HTTP_PORT  
HTTP_PORT=number  
Specifies which port the HTTP server should listen on.  
Default: 7181  
15.1.38 ID  
ID=“string”  
Gives your local fax identity. This identity is exchanged between fax units during  
connection. The identity is then shown on activity reports and similar. Normally  
you use your fax number or company name as an identity. Note that certain faxes  
XFAX - User’s Guide 4.3a  
49  
             
Keyword reference  
cut the identity string after 10-11 characters, and so you should choose a short  
and clear string.  
15.1.39 INIT_STRING  
INIT_STRING = “string”  
Gives the initiation string that should be sent to the modem before connection is  
made. Parameters, which are specific to the modem, can be given for this, e.g.  
for flow control. E.g.: INIT_STRING = “AT&K4M1L2” for an Intertex modem  
which is to run XON/XOFF.  
15.1.40 INT_PREFIX  
INT_PREFIX = string  
Gives the telephone number prefix for international calls. 00 in Sweden. Used  
for example by faxstat.  
15.1.41 JETFAX_BUSY_TRIES  
JETFAX_BUSY_TRIES = value  
Gives the number of retries when the line is engaged. Used only when XFAX is  
used together with JetFax II.  
15.1.42 JETFAX_COPY  
JETFAX_COPY  
Indicates that a copy of the fax is to be printed out.  
Used only when XFAX is used together with JetFax II.  
15.1.43 JETFAX_PAGE_TIME  
JETFAX_PAGE_TIME = value  
Gives the average value for a transmission time of a fax page. Used as an esti-  
mate when calculating costs.  
Used only when XFAX is used together with JetFax II:  
15.1.44 JETFAX_RECEIPT  
JETFAX_RECEIPT = value  
Indicates that a receipt should be printed out. Possible values: 0 - never, 1 -  
always, 2 - when there is a fault.  
Used only when XFAX is used together with JetFax II.  
15.1.45 LANGUAGE  
LANG = language code or  
LANGUAGE = language code  
XFAX - User’s Guide 4.3a  
50  
             
Keyword reference  
Indicates the language which should be used in menus etc. Permitted values are  
eng, swe and swe8.  
Standard value: eng  
15.1.46 LD_PREFIX  
LD_PREFIX = string  
Gives the telephone number prefix for long-distance calls. 0 in Sweden. Used for  
example by faxstat.  
15.1.47 LINE_FAIL  
LINE_FAIL = number of retries  
Gives the number of attempts when the modem cannot be initiated. Normally  
this is not counted as a faulty attempt, but with the help of this keyword you can  
get round this.  
15.1.48 LOCAL_PREFIX  
LOCAL_PREFIX=string  
Gives the telephone number prefix for your own dialing code area. If this is  
given it is automatically removed if it should be found when sending a fax.  
08 in Stockholm.  
15.1.49 LOCK_DIR  
LOCK_DIR=directory  
Indicates which directory should be used for locked files. This is dependent on  
the system.  
15.1.50 LOCKING_STYLE  
LOCKING_STYLE=value  
Indicates which type of locked files should be created when locking fax lines.  
This is dependent on the operating system.  
Values:  
1
Linux  
2)  
3
4
SCO  
System V.4  
HP-UX  
15.1.51 LP  
LP=string  
Indicates which command should be used when printing out a fax.  
XFAX - User’s Guide 4.3a  
51  
           
Keyword reference  
Standard value: “lp”  
15.1.52 LP_PRINT_OPTION  
LP_PRINT_OPTION=string  
Indicates which parameters are used together with the printout program, nor-  
mally 1p, to indicate a special printer, e.g. “1p -d laser”.  
Standard value: “-d”  
15.1.53 MAIL_ON_ERROR  
MAIL_ON_ERROR  
Indicates that the mail should be sent to the user who has placed a fax in the  
queue if it has not been possible to send it.  
15.1.54 MAIL_ON_SUCCESS  
MAIL_ON_SUCCESS  
Indicates that mail should be sent to the user who has placed a fax in the queue if  
the fax has been sent with the status OK.  
15.1.55 MAX_BPS  
MAX_BPS=speed  
Indicates the maximum speed of the fax modem when sending a fax in the unit  
bits per second (bps). Permitted values: 14400, 9600, 7200, 4800 and 2400.  
Standard value: 14400  
15.1.56 MAX_TRIES  
MAX_TRIES=number of retries  
Gives the maximum number of times a fax should be tried to be sent before the  
system gives up and places it in the queue for faxes not sent.  
15.1.57 NICE_CONV  
NICE_CONV=priority  
Indicates that a lower priority than normal should be used when converting a fax.  
The value can be between 0 and 20. 20 gives the lowest priority.  
15.1.58 NICE_SEND  
NICE_SEND=priority  
Indicates that higher priority than normal should be used for sending a fax.  
The value can be between 0 and 20. 20 gives the highest priority.  
XFAX - User’s Guide 4.3a  
52  
             
Keyword reference  
15.1.59 NO_ERROR_SAVE  
NO_ERROR_SAVE  
Indicates that the fax yfile should not be saved if it has not been possible to send  
a fax in a queue. This keyword is normally defined in the configuration file.  
15.1.60 NO_STATISTICS  
NO_STATISTICS  
Indicates that statistics should not be saved in the file ETCDIR/stats.  
15.1.61 OLD_SCO  
OLD_SCO  
If you use a SCO version before OpenServer5 and the port name has a name in  
the format ttyx00, where x is a capital letter, this keyword must be used so that  
the handling of locked files is done in the right way. This is due to a bug in older  
SCO versions.  
15.1.62 PARTIAL_PAGES  
PARTIAL_PAGES  
Indicates that the last page of a fax should be cut off after the last line of data and  
not filled out to a full A4. This saves time when transmitting and space on the  
hard disk.  
15.1.63 PORT  
PORT=value  
Indicates which port should be used when XFAX is run in a network.  
Standard value: 6001  
15.1.64 PRINT_REC_TO_LEFT  
PRINT_REC_TO_LEFT=column  
With this keyword you can adjust where the print-out of incoming faxes will be  
positioned on the paper. The value indicates the number of columns the data  
should be moved to the left.  
15.1.65 PULSE  
PULSE  
Indicates that pulse choice should be used when making a call.  
15.1.66 QUIET  
QUIET  
XFAX - User’s Guide 4.3a  
53  
               
Keyword reference  
Indicates that client programs should be quiet and not write information onto the  
screen as standard. For example this is equal to calling faxsend with the argu-  
ment -q.  
15.1.67 RECEIVE_ONLY  
RECEIVE_ONLY  
Indicates that fax lines should be used only for receiving. This function is also  
controlled by the scope of your license agreement. If the fax modem is used for  
incoming modem traffic and outgoing fax traffic SEND_ONLY must be given,  
otherwise the fax server will try to answer and receive incoming calls as a fax.  
15.1.68 RESOLUTION  
RESOLUTION=HIGH | LOW  
Gives the standard resolution of the faxes that are sent out. Note that if the fax  
called does not support high resolution then low resolution is negotiated. Possi-  
ble values are HIGH or FINE for high resolution and LOW or STANDARD for  
low resolution.  
A high-resolution fax is precisely twice as large as a low-resolution fax and takes  
twice as long to send (approx. 1 minute for an A4 page).Standard value: HIGH  
(high resolution)  
15.1.69 RETRY_TIME  
RETRY_TIME=minutes  
Indicates at what minute intervals attempts should be made to send a fax that is  
not successfully sent.  
15.1.70 REVERSE_STATS  
REVERSE_STATS  
Indicates that statistics lists (sent and failed faxes) should be shown in reverse  
order, i.e. with the most recent fax first.  
15.1.71 ROUND_ROBIN  
ROUND_ROBIN  
When using multiple fax devices with XFAX the standard behavior is to always  
use the first available line for transmission so if FAXLINES=tty00:tty01, tty00 is  
always picked if available. By using this keyword fax lines are always used in  
sequential order. That is, first tty00 is used then tty01, tty00 and so on. This is  
really the best way to minimize non-successful attempts if a fax device should  
break down.  
15.1.72 SEND_BPS  
SEND_BPS  
XFAX - User’s Guide 4.3a  
54  
           
Keyword reference  
Normally the communication speed between the computer and the modem is  
19.200 bps. By using this keyword that can be changed. Not any value can be  
used. Possible values: 2400, 4800, 9600, 19200, 38400. Standard value: 19200  
15.1.73 SEND_ONLY  
SEND_ONLY  
Indicates that fax lines should be used only for sending or only for receiving.  
This function is also controlled by the scope of your license agreement. If the fax  
modem is used for incoming modem traffic and outgoing fax traffic  
SEND_ONLY must be given, otherwise the fax server will try to answer and  
receive incoming calls as a fax.  
15.1.74 SMTP_ENABLE  
SMTP_ENABLE  
Specifies that the XFAX SMTP server should be enabled.  
See also: SMTP_PORT, USER_FILE, ACCESS_SMTP  
15.1.75 SMTP_PORT  
SMTP_PORT=port  
Specifies which port to be used by the SMTP server.  
Standard value: 7180  
15.1.76 SMTP_SENDER  
SMTP_SENDER=”string”  
Specifies a sender for e-mails that XFAX generate.  
15.1.77 SMTP_SERVER  
SMTP_SERVER=hostname  
Indicates which SMTP server to use for sending e-mail.  
15.1.78 SPOOLDIR  
SPOOLDIR=directory  
Indicates which directory should be used to store data and control files.Standard  
value: /usr/spool/fax  
15.1.79 STTY  
STTY=string  
Gives a stty string that should be sent to the port after it has been opened. Can be  
used to set special parameters. However it need not normally be used.  
XFAX - User’s Guide 4.3a  
55  
             
Keyword reference  
15.1.80 SYMBOL_SET  
SYMBOL_SET=symbolset  
Gives the set of symbols that should be used. Applicable choices are 0 for  
Roman-8, 1 for Latin-1 (ISO 8859-1) and 2 for Windows.  
Standard value: 1 (Latin-1)  
15.1.81 T30_ECM  
T30_ECM=value  
Set the T.30 parameter ECM (Error-Correction Mode) to the specified value.  
15.1.82 T30_RTC  
T30_RTC=value  
Set the T.30 parameter RTC to the specified value.  
15.1.83 T30_PAGELENGTH  
T30_PAGELENGTH=value  
Set the T.30 parameter page-length to the specified value.  
15.1.84 TONE  
TONE  
Gives the tone that should be used when calling.  
15.1.85 USE_SHM  
USE_SHM  
Specify that the server should use Share Memory for inter-process communica-  
tion. Not all platforms support Shared Memory.  
15.1.86 USER_FILE  
USER_FILE=filename  
Specifies a file to use for valid users of the HTTP or SMTP server.  
Format of the file: username<TAB>password<TAB>type of server  
Example:  
user1  
secret  
HTTP  
user2  
moresecret  
HTTP,SMTP  
HTTP,SMTP  
sec123  
XFAX - User’s Guide 4.3a  
56  
             
Keyword reference  
15.1.87 WAIT_FOR_TONE  
WAIT_FOR_TONE or  
WAIT_FOR_DIALTONE  
Indicates that the modem should wait for the connection tone before it begins to  
dial the telephone number. This is normally required if the telephone line is not  
connected to an AXE station where the connection tone is obtained immediately.  
This gives the same result as a “W” placed first in the telephone number.  
15.1.88 XON_XOFF  
Indicates that the software flow control, XON/XOFF, should be used when send-  
ing a fax. Note that INIT_STRING must be set in conformity with this.  
XFAX - User’s Guide 4.3a  
57  
   
Troubleshooting  
16. Troubleshooting  
In order to obtain more information from faxmaster on what happens while the  
program is being run, you can start faxmaster with the parameter -debug. Then a  
little more detailed information is written on the screen while the program is  
being run. Also look in the log files under ETCDIR/Log for the respective com-  
mand. Interesting information can be found there if something has gone wrong.  
If there is a problem with the modem, you can see if it is possible to call out by  
using the normal UNIX command cu. If you get the fault code NOAN (no  
answer) or NODT (no dialtone) you can try with a normal telephone in the jack  
to see if you get a tone and can ring the recipient’s fax using this to check that it  
is actually answering.  
It is possible to use the system if you are logged in as super-user (root), but not  
otherwise  
This is most probably a problem with regard to authority. Go through the various  
files and libraries which XFAX uses and check the owner and rights.  
Converting a fax is not successful  
Are the typeface files in the right place, unpacked and with the right authority?  
The program looks for files by looking at what FONTDIR is set at in the config-  
uration file.  
In the delivery medium the files are packed with the UNIX command compress.  
The file name then ends with a “Z”. The files should be unpacked during instal-  
lation. If it has not been possible to do this, it should be done manually by going  
into the directory where the files are located and writing compress -d *.  
All users must have the right to read typeface files and to read and search in the  
directory where they are located.  
When I start faxmaster I obtain the message: Faxmaster is already running,  
although it unquestionably is not. Why?  
Faxmaster creates a locking file, /tmp/LCK.faxmaster, when it starts up which  
should be removed automatically when faxmaster terminates. If faxmaster is  
killed with kill -9 or is terminated in some other unconventional way the locking  
file may remain. Remove this with rm /tmp/LCK.faxmaster and try again.  
Note. Faxmaster should not be killed with kill -9. Instead, use signal 15 that is  
the standard value for kill.  
Faxmaster does not send a fax that is in a queue to be sent. The status is PE.  
Check whether there is a locking file for the port under /usr/spool/uucp, /var/  
spool/locks or another directory depending on the operative system, the name of  
the file begins with LCK, in SCO this is called e.g. LCL..ttyxx. If such a file  
exists and no program uses the port, remove the locking file with rm. With  
locked files each program writes its process-id, as ASCII or binary. Again  
depending on the operative system.  
XFAX - User’s Guide 4.3a  
58  
 
Troubleshooting  
There is a problem when sending a fax abroad  
Do you use Tele2 and dial 007 instead of 009? Ensure that the line the modem is  
connected to is registered with Tele2.  
Transmission of faxes is often broken off before they are finished or there are  
lines missing in the middle of a fax.  
This is probably a problem of flow control. Depending on the type of modem  
and the serial ports in the computer, sometimes software and other times hard-  
ware flow control should be used. Begin by setting up the system for XON/  
XOFF. This is generally the easiest way to get started.  
In order to run RTS/CTS flow control, an initiation string should be used which  
sets up the modem for RTS/CTS. In addition, it is necessary that the serial port is  
set up for, and can handle, RTS/CTS. This method is to be preferred but is not  
supported by all serial cards.  
There is a problem with sending a fax on HP-UX.  
The program is compiled on a HP 9000/712 and as standard tries to set up hard-  
ware flow control. This is not always so satisfactory on HP’s server machines.  
Therefore you can shut off “the hardware control attempt” by adding FLOW = 0  
in the configuration file.  
XFAX - User’s Guide 4.3a  
59  
Technical specifications  
17. Technical specifications  
XFAX is fax software for sending Group 3 faxes with the aid of Class 2-compat-  
ible fax modems. The maximum speed for sending faxes is 14.400 bps, however  
9.600 bps is the most common. This depends on the other fax unit. The speed of  
computer to modem is 19.200 bps.  
17.1 Modem drivers  
Class 2 (proposed TIA/EIA 592) and Class 2.0 (TIA/EIA 592)  
17.2 File formats  
ASCII, HP Laserjet (PCL-4), Modified Huffman. Files are usually stored in  
Modified Huffman format since this is a very efficient way of compressing this  
type of data.  
17.3 Memory required  
This depends to some extent on the operative system, but the whole system occu-  
pies between 2 Mb of memory after installation. When using the system the fol-  
lowing is added: One fax file with a normal page of data (A4) needs between 20  
and 80 kb.  
17.4 Tested platforms  
AIX 3.2.5  
AIX 4.1  
AIX 4.2  
AIX 4.3  
HP-UX 9.x  
HP-UX 10.x  
HP-UX 11.x  
Linux (Redhat)  
SCO OpenServer 5  
SCO UNIX  
SCO UnixWare 2.1  
SCO UnixWare 7  
SINIX  
Solaris 2.x (Intel and Sparc)  
17.5 Modems tested  
The following modems have been tested with XFAX and functioned satisfacto-  
rily. However, for the best functioning we recommend the ZyXEL modem that  
has been shown to be the most stable with respect to fax functionality.  
Intertex, various models  
Multitech, various models  
XFAX - User’s Guide 4.3a  
60  
           
Technical specifications  
US Robotics Courier (with Class 2.0)  
US Robotics Sportster (with Class 2.0)  
ZyXEL U-1496E  
ZyXEL Omni 288S  
ZyXEL U90F  
Problems can arise - particularly sensitive is the reception of faxes - if the serial  
ports which are used are not of good quality. The ports should be equipped with  
UART 16550 or similar circuits with buffering. Intelligent cards such as Digi-  
Board are equipped with such circuits.  
17.6 Typefaces in XFAX  
The following typefaces are built into XFAX with their respective escape  
sequences:  
Courier 10 cpi  
Line Printer 16.6 cpi  
Helvetica 8 pt  
Helvetica 10 pt  
Helvetica 12 pt  
Helvetica 10 pt, italics  
Helvetica 12 pt, italics  
Helvetica 10 pt, bold  
Helvetica 14 pt, bold  
Helvetica 14 pt, bold  
Times Roman 10 pt, italics  
Times Roman 12 pt, italics  
Times Roman 10 pt, bold  
Times Roman 12 pt, bold  
Times Roman 14 pt, bold  
Times Roman 8 pt  
<ESC>(s0p0b0s0t10H  
<ESC>(s0p0b0s3t16.6H  
<ESC>(s1p0b0s4t8V  
<ESC>(s1p0b0s4t10V  
<ESC>(s1p0b0s4t12V  
<ESC>(s1p0b1s4t10V  
<ESC>(s1p0b1s4t12V  
<ESC>(s1p3b0s4t10V  
<ESC>(s1p3b0s4t12V  
<ESC>(s1p3b0s4t14V  
<ESC>(s1p3b1s4t10V  
<ESC>(s1p3b1s4t12V  
<ESC>(s1p3b0s5t10V  
<ESC>(s1p3b0s5t12V  
<ESC>(s1p3b0s5t14V  
<ESC>(s1p0b0s5t8V  
<ESC>(s1p0b0s5t10V  
<ESC>(s1p0b0s5t12V  
Times Roman 10 pt  
Times Roman 12 pt  
XFAX - User’s Guide 4.3a  
61  
 
S
Index  
sendmail  
integrating with 28  
C
Cover sheets  
using 25  
W
Windows client  
using 23  
D
document codes  
using 15  
X
XFAXDIR  
defined 7  
G
Ghostscript  
using with XFAX 31  
H
Handling faxes  
printing 21  
rescheduling 20  
scheduling 20  
O
Overlays  
using 25  
P
PDF  
sending documents 31  
XFAX - User’s Guide 4.3a  
62  

Sony Cdx T69 User Manual
Sanyo Cadnica N 500a User Manual
Quasar Hq 2101rh User Manual
Panasonic Panafax Uf 8000 User Manual
Panasonic Kx Tcc936 B User Manual
NEC MULTISYNC EA273WM User Manual
EPSON CW C4000 User Manual
DELL VOSTRO 2510 02 User Manual
CRAFTSMAN 917.370432 User Manual
BLACK DECKER HFEJ415JWMF22 User Manual