Information in this document is subject to change without notice and does not represent a commitment on the part of Cygnus Data Systems. The software described in this document is furnished under a license agreement or a nondisclosure agreement. The software may be used or copied only in accordance with the terms of the agreement.

1.1 General

ANSWER.EXE v3.6 is the first shareware release of this software. It has previously remained distributed in the commercial market. ANSWER is user supported software and represents hundreds of hours of my personal programming time over the past 5 years. Originally designed for the DigiPhone Voice Mail Card senior project, it has since grown to support other voice mail cards, and I will continue to add support for additional voice mail cards in the future.

1.2 Distribution

This software is also distributed under the ShareWare concept. You may use this software for the purposes of evaluation for a period of 30 days. After that period, if you continue to use the software, you must register it.

If you received this software under the shareware distribution method, you are strongly encouraged to register the software and support its continuing development. Although it has extensive features, I have a long list of features I would like to add to it. However, without the support of its users, I will be unable to do this. Please consider registering it and becoming one of the many appreciated supporters.

No part of this manual or software may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any language, in any form or by any means, except as provided for in the following license without the prior written consent of Cygnus Data Systems.

Permission is hereby granted to copy, distribute, and use this manual and the described software provided the following conditions are met: You may make exact copies of the authorized distribution archives and distribute them, as long as the original files remain intact and unaltered. You may upload them to Bulletin Board Systems. No charge may be made for the distribution of this manual and software, this particularly applies to disk vendors and electronic bulletin board systems which are run for a profit basis, except for a maximum of $3 charge for the disk media used to transfer the software. No changes or modifications may be made to either the software or the manual. No attempt may be made to decompile, disassemble, or otherwise reverse engineer the software. This software and manual may not be rented or leased to others. Commercial, corporate, and governmental use is allowed if and only if the software and manual are purchased on a one package per CPU basis.

1.3.1. Software. ANSWER.EXE Voice Mail System is comprised of the computer programs and documentation contained in this package and is referred to in this license agreement as the "Software" and in the documentation as "ANSWER".

1.3.2. A "Cygnus Data Systems Product". The Software is a product owned and developed by Cygnus Data Systems.

1.3.3. Licensee. Licensee is the person or entity who purchased this License or for whom this License was purchased. The development location shall be considered as those sites which belong to the entity at which software development takes place. The CPU system shall be considered the computing hardware on which the software is run.

1.3.4. License. Cygnus Data Systems sells and grants to Licensee, and Licensee purchases, a nonexclusive, nontransferable license (the "License") to use the Software in accordance with this Agreement at a single CPU system running under PC-DOS or MS-DOS operating system. No two CPU systems may run one registered copy of the software at the same time. Rights not expressly granted are reserved by Cygnus Data Systems.

1.3.5. Distribution Rights. The Software includes "Linkable Routines" and "Distributable Files." Linkable Routines consist of the object code routines in the Software (i.e. *.obj created from *.h, *.c, and *.asm). The License includes the right to incorporate Linkable Routines into software applications developed by Licensee and to distribute them as part of such applications, provided that the Linkable Routines have been incorporated in such a way that they cannot be separated out of the applications. Distributable Files consist of those "run-time" files identified in the Software documentation as required during execution of Licensee's applications. This License further includes the right to distribute Distributable Files as part of the software applications developed by Licensee. No other portions of the Software may be distributed or transferred by Licensee. THE LINKABLE ROUTINES AND DISTRIBUTABLE FILES MAY NOT BE DISTRIBUTED WITH, OR AS PART OF, ANY LIBRARY TYPE PRODUCT, SOFTWARE DEVELOPMENT TOOL OR OPERATING SYSTEM, WITHOUT THE EXPRESS WRITTEN PERMISSION OF CYGNUS DATA SYSTEMS.

1.3.6. Copies and Adaptations. Licensee may make or authorize the making of copies or adaptations of the Software provided that any such new copy or adaptation: (i) is created as an essential step in the utilization of the Software at the licensed development location and is used in no other manner, or (ii) is only for archival purposes to back-up the licensed location. All trademark and copyright notices must be faithfully reproduced and included on such copies and adaptations. Notwithstanding the foregoing, Licensee may not copy the Software documentation.

ANSWER Voice Mail System 1 / Preliminary 6

1.3.7. Source Code. The License is limited to the Software in machine executable code and object code form only and does not include any rights to source code unless a separate Source Code License is purchased. (See source code agreement).

1.3.8. Protection of Software. Except as expressly authorized in this Agreement, Licensee may not: (i) disassemble, decompile, or otherwise reverse engineer the Software, or (ii) create derivative works based upon the Software, or (iii) rent, lease, sublicense, distribute, transfer, copy, reproduce, modify or timeshare the Software, or (iv) allow any third party to access or use the Software, or (v) modify the Software (including any deletion of code from or addition of code to the Software).

1.3.9. Ownership. Ownership of, and title to, the Software (including any adaptations) and all copies thereof (including copies provided with this Agreement and copies under Paragraph 6) shall be held by Cygnus Data Systems. Copies are loaned to Licensee to allow Licensee to exercise rights under the License. Only the License is purchased by Licensee.

1.3.10. Transfer of License. Licensee may transfer the License to another person or entity if Licensee first delivers to Cygnus Data Systems the written agreement of the transferee to be bound by this Agreement. If the License is transferred, Licensee must permanently transfer to the transferee all copies of the Software including the original copies provided in this package and copies under Paragraph 6.

1.3.11. Limited Warranty.

1.3.11(a). Registration Card. Licensee shall have no rights under this Limited Warranty unless the enclosed Registration Card is promptly completed, signed, and returned to Cygnus Data Systems, or unless the Licensee receives and Invoice from Cygnus Data Systems.

1.3.11(b). Diskettes and Documentation. Cygnus Data Systems warrants that if the enclosed magnetic diskettes or documentation are in a damaged or physically defective condition at the time that the License is purchased and if they are returned to Cygnus Data Systems (postage prepaid) within 90 days of the purchase, then Cygnus Data Systems will provide the Licensee with replacements at no charge.

1.3.11(c) Software. Cygnus Data Systems warrants that if the Software fails to substantially conform to the specifications of the Software documentation or to any other Software specifications published by Cygnus Data Systems and if the nonconformity is reported in writing by Licensee to Cygnus Data Systems within 90 days from the date the License is purchased, then Cygnus Data Systems shall either remedy the nonconformity or offer to refund the purchase price to Licensee upon a return of all copies of the Software to Cygnus Data Systems. In the event of a refund the License shall terminate.

ANSWER Voice Mail System 1 / Preliminary 7

1.3.12. Disclaimer and Limitations.

1.3.12(a). DISCLAIMER OF WARRANTIES. CYGNUS DATA SYSTEMS MAKES NO WARRANTY, REPRESENTATION OR PROMISE NOT EXPRESSLY SET FORTH IN THIS AGREEMENT. CYGNUS DATA SYSTEMS DISCLAIMS AND EXCLUDES ANY AND ALL IMPLIES WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. CYGNUS DATA SYSTEMS DOES NOT WARRANT THAT THE SOFTWARE WILL SATISFY LICENSEE'S REQUIREMENTS OR THAT THE SOFTWARE IS WITHOUT DEFECT OR ERROR OR THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED.

1.3.12(b). LIMITATION ON LIABILITY. THE AGGREGATE LIABILITY OF CYGNUS DATA SYSTEMS ARISING FROM OR RELATING TO THIS AGREEMENT OR THE SOFTWARE (REGARDLESS OF THE FORM OF ACTION OR CLAIM - E.G., CONTRACT, WARRANTY, TORT, COMPUTER MALPRACTICE, FRAUD AND/OR OTHERWISE) IS LIMITED TO THE TOTAL OF ALL PAYMENTS MADE BY OR FOR LICENSEE TO PURCHASE THE LICENSE. CYGNUS DATA SYSTEMS SHALL NOT IN ANY CASE BE LIABLE FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, INDIRECT OR PUNITIVE DAMAGES EVEN IF CYGNUS DATA SYSTEMS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. CYGNUS DATA SYSTEMS IS NOT RESPONSIBLE FOR LOST PROFITS OR REVENUE, LOSS OF USE OF THE SOFTWARE, LOSS OF DATA, COSTS OF RE-CREATING LOST DATA, THE COST OF ANY SUBSTITUTE EQUIPMENT OR PROGRAM, OR CLAIMS BY ANY PARTY OTHER THAN LICENSEE. THE OFFICERS, DIRECTORS, AND EMPLOYEES, SHAREHOLDERS AND REPRESENTATIVES OF CYGNUS DATA SYSTEMS ARE NOT PARTIES TO THIS AGREEMENT AND SHALL HAVE NO OBLIGATION OR LIABILITY RELATING TO THIS AGREEMENT OR THE SOFTWARE.

