Version 7 Features

Check out the new CopiaFacts Version 7 features. Read on to find out why upgrading to version 7 can enhance the entire CopiaFacts product line.

Stay tuned for more information as we will be updating these features soon!

Version 7
Upgrading from version 6
Major New Features
Performance Enhancements
Miscellaneous Enhancements and Tweaks
Changes in Version 7 which may affect existing applications
Changes to the main FaxFacts Engine operations

Version 7.0

Upgrading from version 6

Please read the following sections carefully. Every attempt has been
made to maintain compatibility between version 6 and version 7;
indeed some of the version 7 features are implemented in DLLs which
you may already be using with version 6. However before updating,
please make sure you fully understand the changes described below
that may need modifications to your existing command files and

Major New Features

There is a new ‘type’ of pre-process, post-process or post-receive
process. Named ‘infobox’, it transfers control to an infobox to
perform the processing. In the infobox sequence you have access to
new ranges of system variables (such as all the transmission results
in a post-process) and can call DLLs in the normal way. This opens
the way to transaction-based reporting of results.

A new type of infobox $type FS contains actual FS commands which are
written to an FS file (with expanded variables) when the infobox is
reached. In combination with infobox post-processing, this allows
for example an e-mail to be sent which contains a report of a fax

There are significant enhancements in the area of user-provided DLLs,
including the ability to set and retrieve variables directly in the
FaxFacts vardef space, using callback functions. This makes it much
easier and more efficient to customize all aspects of CopiaFacts

There is an optional ‘extended database interface’ which allows
query, retrieval and updating of most databases supported by
Microsoft ADO (Active-X Data Objects). This is accessed by simple
infobox commands and supports retrieval and updating of external
databases, including the use of stored procedures. The original
DBF/NDX interfaces continue to be supported.

The foreground and background colors of the line status display (in
COPIAFACTS.EXE) can now be set from a system variable in a user
profile, FS file, or infobox. This allows different types of
activity to be easily identified on the console display.

Outbound lines for SC-Bus transfers (other than E1 PRI-ISDN) may now
be allocated in ‘round-robin’ sequence by using a linegroup starting
with ‘RR’ and then a digit from 1 to 8 (e.g. ‘RR1’). Up to eight
different line groups may be active. This feature allows you to
balance the use of outbound lines.

Processing of “image numbers” throughout FaxFacts has been changed so
that you may use a string of up to 15 digits (instead of 8). Numeric
values wider than 8 digits do not have any leading digits added.
Numeric values of less than 8 digits continue to be extended to 8
digits in filenames by the addition of leading zeros. Embedded blank
space is still not allowed. Image numbers in 8-byte log fields will
be truncated on the right. All comparisons (e.g. for $image_locn)
where both sides are numeric will continue to be done arithmetically.

A new program option specifies pre-conversion (on Brooktrout systems
only) of ASCII files to TIFF, allowing the number of page breaks to
be accurately counted and displayed on cover sheets and fax headers.
A similar technique now allows Brooktrout systems to start a partial
retry in the middle of a multi-page TIFF.

Support has been added for a new type of ‘graphical cover’ (.GTT) in
which the GCT template is embedded in the TIFF file. Such files can
optionally be created when a graphical design is saved from FFVIEWER.
The use of the .GTT file prevents GCT and TIFF files from being
accidentally separated.

E-Mail attachments may now be specified as .GCT or .GTT and
automatically personalized and converted to a TIFF or PDF attachment
in the same manner as a fax document. This process also allows
optional automatic conversion of TIFF to PDF when specified as an
e-mail attachment, and also allows optional automatic conversion of
fax files to PDF attachments in fax-to-email applications.

The processing of DNS_MAIL.NDX to block e-mail addresses has been
moved to the F7EMAIL DLL, and also enhanced to work with the
effective e-mail address extracted from a more complex address

New options have been implemented for the connection of an incoming
call over the SC-Bus to an outbound call placed by FaxFacts. It is
now possible to specify a message to be played before the call is
timer out (LINK_TIMEOUT state); to play a message to the caller
confirming that the call is being transferred (LINK_INIT state); and
to record both sides of the transferred call (by assigning a voice
filename to system variable LINK_RECORD).

All support for new voice and fax boards will now be done in version
7 and not in version 6.

Performance Enhancements

User profiles are now cached. This avoids having to re-read and
parse a user profile for each item in a broadcast. If,
exceptionally, you need to modify a user profile during a broadcast,
the cache is automatically updated.

