FAXMODEM(${MANNUM1_8})

NAME
faxmodem - dynamically add a modem to a HylaFAX server system

SYNOPSIS
${SBIN}/faxmodem [ -q queue-dir ] [ -c capabilities ] [ -p ] [ -P ] [ -u priority ] modem

DESCRIPTION
faxmodem sends a message to the HylaFAX queuer process faxq(${MANNUM1_8}) telling it that the specified modem is ready for use and informing it about its fax-related capabilities. This is the mechanism by which modems are added in a send-only configuration. Once a modem has been configured its status can be reconfigured using the faxstate(${MANNUM1_8}) program. faxmodem can also be used to alter the capabilities and usage priority of a previously configured modem.

The specified modem is either the terminal device name where the modem is attached or a HylaFAX device identifier (see hylafax-config(${MANNUM4_5}) for information on device identifiers). Device names may be given without a leading directory pathname; e.g. ttyf2 instead of /dev/ttyf2.

To figure out the capabilities of a modem either use the probemodem(${MANNUM1_8}) script or manually communicate with the modem. For a Class 2 modem the capabilities are given in the response to the ``AT+FDCC=?'' query command and for a Class 2.0 modem the ``AT+FCC=?'' command. To check if a modem is capable of polled retrieval of documents use ``AT+FSP=?'' for a Class 2.0 modem or ``AT+FSPL=?'' for a Class 2 modem; if ``1'' is indicated in the response then the modem supports polling. For example,

    hyla% cu -l ttyf2
    Connected
    at+fclass=2.0
    OK
    at+fcc=?
    (0,1),(0-5),(0-2),(0-2),0,0,0,(0-7)
    OK
    at+fsp=?
    (0,1)
    OK

In this case the modem would be added using the command:

    ${SBIN}/faxmodem -c '(0,1),(0-5),(0-2),(0-2),0,0,0,(0-7)' ttyf2

(by default polling is assumed to be supported).

Class 1 modems require a different technique. The host implements most of the fax protocol so all that is needed is to identify the possible signalling rates the modem supports for transmitting; this is done with the ``AT+FTM=?'' command. For example,

    hyla% cu -l ttyf2
    Connected
    at+fclass=1
    OK
    at+ftm=?
    24,48,72,73,74,96,97,98,121,122,145,146
    OK

In this case the modem supports 2400, 4800, 7200, 9600, 12200, and 14400 bps signalling rates so the modem would be added using:

    ${SBIN}/faxmodem -c '(0,1),(0-5),(0-2),(0-2),(0,1),0,0,(0-7)' ttyf2

OPTIONS
The following options are available:

-c  Specify the fax capabilities using the syntax defined by the ``Class 2'' specification: ``(vr),(br),(wd),(ln),(df),(ec),(bf),(st)''. where, vr specifies vertical resolution, br specifies bit rate, wd specifies page width, ln specifies page length, df specifies data compression, ec specifies error correction, bf specifies binary file transfer, and st specifies scan time/line; and each of the above specifications is a range or list of numbers that defines the exact capabilities of the modem. For example, the default capabilities are ``(0,1),(0-3),(0-4),(0-2),(0),(0),(0),(0-7)'' which specifies the modem is capable of sending and receiving both low and high resolution facsimile with a variety of page sizes; supports signalling rates 0-3 (2400 bps through 9600 bps); supports only 1D-encoded data compression; and does not support error correction or binary file transfer. A modem's ability to support polled retrieval of facsimile is specified separately with the -p and -P options.

-p  Specify the modem is not capable of polling for remote documents.

-P  Specify the modem is capable of polling for remote documents (default).

-q dir
    Use a spooling area other than ${SPOOL}.

-u priority
    Assign the specified priority to the modem when scheduling it for outbound use. Modem priorities are numbers in the range [0..255] with lower numbers meaning higher priority. Modems are initially assigned priority 255.

FILES
${SPOOL}	default spooling area
${SPOOL}/FIFO	fifo for contacting faxq

Consult hylafax-server(${MANNUM4_5}) for a complete discussion of the structure and content of the spooling area.

SEE ALSO
hylafax-server(${MANNUM4_5}), faxgetty(${MANNUM1_8}), faxq(${MANNUM1_8}).