1.3.12(c). Responsibility for Decisions. Licensee is responsible for decisions made and actions taken based on the Software. The Software is designed and intended for use by computer professionals experienced in the uses and limitations of computer software and it is Licensee's responsibility to ascertain the suitability of the Software.

1.3.13. SOLE REMEDY AND ALLOCATION OF RISK. LICENSEE'S SOLE AND EXCLUSIVE REMEDY IS SET FORTH IN THIS AGREEMENT. This Agreement defines a mutually agreed-upon allocation of risk and the License prices and fees reflect such allocation of risk.

1.3.14. Governing Law. This Agreement shall be governed by the laws of the state of California and the United States of America.

1.3.15. Entire Agreement. This Agreement sets forth the entire understanding and agreement between the parties and may be amended only in a writing signed by both parties. No vendor, distributor, dealer, retailer, sales person or other person is authorized by Cygnus Data Systems to modify this Agreement or to make any warranty, representation of promise which is different than, or in addition to, the warranties, representations or promises of this Agreement.

1.3.16. Interpretation. Any reference in this Agreement to Software shall include any portion thereof.

ANSWER Voice Mail System 1 / Preliminary 8

1.3.17. Termination. The License shall automatically terminate if Licensee breaches this Agreement. Upon termination of the License, Licensee shall deliver to Cygnus Data Systems the original and all other copies of the Software.

1.3.18. Export Act. Licensee hereby warrants and certifies that no Software or any related item or product will be made available or exported to any country in contravention of any law of the United States, including the Export Administration Act of 1979 and regulations relating thereto.

1.3.19. U.S. Government Restricted Rights. The Software and accompanying materials are provided with Restricted Rights. Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (b)(3)(ii) of The Rights in Technical Data Computer Software clause at 252.227-7013. Contractor/manufacturer is Cygnus Data Systems, 6216 Agee Street #124, San Diego, CA 92122 USA.

Copyright (C) 1989-1993 Cygnus Data Systems. All Rights Reserved.

ANSWER Voice Mail System 1 / Preliminary 9

1.4 Contacting the Author

This documentation and software will be updated periodically. Future software and documentation will be available to all purchasers of this software. Any comments and suggestions on and to the documentation and software should be directed to:

Every effort has been made to identify and give credit for trademarks mentioned in this documentation. Any failure to mention a particular trademark in the above list that may be found in the text, or failure to give proper credit for a particular trademark, constitutes merely an oversight and should not be construed as intentional, or in any way a claim of rights to the trademark. Any mention of a particular software package or system should not be construed as an endorsement of any kind on the part of the authors.

ANSWER Voice Mail System 1 / Preliminary 10

2. Requirements

The ANSWER Voice Mail System software is designed to operate on IBM AT class computers. It is possible to run ANSWER on a system with less than the following equipment, but the following should be considered the realistic minimum:

* An IBM AT class or compatible computer, with at least 384 Kbytes of available memory.

* MS-DOS or PC-DOS version 3.2 or above.

* At least 5 megabytes of available hard disk space (mostly for message files). ANSWER will play and record messages to and from a floppy disk, but since message files are large, and floppies have limited message capacity, a hard disk is highly recommended. The CompuCom modem, for example, samples 8 bits of voice data at 10 Khz, which translates to 300 kbytes per half minute. The ZyXEL, on the other hand, samples 8 bits of voice data at 9.6 Khz, but also implements a 4 to 1 compression on the data. So the data rate is 2400 bytes per second, or 73 kbytes per half minute.

* A telephone line and a telephone receiver.

* A voice mail card or modem with voice support.

* Optionally, you may want to use a sound card such as the SoundBlaster to record and play voice messages.

2.1 The ZyXEL U-1496 series Data/Fax/Voice modem

Requires firmware v5.00 or higher. The latest release as of this printing is v6.01. The function to directly play and record files to and from the SoundBlaster for this modem is not yet implemented, but will be in future versions.

2.2 The CompuCom Combo modem

Requires firmware v2.78 or higher. The last version release was v2.78. I have only tested ANSWER with the CompuCom Combo internal modem. I have heard that ANSWER will work with some of the external modems. I also understand that the CompuCom Champ internal modem can be upgraded to support voice capabilities. Please contact me if you have or need further information.

ANSWER Voice Mail System 3 / Introduction 11

3. Introduction

ANSWER used with a supported voice mail card or modem with voice support (hereby referred to as the voice mail card, or VMC) is a voice mail and telephone answering system which features four primary modes of operation - the Personal Answering Machine, the Voice Mail Box, the Information Server, and the PhoneBook Dialer. Each mode operates independently but may access the same messages. Each of these modes is described briefly below, and in detail in Chapter 5.

The Personal Answering Machine will operate just as most common telephone answering machines, but can do even more. It will select from as many as sixteen different outgoing messages and play it or them to the caller, prompt the caller to leave a message after a tone, record an incoming message, and allow the caller to edit the incoming message. The outgoing message number and the number of rings before answering can be programmed. Incoming messages may be played back from a remote location. A pre-setable access code is required for this access.

The Voice Mail Box provides a system which can receive voice messages for several persons by assigning each person a mail box number. A System Operator assigns mail box numbers and maintains the mail box accounts.

The Information Server is designed to present information to the caller in response to the caller's Touch-Tone signals. With this mode, the caller can selectively receive the particular information of interest. Callers may also leave messages in this mode.

The PhoneBook Dialer provides an outdialing feature which may be used to automatically dial and redial a single number selected from a PhoneBook or sequentially dial numbers from an ASCII list of phone numbers. When redialing a single number from the PhoneBook, the ANSWER will either connect data, or for voice calls, will present an audible beep when the call goes through. When in the list dial mode, the called party will be presented with a menu much like in the Information Server.

In addition to telephone functions, the VMC can be used to make your computer talk for other purposes. Independent programs are available which may be included in batch files to play a "Welcome" message at boot time, or to play some sound at periodic times of the day. Also included are voice file format conversion utilities. Programming examples are also available for those who wish to write their own programs which can control the functions of the VMC.

ANSWER Voice Mail System 4 / Setup 12

4. Setup

Setting up the ANSWER Voice Mail System requires the proper installation of a VMC, and installation of the software. Each of these installations is described below. Currently, the ANSWER supports the DigiPhone VMC, the CompuCom, and the ZyXEL modems. In addition, support is included for the SoundBlaster sound card. Future versions of the software will add support for additional hardware. Feel free to contact me if your hardware is not currently supported, and you would like support added. Refer to the modem or VMC manual for further comm port selection and details on setting the DIP switches on the modem for the comm port selection.

4.1 Hardware Installation

A VMC is basically a sound card with a telephone interface, microphone, and external speaker. At this time, the only VMC supported by ANSWER is the DigiPhone from Cygnus Data Systems. Two modems with voice capability are supported. Although all modems have telephone interfaces, most do not (if not none) have microphones and external speaker connections. Most high speed modems have the ability to perform voice functions, though they may not actually implement it. To remain competitive, most high speed modem manufactures are beginning to offer modems that support Data/Fax/Voice capabilities. As more become available, support for them will be added to ANSWER.

A VMC has the ability to play voice, record voice, generate Touch-Tones, and detect Touch-Tones. The ability to detect Touch-Tones while playing or voice allows the caller to press a Touch-Tone while listening to a message to have ANSWER stop the message and respond to the choice. Most VMCs (including the DigiPhone) can detect Touch-Tones while playing or recording voice. Modems may or may not be able to do this simultaneously. The CompuCom cannot. The ZyXEL can.

4.1.1 Modems

For Modems with voice support, you will need to identify the communications port which the modem is attached to. Each comm port is identified by a number such as COM3. However, only COM1- COM4 have standard definitions. Comm ports may also be identified by their Base Address and IRQ assignments.

The default port address used by ANSWER for the serial port (modems) is 02E8h which is the base address for COM4. ANSWER allows you to select any comm port by entering the address and the irq number for the comm port - it does not refer to the comm port number, but simply the comm port address and the irq number.

4.1.1.2 Interrupts

The default port irq number used by ANSWER is 3 which is the irq number for COM4. You may select the comm port interrupt.

4.1.2 The DigiPhone

The DigiPhone requires base address selection and IRQ selection.

4.1.2.1 Interrupts