Indexed lookup is used for many internal tables which were previously
searched linearly. This change produces a noticeable increase in
speed and was necessary to accommodate the large number of new system

Many other internal optimizations have been done to reduce CPU load.
This has been made necessary as board density increases, and fewer
applications involve only faxing. While just faxes are being
transmitted, there was plenty of host CPU time available for other

E-Mail operations have an additional feature which is to place the
text of an e-mail in the FS file (on $email_text commands) instead of
in a separate file named on the $email_body command. In combination
with the type FS infobox, this makes for easier generation of e-mail.

The facility to re-load an IBC (infobox collection file) without
stopping COPIAFACTS is now implemented. This uses the (formerly
inactive) button in COPIAFACTS.EXE. In addition the processing of
large IBC files containing many IIF components has been speeded up.

A more efficient method of suspending jobs in the Job Administration
system is now used. Jobs will now be suspended by moving (renaming)
their FS files from the TOSENDx folder into a folder at the same
level whose name is the instance name (e.g. JOB12345). Previously
jobs were suspended by adding 100 days to the timestamp of the FS

Miscellaneous Enhancements and Tweaks

Many internal limits such as command-line length have been extended.
In most cases the old limits were a hangover from the old DOS
versions. For example, command lines and variable values in all
control files may now be up to 8192 bytes long (previously, 256).

Many new system variables have been introduced. New names follow the
convention established in later V6 releases, that all new system
variable names include an embedded underscore. If you avoid this in
your own variable names, conflicts will not occur.

The ‘conditional command’ feature has been enhanced with the addition
of an $elseif command to simplify repetitive tests. In addition six
new operators have been added for the $if commands, $EQ, $GT, $LT,
$NE, $GE, $LE, which perform a true numeric comparison where
variables contain values with decimal points.

Much additional system information has been added to the headings of
the trace file, to assist Copia support personnel in debugging

A replacement SMR file specified with $retry_parms now need only
specify the rows you wish to change. The internal table is also
searched after the supplied overrides, but you can inhibit the
internal search by adding a dummy 99999 entry at the end of your
override file, if it contains a full set of entries.

The actual TOSEND queue number of each attempt is now recorded in the
FS file attempt records. This allows more accurate job statistics to
be produced, for example when different queues are transmitted on
different types of phone lines.

The ability was added to set system variable IMAGECOUNT to zero.
This clears all documents so far selected in a fax-on-demand session.

A new write-only system variable RECEIVE_FAX can be set to a full
pathname of a fax to be received by going to state 148 to receive a
fax. This is simpler than the former scheme of setting the receive
path and filename separately.

Faxable TIFF files may now be in Motorola byte-sequence (big-endian),
in addition to Intel sequence.

The new TIME_MS system variable allows times for IVR play, start and
stop values to be specified in milliseconds instead of seconds. This
allows better control over operations such as detecting an answering
machine or tone prompt on outbound voice calls.

A special code of ‘X’ can now be specified as $outbound_ani or
assigned to the system variable OB_ANI. This causes the ISDN call to
be placed without an origination phone number (when supported by the
phone service).

A new $retry_max command specifies a limit on the total number of
retries. Normally the retries are subject to a limit on each retry

A new command $email_alt_address has been added which is controlled
by an ‘A’ suffix in the retry-delays list in the same way as

Broadcast lists containing overseas phone numbers beginning with the
international standard ‘+’ symbol can now be processed by specifying
the digits to be dialed (e.g. ‘00’),replacing the plus sign on the
dial string, on a new configuration command $country_prefix.

The processing of ‘state’ values in user profiles and infoboxes has
been enhanced by allowing the state name to be used as an alternative
to the state number. Where the syntax precedes the number with an
‘s’ (e.g. s31) you may now use ‘s:’ to prefix a state name (e.g.
s:HANG_UP). In the first parameter on a $set_state command the name
can simply be used instead of the number. State names may be upper
or lower case. This change makes infoboxes easier to document and

Changes in Version 7 which may affect existing applications


We have improved the detection and clean-up of FS files left in an
‘active’ state after COPIAFACTS engine or network failure. Such
files will now normally be resubmitted instead of being rejected with
failure code 66.

Now that ‘partial retry’ is enabled on Brooktrout hardware from other
than the first page of a multi-page TIFF, you may find that partial
retries occur more frequently (since this feature is turned on by
default). To disable partial retry, use the $retry_partial command.

