Remote device capability database
The info subdirectory in the \*(Fx spooling area holds information about the capabilities and status of devices that have been called. One file exists for each device, with the filename created from the remote device's fully-qualified phone number. Files have a simple ASCII format. Each line is of the form
where a tag identifies a capability and a value is either a string, number, or boolean value. An optional ``&'' at the front of the line indicates that the tag's value is locked down and should not be updated by the server. This facility is useful for restricting the capabilities used with a particular machine.
The following items are recorded:
Tag Type Description calledBefore boolean device has previously answered at this number dialFailures number count of consecutive failed dial operations hasV34Trouble boolean there is difficulty sending to this destination with V.34 hasV17Trouble boolean there is difficulty sending to this destination with V.17 lastDialFailure string reason for last failed dial operation lastSendFailure string reason for last failed send attempt maxPageWidth number maximum page width in pixels in normal resolution maxPageLength number maximum page length in millimeters maxSignallingRate string maximum signalling rate (bits/sec) to use minScanlineTime string minimum scanline time pagerMaxMsgLength number length of longest allowed text message pagerPassword string password string send to service provider pagerSetupCmds string commands for setting up modem for a specific service provider pagerTTYParity string parity & # bits configuration for IXO/TAP communication pageSource string parameter to tell the paging central who we are pagingProtocol string protocol (IXO or UCP) for this provider remoteCSI string remote device Called Subscriber Identification remoteNSF string remote equipment Non-Standard Facilities information remoteDIS string remote Digital Identification Signal: capabilities sendFailures number count of consecutive failed send attempts supportsBatching boolean accepts batching protocol supportsHighRes boolean accepts 196 line/inch images (obsolete) supportsVRes number vertical resolution support bitmask supports2DEncoding boolean accepts Group 3 2D encoding supportsMMR boolean accepts Group 4 encoding supportsPostScript boolean accepts Adobe \*(Ps transfer protocol
The \*(Fx scheduler, faxq(8), uses the information stored in this directory when deciding if a call should be placed and when preparing documents for transmission. If a remote device's capabilities are known, then document preparation is constrained and/or optimized according to the capabilities. Otherwise, documents are prepared without regard for the remote device's capabilities and if a capability mismatch is encountered the session is terminated and the documents are reformatted using the newly discovered capabilities.
The calledBefore item is used by faxsend to decide whether or not to redial a phone number when encountering certain errors. For example, if a dialing command results in a ``\s-1NO CARRIER\s+1'' result, then the number will not be retried unless the number has previously been dialed successfully.
The minScanlineTime item indicates the minimum scanline time parameter used for facsimile transmissions. Acceptable values are: ``0ms'', ``5ms'', ``10ms/5ms'', ``10ms'', ``20ms/10ms'', ``20ms'', ``40ms/20ms'', and ``40ms''. (Values of the form X/Y mean to use X for 98 lpi images and Y for 196 lpi images.)
The pagerTTYParity item specifies the communication parameters to use when communicating with the IXO/TAP service provider. Acceptable values are: ``even'' (7 bits, even parity), ``odd'' (7 bits, odd parity), and ``none'' (8 bits, no parity). If nothing is specified then ``even'' is used per the standard.
The pagerMaxMsgLength, pagerPassword, and pagerTTYParity items can be setup according to the requirements of a pager service provider; they typically are locked down so that their values are not lost during updates.
The pagerSetupCmds can be used to define AT commands for setting up the modem for a specific service provider. This value overwrites the settings defined in hylafax-config(5).
The pageSource parameter can be used to tell the paging central who we are. It usually contains a SMS answerable mobile number. It is only used for the \s-1UCP\s+1 part of sendpage(8). Note: This parameter should be used from user-land sendpage(1) and will be removed later.
The pagingProtocol defines which protocol, \s-1UCP\s+1 or \s-1IXO\s+1, should be used to send the message to the service provider. It defaults to ``ixo''; for \s-1UCP\s+1 set ``ucp''.
faxsend, pagesend, and faxq automatically create and update entries in the info directory, as required.
The data in this directory is simply a cache of remote capabilities and, except for locked down items, can be safely purged at any time. The faxcron(8) script, for example, periodically purges unlocked entries in this directory that have not been accessed in 30 days.
When the first batching attempt fails then supportsBatching is set to false. It must be manually altered in order to re-enable batching to the destination.
Restricting the capabilities used with a particular machine to a value other than those that are mandatory can cause documents to be sent outside of an acceptable range for the receiver.