There are 5 methods of operation for voice message file playback and recording. The first option uses no hardware interrupt line and is designed to work with all computer system configurations. However, this option will produce small audible gaps in the voice message file during record and playback while the file is read from the disk drive (see Options/Buffers options for minimizing audible gap). The other three methods use hardware interrupts and eliminate the audible "gap" produced by the no interrupt method. Interrupt 0 method re-programs the 8237 timer chip for 8 Khz during message playback and record. This method should work with all hardware configurations, but could possibly interfere with other terminate-and-stay-resident (TSR) programs which also use the timer interrupt. The next two methods use a hardware interrupt generated by the DigiPhone hardware. On the AT model computer, IRQ3 may be used if no COM2 port is installed. IRQ5 may be used if no LPT2 port is installed. To use either IRQ3 or IRQ5, you must set JP1 on the card to the appropriate position. See Figure 1 for jumper placement. For "No Interrupt" and "Timer Interrupt" methods, place the jumper on "None". For "COM2 Interrupt" and "LPT2 Interrupt" methods, place the jumper across the appropriate pins.

Bypassing Interrupts. As an alternative to recording messages in short blocks and using interrupts, you may enable Block I/O in the Options menu and not have to worry about the interrupt setup. Enabling Block I/O completely bypasses all interrupt settings. Messages are entirely recorded into memory then saved and read completely into memory and played. This eliminates the small "gaps" that occur in messages when using the interrupt mode on slow machines. However, the length of messages is limited by the available memory. On a 640k machine, only about 53 seconds of recording/playing time is available. But this is sufficient for most applications.

ANSWER Voice Mail System 4 / Setup 14

4.1.2.2 Addresses

