SCOUG OS/2 For You - June 1997
InfoOnCall
It's always refreshing to find a software product which is
designed to run exclusively on the OS/2 platform and for that
reason alone is worth trying. However, it's an added bonus
when the program targets a specific application area in an
intelligent and flexible manner. InfoOnCall by TTC Computer
Products meets both criteria and should be seriously considered
by anyone looking for a combination voice-messaging, message
response and automated fax product for a home or small business
environment at a reasonable price.
Basics
In designing InfoOnCall, its developers analyzed how people utilize
voice messaging, faxing, automated response systems and other related
activities. They then encapsulated the commonly used functions as a
set of commands (or in their own terminology, "card" types); for good
measure they also threw in card types for interacting with the host
computer such as loading, updating and storing persistent variables.
In the current version there are about 50 card types ranging in scope
from simple functions (answering the phone, hanging up, playing a
voice file, etc.) to complex (accepting keypad input and branching,
executing a program, collecting a set of documents and then faxing
them, error handling, etc.). All in all, it seems like a very complete
set.
The other resource needed for the program is voice files. These files
typically will contain instructions to the caller as to what the currently
running application can do, its menu choices (if applicable), other
reference material, and the ability for the caller to record responses and
messages (if appropriate).
As a user of the system, you create applications (or "scripts") by
combining several card types (referencing your pre-recorded messages) to
provide the desired overall flow. Each card performs a specific function.
The cards are executed in sequential order unless execution of a card
causes a branch to occur (yes, this system does support GOTO).
Because of the nature and complexity of supported functions, the system
requires (in addition to a real multitasking stable operating system, i.e.
OS/2) top end voice modem hardware. Currently there are two versions of
InfoOnCall, one of which works with IBM Mwave modems and the other with
voice/fax modems built around the Cirrus chipset; the review copy is the Mwave
version.
Installation
For the purposes of this review, I installed the product on a
760ED Thinkpad notebook computer which has a P133 processor and
32MB of memory plus the required Mwave modem (28.8).
Installation consists of two parts: modem drivers and application
programs. In my case, I did not need to install the drivers since
I had added Mwave modem and MM support when I initially installed
OS2 itself. The application diskettes (all three of them) installed
easily (once I realized that they were numbered incorrectly!).
The amount of disk space required for the full product is about 3.5MB
(most of which is pre-recorded messages of various types); total install
time was approximately 5 minutes.
The program uses audio compression techniques unique to the Mwave modem
when creating voice files. The installation performs an appropriate OS/2
registration of this file type to allow automatic association with
the Mwave MM drivers (which means that double-clicking on any of these
files will "play" the file properly and also that they can be used by
any other MM-enabled applications).
Using
Once installed, the system can be used in a couple of different ways.
If you simply want to run an existing script, you can directly do so from
a command line or launch a program object for the InfoOnCall execution module
pointing to the script file as a parameter. (These objects are automatically
created for the sample scripts delivered with the product.)
You can also open up the InfoOnCall editor directly from the IOC folder
created by the installation. This editor allows you to edit a script, execute
a script, change the configuration parameters, view online help and more. The
editor is used primarily during development and testing of new scripts.
To get familiar with the system, I first ran some simple tests using the
sample provided scripts. One of the learning experiences is trying to figure
out how to test these scripts when you don't have (at least) two phone lines.
When you open the script, one of the editor's menu options is "execute." This
item allows the script to be tested in either of two modes: "outside line" or
"local test." The latter mode simulates receiving a phone call and continues
the script. You can use a telephone handset attached to the modem to respond
to keypad entry requests and exercise the script in as much detail as desired.
A detailed log file can also be enabled. When a script is executed,
this logfile will receive status data for each card as the card is
processed. It logs the card number, description, interaction, etc. and
is useful in debugging more complex scripts.
The next step was to create a new script. I spent about
twenty minutes producing the simple help-response script shown below.
This script performs as follows:
- answers phone
- increments and saves a script variable to track how many
phone calls have been received (this is persistent, ie saved
across script invocations)
- announces the call number
- provides a menu of available options
- waits for caller to choose an option using their telephone keypad
plays pre-recorded message depending on which option was chosen
(in a "real" system, this would be replaced by a more elaborate set
of choices/responses)
- asks caller if they want to leave a message and records message if
so
- hangs up
- repeat above steps
Building a script is straightforward; the majority of the work is
in conceptualizing the script flow (I did this by writing out a
simple flowchart) and recording the various messages on which the
script depends. The flowchart is used to identify the "cards" that
need to be in the script and assign numbers to them. Then, using the
script editor, create the card definitions and you're ready to test.
A card is defined by using the New button. For the card, you pick its
type from a drop-down menu list, add a number and create it. Then you
can edit it to fill in specific parameters for the card type.
This shows a sample card edit dialog
In this case, the card edit dialog is for the card
that plays the options menu and waits on user keypad input. To map
the keypad input keys to card numbers, use the "Keypad" button in
this edit dialog and you will get the keypad mapping dialog. In this
dialog, enter the card numbers for each card that corresponds to a valid keyed
input.
This is a sample of the keypad mapping dialog
I also created a few more complicated scripts which exercised some
additional functionality. One of these allowed me to phone in,
enter a password and then be able to perform any of the following
functions:
- retrieve voice mail
- retrieve fax documents
- record a message and have the system then telephone a list of
phone numbers and deliver the message to each
- have the system fax a document to a list of fax phone numbers
- execute a program on the computer (OS/2 or DOS)
- store the callerID of the phone from which I am calling
Although the program provides a very usable set of functions (card types),
there are a few enhancements that might make it even more powerful.
There did not appear to be a way to create a new script; rather I had to
copy an existing one and then edit it; this is an annoyance (how to do this
might be covered in the hardcopy documentation, see below).
It would be nice to have an API for the program itself so that its
functions could be invoked directly from other application programs. Also, the
ability to dynamically override system configuration parameters from
within the script would be helpful. This would, for example, allow you to
record longer messages from specific callers (such as yourself). Being able
to directly invoke operating system functions (or even REXX DLL entry points)
would be useful (currently you are limited to running a command file or
program, but without any interaction to the program).
Documentation, help, support
There was no hardcopy documentation provided with the review
product; however, the available online help was adequate for most
of the scripting issues that arose for my samples. It includes
a detailed description of each scripting card and its options as
well as general information about modem, voice modem and fax
concepts.
Summary
InfoOnCall (single-line version 2.70) for IBM Mwave modems
proved to be an easy to install and use program. It provides a great
deal of flexibility for customizing automated response scripts which can be
used in a wide variety of scenarios as simple as answering a phone,
playing a message and hanging up or as complex as providing a password
protected menu allowing you to retrieve voice mail, receive faxes or
even run specified programs on your computer.
The reviewed version is available from the vendor, TTC Computer
Products at 3244 Skyway Circle, Suite 102, Irving TX 75038. They
can be contacted at 214-594-8103, FAX 214 255-3174, email
ttc@gte.net. Their website is
|