A new log option EMTENTHS causes ‘tenths of a second’ values to be
recorded in DATA3 for e-mail transmissions.

New board and line codes ‘X0’ appear for FS file attempt-record
entries where no board and/or line have been allocated at the time
the error occurred.

An MCF is now produced for incoming faxes for which an error code is
generated by the board, provided that at least on page has been
received. If you process MCF files independently, you may therefore
have to allow for incomplete documents.

The method of calling programs for ‘internal’ pre- and
post-processing and for $run boxes has been simplified and made more
consistent. The Windows API call now used to do this requires the
file extension of the process name to be specified explicitly if it
is not .EXE. If your command names a BAT or CMD file directly (not
prefixed with "CMD /c") then the file extension must now be included.
This may require changes to user profiles and infoboxes.

The (undocumented) $data... MCF commands are no longer generated.
Instead system variables such as DNIS and ANI, and those defined in
the user profile, are now placed in the MCF for received faxes on a
$var_def command. Applications using the special assignment of @@ANI
to a DATA variable in the user profile will need to be changed to use
the ANI variable instead.

An empty assignment ("") in a $set_var or $var_def command is now
treated as setting the variable to an empty value. In version 6 it
was assumed to be a value of a single space character.

Bug fixes

The $lookup_var command now expects to find an $error_box when the
lookup fails because the record was not found. In version 6 the call
sometimes continued in these circumstances.

Miscellaneous Changes

The component parts of an MCF filename which are passed to an
‘internal’ post-receive process are now converted to the ‘short’
Windows filename format (usually with ~ character) if the directory
name contains blank space. This allows a message directory to have a
pathname containing blank space. This change does not affect message
directory names on a Novell server, which still cannot contain blank
space if you wish to use post-receive processing in this way.

The FRESnnnn file (where nnnn is the line number) is no longer
supported, for performance reasons. This file was used to pass a
result value back from a program run from a $type query infobox.

Changes to the main FaxFacts Engine operations


There is NO program FF7.EXE to correspond to FF6.EXE. The engine now
consists of a single program, COPIAFACTS.EXE (replacing
FAXFACTS.EXE), with its DLLs, and the functionality of FF6.EXE is now

Almost all the program options of version 7 are saved in the registry
separately from V6 options in FAXFACTS.INI, so settings you make for
V7 will not affect V6. The exceptions are the node name and the
configuration file name and the ‘tall screen’ option, which are used
for both versions.

Although every effort has been made to retain compatibility with
version 6, there are significant changes ‘under the hood’ and you
should therefore re-test your applications with version 7. In the
main, new commands for V7 are also accepted by V6, even if they are
not fully implemented, so there should not be difficulty in reverting
to V6 if you need to do this.


There is a new sub-page in the options dialog which is used for
setting the ‘command-line options’. Currently all the options from
V6 have been implemented, although some are redundant in version 7.
Options may be changed without stopping COPIAFACTS, although care is
recommended if you attempt this. Your existing command-line options
will be transferred to V7 when you first run COPIAFACTS.EXE.
Subsequent command-line option changes in V6 will not be transferred
to V7.

Note that the obsolete -L option is not transferred to V7 and should
be replaced by adding a $log_options command to the configuration

Trace files now always have the day-number as the last character of
the file extension and there is no option to select .TRC files.

Because there is no longer a console mode program, the option to
display its window has been removed.

Closing the program with the X close button or Alt-F4 should be
regarded as a emergency method of shutting down only. If you click
OK after the warning is displayed, the whole program will be
instantly terminated, without cleanly closing any fax and voice
devices that are open. After 15 seconds, the warning message cancels
itself, and moves to a controlled shutdown instead, which will
normally continue to normal shutdown if you ignore all further

The ‘directory’ box no longer appears on the main options page
because COPIAFACTS is now a single program which always starts with
its current directory set to the main FaxFacts folder (determined
from FAXFACTS.INI). If you wish to try a new sub-release before
fully installing it, you can place COPIAFACTS.EXE and all its DLLs
into a temporary folder and start it from there.

If you currently start FAXFACTS using the RUNFAXFACTS program,
COPIAFACTS.EXE will detect this and offer to change the INI settings
to run COPIAFACTS.EXE instead.

Contact the Copia Sales department for more information at 800.689.8898 or click here to request a quote.



Request a demo copy or schedule an on-line webinar.

Check out our blog for some latest news!

Get intouch and let us build you a system.