XFAX
User’s Guide 4.3a
14.1.3 fax2hp.....................................................................................36
14.1.6 faxmail ...................................................................................37
14.1.9 faxprint...................................................................................38
14.1.14 faxstat...................................................................................41
14.2 Exit codes........................................................................................42
15.1.30 FAIL_FAXNO.....................................................................48
15.1.31 FAXHOST ...........................................................................48
XFAX - User’s Guide 4.3a
3
15.1.51 LP.........................................................................................51
15.1.80 SYMBOL_SET....................................................................56
15.1.81 T30_ECM.............................................................................56
XFAX - User’s Guide 4.3a
4
17.4 Tested platforms..............................................................................60
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
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
|