Release Notes V 3.2 25-DEC-00 FAX32 New switch /CERTAIN Re-tries are normally reduced to 1 if a fax-send error is anything other than a No-dialtone or Busy, the presumption being that it must be a wrong number. If /CERTAIN is specified, it implies that you are "certain" of the phone number. The errors "No Carrier pre-connect" and "Transmit Timeout" will not cause a retry reduction. Release Notes V 3.1 21-OCT-99 FAXMAN & FAX2MAIL Response from the few people who are using FAX32 to RECEIVE faxes caused us to change our minds before changing FAXMAN to accomodate TSX V6. FAXMAN is now out the window. In its place FAX2MAIL is supplied as a program to convert incoming faxes to email messages. The documentation on how to use FAX2MAIL is now in FAX2MAIL.DOC (The full FAX32 documentation hasn't been updated yet.) 24-APR-98 AUTOFAX The wait time between scans of the AUTOFAX directory was shortened from 10 seconds to 5 seconds. Release Notes V 3.01 27-JUN-97 Version 3 announced! Release Notes V 3.01 17-MAR-97 (BETA) FAX32 1. /cts is now recognized as equivalent to /CTS 2. FAXOUT:SUMMARY.LOG contains name of TT device that was used Release Notes V 2.23 20-OCT-96 FAX32 & AUTOFAX The new FAX32 qualifier /MODEMS has been added. If specified, it contains a list of eligible modems to be used instead of the default list of modems contained by the FAX$MODEMS symbol. /MODEMS may be abbreviated to /MOD The value specified by this qualifier consists of one or more modem specs. The syntax for each follows the same rule as the symbol FAX$MODEMS NOTE: Because the list of modems may contain spaces and/or slash characters, it must be enclosed in double quotation marks eg FAX /TO="ALAN COHEN" x.x /MODEMS="TTD7:/CTS TTB0:" Release Notes V 2.22 SMTP2FAX & FAX32 4-OCT-96 SMTP2FAX and AUTOFAX DATED ON/AFTER 30-SEP-96 REQUIRE FAX32 VERSION 2.22 or greater ------------------------------------------------------------------------ FAX-SEND STATUS MESSAGES VIA EMAIL ---------------------------------- Changes to FAX32 now allow it to send an SMTP EMail confirmation message to indicate the success or failure of a fax. NOTE that these email confirmations require use of SY:SMTPC.EXP They are SMTP mail, not POPC/POPD mail Changes have been made to SMTP2FAX (which can change an incoming SMTP mail message into a fax) allowing it to cause EMail confirmation messages to be sent back to the originator. SMTP2FAX GENERAL ------- SMTP2FAX is an adjunct to SMTP mail. It works with SMTPC & SMTPS. It does not work with POPD REJECTED FAXES DUE TO PASS/FAIL RULES ------------------------------------- If a fax number fails to pass the Pass/Fail rules in SMTP2FAX.CON, an email message is sent to: the originator indicating such. The message is sent from: FAXCLERK@YOURDOMAIN MULTIPLE RECIPIENTS ------------------- Received EMail messages that are to be delivered to multiple recipients, (some of which may be faxes and some not) are now properly handled. SMTP2FAX SYNTAX of an EMAIL ADDRESS ----------------------------------- The full syntax of an email address for email-to-fax is: ###### [.fine] [.{xxx}] [.notify] @ domain "#####" is the fax telephone number to dial via /PHONE=#### ".fine" is optional and causes /FINE resolution to be used ".notify" is optional and causes /NOTIFY (see notes below) ".{xxx}" is optional. If specified the characters between the brace brackets are used for FAX32's "/TO" If not specified, SMTP2FAX will tell FAX32 to use "/TO=EmailFax" EG: An Email message sent from Bob@isp.com to 5551212.{Alan}.fine.notify@mydomain tells SMTP2FAX to use the following switches when invoking FAX32 /TO="ALAN"/FINE/NOTIFY/EMAIL="Bob@isp.com"/PHONE=5551212/SMTP2FAX As a result of these FAX32 switches, a confirmation will be emailed to Bob@isp.com (be it success or failure) Note that SMTP2FAX always uses /PRE/SHORT/RETRY=15 as well MAIL ATTACHMENTS ---------------- We now attempt to detect "mail attachments" which are discarded from the fax. EMAIL CONFIRMATIONS ------------------- SMTP2FAX now specifies /EMAIL=xxx@yyy for FAX32 (see below) If a mail attachment was detected, it specifies /SMTP2FAX=1 Otherwise, it (just) specifies /SMTP2FAX (see below) FAX32 now supports new switches which are intended primarily for use in SMTP Email-to-Fax scenarios when SMTP2FAX.TPL is used. /EMAIL=xxx@yyy where xxx@yyy is a valid internet email address If specified a FAILURE message is sent to this address in the event that the fax send failed. (see also /NOTIFY) /NOTIFY causes a SUCCESS message to be sent to the /EMAIL address reporting that the fax send succeeded. /SMTP2FAX causes the EMail confirmation to include the text "AT THE RECIPIENT'S REQUEST, AN EMAIL MESSAGE YOU RECENTLY SENT HAS BEEN FAXED. THE FOLLOWING IS A STATUS REPORT" Otherwise, the confirmation message includes: "THIS IS A STATUS REPORT REGARDING A RECENT FAX SENT ON YOUR BEHALF" /SMTP2FAX=1 causes the confirmation message to also include: "HEADER SENT, BUT BODY DISCARDED! NO ATTACHMENTS ALLOWED" 18-JUL-96 QFBLOCKS.CMD is now included as part of the distribution. It can be used to test your Batch Queue capacity and is of use primarily to those doing broadcasting. FAQ.TXT is now included as part of the distribution. Release Notes V 2.21 FAX32 As before, outgoing faxes that encounter a "busy" error retry once per minute for a number of times as indicated by the RETRY switch. Any other kind of error allows only 1 additional retry. The error "NO DIALTONE" used to fit into this latter category but has now been changed. A "NO DIALTONE" error is now treated like a "BUSY" error in terms of the number of times a retry is attempted. The purpose of this change was to accomodate phone lines that are occasionally shared by both modem and telephone. Release Notes V 2.20 FAX32 1 If two outbound faxes were being processed at close to the same time, there was a filename collision re FAXOUT:TMPxx.FAX Symptoms: FAXOUT event log showed "Program execution error" FAXDEBUG event log showed same FAXOUT:TMPxx.FAX twice 2 The system symbol FAX$PRIO is available to change the priority of LASERFAX. This is the code that converts the PCL file to a raster graphics image. (It runs before the phone gets picked up) As a batch job, LASERFAX usually gets run with priority=30 (as opposed to interactive jobs, which are usually priority=50) Release Notes V 2.19 FAX32 RE flow control and smart boards. If you are using a smart board (one that supports BOARDHS) you should use the /CTS qualifier. This implies that your modem MUST support hardware handshaking in FAX send mode. NOTE: The Class 2 & 2.0 standards specify software flow-control and do NOT REQUIRE RTS/CTS. Some modems (eg: Supra) support both. TSX does NOT properly do flow-control on smart boards set to /NOBOARDHS Up until this version, FAX32 always had to set /NOBOARDHS (for non-flow control reasons) before sending. With this release FAX32 does NOT set /NOBOARDHS if it understands the modem to be /CTS capable. Release Notes V 2.18 FAX32 The broadcast function (used for demo notifications and also if FAXWAIT gets in trouble) now only sends its message to the first 5 logged on jobs (not all of them and not to all TT's that aren't logged on) Release Notes V 2.17 FAX32 1 The file FAXOUT:SUMMARY.LOG now records the final disposition of a fax (the last faxout event record). It is different than FAXSY:FAXOUT.LOG. Notably, it contains TO & FROM info. 2 The event record has been shortened. It no longer includes the string >>>Job>> nor does it show subproc numbers which are "0" Release Notes V 2.16 AUTOFAX If a file name in the AUTOFAX directory "looks" like a terminal name, assume it as the terminal that originated the fax request. FAX32 Fix re /TT Release Notes V 2.15 AUTOFAX First implementation FAX32 Fix re alternate name for batch queue Release Notes V 2.14 FAX32 When attempting to allocate a modem port, the list of non-fatal errors resulting from an allocation attempt has been extended to to include TSX_DEVPTY (device is in use serving a pseudo-tty) Release Notes V 2.13 1 Eventhough FAX32 may be have been "permanently" installed, significant changes to a system's TSX configuration can cause FAX32 to think it's in "demonstration" mode. Users could find themselves unsuspectingly sending out faxes with big "Demo" messages superimposed! Changes have been made to advise users that FAX32 is (rightly or wrongly) in "demo" mode. 2 FAXSY:SETUP.EXE (the interactive configuration program that modifies FAXSY:FAXSTART.CMD) now documents the facilitatation for fax modems that insist on using hardware handshaking (CTS) rather than standard software handshaking (XOFF) As before, the list of outbound faxmodem devices is specified (symbol FAX$MODEMS) as, for example: TTB0: TTC0: TTD7: If one or more of those devices requires hardware handshaking, append /CTS onto its end, for example TTB0: TTC0:/CTS TTD7: 3 FAX32 has been modified to recognize /CTS qualifiers attached to TT devices in the FAX$MODEMS symbol. Release Notes V 2.12 FAX32 1 Re-structured SYFN_FORK's for peculiarity with TSX Version 4.21 2 Included BGVIEW.EXE in distribution. Although this program can be run from a VGA screen to view a QFX (rasterized fax) file, its primary intent is not for this purpose. It's intented use is is to detect bad scan lines. It can be run from any terminal for this purpose. Release Notes V 2.11G FAX32 Corrected bug that occurred when modem device included a node name and debug trace was turned on (FAX$DEBUG:===1) The interprocess mailbox file name, which is derived from the name of the modem's TT device, was also including the node name. This resulted in invalid file names such as MB::MYNODE::TTB0.LOG Release Notes V 2.11F FAX32 1 Fixed "line too long" problem that occurred if telephone number was VERY long. 2 FAX$DEBUG mode extended to log more modem traffic in FAXDEBUG event. FAXWAIT 1 FAX$DEBUG symbol is re-interegrated when we hear RING DETECT rather than only once at startup. 2 When some modems are powered up, they set RI (ring detect) high for a short time. This would cause us to answer the phone! It seems that CARRIER also gets set high, so if we see BOTH Ring Detect AND Carrier, we assume that the phone isn't really ringing. 3 FAX$DEBUG mode extended to log more modem traffic in FAXDEBUG event. Release Notes V 2.11 FAXWAIT 1 On rare occasions (which we cannot seem to reliably reproduce) the communications handler BGFAX gets forced into an IOWT or SPND state by TSX before it can output anything to the modem. We now monitor output sent to the modem and, if it gets "stuck", we kill it. 2 FAX$WAITCRASH Whenever FAXWAIT is started, it deletes system symbol FAX$WAITCRASH. Whenever FAXWAIT feels it must abort, it sets FAX$WAITCRASH to contain the date & time of the "crash" and broadcasts this message to all logged-on users and any other logged-off lines. You might wish to put a line like the following in your "LOGON.CMD" (or whatever CMD file gets executed when a user logs on) if $isdef("FAX$WAITCRASH") then display FAXWAIT WENT DOWN 'FAX$WAITCRASH BGFAX Version 136B contains mostly internal changes. BGFAX.FNT is smaller. On outbound faxes, we can detect "no carrier" sooner. Release Notes V 2.10 FAX 1 New optional switch /SHORT added. If specified, transmission time is minimized by forcing each page to be as short as possible. 2 New optional switch /SETUP[=srf_filnam] added. It represents FAX32's handling of setup/reset files. /SETUP=srf_filnam causes srf_filnam to be entirely merged before input_file (setup) and at each point where a PCL "reset" sequence E is encounterd (reset). /NOSETUP bypasses any setup/reset processing. If neither /SETUP nor /NOSETUP is specified, FAX32 does setup/reset processing using the default setup/reset file. Default setup/reset file name is: either: the value defined in symbol FAX$SETUP. or: "DEFAULT.SRF" if FAX$SETUP is undefined. If srf_filnam does not contain a file extension, ".SRF" is assumed. All setup/reset files must reside in FAXSY: Do not specify a device or directory as part of srf_filnam. EG: /SET=myset use FAXSY:MYSET.SRF (unspecified) use FAXSY:DEFAULT.SRF if FAX$SETUP is undefined (unspecified) use FAXSY:NORMAL.SRF if FAX$SETUP is "NORMAL" /NOSETUP No setup/reset processing Note! Do not put E in a setup/reset file! This would cause recursive re-reading! As distributed, DEFAULT.SRF contains the PCL command to set 66 lines per page. 3 Unless /OUTPUT=filspc is specified, the rasterized version of the input file (which is put in FAXOUT:) is no longer given the same name as the input file. This was instituted to avoid multiple con- current fax jobs that would otherwise have been creating rasterized files with the same name. The file name is now assigned by FAX32 and is of the form: FAXOUT:TMPxxxxx.FAX where "xxxxx" is a sequential number. 4 /MAKEHELP put in. If the command FAX/MAKEHELP is issued, the file SY:TSX32.HLB is updated using LIBR.EXP (available from S&H and in- cluded in the FAX32 distribution) which is found either in SY: or in FAXSY: *** WARNING *** Before running FAX /MAKEHELP you should make a back- up copy of SY:TSX32.HLB. There seem to be problems with LIBR.EXP. Although FAX32 gets properly in- stalled, other Help entries may get corrupted. Release Notes V 2.9 FAX, FAXWAIT 1 Fork and detach instructions that used "R" or "RUN" were replaced with "_R" to avoid the possibility of any symbol substitutions. Modem Set-up Advisory 2 The modem's setting for "Behaviour of Data Carrier Detect" should be set and stored in non-volatile modem memory such that the modem only indicates Carrier Detect when carrier from the remote modem is actually present. The setting for this is probably &C1 While this is usually the default case, at least one modem we've found defaults to &C0 which means "tell TSX that there is carrier on the line even if there isn't!" This is a TSX issue moreso than a FAX issue. Release Notes V 2.8 FAX 1 Multiple concurrent outbound faxing has been implemented. The symbol FAX$MODEMS (if it exists) is assumed to consist of a list of TT port devices for purposes of concurrent multiple outbound fax jobs. The installation SETUP program has also been modified to provide a prompt for Multiple Outbound modem ports. It now writes a line into FAXSTART.CMD that looks something like: FAX$MODEMS:===TTB0: TTC0: TTD7: TTE4: To take advantage of concurrent outbound faxing, bear in mind that FAX32 submits outbound fax requests to a BATCH queue. By default, TSX batch queues are set up to run only one job at a time. To enable more than that, modify your batch queue with something like: SET QUEUE BATCH /JOBLIMIT=4 2 Changes to event logs In addition to FAXIN and FAXOUT event logs, a log called FAXDEBUG is created with a 100 record capacity when the symbol FAX$DEBUG is set to some non-zero value. Debugging information is now written to FAXDEBUG rather than FAXIN or FAXOUT. The number of event records per fax written to the FAXOUT event log has been reduced. The number of event records per fax written to the FAXDEBUG event log (when FAX$DEBUG > 0) has been increased. 3 Outbound log files renamed Previously, log information regarding the last outbound fax was written to a file named FAXSY:BGFAX.LOG This name is now changed to FAXSY:BGFAXi.LOG where "i" is the index number that points to the particular device amongst those devices contained in the FAX$MODEMS string. If the symbol FAX$MODEMS does not exist, the device used is the logical assignment of FAXMODEM: and the outbound log file is always FAXSY:BGFAX1.LOG Log information regarding the last inbound fax is still contained in BGFAX.LOG. 4 Performance enhanced. Modem input and output now use TSX System Service calls exclusively. It appears that the efficiency gained through these measures has substantially improved if not eliminated problems that occur on low-speed and/or heavily used systems. The nature of a system service call approach has also allowed us to further increase efficiency by raising the Job Priority given to the communications handler without causing serious impact on other user jobs. The symptoms of this problem for outbound faxes are FHNG:43 (data under-runs) or "too many unexpected bytes" which result from a failure to feed outbound data to the modem fast enough. If, despite these enhancments, you still encounter these errors, run SETUP's Basic Configuration and set back the maximum outgoing fax baud rate to 7200. The symptoms of this problem for inbound faxes are bad scan lines which result from a failure to service incoming characters from the modem fast enough. If, despite these enhancments, you still encounter these errors, run SETUP's Detailed Configuration and set the "Modem Initialization String" so that it restricts maximum modem-to-modem baud rate. The 2nd digit in the +FDCC string indicates this maximum as: 0 = 2400 bits/second V.27 ter 1 = 4800 bits/second V.27 ter 2 = 7200 bits/second V.29 or V.17 3 = 9600 bits/second V.29 or V.17 4 = 12000 bits/second V.33 or V.17 5 = 14400 bits/second V.33 or V.17 We have made substantial improvements in this area. It will remain a challenge insomuch as the fact that Class 2 has rigid standards: * It does not permit any flow control for inbound faxes. (We are not allowed to "xoff" the modem) * It does not tolerate delays in our delivery of data to it for outbound faxes. 5 TSGEN Considerations We recommend that you increase the following parameters associated with your modems: SILOSIZE 2048 IRINGSIZE 2048 ORINGSIZE 2048 In the interactive version of TSGEN, these parameters can be accessed by selecting: "Manage Equipment List" * Cursor down to the device (eg: "TTB") representing a fax modem and select "U" for Unit Menu. * Cursor down (if necessary) to the unit within that device (eg: Unit 0) and select "U" for Unit Settings. * There are 5 screens of settings. All 3 of the parameters mentioned above are on the 3rd screen. (If you do not see a number next to a setting, it means that TSX is assigning a default value which is almost certainly too small.) 6 The symbol FAX$PRIO is no longer used. 7 New modems V.34 has just been approved. However there are also 28.8Kbaud modems on the marketplace based on "V.Fast" or "V.32terbo". These are worth consideration even despite the fact that most fax machines don't go more than 9600. The reason is that these modems typically have larger internal buffers. In and of itself, a larger on-board buffer helps reduce data-underrun problems. There is a review of some of these modems in PC Magazine Sept 13/94 Volume 13 Number 15. However, you should note that this review did not specifically deal with fax issues. In fact, the "Editors' Choice" includes the Hayes Optima 288 which, (with the Firmware Release 3.1 chip that we tested) has flow control bugs when operating at low speeds! We have tested the Supra 28.8 and it looks good. 8 16550 Chips There's only so much you can expect out of TSX32 and FAX32. Even the modem manufacturers advise that a traditional dumb COM port with a 16540 chip has only a 1 byte buffer. That's not much. The 16550 gives you 8 bytes send and 8 bytes receive and TSX is built to recognize that. Release Notes V 2.6 FAX 1 FAX32 creates "cmd" files in FAXOUT:. The most recent one is always called LAST1.CMD A slight change was made to the format of these files to accomodate a quirk in some field test versions of TSX 4.20 Each FAX32 batch job forks a second job, so bear in mind your system's defined job limit (VMAXJOBS) Release Notes V 2.5 FAX 1 Some files were unnecessarily being opened for read-write when only read was required. 2 Checking for max number of concurrent TSX allowable jobs (VMAXJOBS) is now more accurate. (The FAX command initiates a second (detached) job which itself initiates a (third) job.) 3 The PCL5 conversion fork no longer abends with "Line too long" error. 4 More comprehensive adjustments are now made to a modem line's terminal characteristics. 5 You might wish to modify the distribution's default dial string to: ds=AT+FPHCTO=255;M2DT The +FPHCTO (Fax PHase C Time Out) default value may be less than its maximum of 255. We recommend specifying it to this maximum value in order to reduce time-out problems. This is a Class 2 command. NOTE: GVC Modems are known to not support +FPHCTO FAXWAIT 6 More comprehensive adjustments are now made to a modem line's terminal characteristics. FAXMAN 7 Errors in the screen re-draw following a file deletion have been fixed.