The default port address used by the DigiPhone is 0278h which is the same address used by LPT2. You may select another address if you have a second parallel printer port installed in your computer by changing the DIP switch U11. See Table 1 for switch position information on setting U11. An eight switch DIP is used to select the hardware address that the DigiPhone will occupy. Table 1 is a summary of the possible positions of the switch and the corresponding addresses that result. The switch is numbered from left to right when viewing the switch with the card such that the edge connector is facing away from you (Hold the card's bracket in your left hand). With the card in this position, switch up is on, and switch down is off. The right two switches are unused. The switch will seem to be up-side-down. The labeling on it is insignificant, and the labeling on the card is backward (it should be labeled A8 on the right and A3 on the left as shown in the figure). The far right switch controls whether the address starts with 02 or 03. If that switch is set (switch toward edge connector), the address will start with 03 and if clear, then 02. The default is clear.

The volume control (R32 on the top of the DigiPhone card) is set at the factory for optimum operation. However, you may change it to your liking by adjusting it with a small, flat bladed screwdriver. While looking down on the card from above the computer, clockwise is lower volume, and counter-clockwise is louder.

ANSWER Voice Mail System 4 / Setup 15

4.1.2.4 Jacks

There are six jacks on the DigiPhone bracket. J1 and J2 are the telephone jacks at the top of the bracket. J3 - J6 are numbered from the bottom of the bracket to the top. The microphone jack is the bottom jack and the speaker is the second from the bottom (see Figure 1 on the previous page).

With the computer power turned off, remove the five outer screws which secure the case to the back of the computer. Pull the case off from the front of the computer. You may install the VMC in any vacant expansion slot. Remove the blank bracket from the back of the computer by removing one screw on the top of the bracket. Install the VMC in the expansion slot and use the screw to secure the card in place. Make sure a telephone plug will fit through the back of the computer into the connector of the VMC. You may have to adjust the bracket slightly to the left before you tighten the screw to make sure the phone jack can be inserted and removed without obstruction. Now place the cover back on from the front of the computer and re-install the five securing screws. Now you may attach the phone line and phone receiver. The VMC hardware is now ready for use. See Software Installation to test the VMC hardware. Once the Software Installation is completed, you are ready to run ANSWER. Please read the Software Installation section of this chapter.

ANSWER Voice Mail System 4 / Setup 16

Phone Messages Activate Control Help Options Direct control of the phone line

Detailed installation instructions are given below for the software. For a quick start installation, and current release notes, please see the README! file in the distribution archive.

4.2.1 Installing The Software

You may simply copy all the files from the distribution diskette to a directory of your choosing. The message files required for operation are archived and should be unarchived using the unarchiver program provided. Also, please refer to the README! file on the distribution diskette for additional information and software changes after the printing of this document.

4.2.2.1 First Run

The first time you run ANSWER, it will create a data file called OPTIONS.DAT. You must visit the Options menu and set your desired options. The default values are selected to work on most computer systems. However, you should review them before doing anything else with the software. For further information on the options menu, see the Options section in the Operations chapter.

A brief description is provided for setting up each of the four modes of operation follows. The steps described are the minimum required to operate each mode. There are options available not mentioned in the discussion which may be set to alter the operation. See chapter 5. Operations for a detailed description of each of the available options.

ANSWER Voice Mail System 4 / Setup 17

4.2.2.2 Answering Machine

To setup ANSWER as an answering machine, you must specify which outgoing message will be played, which directory outgoing messages are stored in, what the time limit is on incoming messages, and where to put incoming messages. Follow the procedure below to accomplish this.

Select Options/Directories/Outgoing Messages. Enter the directory name where outgoing messages are stored. If the directory does not yet exist, ANSWER will ask you if it should create the directory. The default directory is the current working directory, but a good alternative would be C:\OGM.

Select Options/Directories/Incoming Messages. Enter the directory name where incoming messages are stored. If the directory does not yet exist, ANSWER will ask you if it should create the directory. The default directory is the current working directory, but a good alternative would be C:\ICM.

Select Messages/Outgoing/Edit. You may type in up to four lines of text which are not used by ANSWER, but may be used by you as notes on the current outgoing message. You may use this space to type out your message before you record it. When you are ready to record, press F9 and begin speaking. ANSWER will wait for you to begin speaking, start recording, pause when no sound is heard, and stop recording after a 3 second pause. Outgoing messages are limited to 90 seconds by default.

Select Control/Answering Machine/OGM Number and activate the outgoing message which will be played for each incoming call. Only messages which you have already recorded may become active. You may have up to sixteen outgoing messages available to select from and any number of them may be active at any time. To make an outgoing message active, use the UP/DOWN ARROW keys to highlight an outgoing message that you have already recorded, and press ENTER. Then use the RIGHT/LEFT ARROW keys and the 'Y' and 'N' keys to choose the days on which the message will be active. You may also specify the times during the day that the message will be active. The hours are on the 24 hour clock basis, where hours after 12:00 noon are greater than 12 (for example, 3:00pm would be 15). Enter the beginning time and end time of the active period.

Select Control/Answering Machine/Rings and enter the number of rings to allow before answering the phone. ANSWER will answer the phone after the number of rings specified here have occurred.

Select Activate/Answering Machine. ANSWER will now answer the telephone after the specified number of rings, deliver the specified outgoing message (OGM#), record an incoming message (ICM#) of up to the specified maximum number of seconds, and hang up the phone. The number of incoming calls received will be updated and displayed in the status box in the lower right hand corner of the screen. After 10 seconds of keyboard inactivity, the screen will go blank and a message will begin flashing in the middle of the screen indicating that ANSWER is waiting for calls. If any incoming calls have been received, the number of calls is

ANSWER Voice Mail System 4 / Setup 18

displayed below the waiting message. The screen will be restored when any key is pressed.

ANSWER is now ready to answer calls. To test the operation of the answering machine, you may call it from another phone number, or you may simulate the receipt of an incoming call by pressing ALT-C. The answering machine will continue as if it had received a call, including picking up the telephone.

4.2.2.3 Voice Mail Box

To setup ANSWER as a voice mail box system, you must specify the number of digits to be used for mail box extensions and passwords. You must also establish the mail box database by entering each mail box holder's name, box number, password, etc. As in the answering machine mode you must specify which directory outgoing messages are stored in, what the time limit is on incoming messages, and where to put incoming messages. Follow the procedure below to accomplish this.

Select Options/Hardware/Limits. Enter the number of maximum seconds allowed that will be allowed for recording incoming, outgoing, and Voice Menuing messages.

Select Options/Directories/Outgoing Messages. Enter the directory name where outgoing messages are stored. If the directory does not yet exist, ANSWER will ask you if it should create the directory. The default directory is the current working directory, but a good alternative would be C:\OGM.

Select Options/Directories/Incoming Messages. Enter the directory name where incoming messages are stored. If the directory does not yet exist, ANSWER will ask you if it should create the directory. The default directory is the current working directory, but a good alternative would be C:\ICM.

Select Control/Voice Mail/User-Extension Edit. When this is selected for the first time, the user database is established using the extension and password digit length. If these lengths are ever changed, the user database must be re-established. Enter each user's name, extension, password, and the user's introduction message filename if any.

Select Activate/Voice Mail. The ANSWER is now ready to be operated in the Voice Mail Box mode. ANSWER will now answer the telephone after the specified number of rings, and prompt the caller for a mail box extension. If the extension is available, the introduction message (if available) will be played. The caller may then leave a message.

ANSWER Voice Mail System 4 / Setup 19

4.2.2.4 Information Server

Control of the Information Server is done by editing an ASCII file called TREE.CFG. An example file is provided with the software. ANSWER begins by playing the message file called MAINMENU.BIN which must be the first file listed in the TREE.CFG file. Under this entry, you may list other entries which will be branched to when the caller presses a Touch-Tone button. To list these entries, enter a TAB character, the number corresponding to the Touch-Tone, a comma, and the name of the message file to branch to. You may do this for up to 10 messages. The number 0 is listed as 10 and defaults to MAINMENU.BIN. The '#' button is number 11 and is used to backup one menu. The '*' button is number 12 and is used to abort the voice mail session. When this button is pressed, BYE.BIN will be played and the phone will be hung up. The Information Server ends with a file called BYE.BIN which must be the last file listed in TREE.CFG. Under this entry, you should put the command EXIT. You may use any ASCII text editor to edit the TREE.CFG file. You may also edit this file by selecting Control/Information Server.

In addition to branching to other messages, ANSWER may also be instructed to RECORD, PLAYBACK, and EXIT. The RECORD command can be used to receive an incoming message from the caller. The incoming message will be named just as in the Answering Machine, and will be stored in the ICM directory, and is limited to the specified number of maximum seconds. The PLAYBACK command is used for demonstration purposes. It will allow the caller to record a message and here it played back. This message is called TEST.BIN and is placed in the temporary directory, but is deleted after being played back to the caller.

4.2.2.5 PhoneBook Dialer

This mode allows you to use ANSWER to make outgoing calls. You should enter your most often dialed numbers into the phone book. When you want to call a number, simply use the ARROW keys to highlight your desired number and press return. ANSWER will take the phone off hook, look for a dialtone, dial the number, look for ringing or busy, and respond appropriately. If the call fails, it will retry until a key is hit. If the phone number TYPE is DATA and if a CONNECT is received, ANSWER will exit with an errorlevel equal to the numeric result code of the data connection. If VOICE is selected as the phone number TYPE, and If the call goes through and is answered, the Information Server is invoked.

You may also dial from a list of numbers. The list must contain a new telephone number as the first thing on each line. You may enter comments after the number by preceding your comments with a tab and a semicolon. The numbers are dialed exactly in the same way as the PhoneBook dialer.

ANSWER Voice Mail System 5 / Operation 20

5. Operation

This chapter describes in detail each of the menu and submenu options. There are six main menu options: Phone, Messages, Activate, Control, Help, and Options. Each is listed below with each of their submenu functions fully detailed. Use the ARROW keys, the first letter of the menu or submenu command, or the mouse to select the choices. Use the ESCAPE key to return to the previous menu. Pressing ESCAPE from the Main Menu (no pull down window displayed) exits ANSWER. Also, at any time during message recording or playing, a keyboard press will stop the process. If the key is a valid Touch-Tone button, it will be interpreted as such. In addition, the keyboard numbers may be pressed in response to any Touch-Tone prompt.

5.1 Phone

This menu provides direct manual control over the phone interface.

5.1.1 On Hook

Manually puts the telephone line on hook - hangs up phone. The status of the phone hook is displayed on the status line.

5.1.2 Off Hook

Manually takes the telephone off hook - picks up phone. This will terminate any data connection by lowering DTR, waiting one second, and raising DTR.

5.1.3 Dial

Simply dials a number (up to 16 digits) with no conditions. Commands the VMC to dial a number and waits for an OK response, then returns control to the menu. If a CONNECT code is received, then the Terminal mode is entered. If a keyboard key is pressed, or a timeout (35 seconds) occurs waiting for a response, the dialing is aborted.

5.1.4 Flash

Places the phone on hook for 1 second, then off hook.

5.1.5 Terminal Mode

Data Communications Terminal. Provides a raw terminal mode for use in calling out via data communications. Commands available in the terminal mode are ALT-X to exit, ALT-D for dialing menu, ALT-C to clear the screen, ALT-H to hang-up. ALT-F4 to shell to DOS, PAGE-UP to send a file by calling PAGEUP.BAT, and PAGE-DN to receive a file by calling PAGEDN.BAT. For diagnostics, ALT-N performs a "receive Touch-Tone" test. In this mode, any Touch- Tone received will be displayed. ALT-T performs a "tone" test. In this mode, press a number from 0 to 7 to hear that tone played. The communications parameters are set to 19200,N,8,1. The Online/Offline indicator on the status line continually reflects the status of Data Carrier Detect (DCD).

ANSWER Voice Mail System 5 / Operation 21

5.2 Messages

Because most modems do not have external speakers or microphones, the telephone receiver is used to play and record messages. In order to play and record messages with the telephone receiver, it must be taken off hook and in order to silence the dialtone, a single digit is dialed every 15 seconds by the modem. For some installations, an external box is available will simulate the phone line power so that dialing is not necessary. Also, if the modem or VMC is called from another telephone number, message recording and playing may proceed without dialing. If the modem is already off hook before going into play or record mode, it will not dial every 15 seconds. If the modem is on hook, it will dial digit 4 every 15 seconds.

5.2.1 Play

Manually plays any file as specified. The default extension for voice files is *.bin.

5.2.2 Record

Manually records any file as specified. If a sound card is detected, it will be used. If the Null Phone Number is not blank, it will be dialed instead of the single digit 4. No file is saved if no voice is recorded or an error occurs. A "Recording" Status is displayed on the status line. If a Touch- Tone button is pressed, a keyboard key is pressed, or a 3 (programmable) second silence period is detected, the recording is stopped.

5.2.3 InComing

Allows you to review incoming messages, play them, and delete them as appropriate. All incoming messages begin with "ICM" and end with ".BIN" with the message number in between, for example, "ICM1.BIN". When incoming calls are recorded, the first available ICM number is used. For example, if ICM1.BIN and ICM3.BIN exist, but ICM2.BIN was previously deleted, the next recorded incoming message will be ICM2.BIN. The Call Log (ANSWER.LOG) keeps record of all incoming messages.

5.2.3.1 Play

Selectively plays an incoming message from the ICM directory. If the VMC or modem is already off hook, the message will just be played. If not, it is taken off hook, a single digit number is dialed, the message is played, and the modem is placed on hook. However, if a sound card is detected, the message is played through it instead.

5.2.3.2 Call Log

Displays a record of incoming call activity. Use PAGE-UP, PAGE- DN, HOME, and END to move through the log file (an ASCII text file named ANSWER.LOG). The format is as follows:

ANSWER Voice Mail System 5 / Operation 22

From the Opus doc file OREF_LOG.LZH:

* Each line consists of these parts:

SYMBOL..... ! - an important entry, usually an error * - network + - a regular entry : - a non-important message # - tracer statements _ - video message only, not logged DAY.............. one or two digits MONTH............ three-character month name TIME............. 24-hr clock in the form hh:mm:ss PROGRAM.......... as many as 8 characters/digits, no spaces MESSAGE.......... as many as 80 characters/digits/etc END-OF-LINE...... A cr/lf for MsDOS

That comes to about 107 characters as the maximum line length.

5.2.3.3 Times/Dates

Displays the date and time stamp of incoming message files.

5.2.3.4 Delete

Removes an incoming message from the hard disk. The number of incoming calls is displayed in the lower right hand corner of the screen and will be updated. You should check incoming messages often and delete them as soon as you can since they can very quickly fill up the hard disk. Keep an eye on the "Free Disk Space" box. If the free space gets too low, the box will turn red and an audible beep will be played periodically.

5.2.3.5 Record

Locally records an incoming message. The selection box automatically selects the next unrecorded ICM number and increments the counter if the recording was successful and it was a new message.

Record an outgoing message. Outgoing messages must begin with "OGM" and end with ".BIN" and have the appropriate number in between. For example "OGM1.BIN". The selection box automatically selects the next unrecorded OGM number, and increments the counter if the recording was successful and it was a new message.

5.2.4.2 Select

Selects an outgoing message for manipulation. (This function performs nothing at this time).

ANSWER Voice Mail System 5 / Operation 23

5.2.4.3 Edit

Edits an outgoing message. This option allows you to enter up to four lines of text related to the selected outgoing message. This text may be the exact wording you want in the message. This allows you to read the text while recording the message. After entering the text, simply press the F9 key to begin recording. To hear the message played back, press the F10 key. You may advance and rewind through the message by using the ARROW keys. As you do this, the file counter will be updated which indicates the file position in increments of the Card Frequency divided by ten (Freq/10). You may begin recording over the current position in the outgoing message allowing you to redo parts of the message.

5.2.4.4 Delete

Deletes any outgoing message. This also removes any text, any programming that was entered for the selected outgoing message, and updates the ogm counter.

5.2.4.5 Play

Plays any outgoing message.

5.2.5 Examine

Allows you to view recorded messages in a graphic "OSCILLOSCOPE" form and in a "FREQUENCY DOMAIN" mode. Also provides a diagnostic menu for displaying the comm port, or VMC status.

5.2.5.1 Graphic Editor

Graphically displays any message file in a "Time Domain" or "Oscilloscope" form. This form is time (across) verses amplitude (up). You may use the ARROW keys (RIGHT, LEFT, UP, and DOWN) to move the graphic cursor 100 steps, the PAGE-UP and PAGE-DN keys to scroll an entire page, the HOME and END keys to move from one side of the screen to the other, and the CTRL-HOME and CTRL-END keys to move from the beginning of the file to the end of the file. You may mark a block of the file by positioning the graphic cursor at the beginning of the block an pressing '1'. Mark the end of the text by positioning the graphic cursor and pressing '2'. Write the block to a new file (called OUT.BIN) and pressing "shift-W" (upper case w).

5.2.5.2 Spectrum Analyzer

Displays any message file in a "Frequency Domain" form, that is, frequency (across) by amplitude (up). Each channel represents 128 hertz. The display is updated as quickly as possible, but does not display in real time.

ANSWER Voice Mail System 5 / Operation 24

5.2.5.3 Diagnostics

Comm Port Status or VMC Status. Displays the state of the serial port by displaying abbreviations for the flags in the UART's Modem Status Register and Line Status Register, and identifies the type of UART. The definitions of the abbreviations used are listed below. Press Escape to exit diagnostics.

63 0 Status Register Single Bit Register Not Clock State of the Clock No DTMF Status of the DTMF (Touch-Tone) Receiver Silence Status of the Silence Detector No Ring Status of the Ring Detector On Hook Status of the Hook 0 Amplitude of the audio Freq: 8000 hz Frequency of the Clock

5.3 Activate

The activation menu is used to invoke one of the four modes of operation. Each of these modes can be invoked directly from the command line. For more information on command line parameters, see chapter 8.

5.3.1 Answering Machine

This is the Personal Answering Machine. In this mode, a specified outgoing message is played for every call, after which the caller will be allowed to leave a message limited by a maximum number of seconds. If the caller hangs up, or if 3 seconds of silence occurs, or the FFT routines detect a dialtone, then the session will be terminated. After the outgoing message or messages are played, a pause will occur to check for a special function requested by pressing a Touch-Tone button. After 4 seconds, the tone will be played to indicate to the caller to begin recording the incoming message.

5.3.1.1 Wait for Calls

While waiting for calls, the screen is blanked after 10 seconds of inactivity. If a keyboard key is pressed or a ring is received, the screen is restored. Once the specified number of

ANSWER Voice Mail System 5 / Operation 25

rings are received, the detected call is written to the log file. You may simulate reception of a call by pressing ALT-C. Pressing ESCAPE exits the Answer Mode. In the automatic mode, this section is skipped, but a call is still logged.

5.3.1.2 Answering the Phone

The phone is taken off hook. If the Control/Answer/Answer Mode is set to No, then the call proceeds with OGM delivery.

If the Control/Answer/Answer Mode is set to Data, then a Data connection is attempted as follows. If the Control/Answer/Answer Mode is also set to Prompt, then the "PROMPT.BIN" message is played, otherwise it is not. If a Touch-Tone is received within the timeout, then the call proceeds with OGM delivery assuming a human caller. If a Touch-Tone is not received, then "ATA" is sent to the modem to attempt a Data connect. If a connect is received, then ANSWER drops with an errorlevel equal to the numeric result code of the connection. If no connect is made, then the phone is placed on hook and ANSWER returns to waiting for calls.

If the Control/Answer/Answer Mode is set to Fax, then a Fax connection is attempted as follows. If the Control/Answer/Answer Mode is also set to Prompt, then the "PROMPT.BIN" message is played, otherwise it is not. If a Touch-Tone is received within the timeout, then the call proceeds with OGM delivery assuming a human caller. If a Touch-Tone is not received, then ANSWER drops with a Fax Code errorlevel of 33.

5.3.1.3 Outgoing Messages Delivery

Each outgoing message which is active for the time of the call is played. For those modems or voice cards that detect Touch-Tone signals during message delivery, the reception of a Touch-Tone aborts the message delivery. Please note that if no OGMs are active, none are played and logged as having been played.

5.3.1.4 Listen for Touch-Tone

Once all active OGMs are played, ANSWER waits a timeout period for a Touch-Tone to indicate one of the below special functions.

5.3.1.5 Page Operator

If the caller presses '0' after the OGM delivery but before the ICM prompt Tone 3, the System Operator is paged. "PAGE.BIN" will be played, then a tone will be audible over the PC's speaker for a period of 30 seconds. If the System Operator does not respond, then the call proceeds with ICM recording.

5.3.1.6 Fax Code Errorlevel Exit

If the caller presses '*' after the OGM delivery but before the ICM prompt Tone 3, ANSWER exits with the Fax Code errorlevel of 33. This is used to have the modem/fax card receive a fax.

ANSWER Voice Mail System 5 / Operation 26

5.3.1.7 Remote Mode

If the caller presses '#' after the OGM delivery but before the ICM prompt Tone 3, the caller is prompted for the Remote Mode access code. This allows you to call ANSWER from another number and have it play all active incoming messages. You will hear a Tone 3, then you must then enter the access code ('5' is the default). If the access code matches, remote mode will be entered indicated by Tone 11. The "REMOTE.BIN" and "RMOPEN.BIN" messages are played. Then a Tone 3 is played and you may enter a Touch-Tone signal. At this point you have several options. Press '1' to hear each incoming message. ANSWER will beep a number of times equal to the number of active incoming messages and then play each one in succession. Press '5' to execute a batch file called REMOTE.BAT. Press '#' to delete all incoming messages. Press '*' to exit Remote Mode. If no Touch-Tone is received after a timeout, the "TIMEOUT.BIN" message is played. After several timeouts the call is terminated. Once the Remote Mode is completed, the "EDITDONE.BIN" message is played and ANSWER returns to waiting for calls.

5.3.1.8 Incoming Message Recording

Tone 0 is played to indicate the ICM is being recorded. Then "ICMEDIT.BIN" is played. If no Touch-Tone is received, "TIMEOUT.BIN" is played. After several timeouts, the editing is completed and the message is saved. If '0' is received, "SAVED.BIN" is played and the editing is completed. If '1' is received, Tone 0 is sounded and the message is re-recorded. If '2' is received, the ICM is played back. If '3' is received, Tone 0 is played and the ICM is appended. If '*' is received, the ICM is erased and editing is competed. If the ESCAPE key is pressed, the session is canceled. Once the editing is completed, "EDITDONE.BIN" is played and the function returns.

5.3.1.9 Session Completion

The "BYE.BIN" message is played. The phone is placed on hook and the system returns to waiting for calls if not in automatic mode.

5.3.2 Voice Mail Box

This is the Voice Mail Box system. This allows several people to receive voice mail. Each person has a mail box number which the caller uses to direct voice mail to the person. To use this system, the callers must know the extension number they wish to leave messages to. Also, each person receiving messages has to have been assigned a voice mail box by the System Operator who maintains the voice mail box accounts.

5.3.2.1 Wait for Calls

See Answering Machine/Wait for Calls.

5.3.2.2 Answering the Phone

See Answering Machine/Wait for Calls. If a human caller is detected, the caller will be prompted with "VMOPEN.BIN" to enter

ANSWER Voice Mail System 5 / Operation 27

the voice mail box number (extension), and Tone 3 will be sounded to prompt for an extension. If the caller enters an '*', the System Operator will be paged. If the extension is not recognized, "VMRETRY.BIN" will be played to prompt the caller to reenter the voice mail box number. The call proceeds with either the Mail Box Number prompt or the Edit Extension prompt. Once the session is complete, if not in automatic mode ANSWER returns to waiting for calls.

5.3.2.3 Mail Box Number

Once the caller enters a valid mail box number, if the box holder has an introduction message, it will be played. Then Tone 3 will be sounded to indicate the ICM is being recorded. The caller will then be presented with the ICM edit menu. If the recording is successful, it will be saved to the ICM directory with the voice mail box naming convention.

5.3.2.4 Edit Extension

If the Edit Extension code is entered, the caller is prompted for the mail box number to edit and a password for access. Then the caller is presented with "VMEDIT.BIN" editing menu. This allows mail box holders to retrieve their messages. The selections are '1' to delete the message, '2' to play the message, '3' to play next message, '4' to play previous message, or '#' to end editing.

5.3.3 Information Server

This is the Menu'ed Answering Mode, used for information services and is controlled by the TREE.CFG file. This mode can be used by the caller to selectively receive information on a variety of different subjects. The caller may also leave messages in this mode. See Control/Information Server for information on the TREE.CFG configuration file. All menu message files listed in the TREE.CFG file must reside in the OGM directory.

The same Wait for Calls and answering sequence as in the Answer Mode takes place here. If a voice call is received, the screen displays the Information Server Menu. The caller is presented with the "MAINMENU.BIN" message. Then the Tone 3 is sounded prompting the caller for a Touch-Tone. An '*' branches to the "BYE.BIN" branch which terminates the call. A '#' branches to the previous menu, or to "BYE.BIN" from the "MAINMENU.BIN". A '0' returns to the "MAINMENU.BIN". The '1' through '9' keys are defined in the TREE.CFG file (see Control/Information Server). After a timeout, "TIMEOUT.BIN" plays prompting the caller for a Touch-Tone. After several timeouts, the call is terminated. If a branch has no definition, "INVALID.BIN" is played. The entered key is repeated back to the caller ("NUMS.BIN"). Then the branch or key word function is called.

5.3.4 PhoneBook Dialer

This is the OutDialer mode. ANSWER can be use as a redialer to call a number entered is a PhoneBook, or from a list of numbers, or a manually entered number.

ANSWER Voice Mail System 5 / Operation 28

5.3.4.1 PhoneBook

Maintains a list of numbers for outdialing. See Control/PhoneBook for further information.

5.3.4.2 FileList

Selects numbers from an ASCII text for outdialing. Each number is read from the file and a call is attempted (see Outgoing Calls below). If any call is unsuccessful, the dialing is aborted. If the call is successful, the Information Server is invoked.

Note: This function could use some improvement. Namely, it shouldn't abort after an unsuccessful call, but should log success or failure to a file and continue. But since automated dialers are controversial, no further work is planned for this function.

5.3.4.3 Manual

Manually dials a phone number and tries to connect.

5.3.4.3.1 Outgoing Calls

The phone is taken off hook and checked for a dial tone. If none, then it aborts. Then it dials the number. If a keyboard key is pressed it aborts. If busy, it retries. If it times out, it retries. If it connects data, it returns success. If it gets a "VOICE" result it continues. If it "RINGS", it continues. If it detects a Touch-Tone, it aborts. If the call continues, the success is logged with date and time.

5.4 Control This menu allows you to set modes of operation.

5.4.1 Answering Machine

Select the outgoing message to be played in the Answering Machine mode. Also, set the maximum number of seconds for incoming calls, set the number of rings to wait before answering, and set the remote access code. Select the code length and code for remote access.

5.4.1.1 OGM Number

You may have up to sixteen different outgoing messages available to play to callers. These may be active depending on the day of the week and the time of the day. Any of these may be active at any one time. An outgoing message must be already recorded to become active. Use the UP/DOWN ARROW keys and the ENTER key to activate/deactivate outgoing messages. Use the RIGHT/LEFT ARROW keys and the 'Y' and 'N' keys to select the active days. Enter the beginning and end active times using the numeric keys. Times are in the 24 hour clock format so that hours after 12:00pm noon are greater than 12. For example, 3:00pm would be 15. Midnight is 0. It is possible to have several outgoing messages active at any one time. If the hours overlap for outgoing messages, they are each played sequentially.

Enter the number of rings (1 to 9) to wait before answering the phone.

5.4.1.3 Remote Code

Enter the secret access code length (1 to 8) and the code itself. Use this access code to call ANSWER while you're away. With this code, you may gain access to your incoming calls and delete them after listening to them.

5.4.1.4 Answer Mode

a) Detect Data/Fax calls or Not (choices: D/F/N) b) Play PROMPT.BIN or not (choices Y/N)

