Processing is specified by means of a $pre_process or $fax_pre-process command.  The infobox sequence is called immediately after the FS file has been selected for processing. You can access and modify many of the values in the FS file. The pre-processing is performed for each transmission attempt.

Typical applications include:

conversion: any non-standard conversion of document file formats required by your application
status: you can pass an identifying variable to a DLL which updates your database with the information that an attempt is starting.

Variables defined in the FS file (with $var_def) are available at pre-process time, as are the standard cover-sheet variables such as ROUTETO. In addition you can set the FS_INDEX variable to select one of the $fax_filename lines (base 1) and then retrieve its filename and other attributes using the other FS_I... variables described in Appendix D.

If as a result of your preprocessing you wish to change the filename to involved in the transmission, you can assign a new value to FS_IFILENAME, again after setting FS_INDEX to the index number of the $fax_filename line, if more than one. An index of zero selects the cover sheet filename.

If your preprocessing determines that transmission should not proceed, you can set an error number in the FS_PREFAIL variable which will be used to reject the FS file. Any normal variables you assign to will be written into the FS file and can be retrieved when preprocessing a subsequent transmission attempt. You may also return to state 121 (ABORT_CALL) instead of 191, which will fail the FS file with error code 61 (pre-process fail). If the user profile specified by $fax_user cannot be loaded, then the system attempts to load the default user profile for the line instead. If this also fails, infobox pre-processing is skipped and the FS file is moved to FAIL. A fax item can also be treated as a successful transmission by assigning a non-empty value to the SUPPRESS_FAX variable during pre-processing.

To delay processing of the FS file, your pre-process infobox should assign a value in seconds to the PREPROC_DELAY variable.  The $retry_linegroup, $retry_tosend and $retry_max specifications are not used for this retry, and no attempt record is created.  However the 'attempt' is logged in the daily log file (TXDATE will be blank and Call Start will be 00:00:00), and a LAST_FS_WRITE variable is created in the FS.

If you delay processing of the FS file, you are responsible for setting a variable to count or record the fact that a retry will be performed, or for taking some other precautions to avoid continuously pushing forward the FS scheduled date/time.