The original FaxFacts product started life as a fax-on-demand application, used to provide a service whereby callers can request a document to be faxed to them from a central server. Many current CopiaFacts systems are still operating partly or wholly in this mode, and CopiaFacts can still implement a fax-on-demand system straight 'out of the box' without the need to create any custom scripting to control this task.
This section briefly documents the principles which underlie the CopiaFacts support for fax-on-demand. New fax-on-demand applications are nowadays encountered much less frequently than in the past, but an understanding of the methods may be helpful in the use of other CopiaFacts applications such as IVR and scripting. Some of the terms used in current applications have their origins in fax-on-demand: for example the name CALLBACK on the folder containing queues for outbound calls to be placed by CopiaFacts.
Types of Fax-on-Demand
There are two principal types of fax-on-demand application, which we call 'one-call' and 'callback'. The name 'two-call' is also used for the latter type.
CopiaFacts supports all these types of fax-on-demand. The system can be configured either to operate in a specific way, or to decide on-the-fly how to process each call. Almost all such decisions are made automatically: for example if you specify that both one-call and callback methods are enabled, CopiaFacts automatically inserts an extra question into the IVR script, 'are you calling from a fax machine?'. If the caller answers 'no', the questions to collect the caller's fax number are skipped. No detailed scripting of this choice has to be made by the system administrator.
Configuration
CopiaFacts is configured for fax-on-demand by means of the checkboxes on the right-hand side of the Lines pages in the FFHWL configurator. Lines may be selected for one-call, callback requests and outbound fax calls. The configurator disables the one-call checkbox if the line does not have both voice and fax, and also disables the callback or outbound checkbox if either fax or voice is absent on the line.
When a voice line is specified for IVR or requests either in one-call or callback mode, it automatically goes into fax-on-demand mode and starts playing Standard Voice Prompts starting from SVP1, the greeting message, and continuing to ask for document numbers or a fax phone number as appropriate. A workable fax-on-demand application can be made using just the standard prompts; it will select from a range of documents, provided that the document filenames are numeric to allow their direct selection by means of DTMF keys. In fact for a custom IVR application not involving fax-on-demand, it is necessary to suppress the automatic fax-on-demand scripting, normally simply by using $auto_call to start the script at a specific 'infobox'.
Customizing Fax-On-Demand
Many CopiaFacts demands are available to customize fax-on-demand operations. Mostly this is done by making an 'infobox' file with a numeric (selectable with DTMF) filename. This was originally a numbered 'box' containing additional information about the selection. However even without using infoboxes, you perform tasks such as adding optional descriptions of the documents being selected (by adding a .VOX or .WAV file with the same basename as the document image); transforming entered document numbers by lookup in a table ($infobox); or limiting the number of documents selected on each call (using $max_image in the user profile) and many other aspects of the transaction.
By using infobox files for fax-on-demand selections, you can also perform an extensive set of custom steps, such as:
| • | select documents with non-numeric filenames ($image_file) |
| • | play voice descriptions with different filenames from the document ($image_desc) |
| • | specify documents which can only be sent on onecall or only on callback transactions ($nocallback, $onlycallback) |
| • | play messages to the caller ($play_var) |
| • | prompt for, and collect, additional DTMF input from the caller ($get_var) |
| • | call custom DLLs and external programs to perform special processes |
| • | set, retrieve and manipulate user-defined and built-in variables ($set_var) |
| • | use conditionals such as $if, and logical operations such as $repeat $until |
Descriptions of all of these capabilities are given in the CopiaFacts Scripting section and in Commands Reference. But it is important to stress that the basic 'loop' of asking for a fax-on-demand document number, receiving the DTMF, and adding the document to the the transmission list is built-in to the CopiaFacts program and does not need scripting. Outline flowcharts of fax-on-demand logic will be found in Appendix I.
Topic url: http://www.copia.com/support/refmanual/index.html?fax_on_demand.htm