When set to detect Data or Fax calls, ANSWER will wait 5 seconds after answering the phone for a Touch-Tone. But when set to Prompt, ANSWER will first play "PROMPT.BIN" before waiting for the Touch-Tone. If received, voice interaction will continue. Else, ATA is sent to the modem. If a connect is received, ANSWER will exit with an errorlevel equal to the numeric result code of the connection or 33 if CONNECT FAX. See the modem User's Manual for the numeric result codes.

5.4.2 Voice Mail Box

This feature allows several people receive private messages by assigning each person a voice mail box number and password. The Systems Operator sets up the voice mail accounts through this menu.

5.4.2.1 Extension Digits

Enter the number of digits each voice mail box will require to access it. The minimum is 2 digits and the maximum is 9 digits.

ANSWER Voice Mail System 5 / Operation 30

Please note that this establishes the maximum number of voice mail boxes are available. For 2 digit extensions, 99 boxes are possible. However, the maximum overall limit is 256 regardless of the number of digits used for extensions. If this is changed, the user database will have to be re-established.

5.4.2.2 Password Digits

Enter the number of digits for the voice mail box owner's password required to access it. The minimum is 2 digits and the maximum is 9 digits. If this is changed, the user database will have to be re-established.

5.4.2.3 Edit Extension No.

