HYLAFAX-INFO(5)

πŸ’– HYLAFAX-INFO(5) πŸ’–

okay bestie, this is the File Formats Manual page for HYLAFAX-INFO(5) and honestly? it's giving the little black book of fax machines. let's get into it πŸŽ€


✨ NAME ✨

info β€” the remote device capability database 🌸


πŸ¦‹ DESCRIPTION πŸ¦‹

so there's this info subdirectory inside the HylaFAX spooling area, right? it's where all the ~tea~ about devices that have been called gets stored: their capabilities, their status, everything. one file per device, and the filename is literally made out of the remote device's fully-qualified phone number. iconic. no cap.

the files themselves are plain ASCII. simple. every line looks like this:

[&]tag: value

where a tag names some capability and a value is a string, a number, or a boolean. and here's the cute part β€” if you slap an optional `&' at the front of the line, that tag's value is locked down and the server will not update it. this is so useful for restricting which capabilities get used with a particular machine. πŸ’…

here's everything that gets recorded:

  • 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 POSTSCRIPT transfer protocol

the HylaFAX scheduler, faxq(8), reads all this when it's deciding whether a call should even happen and when it's prepping documents to send. if the remote device's capabilities are known, document prep gets constrained and/or optimized to match them. if they're not known? documents get prepared with zero regard for the remote's capabilities, and if a capability mismatch shows up, the session gets terminated and the documents get reformatted using whatever capabilities were just discovered. messy but it works πŸ’€

the calledBefore item is what faxsend checks to decide whether to redial a number when it hits certain errors. like β€” if a dialing command comes back with a `NO CARRIER' result, the number won't be retried unless it's been dialed successfully before. so basically, don't expect a retry on a stranger ✨

the minScanlineTime item is the minimum scanline time parameter used for facsimile transmissions. acceptable values are: `0ms', `5ms', `10ms/5ms', `10ms', `20ms/10ms', `20ms', `40ms/20ms', and `40ms'. (and if you see a value shaped like X/Y, that means use X for 98 lpi images and Y for 196 lpi images. iykyk πŸ’«)

the pagerTTYParity item sets the communication parameters for talking to the IXO/TAP service provider. acceptable values: `even' (7 bits, even parity), `odd' (7 bits, odd parity), and `none' (8 bits, no parity). specify nothing at all and you get `even', per the standard. default behavior, we love her πŸ‘‘

the pagerMaxMsgLength, pagerPassword, and pagerTTYParity items can be set up to match whatever a pager service provider requires β€” and they typically get locked down so their values don't get lost during updates. protect the info, bestie 🫢

pagerSetupCmds lets you define AT commands for setting up the modem for a specific service provider. heads up though: this value overwrites the settings defined in hylafax-config(5). it does not play nice, it just wins πŸ”₯

pageSource can be used to tell the paging central who we are. it usually holds a SMS answerable mobile number. it's only used for the UCP part of sendpage(8). Note: this parameter should be used from user-land sendpage(1) and will be removed later. (rip, she's on her way out 😭)

pagingProtocol defines which protocol β€” UCP or IXO β€” gets used to send the message to the service provider. it defaults to `ixo'; for UCP, set `ucp'.


🌈 NOTES 🌈

faxsend, pagesend, and faxq automatically create and update entries in the info directory as required. no manual labor, they just do it πŸ’…

the data in this directory is simply a cache of remote capabilities, and β€” except for locked down items β€” it 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. spring cleaning, scheduled ✨

when the first batching attempt fails, supportsBatching gets set to false. it must be manually altered to re-enable batching to the destination. no take-backs, you have to do it yourself 😀

⚠️ 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. like, for real for real β€” be careful with this one.

🌸 SEE ALSO 🌸


and that's the whole page, bestie πŸ’– this version dropped February 10, 1996 and lives in the HYLAFAX-INFO(5) manual β€” go forth and fax responsibly, you absolute icon πŸŽ€πŸ’œπŸ¦‹

πŸ“¦ where this page comes from