Enter the access code for voice mail box owners to access their voice mail boxes. This extension number is entered at the "Enter the extension you wish to reach" (VMOPEN.BIN) prompt by each of the mail box holders to access the play messages menu.

5.4.2.4 Incoming Msgs

Examines InComing messages.

5.4.2.5 User/Extension Edit

The System Operator assigns the voice mail boxes from this menu. Each mail box owner receives a mail box number, password, and may record an introduction message. The user database also contains the user's name and a phone number where the user can be reached. If the user database does not yet exist when this function is selected, the database will be created using the digit lengths set above for extension and password. If those lengths are changed after establishing the database, the database will have to be re-established. Follow these steps to re-establish the database:

a) Delete the VMAIL.SYS and VMAIL.DEF files in the PGM directory. b) Set the Extension Digits and the Password Digits.

5.4.3 Information Server

This menu offers three different methods of editing the TREE.CFG file, an ASCII text file which is used to control the operation of the Information Server by the use of keywords which are described under Edit Menu below. You may used any ASCII text editor to edit this file. An example configuration file is provided on the software distribution disk and contains an example of how to set up the Information Server menu structure. Several commands are available and each is used in the example.

5.4.3.1 Edit Menu

This is a menu driven configuration file editor. When selected, it will prompt for the name of the configuration file to edit. Once a filename to edit is chosen, the file is read and a menu box is presented as shown below.

The menu box lists branch menu definitions for each Touch-Tone selection. Use the ESCAPE key to either back up one branch menu if any, or terminate the editing session and save the configuration file. Use the RETURN key to edit the branch menu definition. If no branch is yet defined, you will be prompted for a branch menu filename. The box is then redrawn for editing the branch menu definition. Use the ARROW keys to move between the branch menu selections. Use the DELETE key to remove a branch definition.

5.4.3.1.1 Top Menu (TM)

The first line states "Editing tree for" and refers to the branch listed to the right of TM. Notice that "MAINMENU.BIN" is always the first menu. The second line states "Key Choice Previous".

5.4.3.1.2 Key

The "Key" column refers to the Touch-Tone signal entered by the caller. Valid keys are '0' through '9', '*', and '#'. Notice that "INVALID.BIN" appears after each choice which does not yet have a branch menu defined. Also, "BYE.BIN" always appears after the '*'. This choice is offered to the caller at each branch menu and can be selected by the caller to "Abort" or terminate the call from any branch menu. Additionally, notice that the previous branch menu always appears after the '#'. This choice is offered to the caller at each branch menu can be selected by the caller to "Back up one menu" and return to the previous menu.

5.4.3.1.3 Choice

The "Choice" column refers to the branch menu which is called when the Key is pressed. "INVALID.BIN" is automatically entered for any key which does not have a branch menu definition.

ANSWER Voice Mail System 5 / Operation 32

5.4.3.1.4 Previous

The "Previous" column refers to the branch menu from which the current menu is called. Notice that "BYE.BIN" is always at the top of the Previous column. When the caller presses '#', control is returned to the branch menu at the bottom of this column.

5.4.3.1.5 Key Words

The Information Server menu begins with MAINMENU.BIN. All selections from the MAINMENU must define branch menus. When editing a branch menu, pressing RETURN on a selection brings up the keyword box. Use the ARROW keys to select the desired keyword, or select "Edit Branch" to branch to a submenu.

5.4.3.1.5.1 Edit Branch

Creates a new branch menu or edits an existing branch menu definition. From the MAINMENU, branch menu filenames are possible. From branch menus, additional branch menu filenames and key words are possible. You must first record the branch menu message and place it in the OGM directory.

5.4.3.1.5.2 Record

When the caller selects a key with this keyword as its choice, ANSWER records an incoming message and saves it to the ICM directory with the normal ICM naming convention and the ICM number counter is incremented.

5.4.3.1.5.3 Playback

When the caller selects a key with this keyword as its choice, ANSWER records a temporary message in the TEMP directory, plays it back to the caller, then deletes it.

5.4.3.1.5.4 Yell

When the caller selects a key with this keyword as its choice, ANSWER yells for (pages) the System Operator. If there is no answer within a timeout, the caller is informed that the System Operator is unavailable.

5.4.3.1.5.5 Exit

When the caller selects a key with this keyword as its choice, ANSWER terminates the call (branches to "BYE.BIN").

5.4.3.1.5.6 Remote

When the caller selects a key with this keyword as its choice, ANSWER enters the remote mode (see Activate/Answer/Remote Mode).

5.4.3.1.5.7 GetDTMF

When the caller selects a key with this keyword as its choice, ANSWER prompts the caller for a DTMF (Touch-Tone) signal.

ANSWER Voice Mail System 5 / Operation 33

5.4.3.1.5.8 GetFAX

When the caller selects a key with this keyword as its choice, ANSWER drops with a Fax Code errorlevel of 33.

5.4.3.1.5.9 GetCode

When the caller selects a key with this keyword as its choice, ANSWER prompts the caller for a code of a specified length with Tone 0. If the code is valid, then the code is repeated back to the caller ("NUMS.BIN"). Then "ICMEDIT.BIN" is played. If no Touch-Tone is received, then "TIMEOUT.BIN" is played. If '0' is received, "SAVED.BIN" is played and the code is recorded. If '1' is received, Tone 0 is sounded and the caller should re-enter the code. If '2' is pressed, the code is repeated back. If '*' is received, "EDITDONE" is played and this function returns.

5.4.3.1.5.10 GiveCode

When the caller selects a key with this keyword as its choice, ANSWER generates and logs a unique code and says it out loud to the caller. A random code of a specified length is generated consisting of digits from '0' to '9'. This is repeated until the code does not already appear in the GIVECODE.DAT (which is in the PGM directory) text file. The code is then saved to GIVECODE.DAT file. The configuration file is scanned for the keyword CodeDir. If found, the directory name which follows it on the same line after one or more spaces or tabs, as a filename equal to the code (for example, 01234567.LOG). If the keyword is not found, the file is saved to the PGM directory. The file will contain the date and time followed by "Gave Code: nnnnnnnn". The code will then be spoken out loud to the caller. Then "GIVECODE.BIN" will be played, then Tone 3 sounded, giving the caller an option to hear the code again. Pressing '1' causes the code to be played again. Pressing '2', '*', '#', or '0' causes "SAVED.BIN" to be played and the function to return.

5.4.3.1.5.11 VMail

When the caller selects a key with this keyword as its choice, ANSWER switches to the Voice Mail Box mode.

5.4.3.2 TED Editor

Edits the TREE.CFG file. The editor commands are listed below. The keywords and configuration file format are described above in "Edit Menu".

Type is VOICE, DATA, or FAX and determines how ANSWER should act once the phone has been answered at the other end. If the type is VOICE, and the call is successful, then the Information Server is invoked. If the type is DATA and the call is successful, then the Terminal Mode is invoked. If the type is FAX and the call is successful, ANSWER exits with the Fax Code errorlevel of 33.

5.4.4.2 Name

Name is an ASCII field identifying the entry. This field is not used by ANSWER, but is provided for your use to identify the entry.

5.4.4.3 Code

Code is the dialing prefix code and refers to a dialing prefix entered in the Dial Options. This can be used to enter a dialing prefix like 9, or 1-619-, or whatever is needed to completely dial the number.

5.4.4.4 Number

###-###-#### is the telephone number. Enter only the digits required to complete the call.

5.4.4.5 Script and Last Called

Script and Last Called are not used at present.

5.4.4.6 Dial Options

This menu is used to enter long distance dialing codes. Also, you can enter your local area code here.

5.4.4.6.1 Enter dialing prefix codes.

These are codes used in the dialing directory which are used to indicate that the number should be preceded with other numbers.

5.4.4.6.2 Enter redial pause delay length.

The 'Redial' key word tells ANSWER how many seconds to wait between successive redials of a number in the outdialing mode. The valid parameter range is 1 to 255 and is measured in seconds. This defaults to 15.

ANSWER Voice Mail System 5 / Operation 35

5.4.4.6.3 Enter the null connect telephone number.

The 'NullPhone' key word is used during local message play and record. If a number is entered here, it will be dialed when messages are played or recorded locally. Some telephone exchanges have a number which you can call for testing purposes and will produce just silence. If no number is entered here, a '4' will be dialed every 'DialTime' seconds during play and record. This should be a seven digit number, but can be up to 29 ditits. This defaults to no parameter (left blank).

5.4.4.6.4 Enter your local area code.

The 'LocalArea' key word is used for outgoing calls. If the area code of the number to be called equals this number, only the remaining seven digits of the number to call will be dialed. Valid parameter is a 3 digit telephone area code. This defaults to no parameter (left blank).

5.5 Help

5.5.1 Instant Help

This menu displays the ASCII text file called ANSWER.HLP. You may use the HOME, END, PAGE-UP, and PAGE-DOWN keys.

ANSWER Voice Mail System 5 / Operation 36

5.6 Options

5.6.1 Colors

You may customize your menu colors from this menu. Use the UP/DOWN ARROW keys to select the menu, the RIGHT/LEFT keys to select the boxes/text within the current menu, and the SPACEBAR to select the color for the current item.

5.6.2 Directory

Select the directories for Program, Outgoing messages, Incoming messages, Temporary working directory, and Bin messages. If the specified directory does not exist, you will be asked if ANSWER should create the directory. All directories default to the current directory when ANSWER is run for the first time.

5.6.2.1 Program

Tells ANSWER where to find its operating files.

5.6.2.2 InComing

Enter the directory in which to keep incoming messages (ICM*.BIN and voice mail box messages).

5.6.2.3 OutGoing

Enter the directory in which to keep outgoing messages (OGM*.BIN and Information Server voice messages).

5.6.2.4 Temporary

Enter the directory in which to write temporary files.

5.6.2.5 Bin

Enter the directory in which to keep the required operating voice files (all pre-recorded voice files).

5.6.3 Hardware

5.6.3.1 Addresses

Select the base address / irq pair for the modem or VMC hardware. Refer to the modem or VMC User's Manual for possible address and interrupt settings. See Chapter 4 Setup/Address/Table 1 for more information on hardware address.

5.6.3.2 Mouse

Enables/disables and sets the mouse sensitivity.

ANSWER Voice Mail System 5 / Operation 37

5.6.3.3 Zero Level

Adjusts the level at which ANSWER decides there is no audio and stops recording. Press ESCAPE to abort. Use the ARROW keys to increase or decrease the level. You should set the threshold level shown as a decimal number in white to equal the noise level shown as a decimal number in red. Press RETURN to select the current level and perform the Voice Test. The voice test will sample the noise level of the phone line and will display a vertical white line to the left of the threshold level line. Press any key when you're finished with the test. You may want to re-adjust the level and perform the test again. When finished, press ESCAPE. This test does not apply to the ZyXEL since it performs zero level detection internally.

5.6.4 Messages

Sets some message record/play options.

5.6.4.1 Limits

Sets the maximum number of seconds for incoming messages (ICMs).

5.6.4.2 Buffers

Set the size of RAM buffer to be used during message playback and record. When using the no interrupt method for messages, an audible gap can be heard in the message while ANSWER reads or writes to or from the hard disk. Use this option to reduce the amount of gap.

5.6.4.3 Copy

This options is used to tell ANSWER to copy voice messages to the temporary directory before playing them. This is useful on slower systems when an audible gap is heard in the message when it is being retrieved from the disk.

5.6.4.4 Support

There are four files required by ANSWER which are pre-recorded since their generation is not simple. The daring may attempt it here. This is not for the timid. Make sure you have a backup of the files before you proceed. When you start, you will have 1/2 second for each spoken word. Each word will be written to a temporary file, then used to make the one you are recording. Play the file after you record it and then decide if you want to try again.

5.6.4.4.1 NUMS

This file contains the spoken numbers from 0 to 59. Each spoken number is one half second in duration.

5.6.4.4.2 DAYS

This file contains the spoken days from Sunday to Saturday. Each spoken day is one half second in duration.

ANSWER Voice Mail System 5 / Operation 38

5.6.4.4.3 MONTHS

This file contains the spoken months from January to December. Each spoken month is one half second in duration.

5.6.4.4.4 DIGITS

This file is only required by VMCs that do not have a touch tone generator (all supported modems have one). It contains each of the touch tone digits and each is one quarter second in duration.

5.6.5 Tones

ANSWER can be programmed to use eight different tones during its operation. In this menu, you can program the tones. A treble and bass clef are used to display the notes. Each tone has eight notes. Use the ARROW keys to select the pitch of the notes, and the plus "+" and minus "-" keys to select the duration of the notes. Use the page up "PG-UP" and page down "PG-DN" keys to select the different tones.

These tone numbers are used throughout ANSWER as indicated. The other tone numbers are currently not used.

If all voice capable hardware were created equal, so might their voice file formats. This however is not the case. Several different voice file formats are used by ANSWER. The formats are explained in this section, and some conversion utilities are mentioned.

6.1 Formats

All messages used by ANSWER have a ".BIN" extension. All valid DOS filenames are accepted except those beginning with a dash '-' character.

6.1.1 DigiPhone voice file format

The voice file contains straight voice data in unsigned binary (Unipolar Complementary) format. That is, a value of 0 translates to -127, 128 is 0, and 255 is 127. A header is placed at the beginning of the file to identify it as being compatible with .VOC files.

6.1.2 CompuCom voice file format

The CompuCom voice file contains straight voice data in signed (Bipolar) format. That is, a value of 0 is 0, -127 is - 127, and +128 is +128. A VOC header is placed at the beginning of this file, however, the SoundBlaster utilities do not support the Bipolar format. However, some third party utilities do.

6.1.3 ZyXEL voice file format

The voice file contains a file header and the compressed voice data. The voice data is just the data received from U1496 Modem/Fax. The header is a 16-byte data structure as follows.

Files with .VOC extensions are in the Creative Labs Voice File Format. this file is organized in two main blocks, the Header Block and teh Data Block. The Header Block contains an identifier, the version number and a pointer to the start of the Data Block. The Data Block is divided into sub-blocks of various types, such as Voice Data, Silence, Marker, ASCII text, Repeat and End Repeat, Terminator and theExtended Block. This extended block - Block Type eight is meant for stereo or high speed voice data.

14 - 15 Offset of Data Block from the start of voice file. This word points to the Data Block. It helps the application program to locate the Data Block in case the size of Header Block is changed. For this version, the value here is always 1AH.

16 - 17 Voice file format version number. This version number allows your program to identify different organization formats of voice data file in case of future enhancement. Low Byte and High Byte are the minor and major version number resptively. Current version is 1.10.

18 - 19 Voice file identification code. This code allows your program to check that this file is a VOC file. Its content is the complement of the file format version number then plus 1234H. For the current version of 1.10, it is complement(010AH) + 1234H = 1129H.

Data Block The Data Block is subdivided into multiple sub-blocks of data. The first byte of each sub-block is called the Block Type. It indicates the type of data contained in the sub-block. The next three bytes is a 24-bit Block Length. It is the number of bytes in the sub-block excluding the Block Type and Block Length fields. Only the Terminator sub-block does not have the Block Length field. Depending on Block Type, the rest of the data in the sub-block may be voice attributes (such as sampling rate, packing and voice mode), voice data or other information (such as Marker and ASCII text). Program need not interpret all the Block Types. For those Block Types it does not recognize, it can easily move to the next sub-block using Block Length. In most applications, the program can simply pass the address of the Data Block to the Voice drivers which will interpret the Voice file and perform the output accordingly.

6.3.2 WAV Files

Files with .WAV extensions are in the Microsoft Multimedia RIFF WAVE PCM format.

6.2 Conversions

6.2.1 VCNVT.EXE

The ZyXEL ZFAX utility includes a voice conversion program which will convert the ZyXEL voice files to VOC files. The voice files used by ANSWER are the 2 bit ADPCM type.

9600 samples/second. This is readable by Windows Sound Recorder. This is Version 1.0 and should work with ADPCM2 or ADPCM3. When it's a little prettier the author will furnish source to anyone who wants it. The author plans to convert the other way soon. Author: Matt Galloway 423 S. Jefferson Stillwater, OK 74074[email protected]

ANSWER requires a number of operating files. The following files should be maintained in the program directory (see Options/Directory). In addition to these files, ANSWER will also record and play outgoing and incoming messages which should be maintained in the outgoing and incoming message directories. The default filename extension given to message files is ".BIN" but this is arbitrary and any extension is acceptable. You may re- record any of the .BIN files in your voice if you wish. The following files are operating files which are not distributed with the archive.

The message files listed in BINFILES.TXT are required for normal operation. You may re-record any of these files with the exception of NUMS.BIN, MONTHS.BIN, and DAYS.BIN which are specifically recorded such that each entry is exactly 1/2 second long.

ANSWER Voice Mail System 8 / Files 44

BYE BIN Last message file for Information Server DAYS BIN Days of the week starting with Sunday - each 1/2 second long DIGITS BIN Touch Tones for the DigiPhone EDITDONE BIN "Editing is complete" EDITING BIN "After the tone press 1 to delete this message, 2 to play the message again, 3 to play the next message, 4 to play the previous message, or the pound sign to end this editing session" HI BIN Played when outdial goes through HOLD BIN Played before paging the operator when outdialing mode active ICMEDIT BIN "Press 1 to redo, 2 to listen, 3 to append, * to quit without saving, or 0 to save and exit" INVALID BIN "That choice is not offered" MAINMENU BIN Main Menu message file for Information Server MESSAGE BIN Default introduction file MONTHS BIN Months starting with January, each 1/2 second long MSGS BIN "Messages" NUMS BIN Numbers 0 to 59 - each 1/2 second long OGMABORT BIN "Message Aborted" OVER59 BIN "Over 59" PAGE BIN "Paging operator to the telephone" PLAYCODE BIN "Press 1 to hear again, otherwise press 0" PROMPT BIN "Press a Touch-Tone for voice" REMOTE BIN "Entering remote mode" RMOPEN BIN "Press 1 to play messages, 5 to execute REMOTE.BAT, # to erase messages, or * to quit and exit" SAVED BIN "Message saved" SEEYA BIN Played if "0" is pressed during outdial TAKEON BIN "The following message was taken on" TIMEAM BIN "A.M." TIMEOUT BIN "Please press a number for you choice" TIMEPM BIN "P.M." TONES BIN Audible beeps for prompts, etc. VMDEF BIN Default outgoing message filename VMEDIT BIN "After the tone enter ext you would like to edit" VMEDRT BIN "After the tone, re-enter the extension you would like to edit" VMNOFWD BIN "There is no next message" VMNOPREV BIN "There is no previous message" VMOPEN BIN "Welcome to Voice Mail. After the tone, enter the extension you would like to reach" VMPWORD BIN "After the tone, enter your password" VMPWRT BIN "After the tone, re-enter your password" VMRETRY BIN "After the tone, please re-enter the extension" YOUHAVE BIN "You have"

ANSWER Voice Mail System 9 / Command Line 45

9. Command Line Parameters

Each of the four modes of operation may be called directly from the Command Line by the use of command line switches as listed below:

When started with any of the above parameters, ANSWER enters the specified mode and waits for calls just as it would if selected from the ACTIVATE menu. Once the transaction is complete, ANSWER will hang up the phone and exit.

The above parameters without the slash character will cause ANSWER to enter the specified mode as if a call had already been detected and the phone already taken offhook. The transaction will continue as normal, the phone will be placed onhook, and ANSWER will exit. This is referred to as the Automatic Mode.

With the above parameters, ANSWER may be used as a front end software for a BBS. A batch file (ANSWERIT.BAT) has been provided as an example. ANSWER can be set to prompt for a Touch- Tone entry to specify whether it should process a voice call, a data call, or a fax call. In this mode of operation, ANSWER can be set to play a voice message prompting for the Touch-Tone entry. After ANSWER detects the ring, answers the phone, plays the prompt message, it will wait 5 seconds for a Touch-Tone. If received, ANSWER will process the voice call. If no Touch-Tone is received, ANSWER will send ATA to the modem to detect data calls. If it receives a CONNECT message from the modem, it will drop with an errorlevel equal to the numeric result code of the CONNECT. See the modem User's manual for a listing of the numeric result codes.