BACKMAIL USER'S MANUAL Alethic Software Inc. 52 Parkhill Road Halifax, N.S. B3P 1R5 Canada Voice # (902) 423 9860 BackMail (902)477-9492 Version 2.00 COPYRIGHT NOTICE This document and the software package it describes are copyrighted ó 1988,1989,1990 by Alethic Software Incorporated. All rights reserved worldwide. 'BackMail' is the Trademark of Alethic Software Inc. Alethic herewith gives permission for any user of the software to electronically reproduce and transmit this software package to third parties provided that the following two conditions are met. 1) No alterations or deletions of any kind are made to the operating software or documentation. 2) The software is distributed without charge of any kind by the distributor, except with the written permission of Alethic Software Incorporated. Distribution of BackMail in violation of either of these conditions constitutes an infringement of copyright. DISCLAIMER Alethic makes no warranties as to the contents of this document or the software herein described and specifically disclaims any implied warranties of merchantability or fitness for any particular purpose. Alethic further reserves the right to make changes to the specifications of the program and contents of this manual without obligation to notify any person or organization of such changes. OVERVIEW WHAT IS BACKMAIL? BackMail is a brand new kind of microcomputer communications program. BackMail is a background (resident process) communications program that turns your computer into the center of your own electronic mail network. - BackMail can be used to compose and send messages, files and programs to other BackMail users over regular phone lines using a standard modem while you are using your computer as you ordinarily would. - Operating in the background, the program will call phone numbers to which you have addressed messages or files, deliver them, collect any mail addressed to you from there, terminate the call and repeat this process for the next appropriate destination on the list. All of this without intervention by you, and without interrupting your normal use of your machine. - BackMail doesn't interfere with the normal use of your phone for voice messages. Turn down the bell on your telephone, and carry on with your work. BackMail will use your modem to answer the phone; if it's a voice call, the program will ring the speaker on your computer and ask you to pick up the phone. If it's another BackMail calling, the program will receive your mail, store it to disk, and send any pending mail that you have addressed to the person who called you. All without interrupting you. - BackMail keeps track of when the people on your mailing list are available to receive messages, and keeps them informed about when you are on-line for BackMailing. BackMail schedules its mail deliveries according to the priority you assign destinations, and when those destinations are available. If the line is busy, or there's no answer, BackMail will try again later. - BackMail messages can be addressed to many different users. The program keeps track of which messages have been delivered, which destinations failed to answer. - BackMail does not compromise the security of your machine in any way. It can only give out messages or files that you have decided to send, and then only to the destinations you have selected. THE BACKMAILING BASICS BackMail is a new kind of communications package. A few basic ideas are important to understanding how the program works. HOT KEYS Most of the work done by BackMail is accomplished by a small (33K) memory resident core program. This program resides in memory and works even when you are using your computer for other purposes. We've designed this program to be very fast and unobtrusive. About the only time you'll notice it's there is when the program accesses your disks to get or store mail you're sending and receiving. Otherwise, its workings are virtually undetectable. When you want to send messages or files, or read messages that you have received, you call BackMail to the foreground by pressing a "Hot Key." The default values for these hot keys are: Alt 1 Call up BackMail main menu Alt 2 Use BackMail to dial out a voice call Alt 3 (without removing it from memory) This manual refers to the default values for these hot keys, but if those keys are already used by other programs you can change them by using the CHANGE SETUP function from the main menu. AVAILABILITY TIMES Each user of the program sets his own availability time. This is the period of the day when that user plans to be regularly available to receive BackMail messages. Whenever two BackMails communicate, ex- changing files or messages, they will also automatically exchange their availability times. Your BackMail keeps a record of the availability time of every caller on your mail list, and it will not attempt to call those destinations except at times when they have declared themselves available. BackMail II can detect when a caller is in a different time-zone from yours and will adjust the caller's availability time accordingly. When you first use BackMail you should set your own availability time. Make this a period during which you regularly use your machine. NOTE: In setting your availability time, you are only limiting NOTE: In setting your availability time, you are only limiting the period during which you will receive mail. Any time BackMail is running, it will try to deliver its mail to those users who are available at that time. You can override the current availability time for a destination by using the Phone directory function available from the main menu. Note, though, that you should only do this by prior arrangement with that destination; otherwise, they may not have their BackMail running when your BackMail calls. 6 Basic Concepts The program will also allow you to set the maximum number of times per hour that BackMail will attempt to reach a destination. MESSAGES AND FILES BackMail handles two kinds of mail, messages and files: A message is any letter, note or reply you write from inside the BackMail message editor. A File is any file which can be stored on your disk. BackMail can send or receive any such without restriction (except that the receiving end must have sufficient disk space to contain the incoming file). INMAIL, OUTMAIL AND TRANSFER All of your incoming messages are stored in a single file called INMAIL. All of your outgoing messages are stored in a file called OUTMAIL. Your INMAIL and OUTMAIL files also contain File Notifications, which are very brief messages labeled "FILE" which contain the name and size of the file you have sent or received. All files you receive through BackMail are stored in a directory reserved for that purpose called (by default) TRANSFER. The name of the directory used for this purpose can be changed by using the BMCONFIG.COM program. TELEWARE BackMail is a kind of ShareWare. We invite you to give away copies of the distribution disk to anyone you want to BackMail. The only condition on this is that you must not tamper with any of the copyright or trademark information in the program or the disk, and you may not resell the program for profit except with our permission. But BackMail is not free. Each user of the program must pay a registration fee for using the program. Some of the software's functions are locked out until you register. But registration is very easy. You use the program to pay for itself. Your registration is sent as a BackMail message to our 800 number. As soon as you are registered all the program's functions are electronically unlocked by calling our 800 number. If you have purchased this copy of BackMail from a software retailer you will find your package contains a card entitling you to two registrations as part of the package's purchase price. HOW TO REGISTER We suggest that you use BackMail for a while before you decide to register. Some of the program's functions are "locked out" until you decide to register, but there is a lot you can do with an unregistered copy. Registration is simple. Each time you first bring up the BackMail main menu, you will see a menu option called "G Register" (if you perform any other function you will see that this menu option does not appear thereafter). If you press 'G' at this point you will be shown the registration introductory screen. If you wish to register just respond to the prompt by hitting F2. The program will then request certain information of you: HOW TO PAY Registration costs $50.00 (U.S.). Your registration can be paid for in several different ways. - Visa or MasterCard - Cheque or Money Order - With a prepaid Alethic credit number. HOW REGISTRATION WORKS The registration process is a special kind of electronic operation, when you register we send a special signal to your BackMail which unlocks all of the program's functions. If you pay by credit card, or with an Alethic "Prepaid" number, your registration will likely be processed on-line, and your BackMail will be unlocked on line. If you are paying by check or money order, your number will be recorded and, as soon as your payment is received, we will set the registration machine to unlock your BackMail the next time you call back. What you are registering when you register is your phone number. That is, the phone number which is your BackMail's telephone address. If you copy the program and give it to others to use, they will have to register their copies. When you have completed the registration form, BackMail will send your registration as a BackMail message to our 800 number. REGISTERING BY CREDIT CARD To register by credit card you should enter your name as it appears on your card, your card number, and the expiry date your credit card expires. PREPAID REGISTRATIONS If you have purchased BackMail from a software retailer, or if your company has purchased a BackMail site or corporate license, you will 8 How to Register have been given a prepaid number. Select the "Prepaid" option under method of payment and enter your Prepaid number in the "number" field. CHEQUE OR MONEY ORDER Simply select the Check/Money order option under method of payment. You need not fill out any other field ORDERING A MANUAL In the registration screen you have the option of ordering a hard copy manual of the program ($20 including postage and handling). To order a manual move the cursor bar till it covers the line "I do not want a printed copy of the manual", hit Enter to change the filed to "I do want a printed copy of the manual. If you are ordering a manual be sure to give us your name and address field. GIVING US YOUR POSTAL ADDRESS If you are not ordering a manual you do not need to give us your mailing address. However we encourage you to do so as it will allow us to send you information about new BackMail releases and BackMail related products. We will not give your mailing address to any one else. WHEN YOU'VE FINISHED REGISTERING Some of the fields on the registration screen "toggle" when you hit a key. Others take keyboard input and require you to hit Enter to exit the field. The help window at the top left of corner of the screen tells you what action is appropriate. When you have finished filling out the registration screen you hit F2 to post your registration. Abort- Hitting F1 will abort your registration message. ing registr When you confirm your registration (by hitting F2 again) ation BackMail will compose a registration message. You will find it in your outgoing Mail box if you use the MAINTAIN OUTGOING MAIL function. Don't Note you cannot get your copy of the program registered delete unless you deliver your registration message to us. So don't your delete the registration message, or SUSPEND the BackMail regis- registration destination. tration AFTER YOU HAVE REGISTERED As we said above, Registration makes electronic changes to the BackMail files on your disks. It is thus a good idea to backup your BackMail files after you've registered in case some future disk disaster should erase your working copy. RE-REGISTERING We recommend that you backup your copies of BGROUND.COM and FGROUND.COM after you have registered. Registration alters these files How to Register 9 so that they will not ask you to register the program so long as your phone number remains the same. Our policy is that once your phone number is registered it is registered forever and we will never bill the same number twice. However if you find yourself in a situation in which you must re-register your BackMail we ask that you take the following steps: - Get up the registration screen and fill in your name. - Select the check/money order field as your method of payment. Our registration machine already knows your phone number, and it will register you the first time you call. WHY REGISTER? Apart from unlocking some program functions there are other benefits to registering your BackMail. When you register your copy of the program you are put in touch with our BackMail 800 line. The nice thing about BackMail is that we can use BackMail itself to send you upgrades to the software. You can also send us BackMail messages at any time of the day or night with questions or advice on using the program. As the number of BackMailers grows, we expect BackMail to become a standard delivery system for new software and product information. SO... If you like the program, please register. And pass copies of your BackMail diskette to your friends or business connections. Remember that your personal BackMail network can be as large as you like. GETTING STARTED THE PACKAGE The BackMail package consists of the following files. INSTALL.BAT A batch file to install BackMail on your hard disk. BGROUND.COM The terminate and stay resident kernel of the program FGROUND.COM The user interface portion of the program. PGROUND.COM The phone dialer MANUAL.TXT A copy of this manual, in ASCII format. READ.ME information not include in the manuals BMCONFIG.COM An installation and configuration program MAKMDF.COM A program for editing and creating modem description files. PMERGE.EXE A program for merging 'foreign' phone directories CONVERT.COM A program to convert your version I phone directory to version II format. SEND.COM A command line file sending utility. ACTIVE.COM A program to deactivate and activate BackMail from the command line or batch file. INSTALLATION To install BackMail it is necessary to run: BMCONFIG.COM It will lead you interactively through all the steps required to install BackMail. CONFIG.SYS You should also look at the CONFIG.SYS file on your boot disk and add or change its file specification so that it contains a line that says: FILES = 20 to insure that your system is capable of keeping enough files open at once for BackMail and your other applications. If you don't already have a CONFIG.SYS file, create one with your text editor with the single entry "FILES = 20". Getting Started 11 CONNECTING YOUR MODEM The setup of you modem is important for BackMail. You should look at the DIP Switches on your modem and ensure that: DTR: The modem should NOT ignore the RS232 DTR line. The DTR should not always be on. CD: Carrier Detect should respond to carrier detect. The Carrier Detect light should not always be on. RESULT CODES: Should be enabled so that result codes are sent to the computer. ECHO COMMANDS: should be set to off so that the modem does not echo commands in local mode. If your modem does not have DIP switches you should make sure that it is initialized so the DTR and CD are enabled. (See Appendix C, for more information on modem settings). PHONE CONNECTION If you are using BackMail for both voice and data calls we recommend that you connect your modem in parallel with your telephone rather that plugging your phone into the "phone" jack at the back of your modem. That way you will be able to talk to any incoming voice calls just by picking up the phone without having to wait for BackMail to give the modem the signal to activate your phone line. +----------+ +---+Telephone | | +----------+ +-------+ +-------+ | |Phone | |Line +---+ | Jack +--+Spliter| | +-----+ +----------+ | | | | +---+Modem+---+Computer | +-------+ +-------+ +-----+ +----------+ þCHAPTERþ5þ BMCONFIG.COM To make the process of installation and configuration as painless as possible, Alethic provides two utilities called BMCONFIG.COM and MAKEMDF.COM. Before you first run BackMail, you should run BMCONFIG. Do so while you are in the same directory as the program files BGROUND, FGROUND, and PGROUND since these files are altered by the configuration process. If you intend to use 'canned' modem description files (MDF's) each of these that you will require should also be in the current directory (these files are described below). BMCONFIG will not operate if BackMail is running. The screen presented by BMCONFIG is divided into three parts. The top window is the title window which tells you the program's name and gives overall directions for moving around and editing. The central window is the menu window in which choices are displayed. The bottom window is the help window in which information is displayed which relates to the choice at the current position of the cursor in the menu window. BMCONFIG is used to set the following: COMMUNICATIONS PORT Permissible values are COM1, COM2, COM3, or COM4. Note that if COM3 or COM4 are selected, BMCONFIG assumes the following interrupt levels: COM3 IRQ4, COM4 IRQ3. You should insure that your modem is set to reflect these assumptions. This might involve setting DIP switches or jumpers and your modem documentation should be consulted. If it is absolutely necessary to change the interrupt level of your selected port (and it should hardly ever be necessary) you can do this from the 'expert' menu of BMCONFIG. ANSWER BAUD RATE AND CALL BAUD RATE These are the baud rates BackMail will use to answer and call. Normally you will set these to the maximum rate supported by your modem. However in some cases (involving old and/or unreliable modems) you may find it useful to select some lesser rate. COLORS You may override the default colors for the BackMail display. BACKMAIL AUXILIARY FILES This is the subdirectory which BackMail will use for its INMAIL, OUTMAIL and PHONE files (as well as its file for temporary memory dump). You may override the default (C:\BACKMAIL) by typing in a new path and if the directory in question does not exist, BMCONFIG will create it after confirming that this is what you wish. Bmconfig.com 13 RECEIVED FILE DIRECTORY This the directory which BackMail will use to store files which it receives. You may override the default (C:\BACKMAIL\TRANSFER) by typing in a new path and BMCONFIG will create the directory you indi- cate if it does not exist. It is important to note that when a file is received with the same name as one which already resides in this directory, the original file will be overwritten. For this reason it is not a good idea to assign some directory to this parameter which already contains files the integrity of which you wish to secure. EXPERT SETTINGS Press Enter at this item to see the menu of 'expert' settings for BMCONFIG. Strictly speaking, not all of the items on the menu are for experts but, try the default BackMail settings before you experiment. In the second menu, you can alter the default settings for: TONE DIAL; This setting toggles between ON and OFF. In the ON (default) setting, BackMail will use 'touch tones' to dial the phone. Otherwise, BackMail will use pulse dialing. WAIT FOR DIALTONE In the OFF (default) position, this switch indicates that BackMail will not wait for a dialtone before dialing out a data call. You should set this switch to ON if you intend to talk on the line as well as BackMailing since otherwise BackMail can start dialing out a data call while you are using the line for a voice call. IMPORTANT NOTE: In order to use this feature your modem must support IMPORTANT NOTE: In order to use this feature your modem must support the 'W' command. Notice also that you may have to set the correct 'X' mode in order to activate dial tone detection. WAIT FOR RETRACE This switch only needs to be changed from its default (OFF) setting if you have an older Color Graphics Adapter (CGA) that produces 'snow' with direct video access. Otherwise don't change this to ON since it will slow down screen access. NOTIFICATION In its default (ON) position, this switch indicates that when BackMail is running in attended mode, a pop-up message will give you warning that new mail has arrived. If you set this to OFF you will be notified that new mail has arrived only when the BackMail main menu is active. UNATTENDED MODE This switch indicates BackMail's mode when it 'wakes up' (i.e. when you first run it). By default (OFF) the mode is attended, which means that it will pop up messages and warnings. Should you set this to ON you won't see these but you should be aware that BackMail will revert to attended mode as soon as you press any of the 'hot keys'. 14 Bmconfig.com DATA-ONLY MODE This switch indicates whether or not you wish to use your line for both data and voice incoming calls. By default (OFF) BackMail will detect that an incoming call is a voice call, 'ring' your computer, and pop up a message informing you of the call (so long as your BackMail is in attended mode). If you set this switch to ON, BackMail will hang up when it gets a non-data call. LAG TIME .This is the time (in seconds) that your modem will wait for a carrier before declaring an incoming call to be a voice call rather than a data call. The best time to pick here is highly modem dependent. On the one hand you want it to be as short as possible so that voice callers have as brief an encounter with your modem as possible. On the other hand you don't want to get a lot of spurious voice calls. LETTERHEAD At this menu choice you can compose your letterhead, which is a line of text that is prefixed to all messages that you send with BackMail. Either press Enter at this point or just start typing your entry. Each of the previous can also be accomplished using the Change Setup function from BackMail's main menu. All of these switches are also explained in the section of the manual that deals with that function. There are also things you can do in the expert menu that can be done nowhere else: SWAP FILE At this menu item you can set a path to the swap file. This is the file that contains about 60K of memory that gets 'swapped out' when FGROUND is brought in over top of a running application. Since the speed at which FGROUND comes in and goes out when you hit the hot keys depends upon how quickly the swap file gets read or written, you might want to try setting this path to a RAM disk. COMM PORT BASE At this menu item you can change the hardware address of the communications port. BackMail knows the correct port addresses for the ports which DOS supports (namely ports 1 through 4) and you will not need to change the defaults unless you have some custom hardware. INTERRUPT LEVEL At this menu item you can change the default interrupt level for the port you have selected. In almost all cases the default setting is the proper setting, although there are circumstances involving custom hardware or non-standard COM3/COM4 boards which might require a change here. LOAD MODEM DESCRIPTION At this menu item you can load a modem description file (MDF). A number of these files are distributed with BackMail and correspond to certain well-known modems and also to standard ways of fixing certain problems that crop up from time to time. Consult the README file on your BackMail distribution disk for details. If your BackMail is not Bmconfig.com 15 behaving correctly, chances are all you have to do is load up the right MDF in order to effect a fix. When you press Enter at this menu option you will be presented with a list of the MDF's in the current directory. Just run the cursor bar down (the list will scroll) to the one you want and press Enter. At that point the display beside this menu option will change to reflect the choice you have made. þCHAPTERþ6þ RUNNING THE PROGRAM If you keep all your executable files in one subdirectory, copy the BackMail '.COM' files to that directory. Then you can start BackMail by entering the command BGROUND. If you keep the '.com' files in a BackMail subdirectory (BACKMAIL for example), then (unless the directory is on the path for your system) to run the program you must switch first to this directory and then enter the command BGROUND. In our example this would be: CD \BACKMAIL BGROUND CD \ If you use BackMail consistently you may want to include these lines in your AUTOEXEC.BAT file. COMPATIBILITY WITH OTHER PROGRAMS Many memory resident programs (e.g. Borland's SideKick) specify that they must be the last memory resident program running at any given time. If you have two such programs, you can't run them at the same time. This is not the case with BackMail. BackMail doesn't care where it is on your queue of memory resident programs. You will find that BackMail is compatible with virtually all commercial memory resi- dent programs. THE FIRST TIME YOU RUN BACKMAIL The first time you run your copy of BackMail, you should call up the main menu (by pressing Alt 1) and then select the Change Setup function in the main menu. From there you should: - Enter your own phone number. This will be your return address for all mailings. - Enter the appropriate dialing prefixes for your phone system. - Enter your letterhead. This will go out over all your messages. This can also be done with the BMCONFIG program. - Enter your Availability Time. This is when other people will be trying to BackMail you. You will find a description of these CHANGE SETUP functions in the appropriate section of this manual. UPGRADING FROM BACKMAIL 1.10 BackMail I's phone directory file, PHONE, is not compatible with BackMail II. If you are upgrading from BackMail I you should run the utility program CONVERT.COM to update your PHONE file. See the chapter 19, BackMail utilities, for details. Running the Program 17 START UP MESSAGES When you run BGROUND, the program will tell you what it's doing as it sets itself up to run, and determines that it has access to the paths and files it needs for its background operation. Checking port and paths Locating and checking mail files Scanning of unread and unsent messages Locating BGROUND.COM and FGROUND.COM Checking and setting up the modem Checking disk free space Among other things, the program will check to see how much disk free space you have and warn you if you have less than the 64K free disk space BackMail needs to run properly. It will also note if your IN- MAIL and OUTMAIL files are getting larger than 16K and advise you to clean out any oversized files in the interests of smooth operation. If it finds that one of the data files it needs to store mail and phone numbers is missing auxiliary files, the program will tell you and ask permission to create new working files. +-------------------------------------+ |The outgoing mail file | |C:\BACKMAIL\OUTMAIL | |could not be found. Please enter: | |N to make a New file | |C to Change disks and try again | |or Q to Quit trying to load BACKMAIL | +-------------------------------------+ The first time:create new files you run the program you should respond with N to tell the program to construct the appropriate data storage file. 18 Running the Program STARTUP BANNER When startup is complete, you'll see this banner which will give you a complete report on the status of your BackMail. +----------------------------------------------+ | BackMail II | | | +----------------------------------------------+ |Version 2.00 Serial 902-05320| | Copyright (C) 1989,90 Alethic Software Inc. | | All rights reserved worldwide | +----------------------------------------------+ |BackMail II loads at 22CB | |Inbound: 10 messages, 1 unread | |Outbound: 2 destinations, 1 unreached | |Modem speed: 1200 Disk free space: 1050K | +----------------------------------------------+ INITIALIZING THE MODEM In the course of its start up procedure, BackMail will send signals to your modem to initialize it. If it doesn't get the right response, it will prompt you: +-------------------------------------------------+ |Time-out error on modem read (A) | |This probably means that your modem is off-line; | |please turn it on, then press any key to retry | |or press Ctrl/C to abort. | +-------------------------------------------------+ This response can sometimes happen even when the modem is on but has got itself miss-set by another program or random line noise (modems are temperamental beasts). In that case, turn your modem off, then on, to reset it; and hit any key to tell BackMail to retry its initialization of the modem. þCHAPTERþ7þ MAIN MENU +----------------- BackMail II -----------------+ | (902) 423-9860 Wednesday 1 September | | Offline 13:50:21 | +- +----------------- BackMail II -----------------+ | (902) 423-9860 Wednesday 1 September | | Calling Tom Smith 14:01:30 | +----- +----------------- BackMail II -----------------+ | (902) 423-9860 Wednesday 1 September | | On line with The Boss 14:09:53 | +--- +----------------- BackMail II ------------+----+ | (902) 423-9860 Wednesday 1 September | | Voice Call in Progress 14:30:24 | +-------------------------- You have new mail --+ +----------------- BackMail II------------------+ | (902) 423-9860 Wednesday 1 September | | Offline 13:50:00 | | +------- OPTIONS --------+ | | | Read Incoming Mail | || change option | | | Send a message | <+to select | | | Send a File | or press bright | | | Maintain Incoming mail | letter | | | Maintain Outgoing mail | | | | Display status | Esc to exit | | | Update Phone Directory | U unattended | | | Change Setup | K Kill program | | +------------------------+ G Register | +------------------------- You have new mail ---+ The top two lines of the Main Menu display your phone number, the time and date (set by your internal clock) and the current status of the program. These two lines will remain on screen while you do other BackMail tasks. This status line will change to tell you what BackMail is doing. KEEPING TIME Since BackMail schedules its calls using the system time set in your computer, and date stamps all its messages according to the system date, it is important that these be set correctly at the beginning of any work session. If your system does not have a real time clock you can set the date and time by using the MS-DOS commands TIME and DATE at the system prompt. MAKE SURE YOUR PHONE NUMBER IS CORRECT Since your phone number is your return address for all BackMail mailings, it's important to make sure that it is correct. BackMail will ask you for your phone number if it is not set. Be sure to include your extension if your phone has one. 20 Main Menu SELECTING A FUNCTION In all BackMail menus, the currently selected function is indicated by a cursor bar; use the arrow keys on the keypad to move the cursor and hit Enter to select that function. As a short cut, you will notice that there is a highlighted letter on each line of the menu; pressing the letter will select that function. REMOVING BACKMAIL FROM MEMORY BackMail doesn't use much memory. The memory resident portion of the program occupies only 33K RAM. Still, there may be times you want to remove BackMail from memory. You can do this by hitting "K" any time you see the BackMail Main Menu. The program will ask for confirmation before it proceeds. Note that killing BackMail may disrupt any program that has been loaded after BackMail. This will include other memory resident programs and any foreground process that is running when you kill BackMail. In most case killing BackMail will not affect your foreground program or other Resident programs that you are running. However for maximum safety you are advised to kill BackMail only at the DOS prompt and to check the effects on other TSR programs you may be running. It is particularly dangerous to kill BGROUND if any programs that take over interrupts are loaded after it. DEACTIVATING BACKMAIL It can sometimes happen that you want to tell BackMail not to place any calls or answer the phone for a period of time. To do that you can suspend BackMail, from the foreground by pressing the DEACTIVATE hot key (default: Alt 3). Pressing the key again will reactivate the program. A utility, ACTIVE.COM, is provided so that BackMail can be deactivated and reactivated from a batch file. Suppose that you sometimes run a terminal program called MYTERM and you don't want to be forced to remember to deactivate BackMail before running the terminal program and reactivate after. Construct a batch file (using your favorite text editor) called, say TERM.BAT, which contains the lines: active OFF myterm active ON Now instead of invoking your terminal program by entering "myterm" you would instead enter "term" with the result that BackMail would be automatically be deactivated before your terminal program runs and reactivated afterwards. USING OTHER COMMUNICATIONS PROGRAMS It is especially important to DEACTIVATE BackMail if you are going to be running another communications program to talk to a mainframe computer. BackMail has no way of knowing that your foreground program is trying to use your modem and as a result, if active, may try to dial out while you are on-line. The easiest way to 'bombproof' this procedure is to construct a batch file as discussed above. Main Menu 21 REACTIVATING will re-initialize you Modem to operate with BackMail. RUNNING UNATTENDED BackMail has two operating modes, Attended and Unattended. In attended mode BackMail assumes that you are present at your machine to accept voice calls or to cope with disk errors and similar problems. When you put BackMail in Unattended mode, you are telling the program to operate on its own. BackMail will still place and receive BackMail messages, but it will not try to get you to answer voice calls. Use unattended mode if you are going to leave your machine running unattended for some extended period of time. You can switch BackMail from attended to unattended mode by pressing the U key when you see the main menu. +-------------------------------------+ | BackMail is now running unattended. | | Pressing any hot key will bring | |it back to Attended mode | +-------------------------------------+ Pressing any key will take the message away and allow you to use your computer for other things in the meanwhile. The program will revert from Unattended to Attended mode if you let it know you are present by pressing any hot key combination. CALL NOW Call About every three minutes your BackMail (when it is active) right checks to see if there any calls it should be making. The away time varies slightly with your phone number so that distinct BackMails have distinct periods - which prevents them from getting in 'synch' and always calling each other at the same time. When you compose and address a message, or queue up a file to go out, in the 'worst case' (assuming that BackMail is not engaged in another send task) it could take three minutes for the call to be made. You can override this waiting period however, by pressing "N" at the main menu. Doing that tells BackMail to make its next call right away. Take warning: It might happen that your destination has mail for you, and is just as impatient. The two of you could be hitting "N" at the same time for the rest of the day, to no good effect. If you press "N" and nothing happens, this means that BackMail has no 'next call' to make. If you know that there is mail pending to at least one destination, it follows that either the destination(s) in question are either not available now, or suspended. REGISTER If you have yet to register, then when you first bring up the BackMail main menu, you will see that you have the opportunity to go through the registration process by pressing "G". 22 Main Menu The "G" Note. The "G" option only appears on your BackMail menu if isn't you have just brought up the Main Menu. If you elect any always other option at this time, the option to register will there disappear. In other words, you can only register when you first bring up the main menu. þCHAPTERþ8þ SEND A MESSAGE This function allows you to send a message to any destination in your BackMail Phone directory. A BackMail message can be of any length and can contain any ASCII or IBM character. Invoking this function immediately places you in the BackMail editor. THE BACKMAIL MESSAGE EDITOR The editor is not a full-fledged word processor nor does it pretend to be. It is intended for sending simple plain text messages without fancy formatting. The message editor is designed to be easy to learn and to use. If you want to send letters as formatted by your word processor, you can send them as files (see SEND A FILE). +- BackMail Message Editor ------------------------------------+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +--------------------------------------------------------------+ EDITOR COMMANDS Tab tab -> delete previous character Del delete character under the cursor Home move cursor to the start of line End move cursor to the end of line Ctrl+Home move cursor to top of screen Ctrl+End move cursor to the end of screen PgUp Screen up 24 Send a Message PgDn Screen down þ8þ þ2þ arrow keys control cursor movement Ctrl <- Word right Crtl -> Word left Esc Finished editing message F1 To abort, abandoning work F10 Help with Editor Commands HOW LONG CAN MESSAGES BE? The maximum length of a message is 100 lines of text. Send a Message 25 SUBJECT LINE When you are finished composing your message you exit the editor by hitting Esc. You will then be prompted to enter a subject line for your message. +-------------------------------------+ |Subject Line (40 characters maximum):| |- | +-------------------------------------+ Use Backspace to delete characters already entered. Hit Enter or Esc when you have finished entering your subject line. The subject line will identify the subject of your message to your destination. ADDRESSING YOUR MAIL When you have given your message a subject line, you will then be shown your Address directory. +-----------------------------------------------+ | Use arrow keys || to scroll phone list | | Select / Unselect destinations with <+ | | Suspend / Unsuspend destinations with Del | | F1 to cancel send F2 cc list Esc when done | +-----------------------------------------------+ | All internal (int) numbers | | All local numbers | | >Albert A local 467-9876 18:00-00:00 | | Bob B. intern 4890 09:00-17:00 | | >Charles W. local 498-3984 12:00-15:00 | | Dale Gass local 423-9870 18:00-23:30 | | Harry S. long (212) 788-6620 05:00-13:00 | | Sales intern 4206 | | The Boss intern 4409 09:30-16:30 | | Tom local 435-3427 19:00-00:00 | | Zak Z. long (414) 384-9984 06:00-12:00 | | ------------ End of Directory -------------- | +- cc. lists -----------------------------------+ Each line in the directory shows you: - The destination's "handle" (your short name for that destination), - The dialing prefix label for that destination (e.g. Local, Long Distance, Inter-office). (For more about what these prefixs mean and how they are set see the chapter 15, Change Setup) - The destination's phone number. - The time period during which that destination has declared itself available for receiving mail. This time is important since it 26 Send a Message tells you the period during which BackMail will schedule its call to this destination. - in place of a destination's availability time - in place of a destination's availability time indicates that you have told BackMail not to send anything to that destination. SELECTING A DESTINATION Use the arrow keys on the keypad to move the bar cursor to each destination you want to send your message to and hit Enter. A mark will appear beside each destination you select, and that destination will be highlighted. You may select as many different destinations for your message as you wish. Hitting Enter beside a selected destination unselects it so that mail will not be sent to that destination. MASS MAILINGS The top two entries are useful for mass mailings. They address your message to everyone in your BackMail directory with the associated phone prefix label. Thus, for example, selecting "All internal numbers" would send your message to everyone in your directory with the dialing prefix for your inter-office intercom. In addition to the two predefined groups, you can, through the Change Setup function on the main menu, define up to six additional groups. Consult the manual section on that function for details. SENDING TO GROUPS If you have defined group names under CHANGE SETUP you will find the names of these groups displayed at the top of your destinations directory. If you select a group name this will send your message to all the members in your phone directory which have defined as belonging to your group. See the entry under "Group Select" in chapter 15, CHANGE SETUP. +-----------------------------------------------+ | Use arrow keys || to scroll phone list | | Select / Unselect destinations with <+ | | Suspend / Unsuspend destinations with Del | | F1 to cancel send F2 cc list Esc when done | +-----------------------------------------------+ | All internal (int) numbers | | All local numbers | | My group | | Friends | | Romans | | Countrymen | SUSPENDING DESTINATIONS It can sometimes happen that you know that a particular destination will not be available for BackMail at a given time or that you have some reason for not wanting to BackMail a particular destination. In that case you can Suspend that destination from either the DISPLAY STATUS menu or while you are addressing your mail. BackMail will not Send a Message 27 attempt to send any mail to a suspended destination but it will deliver its mail to that destination if it calls you. Note: suspending a destination does not delete it from your phone Note: suspending a destination does not delete it from your phone list, nor does it delete any mail that you have marked for that destination. It simply means that destination will not be BackMailed until you remove the suspension. To suspend or unsuspend a destination use the arrow keys to move the bar cursor to that entry and hit Del. 28 Send a Message WHEN YOU HAVE ADDRESSED YOUR MAIL When you have finished addressing your message, hitEsc. BackMail will add this message to its outgoing mail queue and return you to the BackMail main menu. ABORTING THE MESSAGE If you decide at this point that you do not want to send your message after all, hitting F1 will return you to its main menu. Note that if you do this the message you have written will be discarded. CC LISTS Circula If you address a message to more than one destination tion BackMail, will append a CC list to the bottom of the message. Lists In order to construct this list, BackMail uses the handles of the destinations in question. It is also possible to send 'blind copies'. The F2 key toggles whether or not CC lists will be appended, and the state of the toggle is shown on the bottom menu border. The default value of the toggle is ON (i.e. by default, CC lists will be sent). If you have selected multiple destinations by selecting a group (e.g. all internal, or some user defined group) then BackMail will append the group name as the CC list rather than all of its members. þCHAPTERþ9þ READ NEW MAIL This function gives you direct access to all of your unread, incoming messages. When you select it from the main menu you are presented with a list of all the unread mail you have received. +- Date - Time -- From -------- Subject ------------------------+ | May 8 10:20 Home Grocery List | | May 8 10:35 The Boss New Pricing Policy | | May 8 10:39 Tom Smith Poker Tonight? | | May 8 10:45 Joe Jones FILE: whiz.com (45k) | | May 9 11:11 CEO FILE: lotus.wks (22k) | | May 10 9:20 Bob Brite Did you see the game last night? | | May 10 10:02 S. Sherwin Note on the last chapter | | May 10 10:27 PKS Sending you a program | | May 10 10:29 PKS FILE: Game.exe (49k) | | May 10 11:10 Mike H Give me a voice call | | <** End of Messages **> | | | | | +---------------------------------------------------------------+ RECEIVED FILES FILE: The FILE: prefix indicates a file that has been sent and The FILE: prefix indicates a file that has been sent and Notices stored separately to disk. Files are listed as incoming mail to let you know they have been received. NOTE: You can't "read" a received File with BackMail (it might be a NOTE: You can't "read" a received File with BackMail (it might be a '.COM' or '.EXE' file). If someone has sent you text in file format you can print it out outside of BackMail or read it under an appropriate word processor. If you select a file and press the return key, the file notification will simply be removed from the file list. To read your unread messages you can either: - Position the cursor bar on the message you want to read and hit Enter - Hit F1. BackMail will show you all your unread messages in sequence. INCOMING MESSAGES which appears at the top of the window, and is automatically stamped with the time the message was composed and the sender's . 30 Send a Message +- Message: This is the subject line of the message -----------+ | | | From: The Chief Programmer | | Message composed: April 14,1987 | | | | Dear User, | | This is a sample BackMail message. Once you have read | | the message you can hit: | | | | Esc To finish reading the message | | F1 To finish reading the message leaving it marked UNREAD | | F2 To REPLY to the message | | F3 To FORWARD the message | | | | Yours, | | P.K.Schotch | +--------------------------------------------------------------+ REPLYING TO MESSAGES To reply to a message currently on the screen, hit F2. This will call up the BackMail Editor. When you have finished composing your reply and have exited the editor, BackMail will return you to the message. BackMail knows who sent the message and will automatically direct your reply back to its source. If the message to which you wish to reply is from 'unknown' (i.e. from a destination, the phone number of which is not in your phone directory), then pressing F2 will first take you through the phone directory editor where you will be asked to supply, the full name, and handle for this destination. BackMail will already have filled in the phone number, availability time and other information for you. +- Time - From --- Subject --------------------------------+ | 10:40 Stan When should we meet? | | 10:50 Stan Re: Re: When should we meet? | | 11:05 Stan Dialog Re: When should we meet? | | 11:21 Stan Dialog Re: When should we meet? | | 11:37 Stan Dialog Re: When should we meet? | | 11:52 Stan Dialog Re: When should we meet? | | 17:41 Stan Dialog Re: When should we meet? | To help everyone keep track of the exchange, the reply will bear the original subject line of the message prefaced by "Re:". On the third reply to a reply this changes to "Dialog Re:" There is no limit on the number of times a reply can be replied to. FORWARDING MESSAGES To forward a message you are reading to another BackMailer, hit F3, and select the destination(s) you want from your BackMail directory. Messages you forward are prefixed by "Forwarded From", but preserve the original sender's letterhead so that you can trace the route of a message. A message sent from Tom to Dick and Forwarded to Harry would appear on Harry's machine as: Read New Mail 31 +- Message: User's Group Meeting -------------------------------+ | From the desk of Dick Jones | | Message composed Sep 15 14:01 | | | | FORWARDED FROM: Tom Smith (903) 423-9985 | | From the desk of Tom Smith | | Message composed Sep 15 13:32 | | | | Dear Dick, | | Please tell anyone who might be interested that the | | meeting is at my place this Friday. | | | | Tom | | | +---------------------------------------------------------------+ There is no limit to the number of times you can forward a message. You can forwarding replies and you can reply to forwarded messages. Remember, though, that when you reply to a forwarded message your reply goes to the person who forwarded the message to you, not the person who originally composed that message. MARKING MESSAGES AS READ OR UNREAD All the messages and file notices that you receive are automatically stored in your INMAIL mailbox file. They won't be lost until you Delete them using the MAINTAIN INCOMING MAIL function in the Main Menu. However the READ INCOMING MAIL function only lists new, unread mail. When you have finished reading, replying to, or forwarding a newly received message, hit Esc. Doing this marks the message as READ, it is stored in INMAIL and is no longer treated as new mail. Sometimes, you may wish to keep a message in the list of new messages so that you can get quick access to it for rereading, forwarding and replying. In that case you should exit the message by hitting F1. This leaves the message marked as UNREAD and it will remain in your list of new, incoming mail. SEND A FILE Use this function to have BackMail send a file. The file can be of any type including .COM and .EXE files, and of any length. The only restriction is that the destination must have sufficient disk space to receive the file. Before the file transmission actually begins, a check is made and if the receiver hasn't got enough space, the send will be aborted. In that case a notation will be made in your OUTMAIL file to this effect. When you look at the file under the Maintain Outgoing Mail function from the main menu, you will see the notation NO SPACE TO RECEIVE FILE next to the file name. The command line utility SEND can also be used to transmit files under BackMail. Consult the Chapter 19, BackMail utilities, for the details. +----------------------------------------------+ | Name of file to send or directory to search: | | _ | +----------------------------------------------+ You can enter the file name directly, or you can just hit Enter to get a directory listing of your current directory. +- C:\*.* ----------------------------+ | DOCS | | BINS | | BACKMAIL | | WORDP50 | | GRAPHICS | | GAMES | | UTILITY | | LOTUS | | COMMAND.COM 1K | | AUTOEXEC.BAT 1K | |>COMP.COM 2K | | CONFIG.SYS 1K | |>VOGON.EXE 22K | | ** no more files ** | | | | | +- Highlighted files will be sent ----+ Use the arrow keys to move the cursor bar up and down. Pressing Enter for a selected will give you a listing of that for a selected will give you a listing of that directory. F2 will return you to your root directory. Enter for a file will select that file to be sent. Send a File 33 Selected files appear Highlighted with a mark beside them. Enter for a selected file will deselect it. Send You can select files to send from different directories. You Many can select a group of up to 100 files each time you bring up Files the sub directory window. at once +---------------------------------------------+ |Name of file to send or directory to search: | | D:\DOCS\*.BAK | +----+---------------------------------------------+ |Name of file to send or directory to search: | | C:\?GROUND.COM_ | +----+---------------------------------------------+ |Name of file to send or directory to search: | | .\*.DOC | +---------------------------------------------+ You can also use standard DOS aliases and wild cards in sending files. FILE SIZE Any There is no limit on the size of files you can send. size BackMail will, however, abort a file transmission if the receiving machine has insufficient disk space to receive the file. In this case an annotation will be made in the sender's OUTMAIL file reporting that the destination has insufficient disk space. If you receive this notification:No space you should send the destination a message asking them to make room for the file you want to send them. ADDRESSING A FILE When you have finished marking all the files you wish to send hit Esc. BackMail will then present you with the list of BackMail destinations in your directory and you can address your mail just as you do under SEND MESSAGE. F1 will abort the file sending process. 34 Send a File SUSPENDING DESTINATIONS It can sometimes happen that you know that a particular destination will not be available for BackMail at a given time or that you have some reason for not wanting to BackMail a particular destination. In that case you can Suspend that destination by using DISPLAY STATUS. _______ ______ BackMail will not attempt to send any mail to a suspended destination. Note that suspending a destination does not delete it from your phone list, nor does it delete any mail that you have marked for that destination. It simply means that destination will not be BackMailed until you remove the suspension. If a destination calls you while you have it suspended then BackMail will give it any mail you have posted to it (unless the caller has told BackMail not to accept return mail. See Chapter 14, UPDATE PHONE DIRECTORY for an explanation of this feature). To suspend or unsuspend a destination use the arrow keys to move the bar cursor to that entry and hit Del. DISPLAY STATUS This function allows you to examine the list of calls that BackMail has currently queued to transmit and the status of these calls. +--------------------------------------------------------------------+ |Messages to The Boss have been sent | |Messages to Tom S. still pending after 02 callattempts.| |Messages to Harry B still pending after 01 call attempts | |Messages to Home still pending after 00 call attempts | | **No more entries** | +--------------------------------------------------------------------+ BackMail schedules its calls by taking account of the destination's availability time and the priority you assign that destination. BackMail will update this list about once an hour, and every time you address new mail or perform maintenance on OUTMAIL. STATUS REPORTS Each line of DISPLAY STATUS gives the handles of all the destinations to which you have pending mail or to which mail has been recently delivered. Lines like: +-------------------------------------------------------------+ |Messages to John Smith still pending after 02 call attempts| | | indicate that BackMail has called this destination but has been unable to deliver mail to it. This will happen if the destination's line is busy or if the destination does not have BackMail running. The count of attempts is reset to zero each time you restart BackMail. The count is also reset to zero after you use the MAINTAIN Outgoing Mail option. If it seems that a particular call has not been retried for some time this is probably because: - The user is unavailable at this time. Note that the destination has set its own availability time. Normally you should respect has set its own availability time. Normally you should respect this but if you are absolutely certain that the user is available and would not mind receiving traffic you can manually change the destination's availability time using the UPDATE PHONE DIRECTORY function called from the MAIN MENU. - You have reached the Maximum Retries permitted for this - You have reached the Maximum Retries permitted for this destination this hour. This value is set by the destination but can be changed by you in UPDATE PHONE DIRECTORY. - You have been exchanging a lot of mail with a different High - You have been exchanging a lot of mail with a different High priority destination and BackMail has not found time to send this priority destination and BackMail has not found time to send this destination. 36 Display Status WELCOME FILE NOTICE If you have selected a file to be sent to new callers under using the CHANGE SETUP function "Welcome File". The status line will reflect this with a line saying: Filname.ext has been queued for unknown callers Where "Filname.ext" will be the name of your welcome file. For more information on welcome files see chapter 15, on CHANGE SETUP. SCRIPT ERROR MESSAGE If you are using a BackMail dial out script BackMail will report errors involving the scripts on the display status line. The error messages are: Messages to Joe Smith unsent: script error Messages to Joe Smith unsent: script i/o error Messages to Joe Smith unsent: script log error Chapter 18 , BackMail scripts, explains the meanings of these error messages and the appropriate corrective action. SUSPENDING DESTINATIONS You can suspend destinations from the DISPLAY STATUS screen. See the entry under SUSPENDING DESTINATIONS in SEND MESSAGE for an explanation of suspension. MAINTAIN INCOMING MAIL MAILBOX MAINTENANCE Your INMAIL and OUTMAIL files contain, respectively, all the mail you have received and sent using BackMail. These files can be of any size, but the larger they get the more time BackMail must spend in managing these files when it adds or sends messages, or shows you your mail. Since the time it spends accessing your disks is about the only time when BackMail competes with foreground processes for the machine's resources, keeping these files small is a good way to guarantee the efficiency of BackMail operations. So we recommend that you maintain your mailbox by deleting messages that you have read. If you wish to keep a copy of a message you can append it to a separate text file before deleting it by hitting F4. The optimum size for your INMAIL and OUTMAIL files is less than 16K. If your files have gotten larger than this, BackMail will tell you when you first run the program and advise you to do some mailbox main- tenance. MAINTAINING INMAIL +- RECEIVED --------- FROM ----------- TOPIC ------------------------+ | Aug 1 09:35 The Boss Send me the projections | | Aug 9 10:40 Home Pick up groceries | | Aug 9 10:52 Tom Smith Sending you a spreadsheet | | Aug 9 10:53 Tom Smith File: PROJECT.WKS (39k) | | Aug 9 11:10 Bob Bright Meeting tomorrow | | Aug 9 11:15 Jim Martin Dialog Re: Your proposal | | Aug 9 11:30 Sam. S Hows it going? | | Aug 9 11:41 Home Something else... | | Aug 9 11:50 The Boss Re: Re: Send me the projections | | ** No More entries ** | | | | | +-- Highlighted Messages are unread ---------------------------------+ This menu allows you to review all of the messages and files notices, read and unread, you have received over BackMail. When you select this function the contents of your INMAIL file will be displayed showing you the time received, sender, and subject line of each Message. Moving the cursor bar to select a message, you can... Enter By hitting Enter you can read the message just as you do with READ NEW MAIL. When you read the message you can REPLY to or FORWARD it just as you do in READ NEW MAIL. Del Marks the selected message in INMAIL to be . Pressing Del Del Marks the selected message in INMAIL to be . Pressing Del again will remove the deletion mark. 38 Maintain Incoming Mail F1 Quit the maintenance menu without deleting any messages or file notifications. F3 Forward the selected message to any destination in your BackMail directory. F4 Append the selected message to a separate DOS text file you select. F5 Delete all unread of the unread mail from INMAIL. F6 Delete all mail from INMAIL. Esc Exit the INMAIL Maintenance menu purging all messages marked . . DELETING MAIL Note that messages marked are not actually purged from your Note that messages marked are not actually purged from your INMAIL file until you exit from this menu using Esc. If you have second thoughts about deleting a message you can remove the deletion mark or you can use F1 to exit from the menu without deleting any entries. DELETING FILE NOTICES Under the INMAIL and OUTMAIL maintain functions you will see notifications of files that you are sending or have received. Thus if you have received a file called "filename.com" it would appear in your INMAIL mail box as. File:filename.com When you do an INMAIL MAINTAIN the program automatically removes the file notices, whether or not you have deleted them when you exit the INMAIL MAINTAIN function. Note though that all that is removed from your INMAIL file is the notification of the file's arrival. The file itself is still in your incoming files directory and will not be deleted or altered by BackMail. Maintain Incoming Mail 39 APPENDING MESSAGES TO FILES +---------------------------------------------------------------+ | Enter name of file to append to: | | _ | +---------------------------------------------------------------+ This option allows you to extract a message from your INMAIL file and save it to disk in an ASCII text file. When you select this function BackMail will prompt you for the name of the file you wish to create for the message. You may specify a destination path in your name for the file. If the file you select already exists BackMail will append the selected message to that file. If you give it a new file name it will create a file to hold the message. By default, BackMail will use the last filename you entered in the current mailbox maintenance session. MAINTAIN OUTGOING MAIL +--Sent --- To -------------- Topic ----------------------------+ | 10:35 The Boss Here are the projections | | 10:40 Home Pick up groceries | | 10:52 Tom Smith Sending you a spreadsheet | | 10:53 Tom Smith File: C:\LOTUS\DATA\PROJECT.WKS (37k) | | 11:10 Bob Bright Meeting tomorrow | | 11:15 Jim Martin Dialog Re: Your proposal | | 11:30 Sam. S Hows it going? | | 11:41 Home Something else... | | 11:50 The Boss Re: Re: Send me the projections | | ** End of Messages ** | | | | | +---------------------------------------------------------------+ This function allows you to review your outgoing messages to see what files you have addressed to others. This includes your replies to messages received and messages you are forwarding to other destinations. Each message is marked with a time. This is the time at which the message was composed and addressed. Messages that appear in highlighted characters on the screen are messages that are as yet undelivered. By selecting a message using the cursor bar you can... Enter By hitting Enter you can read the message just as you do with READ NEW MAIL. Del Marks the selected message in OUTMAIL to be . Pressing Del Marks the selected message in OUTMAIL to be . Pressing Del again will remove the deletion mark. F1 Quit the maintenance menu without deleting any mail. F3 Readdress the message to send it to additional destinations F4 Append the selected message to a separate DOS text file you select. F5 Delete all of the sent mail from OUTMAIL. F6 Delete all mail from OUTMAIL. Esc Exit the OUTMAIL Maintenance menu purging all messages marked . . Most of these functions in MAINTAIN OUTGOING MAIL work just as they do in MAINTAIN INCOMING MAIL with the exception of F3, readdressing. Maintain Outgoing Mail 41 APPENDING TO FILE Appending a message in INMAIL to a separate DOS file, automatically removes it from INMAIL. Messages appended to files from OUTMAIL maintenance, remain in OUTMAIL and will be sent, if they haven't been. READDRESSING OUTGOING MAIL This function allows you to add new destinations for an outgoing message. It is particularly useful if you wish to send a reply to destinations other than the one to which you originally addressed it. When you readdress a message the program will ask you to give the message a new subject line. If the existing subject line of the message is appropriate just press the Enter key. MAINTAINING WHILE ONLINE Because BackMail requires rapid access to the OUTMAIL file when it is in contact with another copy of BackMail, you cannot do OUTMAIL maintenance while online. If you call up this menu while on line BackMail will ask you to wait. Pressing a key will return you to the main menu. +----- WARNING ------------------+ | Outmail maintenance cannot | | be carried out while on line. | | Please wait. | +- Press any key ----------------+ If a call comes into BackMail while you are doing OUTMAIL Maintenance, BackMail will not be able to send messages you have addressed to that caller. Those messages will be sent at a later time. +--Sent --- To -------------- Topic ----------------------------+ | 10:35 The Boss Here are the projections | | 10:40 Home | | 10:52 Tom Smith Sending you a spreadsheet | | 10:53 Tom Smith File: C:\LOTUS\DATA\PROJECT.WKS (37k) | | 11:10 Bob Bright Meeting tomorrow | | 11:15 Jim Martin | | 11:30 Sam. S Hows it going? | | 11:41 Home Something else... | | 11:50 The Boss | | ** End of Messages ** | | | | | +---------------------------------------------------------------+ SPECIAL STATUS MESSAGES NO SPACE TO RECEIVE FILE You will see this message if the destination NO SPACE TO RECEIVE FILE You will see this message if the destination BackMail has found insufficient disk space to store a file you wish to send it. If you see this message you might send a (brief!) note to the destination advising him to clean up his act. 42 Maintain Outgoing Mail RECEIVER TIMED OUT This indicates that the destination failed to RECEIVER TIMED OUT This indicates that the destination failed to respond appropriately to some request from your BackMail. There are two explanations. The destination has rebooted his machine or killed BackMail while on line. There are a very small number of programs (badly written ones) incompatible with the sort of multi-tasking that BackMail performs in the background. If your destination starts running one of these in the foreground while its BackMail is communicating with yours then your BackMail will time out. TERMINATED BY RECEIVER You can interrupt a BackMail transmission to TERMINATED BY RECEIVER You can interrupt a BackMail transmission to make a voice call. If a destination does this to you while you are sending a file, you will get this message in your DISPLAY STATUS. If a destination that has called you does this, you will see: TERMINATED BY SENDER If BackMail loses communications with a TERMINATED BY SENDER If BackMail loses communications with a destination for a reason it diagnosis as resulting from somehow losing a phone connection it will give you this message LINE BREAK ERROR BackMail does a very careful check of the LINE BREAK ERROR BackMail does a very careful check of the reliability of all of its transmissions. If a block of incoming code fails this check BackMail will get the transmitting BackMail to resend it. If the incoming data repeatedly fails these tests BackMail will terminate the call. NOTE: These status line errors are for information only. In most NOTE: These status line errors are for information only. In most cases BackMail will keep trying to deliver its mail, even if one of these errors has appeared, subject to the usual constraints of availability times. The exception is in the event that BackMail has received a NO SPACE TO RECEIVE FILE from a destination, in has received a NO SPACE TO RECEIVE FILE from a destination, in which case BackMail will not attempt to call that destination again until you have MAINTAINED OUTMAIL and seen the message. UPDATE PHONE DIRECTORY This menu manages your BackMail phone directory. The phone directory lists entries with their full, 40 character names, together with their voice and data numbers. When used as an autodialer, BackMail provides an easy method to dial your calls and to build an expanding personal phone directory. (The program's function as an auto-dialer and phone book for your voice calls is discussed in chapter 16.) This Main Menu function is provided so that you can view all of the numbers that you talk or send BackMail to. But its primary use is to add or update information about the destinations in your personal BackMail network. VOICE AND DATA NUMBERS Almost everyone in your phone list will have a voice number, a number at which you can reach them for voice calls. The autodialer function allows you to add a new voice number to the directory any time you make a voice call. The voice and data numbers may be the same but they need not be. When you use BackMail's autodialler (Default Alt 2) to place a voice call it will call the voice number. BackMail will use the data number for sending messages or files. You can enter voice numbers for people you do want to voice dial but who do not have a BackMail and you can have destinations with BackMail, but not voice numbers. Of course, some of the people in your directory will also have BackMail; so they will have a data number as well, a number which the program will call to deliver its mail. Often, individuals will use the same number for their voice and data calls. But it is also common, particularly in business settings, for users to have a separate number for voice and data. BackMail can handle all of these possibilities. DIRECTORY LISTING When you call Update Phone Directory, it shows you a list of all of the phone numbers in your directory in alphabetical order. 44 Update Phone Directory +-- NAME -------------------------- VOICE PHONE --- DATA PHONE -----+ | BackMail Central (902) 429-2811 | | Albert Andrews 467-9876 | | Bob Bright 4890 4891 * | | Dale Gass 498-3984 498-3984 * | | Dick Jones 423-9870 423-9870 | | Harry Silver (212) 788-2720 (212) 788-2756 || | Fourth Floor 4206 | | Peter K. Schotch 4409 4419 | | Tom Vinci 435-3427 | | Zebida Zumquat (414) 384-9984 (414) 384-9984 | | ----------------- End of Phone directory --------------------- | | | | | +-*=High Priority --#=Poll --*=Secure --*=Refuse return Mail -------+ The symbols beside some of the data entries indicate that they get special handling by BackMail. Their meanings are explained below. When presented with your phone directory list, use the arrow keys to scroll the cursor bar to scroll through the list. Enter will allow you to edit the selected entry. Del will delete the selected entry from the directory. Ins will add a new entry to the list. Esc will return you to the Main Menu. Alphabe Entering other characters from the alphabet will jump the tic cursor forward to the next entry in the phone directory that Look up begins with that letter. ADDING A NEW BACKMAIL DESTINATION Pressing Ins will allow you to add a new destination to your BackMail directory. The first thing you will see is a display for entering the necessary information for making voice calls to the destination. +-------------------------------------------------------------+ | Name: | | Voice phone: Ext: Prefix\Suffix:Long | | This person does have a copy of BackMail | +-------------------------------------------------------------+ Editing The currently selected data field is highlighted. You can fields type the relevant information directly into that field or use the up and down arrow keys to move from field to field. If the program beeps at you when you try to leave a field, that means that it wants you to hit Enter to confirm that the information in the field you are leaving is correct. Update Phone Directory 45 DESTINATION'S NAME The first thing you will want to do is enter the name of the destination. The full name can be up to 40 characters long. This is the name you will see when you bring up BackMail's voice autodialer. VOICE PHONE NUMBER Simply type in the number of the destination you are adding. If you are dialing a standard North American style number (3 digit Area Code + 7 digit number) you do not have to include hyphens or parentheses; BackMail will insert these when you hit Enter. The If you want your number to take a different format (say, a phone longer or shorter area code) you should enter the area code number in parenthesis and use a dash "-" if appropriate. For more format information on the formatting of phone numbers see Appendix A, Formatting phone numbers. No need If you do not include an area code in the number, BackMail to will assume that it has the local area code, that is, the enter area code of your phone number as it appears in the BackMail area Main Menu. Note that if this is a BackMail destination, it code is not necessary to fill in the voice number. Leaving the voice number blank will simply mean that the autodialer will not show you a number for this destination. PREFIX NAMES AND PREFIX NUMBERS The next information to enter is the destination's prefix. A few words about prefixes are in order. In some phone systems one must dial "9" to get an outside line. One must always dial "1" to reach a long distance number, and some users will have special prefixes that charge calls to their credit cards or access economical long distance services. To keep your screen from being cluttered with numbers, BackMail allows you to enter commonly used prefix strings, and gives them names. The three predefined names are: Internal: For calls over an inter-office intercom line. Local: For ordinary local calls. Long: For long distance calls. You can change these names and add up to five more, using the Phone Prefixes option in the CHANGE SETUP Menu (described below); it is in that menu that you set the numbers that will be used for these dif- ferent kinds of destinations. To set the appropriate prefix for your destination, move the highlighted cursor bar to the prefix line and hit the þ+þ or þ-þ keys. These will cycle you through the available prefixes. 46 Update Phone Directory +-------------------------------------------------+ | Name: Alethic Software Inc | | Voice Prefix: Intern | +--+-------------------------------------------------+ | Name: Alethic Software Inc | | Voice Prefix: Local | +--+-------------------------------------------------+ | Name: Alethic Software Inc | | Voice Prefix: Long | +--+-------------------------------------------------+ | Name: Alethic Software Inc | | Voice Prefix: *unset | +-------------------------------------------------+ The "*unset" prefixes are ones that you have not defined using Change Setup. For more on how to set prefixes, see the entry on "Phone Prefixes" under the CHANGE SETUP menu. EXTENSIONS This is a number of from one to four digits used in an office intercom system. This is the number your BackMail will dial if the prefix of the destination is "Intern". Note: even with numbers which are reachable through extensions Note: even with numbers which are reachable through extensions you should include the main switchboard number in destination's "phone number" field. Note too that to call a number with an extension you must know what its extension is. See the section in appendix A, "Understanding Extension Numbers". If you If you do not fill in this number but set the destination's don't prefix as INTERN then BackMail will use the last four digits include of the phone number in calling that destination. an extensi DOES THIS DESTINATION HAVE A BACKMAIL? on If the destination you are adding has a BackMail, move the bar cursor over the line that says "This person does not have a copy of BackMail" and hit Enter. The line will change to "This person does have a copy of BackMail" and the window will expand to allow you to add information which is relevant to BackMail calls. Update Phone Directory 47 +-------------------------------------------------------------+ | Name: | | Voice phone: Ext: Prefix\Suffix:Long | | This person does not have a copy of BackMail | +----- +-------------------------------------------------------------+ | Name: | | Voice phone:(902)424-6581 Ext: Prefix\Suffix:Long | | This person does have a copy of BackMail | |-------------------------------------------------------------| | Handle:Joe Smith Prefix\Suffix:Long | | Data phone:(902)424-6580 Ext: | | On line at:00:00 Off line at:00:00 Update:Auto | |-------------------------------------------------------------| | Priority:normal Polled:No Script:none | | Re-try calls: 3 times per hour at most | | When calling: will allow return mail | | Deliver mail: when calling or called | +-------------------------------------------------------------+ By default the data prefix, phone number, and extension will be identical with the voice settings. You can change these if necessary in the same way that you alter the voice settings. HANDLE The "handle" of a BackMail destination is a short (maximum 10 character) nickname which various BackMail menus will use to identify the caller to you. For example, you will find destinations listed by handle when you go to address outgoing mail or read your new mail. If you see blank spaces beside your phone numbers when you go to address mail that it is because you did not fill out the handle field for that destination. IMPORTANT NOTE: In BackMail I, handles were private. You could IMPORTANT NOTE: In BackMail I, handles were private. You could be pretty sure that your destination would never see the handle assigned to them. In BackMail II however, handles are used in the construction of CC lists and might well be transmitted to the destination having that handle. For this reason you should avoid handles having an uncomplimentary or even uncharitable connotation. You might also consider looking over your old phone directory to see if you have done all that discretion demands. AVAILABILITY TIMES This number describes the interval during which this destination will be available for BackMailing. Every user of BackMail declares his or her own availability time, and every time they exchange BackMail their programs exchange availability times. You set your own availability time using the Change Setup menu option. Ordinarily, then, the availability times that you see beside phone numbers when your address your mail or look at your phone directory will be the times that destination has declared itself to be available for BackMailing. However, when you first enter a destination into your directory you will have to set this yourself. 48 Update Phone Directory Note that your BackMail will keep track of the availability times of others but that all such 'bookkeeping' is taken care of during READ NEW MAIL sessions. This means that if you change your availability window you must send mail to the other BackMailers on your network before they become aware of the change. It is not sufficient for them to send mail to you. Availability times are set by two numbers in ten-minute intervals. For example: 09:00-16:50 From 9 am to 4:50 pm 21:00-23:10 From 9 pm to 11:10 pm 00:00-00:00 24 hours a day. Obviously you should set a time at which you know the other person is BackMailing during which to send your first piece of BackMail. Note: BackMail will not attempt to call a destination except Note: BackMail will not attempt to call a destination except during its availability time. Time Availability times always refer to your local time zone. zone What if the person you are calling is in a different time correct zone? Don't worry, BackMail II automatically adjusts the ions availability time of long distance calls to your local time. What happens is that before BackMails exchange availability times they compare the local times on their system clocks and adjust the values accordingly. Obviously for all this to work properly it is very important for you and the destinations that you connect with to have your system clocks set to the correct local time. Note that BackMail I does not do automatic time zone adjusting. If you are communicating with destinations that are still using BackMail I you will have to manually adjust availability times to allow for time zones. (Perhaps you should give them a copy of BackMail II!) AVAILABILITY UPDATE When two BackMails communicate they exchange availability times. Your BackMail notices when a destination's window has changed and updates the phone directory entry automatically provided this field is set to AUTO. Locking There are circumstances however, in which you may not want in an the user's availability time to be automatically updated. Availab For example, suppose that you are in New York and want to use ility BackMail to send mail to a destination in Los Angeles. You Time would like BackMail to call after midnight (say, 00:00-06:00) to save on long distance calls. However your Los Angeles destination does a lot of BackMailing and has declared itself available 24 hours a day. If the update field were set to AUTO this would mean that each time you read mail from Los Angeles your BackMail would update its availability time from after midnight to 24 hours a day (00:00-00:00). Thereafter your BackMail would think it was okay to call L.A. anytime. Update Phone Directory 49 If you press Enter on this field it will toggle to "Locked", in which case the automatic update function will not be performed. * PRIORITY In this field you have a choice of assigning a high priority to a destination. By hitting the þ+þ and þ-þ keys you can toggle this value between "Normal" and "High" priorities. Given a choice of two available destinations, BackMail will contact a High priority destination first. Remember, priority is a relative matter. So use the High Priority sparingly. If you assign all the destinations in your list a High Priority, BackMail will have nothing to choose between, and it will be as if no destination has priority. # POLLED DESTINATIONS Why There are times when you would prefer to call destinations to poll regularly collect your mail rather than have those destinations call you. Perhaps you are using your BackMail on a voice line that gets a lot of incoming voice traffic and don't want BackMail to answer the phone with a carrier sound. Or perhaps you want long distance calls to be billed to your number. Normally when you send a message to a destination it will deliver any mail or files it has posted for you. Even if it is not calling you because you are , or unavailable as far as it is concerned. because you are , or unavailable as far as it is concerned. You can use polling to have BackMail call selected destinations to be automatically called once per hour so that you can collect your mail. To enable polling of a destination just hit Enter at the "Polled" field. The symbol '#' appears beside polled destinations. Polling Polling does not override availability:polling so the calls and will start when the destination becomes available and end Availab when it becomes unavailable. ility No actual message is transmitted to a polled destination and if the destination has no mail for you a polling call will only take a few seconds. DESTINATION SCRIPTS At this field you can attach a BackMail script to the destination and BackMail will use that script to call it. The use of scripts and BackMail script language are described in chapters 18-19. Pressing Enter, þ+þ, or þ-þ at this field will cycle you through each of the scripts in your BackMail directory. MAXIMUM RETRIES This is the maximum number of times per hour which your BackMail will attempt to contact this destination. As with availability times, this number will be set by the destination itself and communicated to your machine every time you contact that destination. However the first time you contact a destination that number will have a default value of 5. You can override this setting or the one which the destination has sent you if you wish. To set your own availability time, the one 50 Update Phone Directory you will broadcast to other BackMailers, use the main menu function CHANGE SETUP. Max Note: Setting a destination's priority to HIGH will cause Note: Setting a destination's priority to HIGH will cause retry BackMail to ignore the MAX RETRIES setting when calling that and destination. But it will still honor the destination's High Availability time. Priorit y * ACCEPT RETURN MAIL Phone directory:Accept return mailNormally when two BackMails communicate they exchange all the mail they have for each other. How- ever, in some cases (say, in long distance calls to a talkative destination), you may not want to pay for the connect time involved in receiving a message of unknown length from that destination. This option tells BackMail whether or not to accept return messages when it has delivered its mail. When this is set to "No", your BackMail will deliver your mail to the destination but will not wait to see if that destination has any mail for you. To change this setting, simply move the bar cursor to the line which says: "When calling, will accept return mail" and hit Enter. The field will change to: "When calling, will not accept return mail". The symbol '*' appears beside destinations for which you are refusing return mail. Accept Since the purpose of polling destinations is to collect any return mail that they may have waiting for you, it would be mail pointless to poll a destination but refuse return mail from and it. For this reason polling and refusing return mail are Polling mutually exclusive. When you turn one on the other is automatically turned off. * SECURE MAIL DELIVERY When your BackMail receives a call, it checks to see if you have any mail queued for that destination, and sends it when the caller has finished transmitting. Your BackMail identifies callers by their phone number which is transmitted during the initial 'handshaking' when two BackMails first connect. If you are transmitting sensitive data or are otherwise concerned to make your transmission as secure as possible, you can mark a destination as secure, at this field. If you press Enter the line will change from: "Deliver mail: when calling or called" to "Deliver mail: only when calling". When a destination is declared secure, your BackMail will only deliver files or messages you have composed to a destination when it has called that destination's phone number. The symbol '*' appears beside called that destination's phone number. The symbol '*' appears beside secure destinations. Update Phone Directory 51 WHEN YOU'VE FINISHED... ...adding or entering a phone directory entry just hit Esc to return to the phone directory list. New entries will be added to the directory list based upon the destinations full name. 'AUTOMATIC' DIRECTORY UPDATES When When you receive a message from another BackMailer who is not someone currently in your directory, your BackMail will flag that new destination as "unknown". This flag does not mean however destination as "unknown". This flag does not mean however calls that literally nothing is known about this destination. Your BackMail knows what can be parsed from the caller's ID string which was passed to you during the session. In particular, you know the caller's phone number (and if the area code is different from your own, whether it is 'long') together with availability window (in terms of the caller's local time in BackMail I, corrected to your local time in BackMail II), the number of times per hour to retry, and whether the caller will accept return mail. In other words you have enough information to reply to any message from a caller marked 'unknown'. information to reply to any message from a caller marked 'unknown'. If you elect the 'reply' option in response to reading the message BackMail will display the phone directory form shown above with the data number, availability window etc. already filled in, and invite you to fill in such details as the name and handle. +---------------------------------------------------------+ | THIS CALLER IS NOT IN YOUR PHONE DIRECTORY. WHY NOT ADD | | THEM TO YOUR DIRECTORY NOW! | +---------------------------------------------------------+ Once you do this, the information you have entered will be stored in your directory and the next time you connect with this caller, they will be properly identified. 'MERGING IN' OTHER PHONE DIRECTORIES The There are circumstances in which you have obtained a BackMail Pmerge phone directory from a third party, and you want to add the utility entries in this new directory to your own. For this purpose, Alethic provides a utility called PMERGE. Consult the "BackMail utilities" section of this manual for details of its operation.. DELETING PHONE DIRECTORY ENTRIES You can deleteaphonedirectoryentry simply by hitting Del. You will be asked to confirm your intent (you might have hit Del instead of PgDn!). If you answer Y the entry will disappear from your phone directory. If it is a BackMail destination, its absence may leave "holes" in your BackMail address list. That is, the next time you go to address a BackMail Message or file you may find it looks like this. 52 Update Phone Directory +----------------------------------------------+ |All internal numbers | |All local numbers | | Albert A local 467-9876 18:00-00:00 | | <** DELETED ** > | | Charles W. local 498-3984 12:00-15:00| | <** DELETED ** > | | Harry S. long (212) 788-6620 05:00-13:00 | +----------------------------------------------+ Now those marks are ugly and BackMail will clean them out of Now those marks are ugly and BackMail will clean them out of its destination list the first chance it gets. But you have to give it a chance. The way it works is like this. BackMail uses your phone directory as its index to all the destinations for its outgoing files, messages, replies and forwards. In particular it remembers those destinations in terms of their position in the phone directory. When you delete an entry, BackMail leaves a space where that entry was (unless it was at the bottom of the list). Those spaces show up as those 's. Why doesn't BackMail just compress its list and those 's. Why doesn't BackMail just compress its list and adjust its files? It can and it will but it can't do that while you still have messages posted, otherwise it might do it while you are online causing no end of confusion. (See our remarks above about OUTMAIL maintenance while online). BackMail won't clean out those destinations until it finds that your mailbox files are empty. So here's what you should do, the first chance you get: - Use INMAIL and OUTMAIL MAINTAIN. Make sure that all of the messages have been READ or SENT and that you have APPENDED anything important to text files. - Use the F6 function to clean out both your INMAIL and OUTMAIL files. - Exit back to the foreground. The next time you load BackMail (either after turning on your computer or after 'killing' and ) those marks will have disappeared. or after 'killing' and ) those marks will have disappeared. CHANGE SETUP +------Setup Menu---------+ | Availability time | | CompatiBility switch | | WelCome Unknown | | Phone Dialing mode | | LEtterhead | | Select Groups | | RIng to Answer | | HotKeys | | Lag time | | Answer Mode | | Notification | | Data Only Line | | Phone Prefixes/Suffixes | | Screen Retrace handling | | Script Names | | Technical settings | | Phone nUmber | | Wait for dial tone | | MaXimum Retry | +-------------------------+ This function allows you to alter many of the parameters that affect BackMail's operations. You should make sure these settings are correct the first time you use BackMail. As with all BackMail menus you can use the arrow keys to move the cursor and use Enter to select that function; or you can hit the single character that is highlighted in the function you wish to select. AVAILABILITY TIME Use this function to declare your availability time. This is the time during which you plan to have your machine up and running BackMail to receive incoming files. Whenever two BackMailers communicate, the programs automatically exchange availability times, these are permanently stored with the caller's number in the program's phone directory. When you declare your availability time, you are in effect telling other BackMails when you will be available to receive messages. Normally, another BackMail will only attempt to reach you during the period you have declared yourself available. Availability times are set by two numbers in ten-minute intervals. For example: 54 Change Setup 09:00-16:50 From 9 am to 4:50 pm 16:50-09:00 From 4:50 pm to 9 am 21:00-23:10 From 9 pm to 11:10 pm 00:00-00:00 24 hours a day. +-------------------------------------------------+ | Currently, you are marked as being available | | starting at 00:00. Enter new starting time, or | | <+ if the time shown is correct: _ | Enter the time that you normally expect to be turning your machine on in the morning (or the evening, as the case may be). | Currently, you are marked as being available | | up until 00:00. Enter new ending time, or | | <+ if the time shown is correct: _ | +-----------------------------------------------+ Several factors are important to keep in mind when you are setting your availability time: Remember that other BackMails' success at communicating with you will depend upon how long you are available. If you network with a thousand people but declare yourself available from only 12:00-12:15, then a lot of BackMails will be trying to call you in that fifteen minutes, and only a fraction will get through on any given day. On the other hand, you should not declare yourself available 24 hours a day (00:00-00:00) if you don't plan to have your machine on for that time. Other BackMails will waste time trying to deliver messages to you at odd hours and it will serve you right if you pick up the phone at 2:27 AM and hear the sound of a BackMail waiting for a carrier. Try to be consistent in keeping to your BackMail availability time. If you change your BackMail availability time, you can let everyone you network with know about the change by addressing a brief note on any subject to "All Local Numbers" and "All Internal Numbers". When the messages are delivered, the destination BackMails will automatically record your new availability time. This is not really necessary, however; when they call you, they will receive notification of your new availability time automatically. The optimum course of affairs is to set your new availability times, and then leave your machine available at both the new and the old times, for long enough that most people with whom you would be in contact, will actually either call you or be called by you. You can use BackMail to send outgoing mail any time, whether or not it is during your declared availability time. When your BackMail calls other people in this circumstance, their BackMails will pass back to you any mail their machines have stacked up waiting for you, if you have permitted return mail when you set up their phone directory entry. You may sometimes want to operate outside your declared availability time if you have a lot of mail to go out and do not want BackMail tied up with receiving incoming messages (although, of Change Setup 55 course, unless you disable return mail, you may still be tied up with receiving). When you set your availability time you are telling other BackMails when it is okay to call you. It does not affect your ability to call other destinations. If your machine is on and it has mail for another destination which is currently available, then your BackMail will try to reach that destination. Availability and Sending Availab Thus suppose you set your availability to 09:00 to 10:00. ility One of your friends sets their availability to 09:00 to and 11:00. That means that they will call you only between 09:00 answeri and 10:00 and your BackMail will call them from 09:00 to ng the 11:00. phone. This can be useful if there is a period of the day when you regularly do a lot of sending and do not want your phone tied up with incoming calls. Thus if you send your days receipts to head office at the end of each day from 4:30 p.m to 5:00, you might make declare yourself unavailable during this period. By using the CHANGE SETUP function, "Answer Mode" (see below) you can set BackMail so that it will only answer the phone with carrier during your availability time. Availab A destinations availability time tells other BackMail's when ility to call. But a user's availability time is in local time. and What if the call is long distance? Time Zones Don't worry. When BackMail's exchange availability times they automatically adjust availability time's to take account of time zone differences. The way it works is that the BackMails tell each other what their local times are according to the computer's internal clock. The adjustment is based on the difference between the two local times. Thus suppose you are in New York and are BackMailing with someone in Los Angeles. You both have your availability times set to 9:00 to 17:00. But there is a three hour time difference. That means that the Los Angeles destination will appear in your phone directory with an availability time of: 12:00-20:00 While your availability would appear on the Los Angeles BackMail as: 6:00-14:00 Reflecting the time zone difference. Time zone adjustment is another good reason to insure that your system clock has the right time. 56 Change Setup COMPATIBILITY SWITCH Keyboar One of the most common sources of difficulty in running d several programs at once in a DOS environment is competition problem between various programs for control of the keyboard. The s symptom of this kind of conflict is when the keyboard "locks out" one program, denying it use of the keyboard. It might be that with some foreground applications you will find that BackMail does not respond to its defined hot keys, or when it does BackMail does not respond to the keyboard. If you experience such problems changing the compatibility switch should help. The switch controls the way in which BackMail handles keyboard input, by changing it from "off" to "on" or vice versa you may find that your conflicts go away. +---------------------------------------------------------+ | If you are experiencing problems with keyboard lockout | | by a foreground program or other problems involving | | incompatibility with other TSR programs, changing this | | this switch may help. | | The compatibility switch is currently:off | | To change this to on, press; | | any other key will leave it as it is now. | +---------------------------------------------------------+ Note though that there are limits on what the compatibility switch will do. Because you will be likely be running BackMail in the background of many applications you my find that while some compatibility setting works with each program, there is no setting which works with all of them. Adjusti Don't despair! Because the problem of keyboard conflict is ng your so commonplace you will likely find that your other software applica has optional ways of handling keyboard input. Often this is tions controlled by a '/K' option on the command line. Check your softwar applications manual and experiment. You will almost e certainly find some combination of settings for that make all your applications compatible. This applies as well in case where you experience conflict in keyboard management with other background (TSR) programs, here though you may also want to experiment with the order in which you start up BackMail and other TSR's. BackMail is not "order sensitive", it does not have to be the first TSR you load but switching the run order of TSR's will often remove conflicts. DOS 4? Depending upon your system configuration you may experience difficulties in getting BackMail to respond to its hot keys at the DOS prompt. See the trouble shooting section of this manual for a description of how to solve this problem. Change Setup 57 WELCOME UNKNOWN Welcomi When someone calls your BackMail who does not appear in your ng new phone directory, BackMail labels them an "unknown" caller. callers (If you reply to them BackMail will invite you to add them to your phone directory.) Since the callers are new to you, you won't have any messages posted for them. However you can use this function to name a file which will be sent to any new callers to your BackMail. Your welcome file can be any sort of a file. You might want it to be a simple text file which contains a welcoming message to new callers and perhaps, gives them voice or fax numbers. But welcome files have many other uses. For example if you are in the software business you might make the most recent release or enhancement to your software your welcome file. That way you could deliver your software to your customers just by inviting them to BackMail you. In another business application, you might use your welcome file for advertisements. +-------------------------------------------------------------+ | Your WELCOME file is a file automatically sent to any | | caller whose number does not already appear in your phone | | directory. The file must appear in your BackMail directory. | | Your current welcome file is: | | | +-------------------------------------------------------------+ Note that callers to your BackMail will get the welcome file so long as they are not in your phone directory. You can add them to your phone directory by replying to them from Read New Mail or MAINTAIN INMAIL. Once the number has been added to your phone directory you will not send them the welcome file. When BackMail only checks to see if it has a welcome file to send welcome when it starts up from BGROUND.COM. That means that if you file enter the name of a welcome file under change setup it will takes not automatically start sending the file to unknown callers, effect You will have to Kill and restart BackMail again. Otherwise your welcome file will be in place when you next run BackMail. Display Display status will remind you that you have a welcome file Status posted: File MYFILE.COM will be posted to unknown callers. PHONE DIALING MODE This function allows you to select pulse or tone dialing as the default method by which BackMail will place its calls. If you are in doubt as to which you need, try placing a voice call using BackMail dial out. 58 Change Setup +-----------------------------------------------+ | At present, we place calls using touch tones. | | to change this to dial pulses, press ; | | any other key will leave it as it is now. | +-----------------------------------------------+ LETTERHEAD This function lets you enter a 63 character letterhead that will automatically appear at the top of all of your outgoing messages. +------------------------------------------------------------------+ |Your letterhead is a text string, less than 64 characters, which | |is added to the start of every message you send out. Typically, it| |says who you are. Your current letter head is: | | | |Enter a new letterhead (65 characters maximum, no change, | | <-+ for no letterhead or when finished: | | | +------------------------------------------------------------------+ SELECT GROUPS This function allows you to define groups of destinations in your phone directory and designate them as groups. When a group has been defined you can post a message to everyone in the group with a single keystroke. You can define up to six different groups. When you select this function you will be shown a list of the groups you have currently defined. Initially, these will all appear as "unset". +-Group Names-+ |Friends | |Romans | |Countrymen | |unset | |unset | |unset | +-------------+ Pick any slot for the name of the new group you want to define and hit Enter. You will then be shown a window which allows you to enter the name of an new group or change the name of an old one. If you want to leave the name unchanged just hit Enter +------------------------------------------------------------+ |The name of this group is currently: unset | |Enter a new name or <-+ if the current name is acceptable. | | Friends | +------------------------------------------------------------+ Change Setup 59 Delet- If you wish just to delete a group, you can do so here by ing hitting F1 instead of entering the group name. Note that groups just typing in a blank name here will not remove the group, it will just give you a group with a blank name. Defin- Once you have specified the name of the group you will be ing the shown a list of the destinations currently in your BackMail members phone directory. of a group Move the cursor bar and hit Enter to select or deselect +-----------------------------------+ | Alethic Long (902)477-9492 | | >PKS Local 477-9492 | | T Vinci Intern 7593 | | Home Local 422-4595 | | verrell Long (617)934-2177 | | TEXT Long (617)479-1074 | | Braybrook Local 475-9998 | | >MacIntosh Local 533-9494 | | Home Local 343-4444 | | Toronto Long (416)933-3393 | | NY office Long (212)333-4949 | | >D Nelson Long (604)333-3939 | | J Locke U.K. (653)999-383 | | Franz W.Germ (22222)-1212 | | B. Berkely U.K. (333)12-33333 | | Shabata Japan (33)33333-22 | +--------------------------- More -+ Using members of the group. The selected members will be groups highlighted and will have a '>' mark beside them. highlighted and will have a '>' mark beside them. When you have selected all the members you wish to be in this group hit Esc. BackMail will return you to the Change Setup Menu. You can change the members of a group at any time by using the group select function. You can have as many members in a group as you wish. Note though that changes in group membership are only written permanently into your phone directory file when you exit the BackMail Menu and return to your foreground application. When you have defined a group its name will appear at the top of your destination dialing directory when you address your messages or files. Thus if the groups you have selected are "Friends", "Romans" and "Countrymen" your destination list will show these groups just below the entries for "all local numbers" and "all internal numbers". By selecting the "Friends" group and hitting return you message or file would be automatically addressed to all the destinations you have designated as members of this group. 60 Change Setup The relevant entries will all be highlighted. After selecting a group you may decide that you don't want to send a message to a particular member of the group, or want to send it to someone not in the group. Move the cursor bar and select/deselect particular destinations as you wish. RING TO ANSWER By default, BackMail will pick up the phone on the first ring. This option allows you to increase the number to up to four rings. +------------------------------------------+ | BackMail currently answers the phone | | after detecting 1 ring(s) | | If this value is unsatisfactory, | | please enter a new one(1-4): | +------------------------------------------+ HOT KEYS "Hot keys" are keys that are used to call BackMail from the background to present the BackMail main menu, dial out for voice calls, or to deactivate/reactivate BackMail operation. The default settings for these keys are special function keys, Alt 1, Alt 2 and Alt 3. This function allows you to reassign these keys. To use, select the key assignment you want to change and hit Enter. The program will then ask you to hit the new hot key for the selected function. +-------------- Hot Keys ----------------+ | Main menu hot key | | Phone dialer hot key | | Deactivate/Reactivate hot key | +----------------------------------------+ You can assign any function key, Alt or Ctrl key combination you like. Try to pick hot keys that are not used by the programs that you will normally be running on top of BackMail. +-----------------------------------------+ |Press the new main menu key: | +-----------------------------------------+ LAG TIME How In its normal ("assume data") mode of operation, BackMail quickly answers the phone for you and notifies you if the call is a does voice call. When someone calls your BackMail during a period your in which it is answering (see "answer mode" below), BackMail modem will instruct your modem to pick up the phone and issue a detect carrier tone. If BackMail doesn't get a response to the carrier carrier tone within a certain period of time it will treat the call as a voice call. This period of time is your lag time. Different modems can take varying times to match carriers with a calling modem so you should adjust your lag time accordingly. Change Setup 61 What BackMail will do when the lag time has elapsed without receiving a carrier response will depend upon how you have BackMail set up. - If you are running BackMail on a Data Only line (see below), then BackMail will just hang up after it has waited the lag time without a response. - If you are using BackMail on a voice line (and you are not running UNATTENDED) then BackMail will conclude, after lag time seconds, that it is a voice caller and it will "ring" your computer and put up a voice call notification on the screen. +---- VOICE CALL DETECTED ---+ | Please pick up the phone | | and press any key | +----------------------------+ - If you are running BackMail in UNATTENDED mode (see the chapter - If you are running BackMail in UNATTENDED mode (see the chapter 7, MAIN MENU, for a full explanation), then BackMail assumes that there is no one available to take a voice call and hangs up after lag time seconds without a carrier response. How long your lag time should be is entirely dependant upon your modem hardware; typically, the better your modem, the quicker it will be to detect the carrier. For the convenience of your voice callers, you will want to keep the lag time as short as your modem makes possible. The permissible range is from 3 to 45 seconds. Most modems will take less than 10 seconds when properly configured. Note that this time is counted from the moment the ring is detected on the incoming call. To find the shortest lag time your modem will sustain, start off by setting your lag as low as possible (3 secs). If this is too low, then BackMail will mis-identify incoming BackMail calls as voice calls. Even when BackMail notifies you that you have a voice call, it continues to check the modem to see if a carrier has been detected. If it discovers that there is a carrier, it will immediately take over the call and replace its voice call notification with: +-------------------------------------------+ | Sorry! It wasn't a voice call after all. | | Oh, well; anyone can make an honest | | mistake. (press a key:) | +-------------------------------------------+ If you see this message, then you should increase your LAG TIME. 62 Change Setup ANSWER MODE Limitin In its default mode BackMail will answer the phone with a g the carrier so long as the program is running and you have not period deactivated (See chapter 7) the program. Changing this when option allows you to set BackMail so that it will answer the BackMai phone only during your own declared availability time. l answers the phone +------------------------------------------------------------+ | BackMail will currently answer the phone at all times when | | the program is not SUSPENDED. | | To change this to answer the phone only during your | | Availability time. (Which is currently declared to | | be from 23:20 to 00:00), press ; | | any other key will leave it as it is now. | +------------------------------------------------------------+ This option does not affect BackMail's dialing out to deliver mail. Unless BackMail is deactivated the program will continue to call other BackMails during their Availability times. Thus, for example, if you are running BackMail in an office environment you might set your Availability time from 12:00 to 13:00. This would mean that other BackMailers would attempt to call you only during lunch hour. Using this feature BackMail would answer the phone only during this period but keep BackMail on all day so that it would call out to other BackMailers when they were available. NOTIFICATION +---------------------+ | You have new mail | | -- press a key -- | +---------------------+ Telling When Notification is ON, BackMail will tell you when you have When Notification is ON, BackMail will tell you when you have you received mail by placing this message on the screen. when you have new mail. +----------------------------------------------------------+ | Immediate notification on receipt of new mail is | | currently enabled. To change this to disabled, press ;| | any other key will leave it as it is now. | +----------------------------------------------------------+ The message will disappear as soon as you hit a key. When notification is OFF you will have to call up the main menu to see if you have new mail. Change Setup 63 If the BackMail main menu is up then you will see a "New Mail" notice If the BackMail main menu is up then you will see a "New Mail" notice flash at the bottom of the menu screen. The notification menu will not appear. DATA ONLY LINE +----------------------------------------------------+ |When answering the phone BackMail will currently | |accept voice calls and ask you to answer | |the phone (if you ar in ATTENDED mode). | |To change this to hang up on voice calls and only | |accept data traffic, press ; | |any other key will leave it as it is now. | +----------------------------------------------------+ PHONE PREFIXES AND SUFFIXES This function allows you to set the dialing prefixes BackMail uses to place its calls. +--- Phone Prefix/Suffixes -------+ _ | Intern | | Local 9, + phone number | | Long 9,1 + area code | | *unset | | *unset | | *unset | | *unset | | *unset | +---------------------------------+ The left hand column shows the names for the prefixes; the numbers appear on the right. The illustration to the right shows the prefixes for an installation where one must dial "9" to reach an outside line and 1 for long distance. When you enter a new telephone address into your telephone directory, you will be prompted to set the appropriate prefix for that number. You may change any of these prefixes, and add more, up to eight different prefixes, e.g. for credit card, MCI, Sprint numbers and the like. The Each prefix is associated with a name. The pre-defined name of prefixes are. the prefix Intern For intra-office calls over an in-house phone line Intern For intra-office calls over an in-house phone line Local For local calls Local For local calls Long For long distance calls Long For long distance calls To add or alter a prefix, position the cursor bar over the relevant prefix and hit Enter 64 Change Setup You will then be asked for the name of this prefix. This is a six character label which will be used in the phone directory and dial out menu. +--------------------------------------------------------------------+ |Phone prefix/Suffix number 4: current name is: *unset | | Enter new name (max 6 chars) or enter <+ to leave unchanged: | | MCI_ | +--------------------------------------------------------------------+ Next you enter the prefix number itself. You can tell BackMail to switch between Pulse or Tone dialing numbers within a prefix by typing a T or a P at the appropriate position in the prefix; also, you can use commas, which will cause a two-second pause for each comma. 'W' and '@' are also permitted, with standard modems these cause the modem to wait for a second dial tone or wait for 5 seconds of silence. Other miscellaneous punctuation and spacing will be ignored. |Enter new string (Max 20) or enter <+ to leave unchanged: | | ,12345678 | Next you will asked whether the string should be treated as a phone prefix, or a suffix. | | |Should this string

receed or ollow the phone number.? | | | Prefix If you wish the string you are defining to be sent to the or phone after the phone number is dialed you should enter "P". suffix? If you want the string to be sent after the phone number, enter "F". Prefix Next you will be asked what type of phone prefix or suffix types you are defining. | Enter prefix/suffix type ONG, ORMAL or | |nternal. | +--------------------------------------------------------------------+ In defining the type of a prefix you are telling BackMail how to format the phone number with the string you have defined. If the string you are defining (",12345678" in our example) is to be used as a prefix then the different types would format the dialing of the phone number as follows. INTERNAL: ,12345678 + ext number NORMAL: ,12345678 + phone number LONG: ,12345678 + (area code) + phone number Change Setup 65 In the case of suffixes the formatting is slightly different. The suffix string, of course, will follow the phone number. Defining the type tells BackMail whether or not to use the destination's area code, extension number or 7 digit format. You will also want the suffixed phone number to bear whatever prefix is required to place a long, local or internal call. So in formatting a suffix string BackMail will look to your definitions of the predefined, long, local and prefix strings to decide what goes before the phone number. So, for example, suppose that you were in an office where you had to dial "9" followed by a pause to reach an outside line. To dial long distance you would, of course, have to dial "9,1". In that case you would should have entered these strings for the "local" and "long" prefixes. In that case your prefix list would look like the example at the beginning of this section. Now you are defining a fourth suffix, which you are calling "MCI" and have entered as ",12345678". Now depending upon what type you give to the suffix you will get the following results. INTERNAL: ext number + ,12345678 NORMAL: 9, + phone number + ,12345678 LONG: 9,1 + (area code) + phone number + ,12345678 Supposing that you were defining "MCI" so that long distance calls prefixed MCI would be charged to a credit card number you would obviously declare the "MCI" extension to be of the type LONG. In every case, once you have defined your prefix, BackMail will show you exactly what format the prefix you have defined will use. The example below gives some idea of what sort of formats are possible. +--- Prefixes/Suffixes -------------------------------------+ | Intern | | Local 9, + phone number | | Long 9,1 + (area code) + phone number | | MCI 9,1 + (area code) + phone number + ,12345678 | | ROLM 1234 + ext number | | Watson phone number + 99,W9 | | MT&T 09876543210987654321 + (area code) + phone number | | PC-V ext number + 5555 | +-----------------------------------------------------------+ For more about extension numbers see Appendix A: Understanding extension numbers. SCREEN RETRACE HANDLING Elimin- Use this function if you see snow or flicker on your screen ating when BackMail's menus or its clock is on the screen. Having Screen this function "ON" will eliminate the snow associated with Flicker some color graphics adapters. 66 Change Setup +--------------------------------------------------------------------+ | Selecting wait for retrace eliminates screen snow on the IBM color | | Graphics adapter, at the cost of somewhat slower screen refreshing | | to change this to enabled, press ; | | any other key will leave it as it is now. | +--------------------------------------------------------------------+ If you don't have such problems, leave this "OFF" so that BackMail can do its screen handling without wasting microseconds on snow removal. SCRIPT NAMES Add a This function allows you to add dial out scripts to BackMail. script Scripts and the BackMail Script language are described in name to detail in Chapters 18-19. Back- Mail TECHNICAL SETTINGS Special This function is used for setting infrequently changed operat- program parameters. See Appendix B for the details. ing Technical Settings can be adjusted to control: set- tings - modem reset and dial out strings - screen auto dialer parameters - fine tuning BackMail's Screen colors - The interpretation of modem command strings - Modem response time - Video overwrite modes - Default script settings See Appendix B for a detailed description of Technical settings. PHONE NUMBER Chang- Use this function to tell BackMail your phone number. You ing should do this the very first time you use BackMail (if the your program doesn't ask you first). This is essential, because phone your phone number is your return address for all BackMail number. mail. It is how the systems you are talking to identify you for the purposes of replying, forwarding and answering your mail to them. When you enter your phone number be sure to include your area code. BackMail expects an area code to be associated with every number. +---------------------------------------------------------+ | ** WARNING ** If you change your phone number, you will | |have to register this program again. Continue (y/n)? | +---------------------------------------------------------+ Change Setup 67 NOTE: When you enter your phone number using this function, you are NOTE: When you enter your phone number using this function, you are also telling the program that you are a new user of the program. New users are asked to register their copies of the program. +--------------------------------------------------+ | Please enter your phone number | | hit <-+ when finished | | - | +--------------------------------------------------+ phone When prompted, enter your complete phone number, including number your area code. If your phone number is not in standard North format American format (i.e. three digit area code, 7 digit number) then you should see appendix A, "Phone number format"). +--------------------------------------------------+ | Do you have an extension number? (y/n) | | - | +--------------------------------------------------+ When you have entered your phone number BackMail will ask you if you have an extension number. Generally speaking it is only worth while to add your extension number if there are other BackMails on the same phone number with which you will be exchanging mail. Telling Note that if you enter an extension number then any BackMail Back- that call's your machine must include your extension number Mail as part of its information about you. Otherwise you will not about be able to exchange mail. your exten- For more information see "Understanding Extension numbers" in sion Appendix A. number WAIT FOR DIAL TONE Select this function if your modem supports a wait for dial tone feature. When this mode is active, BackMail will instruct your modem to listen for a dial tone before dialing out its Data calls. Turning this mode on will make BackMail more compatible with the use of your phone for voice calls. Note: For many modems, you should not use WAIT FOR DIAL TONE unless Note: For many modems, you should not use WAIT FOR DIAL TONE unless your modem is set up in parallel with your modem. Otherwise when BackMail picks up your phone to listen for a dial tone it will cut off your voice calls. Some modems will only use wait for dial tone properly if you use extended response codes. These are usually set by an "X" setting (X1 - Xn). You can alter your "X" setting by changing TECH setting number 4 under CHANGE SETUP. Getting BackMail to properly respond to extended codes may require you to enter appropriate response values in Tech setting 50-60. (See appendix # below). 68 Change Setup Some Modems vary in their ability to distinguish dial tones from modems human speech. Thus you may find that a "bargain" modem can't sometimes tries to dial out over your voice conversation. tell When the modem picks up the phone to listen for dial tone you voices may experience a click and perhaps a drop in volume of the from line. Generally speaking good quality modems are dial unobtrusive. With most modems you can control the length of tones time they will wait for dial tones with appropriate command strings. See Appendix B, below for a discussion of modem setup strings. MAXIMUM RETRY How When one BackMail calls another but fails to get through many because the line was busy it will try again. How many times times BackMail will call depends upon the "max retry" settings that per appears beside a destination in the phone directory. hour should In setting your Maximum Retry time you are setting the time other you would like others to attempt to call your BackMail per people hour of your Availability. This value will be sent to other try to BackMailers along with your availability time. call you. +--------------------------------------------------------------------+ |You are currently telling other BackMails to attempt to contact you | |no more than 5 times per (available) hour. | |If this value is unsatisfactory, please enter a new one (1-20): | +--------------------------------------------------------------------+ What What your maximum retry value should be depends upon many should factors. If you have your BackMail up rarely and have only a your couple of destinations that you communicate with then you retry should probably keep this number low, perhaps as low as 1. value That way other BackMail's won't waste their time or annoy be? others in your home or office by calling you when there is no BackMail running to take the call. On the other hand if you have a large number of callers, or just a busy phone line, you will want to have this number high, say 20. Limited The limit on Retries applies only to call attempts that do Retries not get through. You can send any number of messages to a does destination no matter what its maximum retry time. not limit Maximum retries controls the number of unsuccessful call success attempts that can be made per hour to a destination. You can ful reset the call counters on all of your outgoing messages by connect accessing the OUTMAIL MAINTAIN function. After you access ions OUTMAIL maintain the retry counters for all your destinations Overrid are set back to 0. ing Retries VOICE CALLS VOICE CALLS BackMail contains an autodialing feature which you can use to make voice calls. The autodialer will dial a number from the screen or your BackMail phone directory or it will allow you to enter a number by hand. The facilities for doing this are bound up in the program PGROUND.COM. PLACING A VOICE CALL Dialing To place press the dial out hot key (default Alt 2). from the BackMail will first search the screen of your computer to see screen if it can find a phone number to dial. If it cannot find a string it recognizes as a phone number it will immediately bring up your phone directory. So far as BackMail is concerned a phone number is any string of digits appearing on a single line which contains a minimum number of digits (by default 7 digits) and certain special characters (by default '(',')','-'). You can change the minimum number of digits and the phone delimiter characters by adjusting two Technical settings under the CHANGE SETUP menu. If BackMail finds phone numbers on your screen it will highlight the first it finds and offers you several options: Enter will dial the highlighted number directly. F1 will allow you to add the highlighted number to your BackMail phone directory before you dial it. þ8þþ2þ The up and down arrows allow you to select the next or previous on screen phone numbers. <--> If you do not want to dial the area code portion of the phone number selected the left and right arrows allow you to change the left hand range of the selected number. Space If you don't want to dial from the screen, hitting Space will immediately bring up a list of your phone directory. Esc will abort your voice dialout session and return you to your foreground application. 70 Voice Calls +---------------------------------------------+ | Hit <+ to dial selected number | | to adjust range of number to dial | | to move selection up or down | | F1 to add screen number to phone directory | | Hit to bring up phone directory | | Hit to quit | +---------------------------------------------+ DIALING FROM YOUR PHONE DIRECTORY You will be presented with your personal phone directory. This directory includes all of the BackMail destinations as well as any voice destinations you have entered. +----------------------------------------------------------+ | Select a number from the list below | | Press to enter a number directly | +- Press <+ to dial number ---- Press to quit--------+ | Acme Computer Sales local 499-9832 | | Bob Bright local 340-3847 | | Charles Banbridge intern 4353 | | C.E.O. Mr. Braybrooke intern 9764 | | Dave Nelson long (604) 432-9848 | | Dave Jones intern 3343 | | Davidson Donald long (988) 323-9999 | | Frank Jackson local 384-3487 | | General Information local 411 | | Hotstuff Sporting Goods local 398-3838 | +- | or PgUp to scroll list up - | or PgDn to scroll down -+ Phone numbers are listed, alphabetically according to the 40 character name you have given the destination. PgUp PgDn will jump you forward or backward five entries in the directory. <-+ Will dial the selected number Space Will prompt you to enter a number by hand. If you do not find the number you want in your phone directory hit Space to enter the number by hand. ENTERING NUMBERS BY HAND After you have brought up the autodialer (Alt 2) you can get to this point right away by hitting Space twice. Use the BackMail turns on the Numlock key on your keyboard so you can keypad use the numeric key pad on your keyboard to enter a number. Voic Calls 71 +-------------------------------------------+ | Enter number to dial. +, - change prefix,| | <+ when complete, | | to exit without dialling: | | Local _ | +------NumLock------------------------------+ Set the As well as entering the phone number you will also want to prefix tell BackMail what prefix or suffix to use when dialing this voice number. hitting þ+þ or þ-þ will cycle through the prefixes Intern, Local, Long and any other prefixes or suffixes you have defined under Change Setup. BackMail will handle the number you enter here using its standard conventions: If you do not include an area code, BackMail will assume the number is within your area code. If you want to dial a non-North American number format you should format the number using '(',')' and '-'.(See appendix A, entering phone number). Hit the Enter key when you have finished entering the number. Esc will abort your autodialer session. Enter will dial. Esc key will abandon the dialout request. ADDING A NUMBER TO YOUR PHONE DIRECTORY If you have entered the number yourself BackMail will ask you if you want to add the number to your phone directory. +----------------------------------+ |Do you want to add that number | | to your phone directory [y/n] ?_ | +----------------------------------+ If you respond by hitting Y, the program will ask you for a name of this destination. +----------------------------------------+ | Enter the name you want attached to | | this number (maximum 40 characters): | |_ | +----------------------------------------+ Enter the name which you will remember this person by. This is the name that will appear in the phone directory from now on; it will be sorted alphabetically. When you are finished entering the name, press Enter. WHEN BACKMAIL DIALS OUT When BackMail dials out it turns on the speaker of your modem so that you can hear the number being dialed. If are dialing an entry from the phone directory or an entry you have just added to the directory BackMail will show you the name of the destination it is dialing. If you are dialing a number from the screen, BackMail will just show you the number. 72 Voice Calls +------------------------------+ |BackMail is now dialing | |Bob Martin (office) | |When finished, pick up the | |phone and press the space bar.| +------------------------------+ Wait After dialing is complete you can pick up the phone and hit a till key to complete the dialing process. You may want to wait to dialing hear someone answer the phone over your modem. In either case is com- it is important to wait until the dialing is complete and you plete! have picked up the phone before you hit the Space. Hitting Space gets BackMail to tell the modem to hang up the phone. If you do this before dialing is complete you may not get through to your destination. WHEN THE DIALER IS FINISHED YOUR CALL When your voice call has been dialed BackMail will go away to allow you full use of your computer while you are on the phone. IF BACKMAIL IS USING THE PHONE It may happen that at the time you press Alt 2, BackMail will be in the middle of communicating with another BackMail. In that case, after you select the number to dial out, the program will ask permission to complete its call. +--------------- BackMail is On Line ----------------+ | BackMail is currently on line exchanging data | | Press Ctrl+C to interrupt the data exchange | | and proceed with your voice call. | | or | | Press any other key to postpone your voice call. | | (BackMail will let you know when the line is free) | +----------------------------------------------------+ Abort- Pressing Ctrl C will make BackMail abort its current exchange ing a of data. If someone is calling you they would see in their DISPLAY STATUS window. Don't worry BY RECEIVER> in their DISPLAY STATUS window. Don't worry call to about interrupting BackMail in the middle of a call. If it make a doesn't finish its exchange of mail in one call, it will voice deliver it at a later time. You won't lose any mail. When call you hit Ctrl C BackMail will proceed with a normal autodialing session. If you decide not to interrupt BackMail in the course hit a key indicating that you are prepared to wait, BackMail will complete its current data transmission and as soon as it completes its call will pop up a window telling you that the phone is free and inviting you to place your voice call. Voic Calls 73 +-----------------------------------------------+ | BackMail has completed its data transmission | | If you wish to place your voice call now | | please press | | any other key to quit | +-----------------------------------------------+ If you enter Y now, BackMail will bring up the autodialler as if you had hit Alt 2. RECEIVING VOICE CALLS When you are running BackMail you should let BackMail answer the phone. If you run BackMail consistently you will probably want to turn the ring on your phone down or off. When your modem detects an incoming call BackMail will instruct it to pick up the phone and generate a carrier. If it does not detect a carrier in a certain period of time (this is your LAG TIME setting, see CHANGE SETUP) it will conclude that you have a voice call. BackMail will "ring" the speaker on your computer and put a message on the screen. +--- Voice Call Detected ---+ | Please pick up the phone, | | then press any key | +---------------------------+ Pick up When you hit a key after picking up the phone, BackMail will the cut the modem out of the circuit and allow you to use your phone computer while you are on line. Be sure to pick up the phone first! before you hit the key, otherwise the modem will hang up on your caller. You have full use of your computer while making your voice call. FROM THE CALLER'S POINT OF VIEW Someone who is placing a voice call to a BackMail number will hear a high pitch carrier signal until you are notified by BackMail that you have a voice call and pick up the phone. It would be very nice if BackMail could turn the carrier signal off when it has decided that the incoming call is from a voice call, unfortunately there is no reliable way to do this with a normal modem (Lord knows we've tried!). So as a courtesy to your callers, it's a good idea to respond to voice calls with some alacrity. Answeri If you have placed BackMail in UNATTENDED mode you have told ng the program that you are not available for voice calls. In Unatten that case BackMail will pick up the phone and generate a ded carrier for just long enough to decide whether you are getting a voice or a data call (This period is your "Lag time", see CHANGE SETUP). In UNATTENDED mode it will hang up as soon as it decides that the incoming call is a voice call. As a courtesy to your 74 Voice Calls voice callers, it is good idea to keep your lag time as short as possible. People who haven't used BackMail sometimes worry that they will lose incoming callers who will hang up when they hear the carrier. In our experience this doesn't happen as much as you might fear; many genuinely weird things can happen when you dial into conventional phone switchboards and answering systems, and a few seconds of whistle don't seem to drive anyone away. You may find that the program tells you that you have a voice call but then, when you pick up nobody is there. Or it may be that after telling you a voice call has come in, you get this message: +--- Voice Call Detected ---+ | Please pick up the phone, | | then press any key | +--+-------------------------------------+ | It's not a voice call, after all. | | Well, anyone can make an honest | | mistake. Sorry! (press a key:) | +-------------------------------------+ Increas The problem in this case is that your lag time is set too e your low. You can prevent this by increasing your lag time using lag the CHANGE SETUP menu. On the other hand, if this never time. happens to you, you may be able to reduce your modem's lag time so that you get quicker notification of voice calls. USING BACKMAIL ON VOICE LINES If there is going to be a voice connection there has to be a carrier signal, but that can certainly be annoying to voice callers. If you want to use BackMail on a voice line we recommend the following: Use An- Set your availability time to a period when there is no swer person around to answer the phone anyway: after hours or at Mode & lunch time. Then use the Answer Mode function in CHANGE Poll. SETUP to tell BackMail to answer the phone with carrier only during these off hours periods. At the same time you can set BackMail to poll destinations that you want to keep in touch with. That way you can collect your mail without having to be called. Hardwar Another alternative is to consider a fax/modem/voice switch. e op- These are hardware devices that determine whether an incoming tion call is a voice, fax or modem call. BACKMAIL SCRIPTS WHAT SCRIPTS ARE FOR BackMail's scripts are designed to allow BackMail to dial out and connect to another BackMail, or BackMail compatible program. You will find scripts useful for: - Initializing non-standard modems before you call specific destinations. Setting special modem parameters for calling specific destinations (e.g. setting MNP levels, turning on\off various kinds of hardware compression, connecting with password protected modems, Guard tones etc.) - Dialing into or out of phone systems that require the modem to send touch tones to the switching hardware (e.g. PBX based modem pools, fax\modem\voice switches, etc). - Dialing through Data switching, PAD or long distance data services that require interactive password access and\or parameter settings (e.g. PC-Pursuit, Tymnet, DataPac, &c.). - Dialing into BackMail Hubs or Gateways to access other information Networks or services. We call the scripts, dialout scripts to indicate that their primary function is to connect your machine to another modem that is connected to a BackMail or a BackMail compatible program. You will not be able to use scripts to talk to BBSs or information systems unless they support the BackMail protocol. SCRIPT FILES Scripts are ASCII text files written in the BackMail Script Language (BSL). These files must reside in the same directory as your BackMail files (the directory which contains INMAIL and OUTMAIL). Scripts are assigned to particular destinations in your Phone Directory. A script is used only when calling a destination which has that script assigned to it. Scripts are not used when you answer calls from other BackMailers. ADDING A SCRIPT TO BACKMAIL BackMail can manage up to eight scripts at a time. To tell BackMail what scripts to use you must first tell BackMail the script names of the script files you want it to use. To do this bring up the BackMail MAIN MENU, select CHANGE SETUP and select the Scripts option. 76 BackMail Scripts +-------- Setup Menu --------+ | Compatibility switch | | WelCome new callers | | Phone Dialling mode | | LEtterhead | | Select Groups | | Ring to Answer | | Hot Keys | | Lag time | | Answer Mode | | Notification | | Data Only Line | | Phone Prefixes\Suffixes | | Screen Retrace handling | | Script Names | | Technical settings | | Phone nUmber | | Wait for Dial tone | | MaXimum Retry | +----------------------------+ You will then be presented with a list of the scripts that BackMail is currently using. Initially you will find that some of these scripts are "UNSET:script names". +-- Dialing Scripts --+ | HAYES.BSL | | UNSET.BSL | | UNSET.BSL | | UNSET.BSL | | UNSET.BSL | | UNSET.BSL | | UNSET.BSL | | UNSET.BSL | +---------------------+ Use the arrow keys to select a slot for the script you want to use and hit . BackMail will then invite you to enter the name of a script file. +-----------------------------------------------------------+ | Note: Dialing scripts are ASCII text files written in the | | BackMail Script Language residing in the directory which | | contains your BackMail program file BGROUND.COM. | | Script files always bear the .BSL suffix | +-----------------------------------------------------------+ | Dialing Script number 1 is currently set to:HAYES .BSL | | Enter new name (max 8 characters): .BSL | +-----------------------------------------------------------+ Script files are files written in the BackMail Script language. All script file names end in the suffix ".BSL suffix". BackMail will append this suffix automatically to the name of the script file you enter. Backmail Scripts 77 Note: Script files must reside in the same directory as your Note: Script files must reside in the same directory as your BackMail files (i.e. the directory that contains "INMAIL" and "OUTMAIL"). When you have entered the name of the script file BackMail will display your new list of script files. +-- Dialing Scripts --+ | HAYES.BSL | | MYSCRIPT.BSL | | UNSET.BSL | | UNSET.BSL | | UNSET.BSL | | UNSET.BSL | | UNSET.BSL | | UNSET.BSL | +---------------------+ DELETING SCRIPT FILE NAMES To remove a script name from BackMail's list just select it and enter spaces in place of the script's name. HOW TO USE SCRIPTS You use scripts by assigning them to particular destinations. You do that by changing the phone directory entry for that destination. Get up your phone directory screen and select one of your BackMail destinations. +-------------------------------------------------------------+ | Name: Joe Smith Smith Data Services | | Voice phone:(902)424-6581 Ext: Prefix\Suffix:Long | | This person does have a copy of BackMail | |-------------------------------------------------------------| | Handle:Joe Smith Prefix\Suffix:Long | | Data phone:(902)424-6580 Ext: | | On line at:00:00 Off line at:00:00 Update:Auto | |-------------------------------------------------------------| | Priority:normal Polled:No Script:none | | Re-try calls: 3 times per hour at most | | When calling: will allow return mail | | Deliver mail: when calling or called | +-------------------------------------------------------------+ Move the cursor bar to the Script field. Initially that field will show 'none'. You can select the script you wish to use for this show 'none'. You can select the script you wish to use for this destination by hitting þ+þ, or þ-þ to cycle through the possible script names. You can of course cycle back to 'none' so that BackMail script names. You can of course cycle back to 'none' so that BackMail will not use a script for that destination. When you select a script for a destination, BackMail will follow the instructions in that script file when it dials that destination. 78 BackMail Scripts When Note, as we've mentioned before, some changes you make in the script BackMail foreground program don't immediately take effect in changes BackMail's operations. BackMail is really two programs take running at once, and information added to the phone directory effect such as script assignments or changes in phone numbers do not take effect until you exit from the BackMail foreground. So, if you've just assigned a script to a destination and want to try calling a destination right away, return to the MAIN MENU and hit Esc to exit BackMail. As soon as you do that your changes in phone directory, including script assignments, will be installed in the BackMail background communications program. You can now pop the MAIN MENU back up and compose your message or send your file and your script assignment will be in effect. DISPLAY STATUS SCRIPT MESSAGES When you are using dialout scripts BackMail will report any errors it encounters in the scripts in the display status menu. There are three script error messages. UNSENT: SCRIPT READING ERROR Can't This means that BackMail was unable to open or read the read script you have assigned to this destination. There are script several explanations. - The name of the script file has been entered incorrectly. Check the name of the relevant script by looking at your list of declared scripts under the CHANGE SETUP function. Remember all script files must bear the ".BSL" suffix. - The script is not in the correct directory. Remember Scripts must reside in the same directory as your BackMail Auxiliary files INMAIL and OUTMAIL and PHONE. - The script file was unavailable for reading because you had it opened and were editing it with a text editor. - The script file is too long (>3k) to be a legal BackMail script. UNSENT:SCRIPT LOGGING ERROR This error occurs when you are using a script which turns on a script.log (See the next chapter for a discussion of logging). The error means that BackMail could not open or write to the script log file. BackMail always tries to write its script to the directory you use to receive incoming files. The most common cause of this error is that you have opened the script.log file and are reading it at the same time that a script was trying to write a log. If this does not account for your error check to make sure that you have enough disk space for the log file. UNSENT:SCRIPT LANGUAGE ERROR This error occurs if their is a syntax error in the script.file. Check your script for errors. If you are writing a script log you will find the annotations "SCRIPT ERROR" at the point of script processing at which the error occurs. Backmail Scripts 79 ERROR HANDLING What to BackMail will keep trying to find the script as it retries do its calls to destinations which us it. When you correct the error the error message will go away. THE BACKMAIL SCRIPT LANGUAGE It should be said at the outset that many users will find writing BackMail scripts difficult, not because the language is complex, but because it is so very compact and simple. Many conventional communications programs have very rich script languages whose commands resemble "High Level" languages like BASIC, PASCAL or, for that matter ENGLISH. But then conventional communications programs do not run invisibly in the background from 33K RAM. The BackMail script language (BSL) is designed with ultra fast, background operation in mind. Its commands are structured so that BackMail can easily interpret and obey them in the background without slowing down your foreground processes. It is a "low level" script language and if you are new to programing "close to the chip" (as programers like to say) you'll find that BSL takes some getting used to. To help you we have included several sample BSL scripts with the program with lots of comments. If you are a programming novice you should have look at these to see if any are suited to the sort of application you have in mind. With a little editing you may be able to adapt one of the sample scripts to your purposes very easily. FILE STRUCTURE A BSL script is an ASCII text file. You can create or edit them with any text editor or word processor. However if you use a word processor be sure to save your edited files in "ASCII" or "unformatted" (sometimes called 'non-document' mode) format to suppress word processor formatting. Almost all word processors have such a file save option. Each line of BSL must end with a carriage return or carriage return line feed. Your text editor or Word processor will almost certainly end lines correctly. BSL files must bear the suffix ".BSL" and must reside in your BackMail directory. That is they must be found in the same directory which contains the files INMAIL, OUTMAIL and PHONE. BSL files can be no greater than 3k bytes long. That may sound small but the language is very compact. You won't have any applications that require more than 3k of BSL to accomplish. COMMENT LINES BSL files contain two kinds of lines: comment lines and command lines. Any line which begins with the # is treated by BackMail as a comment Any line which begins with the # is treated by BackMail as a comment line and has no effect on BackMail operations. Comment lines can be up to 64 characters in length. Comment lines can appear any place in the script. The BackMail Script Language 81 For purposes of record keeping it's a good idea to begin your script with a couple of lines that include the name of the script file itself and a brief description of its function. # MCI.BSL A script for dialing long distance using my # MCI phone credit card number # written by Joe Smith 5-20-90 COMMANDS There are 10 BSL commands. The script commands are written as single upper case letters: An Wait for n seconds An Wait for n seconds _ Bn Set script TIMEOUT time to n seconds Bn Set script TIMEOUT time to n seconds _ C Wait for carrier C Wait for carrier Dn Place marker n Dn Place marker n _ _ En Jump back once to place marker Dn En Jump back once to place marker Dn _ _ Dn Dn _ F Open a script log F Open a script log G Go into standard BackMail communications mode G Go into standard BackMail communications mode H Hang up, close script log and terminate call H Hang up, close script log and terminate call I Do nothing I Do nothing J Jump forward once to place marker Dn J Jump forward once to place marker Dn _ These commands are explained in detail below. Some commands take one character parameters, these are numbers or letters which are relevant to the processing of the command. For example the letter "A" is the BSL command which tells BackMail For example the letter "A" is the BSL command which tells BackMail towait for a certain period of time before proceeding to the next line of the script. You set the relevant period of time by following the "A" with a parameter. Thus if your command was "A5" BackMail the "A" with a parameter. Thus if your command was "A5" BackMail would wait for at least 5 seconds of line silence before processing the next line of the script. Not all Commands require parameters. For example the command "H" Not all Commands require parameters. For example the command "H" tells BackMail to hang up the phone and give up trying to call the current destination. This command needs no parameter. So that you don't have to keep track of which commands do and which don't require parameters, the language allows you to put parameters even with Commands that don't use them. So you could write commands like "H1" or "H3" or "HX". In any case BackMail would just terminate like "H1" or "H3" or "HX". In any case BackMail would just terminate the call when it encountered the "H" the call when it encountered the "H" 82 The BackMail Script Language COMMAND LINES Each command must occur in a properly formatted script command line. Each command line can tell BackMail to : - Send a string of characters or numbers to the modem. and\or - Wait for a string of characters or numbers from the modem and\or - Execute a BSL command (e.g wait for n seconds of line silence, or _ jump to another part of the script. In fact every command line is formatted so that it will do any or all of these things. Every command line contains three command fields separated by two descending slash characters "\". The format of a script command line descending slash characters "\". The format of a script command line is: COMMAND FIELD \SEND FIELD\EXPECTED FIELD COMMAND [PARAMETER]\[String to send]\[string to expect] The COMMAND field consists of one of the 10 Command letters, followed by a parameter. The SEND field will contain a string of alphanumeric characters to be sent out the modem, the EXPECTED field will contain a string of alphanumeric characters that you expect from the modem (perhaps sent by the destination you are communicating with or by the modem itself). So for example a command line might read: A5\Knock knock\Who's there? or H\Knock knock.\Go away! In both examples BackMail will send the string "Knock Knock" to the modem and wait for a certain period of time for a response. What BackMail does when it gets or doesn't get the response will depend upon the command you are using. Each script command line is understood by BackMail as an instruction. COMMAND\SEND\EXPECTED is always interpreted as: "Do COMMAND after you send SEND to the modem if you get the EXPECTED string in a certain period of time. If you don't get the EXPECTED string then just move on to the next line." The BackMail Script Language 83 The length of time BackMail will wait for the EXPECTED string before moving on is the scripts script TIMEOUT time. You can set the TIMEOUT time dynamically (i.e. on the fly) using a script command B (see below). So another way to read a command line: COMMAND\SEND\EXPECTED from BackMail's point of view is as the three part instruction: 1) Transmit the string SEND to the modem 2) Wait for TIMEOUT seconds to get the string EXPECTED in reply. 3) If you get the EXPECTED string do COMMAND, but if you don't get it after TIMEOUT seconds, then just carry on to the next line of the program. So when it encountered our line: H\Knock knock\Go away! BackMail would first send the string Knock Knock to the modem. Then it would wait for TIMEOUT seconds for the reply: Go away! If BackMail got that response, then it would execute the H command and hang up and terminate the exchange. If it didn't get "Go away!" from the modem then BackMail would not execute the H command but would instead carry on to execute the next execute the H command but would instead carry on to execute the next command line in the script. Typically, you will not want to send something with every command line and you will not expect any particular response from every string you send to your modem. In these cases you can leave the command filedsSEND and\or the EXPECTED fields empty. This will affect how BackMail interprets a command line. If you leave the EXPECTED field blank (by just hitting return after the last "\", BackMail will take this to mean that you are not the last "\", BackMail will take this to mean that you are not expecting anything and want the command executed no matter what. So: COMMAND\SEND\ Says: "Send the SEND string and then execute COMMAND" 84 The BackMail Script Language Thus the line: H\bye bye\ Would send the string: bye bye and then immediately hang up. A note of caution here. If you have a space character in command field after the last "\" in the EXPECTED field, BackMail will field after the last "\" in the EXPECTED field, BackMail will understand that you are waiting for a space character. Enter return right aft er that "\" to make sure your EXPECTED field is really right aft er that "\" to make sure your EXPECTED field is really empty. There are circumstances in which you may want a response from the modem but do not want anything sent. In that case you can leave the SEND field empty. Command lines of the form: COMMAND\\EXPECTED mean: "Don't send anything, just wait for TIMEOUT seconds for the EXPECTED string, if you get it then execute COMMAND, otherwise carry on to the next line of the script" Thus the command string: H\\Not in service H\mypassword\accepted would get BackMail to wait for TIMEOUT seconds for "Not in service". If this was received then BackMail would execute the H command and hang up. If BackMail did not get the "Not in service" message in TIMEOUT seconds it would pass on to the next line of the script. In this case a line that sends "password". Finally you can leave both the SEND and EXPECTED fields blank if you just what a command executed. So: COMMAND\\ tells BackMail to perform the COMMAND. Thus if BackMail came to the line: H\\ it would immediately execute the "H" command and hang up. Note even when the fields are empty you must include the "\" script Note even when the fields are empty you must include the "\" script command delimiters in the line to tell BackMail that the fields are The BackMail Script Language 85 empty. Failure to do this will be treated by BackMail as a "Script Error". (See below). Note that the one command line field that must always have something in it is the COMMAND Field. What if you don't want BackMail to do anything? Well there is a command for that. It is "I command". When BackMail gets the "I" command for that. It is "I command". When BackMail gets the "I" command it doesn't do anything it just proceeds to the next line. Thus the instruction string. I\SEND\EXPECTED would result in BackMail, sending the SEND string, then waiting for TIMEOUT seconds for EXPECTED. Whether or not the EXPECTED string was received BackMail would then pass on to process the next line of the script. FIELD SIZES In a BSL command line the command field is always one or two characters long (depending upon whether the command takes a parameter or not). The send field can be up to 64 characters in length. If you need to send a long string which is longer that 64 characters you can simply break up your long string into shorter strings. For example the script lines: I\This is an example of a very long string which I wish to \ I\send to my modem\ would send the whole string: This is a an example of a very long string which I wish to send to my modem The EXPECTED field cannot be longer that 64 characters. If you are expecting a string longer that 64 characters you should just put the last 64 expected characters into the string. SPECIAL CHARACTERS IN SEND STRINGS Anything that occurs in the send field, that is, anything that occurs between the two "\" marks in a command line will be sent to the modem. between the two "\" marks in a command line will be sent to the modem. However there are a few characters and strings that get special treatment and are discussed in the following sections. SENDING AND The examples above were a little bit artificial. If you are communicating with a modem, some other communications equipment or are online with another system, you will almost always want to terminate a string you send out the communications port, by a carriage return, or a carriage return line feed. However if you put an actual carriage return or line feed in the send field that would end the line rather than getting sent and would result in a script syntax error. Instead you should use the special characters: 86 The BackMail Script Language "]" = Carriage Return (Decimal 13 Decimal\ 0DHex) "]" = Carriage Return (Decimal 13 Decimal\ 0DHex) "["= Line Feed (Decimal 10 \0A Hex) "["= Line Feed (Decimal 10 \0A Hex) When BackMail encounters these in the send field, it substitutes carriage return or line feed characters in the string. So, for example, suppose that you wanted a script to turn on the speaker on your modem before dialing out. This is typically done by sending the modem the string: "ATM1", followed by a carriage return or sending the modem the string: "ATM1", followed by a carriage return or a carriage return followed by a line feed. You could do this with the line: I\ATM1][\ok This would send: ATM1 to the modem, wait TIMEOUT seconds for the "ok" response, and then to the modem, wait TIMEOUT seconds for the "ok" response, and then pass on to the next line of the script. DESTINATION PHONE NUMBERS Suppose that you want a script to dial a number using a phone credit card. To make the call you want BackMail to dial an access number, then the phone number, followed by your credit card number. Suppose that the access number is "112" and your credit card number was "4444 5555 6666". You could do that by putting a line in your script which read: I\112,424-6580,4444 5555 6666" Use commas here to tell your modem to pause for a second or two in dialing the numbers. This would dial the number 424-6580 using your access number and credit card, the problem is that if you include the destination phone number in the script itself the script would only be good for calling that one number! What you should do instead is to use the "@" in the send field. When What you should do instead is to use the "@" in the send field. When BackMail finds an "@" in the send field it replaces it with the phone BackMail finds an "@" in the send field it replaces it with the phone number of the destination you are calling. Thus if you make your line read. I\112,@,4444 5555 666\ Then BackMail would replace the "@" with the phone of destination it Then BackMail would replace the "@" with the phone of destination it was currently calling. This enables you to assign one script to as many destinations as you like. The only complication here surrounds what version of the destination's phone number will be used to replace the "@". Simply put, the format phone number will be used to replace the "@". Simply put, the format of the phone number used here will correspond to the phone number BackMail would have dialed if you were not using a script and were The BackMail Script Language 87 dialing the destination number directly. That is controlled by the Suffix or Prefix you have assigned to that destination. To understand how this works in detail you should read Chapter 20 on understanding extension numbers. An example should suffice here. Suppose that the destination you were calling was: Joe Smith and Joe's full phone number was: (902)424-3811 Ext. 123 How BackMail would dial Joe would depend upon what prefix or suffix you had declared for Joe in his phone directory entry. Suppose that you had defined 7 different prefixes in the "prefixes" section of CHANGE SETUP. So that your available prefixes looked like this: +---------------------------------------------+ | Intern ext number | | Local phone number | | Long 1 + (area code) + phone number | | FaxLne phone number,,,444 | | WGerm 011,49,+ (area code) + phone number | | Austr 011,61,+ (area code) + phone number | | France 011,33,+ (area code) + phone number | | Japan 011,81,+ (area code) + phone number | +---------------------------------------------+ These formats represent the format in which BackMail would dial destinations with these prefixes or suffixes. If you were using a script which contained the "@" mark in its send field then the "@" script which contained the "@" mark in its send field then the "@" would be converted into these formats depending upon the prefix\suffix setting of the destination it was dialing. So suppose that you assign a script to Joe Smith's phone directory entry. One that contains the "@" mark. Then when BackMail sees the entry. One that contains the "@" mark. Then when BackMail sees the "@" it will check Joe's prefix\suffix mark and replace it with the "@" it will check Joe's prefix\suffix mark and replace it with the number format of that prefix or suffix. Thus if you had assigned Joe the suffix FaxLne shown above then the script line I\ATDT @]\ This would be sent to the modem as ATDT 424-3811,,,444 On the other hand if Joe Smith had been assigned an "Intern" prefix On the other hand if Joe Smith had been assigned an "Intern" prefix the script would replace the "@" with Joe's extension number: the script would replace the "@" with Joe's extension number: ATDT 123,,,444 88 The BackMail Script Language This gives you considerable flexibility in writing scripts since it gives you a choice as to whether or not to include, for example, your credit card suffix as part of the script itself, or to define it as a suffix. You might for example have two different credit card numbers that you want to have dialed by the same script, but use different credit card numbers for various destinations by writing them in to different prefixes. SENDING SPECIAL CHARACTERS It can sometimes happen that you want to send non alphanumeric characters as part of your communications. For example you might want to send the control character Ctrl C to activate a data switch attached to your serial port. You cannot include these characters literally in your ASCII script file (not without a lot of complications anyway). Instead you can include a string which BackMail will translate into the relevant character code. The format for these strings is an ascending slash "/" (sometimes The format for these strings is an ascending slash "/" (sometimes called 'frontslash' to distinguish it from the 'backslash' character) followed by a 3 digit expression of the decimal number of the character you want to send. Thus to send Ctrl C, character "3" you could use a string like this. I\Here it comes./003\ This would send the phrase "Here it comes." followed by the Ctrl C character. Note that you must express the decimal value of the number as a three digit number so don't forget to use those leading "0"s. You can also use this sequence to send "literally" characters that have a special function in BSL scripts. Thus you cannot send the characters "@" ,"]" , "[", "/" or "\" directly to your modem because characters "@" ,"]" , "[", "/" or "\" directly to your modem because these symbols have a special meaning in BSL and will be re- interepreted before they get sent. However you can send these characters by entering their decimal character number. Their corresponding numbers are: / \047 @ \064 [ \091 \ \092 ] \093 Thus the command I\\Here come special symbols 064\093\091\092\047\ The BackMail Script Language 89 Would send the string Here come special symbols @][\\ PARAMETERS Some BackMail commands (which are remember, just single letters A...J) Some BackMail commands (which are remember, just single letters A...J) take parameters. Parameters are just single alphanumeric characters. The legal parameters, together with numeric values are given in the table at the end of this chapter. What these parameters do depends upon which command they are attached to as explained below. Not all commands require parameters. If you include a parameter character with a command that does not require one it will be ignored. However if you do not include a parameter which does require one then BackMail will treat this as a script error and immediately terminate processing of the script. SCRIPT LANGUAGE COMMANDS The meaning of each of BSL 10 command letters is explained below. The "n" beside some the command letters indicates that they require a _ parameter. Parameters are ASCII characters from Decimal 48 to 254. The function of these parameters depends upon the command. An WAIT FOR n SECONDS _ _ When BackMail executes the A command it will wait for a certain period When BackMail executes the A command it will wait for a certain period of time before it proceeds to the next line of the script. How long it will wait depends upon the value of the parameter. A1\\ waits for 1 second before proceeding to the next line. (This is the minimun value of an "A" wait.) A2\\ waits for 2 seconds But the parameter need not be a number. A line could read: AX\\ This would wait for fourty seconds. This is because, the ASCII value of the character "X" is 88, which is 40 greater than the ASCII value of the character "X" is 88, which is 40 greater than the ASCII value of the numeral "0". A table of permissible parameters and their numeric interpretations is provided in a table at the end of this chapter. Bn SET TIMEOUT TIME TO n SECONDS _ _ Each command line has the format: COMMAND\SEND\EXPECTED When BackMail reads this line it sends the text in the SEND field and waits to receive the EXPECTED string for a certain period of time. 90 The BackMail Script Language That period of time is the TIMEOUT time. You use this command to set the TIMEOUT time. Thus B9\\ sets a TIMEOUT time of 4 seconds. The minimum value of the TIMEOUT wait is 1 second. You can set TIMEOUT to a higher value than 9 by using characters as parameters. Thus. BX\\ would set TIMEOUT to 40 seconds See the table below for a listing of the numeric values associated with characters. Note as with all BSL command lines the command only takes effect if nothing was EXPECTED or if the EXPECTED string was received. Thus if the script contained the lines: # This script illustrates the B command B2\\ B9\\Hello world The the first "B2" would set the TIMEOUT to 2 seconds, which means The the first "B2" would set the TIMEOUT to 2 seconds, which means that, on the next line BackMail would wait for two seconds for the response: Hello world If it got that response the "B9" command would be executed and TIMEOUT If it got that response the "B9" command would be executed and TIMEOUT would be set to 9 seconds in subsequent lines. However if "Hello World" were not received the "B9" would not be acted However if "Hello World" were not received the "B9" would not be acted upon and the TIMEOUT wait would remain at 2 seconds as BackMail passed on to the next line of the script. C WAIT FOR CARRIER Typically your BSL session will involve two stages. First you use the script to control your modem or telephone switching devices by sending modem control strings to the modem. When you connect with the remote modem you will then go online and carry on your dialogue with the computer you have connected to. Going online will require your modem to detect a carrier and match frequencies with a remote modem. The process of matching carriers and establishing a communications BAUD rate is actually quite a complicated process from the point of view of the software and hardware. You use the "C" command when you have reached the point where you You use the "C" command when you have reached the point where you expect to hear a carrier signal from the remote modem. When it receives this command the script turns control over to BackMail to interpret the modem's responses. At this point BackMail behaves just as if it had dialed the remote modem without using a script and interprets the modem responses according to the settings you have The BackMail Script Language 91 provided under BMCONFIG.COM or entered under TECHNICAL SETTINGS (See the appropriate sections of this manual for details). When BackMail has established a communications link with the remote modem it will return control of the transaction to the script. If BackMail does not establish a communications link with the remote modem in TIMEOUT seconds, then the script will hang up the phone, and terminate the call. Thus consider the lines #Set the TIMEOUT time to 30 seconds BX\\ #Now wait for carrier C\\ #If we get to here we are online I\Hello!\ The "BX" command sets the TIMEOUT time to 40 seconds. When BackMail The "BX" command sets the TIMEOUT time to 40 seconds. When BackMail reaches the "C" line it will wait for 40 seconds to establish reaches the "C" line it will wait for 40 seconds to establish communication with the remote modem. If the connection is made then BackMail would pass on to process subsequent lines. If no carrier was achieved after 40 seconds then BackMail would hang up, terminate the script session and would not carry on the subsequent line of text. PLACE MARKER Dn _ The "D" command doesn't do anything. When BackMail encounters a line The "D" command doesn't do anything. When BackMail encounters a line like: Dn\SEND\EXPECTED It will send SEND and wait TIMEOUT seconds for EXPECTED and then proceed to the next line whether or not it gets what is expected. When it encounters the line: Dn\\ BackMail will simply move on to the next line of the script. "D" is just a place marker for the command line on which it occurs. Place markers are important because other BSL commands ("E" and "J", Place markers are important because other BSL commands ("E" and "J", see below) jump to lines containing place markers when they are executed. Place markers require parameters. The numeric values of parameters are not important but differences between "D" parameters are. As we are not important but differences between "D" parameters are. As we shall see below the "E" and the "J" commands jump to lines containing shall see below the "E" and the "J" commands jump to lines containing place markers, and where they jump depends upon their parameters. Thus the commands "Et" or "Jt" will jump to position markers "Dt", Thus the commands "Et" or "Jt" will jump to position markers "Dt", while the commands "E&" and "J&" will only jump to "D&" markers. while the commands "E&" and "J&" will only jump to "D&" markers. 92 The BackMail Script Language The order in which parameters are used with place markers is not important. It is okay to have scripts that look like this: D9\\ D2\\ D>\\ . . It is also okay to use the same place marker several times in a script. That is, there is nothing wrong with repeating markers like this: D1\\ D1\\ D1\\ We shall see shortly why you might want to have the same place marker at several points in your script. CONTROLLING PROGRAM FLOW BSL does not have commands like BASIC's "Goto" or "Gosub" commands nor does it have loop commands like "DO___ WHILE...." or "FOR .... DO___ ". The reason for this is that it is very easy for these sorts of functions to be used in ways that will get a script going in loops and cycles from which it never exits. This would be a bad thing in a script language which is meant to run in the background where you won't know what's going on. It would be potentially disastrous if the script is left "spinning its wheels" after placing a long distance telephone connection. For this reason BSL is designed so that it is impossible for the __________ script to get into an infinite loops. Every BSL script will finish execution after a finite number of steps. Nevertheless, by using place markers, the "E" (Jump Back) and the "J" Nevertheless, by using place markers, the "E" (Jump Back) and the "J" (Jump forward. See below) commands you can create highly sophisticated program structures, conditional branches, loops and subroutines. En JUMP BACK (ONCE) TO MARKER Dn _ _ The "E" command takes a parameter. This can be any of the The "E" command takes a parameter. This can be any of the alphanumeric characters from "1 to z". When it executes the "E" alphanumeric characters from "1 to z". When it executes the "E" command BackMail goes to the start of the script and looks for the first occurrence of a "D" marker with a matching parameter. Consider first occurrence of a "D" marker with a matching parameter. Consider the script below. We have numbered the lines to help explain what is going on. The BackMail Script Language 93 1 #This Script illustrates the E command 2 #Here we have a place marker 3 D1\\ 4 #Here we have another place marker 5 D1\\ 6 #Notice the following place marker has a different parameter 7 D2\Knock Knock\ 8 E1\\Go away! 9 D3\Isabelle\ As we've explained above the "D"s here are just place markers. They As we've explained above the "D"s here are just place markers. They have no other function. Reading this script BackMail would pass over the comment lines and the empty "D"'s in line 1-6. When it got to the comment lines and the empty "D"'s in line 1-6. When it got to line 7, BackMail would send the string "Knock! Knock". Since there is nothing EXPECTED by this line, and since the "D2" command does nothing EXPECTED by this line, and since the "D2" command does nothing, it would then move on to line 8. Line 8 will wait for TIMEOUT seconds for the response: Go away!. If it gets that response it will execute the "E1" command: it will go If it gets that response it will execute the "E1" command: it will go back to the start of the script and search forward until it finds the first occurrence of a "D1" marker, in this case it will find that at first occurrence of a "D1" marker, in this case it will find that at line 3. BackMail will then carry on processing the script at line 3. It will carry on down to line 7 where it will again send "Knock! Knock!" and then on to line 8 where it will again wait for the "Go Away". This time if it gets "Go away!" it will jump back again, but it will not return to line 3. We described this command as "Jump back once only" because it will never return to the same place marker twice. When it first jumped to line 3, BackMail marked that line as a "D1" When it first jumped to line 3, BackMail marked that line as a "D1" marker that it had already been jumped to. So, the second time it executes the "E1" at line 8 BackMail will go back to the start of the executes the "E1" at line 8 BackMail will go back to the start of the script, search forward, skipping over line 3, until it gets to the place marker at line 5, on this second pass the script will continue from there. 1 #This Script illustrates the E command 2 #Here we have a place marker 3 D1\\ <---First Jump -------- 4 #Here we have another place marker 5 D1\\ <---Second Jump ------- 6 #Nb. a different place marker 7 D2\Knock Knock\ 8 E1\\Go away! 9 D3\Isabelle\ <----Third Pass nowhere to jump What will happen when the script gets to line 8 again and still gets a "Go away!" response to its "Knock. Knock"? Well "E1" will try to jump "Go away!" response to its "Knock. Knock"? Well "E1" will try to jump back to a previous "D1", but at this point it will have "used up" all back to a previous "D1", but at this point it will have "used up" all the previous "D1"s. It won't jump to line 7 because the parameter of the previous "D1"s. It won't jump to line 7 because the parameter of 94 The BackMail Script Language that place marker is a "2", and "E1" will only jump to "D1's". that place marker is a "2", and "E1" will only jump to "D1's". Finding no unjumped to "D1"s above it in the script, the "E1" at line Finding no unjumped to "D1"s above it in the script, the "E1" at line 8 would do nothing. BackMail would just carry on from line 8 and execute line 9. Note, "E" just jumps back, if there were a "D1" later in the script, Note, "E" just jumps back, if there were a "D1" later in the script, this "E1" would not jump forward to it. (The command "J" jumps this "E1" would not jump forward to it. (The command "J" jumps forward, see below. You are getting the hang of it you can figure out what this script would send. # Sample Script D3\\ # Send 1 I\1\ # First D2 Marker D2\\ # Send 2 D3\2\ # Send 3 I\3\ # Send 4 D3\4\ E3\\ E2\\ # Send "finished" I\finished\ The answer is it would send: 1 2 3 4 1 2 3 4 2 3 4 4 2 3 4 finished By using the "E" command with the Jump forward command (See below) you By using the "E" command with the Jump forward command (See below) you can create scripts with extremely sophisticated conditional branching and subroutines. F OPEN THE SCRIPT.LOG FILE BackMail scripts run invisibly in the background. If you write scripts you will want to debug them and for that you will need to be able to see what they are doing. For that purpose BackMail provides a script logging facility. When BackMail encounters the "F" command it script logging facility. When BackMail encounters the "F" command it opens a file and writes the results of your background transactions into a an ASCII text file called "SCRIPT.LOG". By examining the log file you can see what your script is doing. There are several important things to understand about script logging. When BackMail encounters the command F\\ it creates a file called SCRIPT.LOG in your BackMail TRANSFER directory. This is the directory you use to store incoming BackMail The BackMail Script Language 95 files. If a script.log file already exists in that directory then it is overwritten by a log of the current session. This means that if you are debugging a script using the script log you should: 1) Run the script by calling a destination using that script. 2) Wait till the script is finished, that is until the script hangs up or you successfully go online with the destination. 3) When the Main Menu shows that you have gone "offline" and the phone has gone on hook, you should then deactivate BackMail (default Alt-3), before you use your text editor or the DOS "TYPE" command to view the script log. This procedure insures two things: a) That the script.log you are looking at does indeed contain a record of the script you have just run. b) That you do not have the script.log file open while BackMail tries to write it (if it attempts to call again). That would prevent BackMail from writing a script and would produce a script log error. (See below). After you have examined the log, and perhaps made some changes in the script, you can activate BackMail and try the log again. Depending upon what else you are doing when BackMail is online BackMail may wait for a second or two before it can close the script log. Give it that second or two before you open the log file with your text editor otherwise the file will not get properly written. WHAT IS RECORDED IN THE SCRIPT LOG When you have the script log turned on, BackMail will write into it: - Comment lines - Sent strings - Received strings Comment lines are written to the script to help you track the flow of the script and they are terminated by a . All other incoming the script and they are terminated by a . All other incoming and outgoing traffic is written as it is sent or received. This may result in some odd formatting of text in the log file, but this, in itself, can provide useful debugging information. For example suppose that you wrote a script and included the following lines to turn on the speaker on your modem while the script was running. 96 The BackMail Script Language #The next line turns on script logging F\\ #Now the script is on. Next we are going #To turn on the speaker on the modem. Note we wait #for the modem acknowledgement "OK" before we proceed D1\ATM1\OK #Now that the speaker is on we will carry on #to do something else. This script wouldn't do what it was supposed to. And if you looked at the script log you would see why because you would see the following: #Now the script is on. Next we are going #To turn on the speaker on the modem. Note we wait #for the modem acknowledgement "0" before we proceed ATM1#Now that the speaker is on we will carry on #to do something else. From this you can see two things. The first is that the modem never gave a "OK" response to your speaker command. The second is that the reason it didn't respond in that way is that you forgot that the modem command string must be terminated by a , and because you left it command string must be terminated by a , and because you left it off the command wasn't processed by your modem. Realizing this you should alter your script by terminating the modem command with a . command with a . #The next line turns on script logging F\\ #Now the script is on. Next we are going #To turn on the speaker on the modem. Note we wait #for the modem acknowledgement "OK" before we proceed # This time I'll include a carriage return D1\ATM1]\OK #Now that the speaker is on we will carry on #to do something else. This script would work. And what you would see in the script log is: #Now the script is on. Next we are going #To turn on the speaker on the modem. Note we wait #for the modem acknowledgement "0" before we proceed # This time I'll include a carriage return ATM1 OK #Now that the speaker is on we will carry on #to do something else. Showing that the modem responded with "OK" to your properly terminated Showing that the modem responded with "OK" to your properly terminated command. (Note what you will actually see when you look at the script log will depend upon the text editor you use. Some text editors would display the carriage return received from the modem with an ASCII character.) The BackMail Script Language 97 SCRIPT ERRORS Script logging can also show you when you have made a syntax error in writing your script. For example suppose that your script had looked like this. #The next line turns on script logging F\\ #Now the script is on. Next we are going #To set a TIMEOUT time of 8 seconds B8\ #Now we turn on the speaker on the modem. Note we wait #for the modem acknowledgement "OK" before we proceed # This time I'll include a carriage return D1\ATM1]\OK #Now that the speaker is on we will carry on #to do something else. There is a mistake in this script. The "B" line is missing a "\" to There is a mistake in this script. The "B" line is missing a "\" to end the send field. The log for this script would look like this. #Now the script is on. Next we are going #To set a TIMEOUT time of 8 seconds SCRIPT ERROR The annotation SCRIPT ERROR is written at the point at which BackMail found the error in the script syntax. After writing this error notice BackMail has closed the script log and terminated the script session. TURNING OFF SCRIPT LOGGING Once turned on, script logging is terminated by any of the following events. - BackMail encounters a script syntax error and has written "SCRIPT ERROR" into the log. - The wait for Carrier command has been executed but BackMail has not received a carrier after TIMEOUT seconds. - The script has been terminated by a Hang up command ("H", see - The script has been terminated by a Hang up command ("H", see below). - The script has been terminated by making a successful BackMail connection ("G" see below). connection ("G" see below). - BackMail reaches the end of the script COMMAND G GO INTO REGULAR BACKMAIL MODE Dialing scripts are designed to get your BackMail in touch with another BackMail or with a program that does the BackMail protocol. The successful execution of every script should thus end up with your BackMail connected and online with another BackMail or BackMail compatible program. At this point BackMail should carry on as if it has successfully dialed the other number directly and has initiated a BackMail transaction. 98 The BackMail Script Language The "G" command tells BackMail that the script has done its job and The "G" command tells BackMail that the script has done its job and that it should quit its script mode and go initiate the standard BackMail communications protocol. Executing the "G" command also closes the script log. Logs are for Executing the "G" command also closes the script log. Logs are for logging scripts, not BackMail traffic. Note every script should contain the "G" command at some point or Note every script should contain the "G" command at some point or other. H HANG UP The H command causes BackMail to hang up the phone and abandon its The H command causes BackMail to hang up the phone and abandon its current attempt to call the target destination. It terminates script logging if it has been enabled by the "F" command and closes the logging if it has been enabled by the "F" command and closes the script file. You might include it in a script to get BackMail to hang up if it receives a busy signal or a "not in service message". If you do not include the "H" command BackMail will hang up anyway if If you do not include the "H" command BackMail will hang up anyway if reaches the end of the script. If the script successfully connects with another BackMail and executes the "G" command then BackMail will hang up on its own when it has the "G" command then BackMail will hang up on its own when it has exchanged mail; a subsequent script, "H" command is unnecessary in exchanged mail; a subsequent script, "H" command is unnecessary in that case. I IGNORE. DO NOTHING The "I" command doesn't do anything. It is not even a place marker. The "I" command doesn't do anything. It is not even a place marker. You can use it when you want a command line to just send a string, or just wait for an EXPECTED string for time out seconds. # The following string just sends 'hello' I\Knock Knock\ # The following string just waits for a response I\\Who's there # Parameters mean nothing to the I command # The following command line is legal though it does # nothing I9\\ Jn JUMP FORWARD ONCE TO MARKER Dn _ _ When BackMail executes the J command it jumps forward to the next D When BackMail executes the J command it jumps forward to the next D place marker in the script with a matching parameter. It will only jump to an given place marker once. If there are no matching place markers following the J in the script, or they have already been markers following the J in the script, or they have already been jumped to, BackMail just moves on to the next line of the script following the J command: following the J command: The BackMail Script Language 99 #The following J command will jump forward Jw\\ #It would jump over this comment line #and any non-matching D place markers Da\\ Db\\ Dc\\ #And go directly to the following line Dw\I jumped to here\ The 'J' command obeys the logic of all command lines. Thus consider The 'J' command obeys the logic of all command lines. Thus consider the following script. #This illustrates the J command J1\Do you want to hear a joke?\Yes #If we get here we didn't get the expected response J1\Aw c'mon!\Ok #Let's just give up and hang up H\Spoil Sport!\ # We jump to the follwing line to begin telling a joke. D1\Knock Knock!\ Note that you can use 'J' commands with the same parameter in a script Note that you can use 'J' commands with the same parameter in a script to jump to a common position. By combining the 'J' command with the to jump to a common position. By combining the 'J' command with the 'E' you can construct complex program structures. For example the 'E' you can construct complex program structures. For example the following script has a virtual subroutine that waits for 5 seconds when "jumped to" # This line of script jumps to a subroutine if it gets # asked to wait. Js\\Please Wait # The following marker will get jumped back to when the wait # is complete Dt\\ # Now we could carry on # . # . # . # . #This is our little subroutine that waits for five seconds #We precede it with several repeats of the same D marker so #that it can be jumped to several times. Remember, Each "D" #is only jumped to once. Ds\\ Ds\\ Ds\\ Ds\\ #this is the line that does the waiting A5\\ #This line jumps back to return from the subroutine Et\\ This script illustrates how you can use "J" and "E" together to create This script illustrates how you can use "J" and "E" together to create branches in a program: 100 The BackMail Script Language #This script illustrates branching. D1\\ D1\\ D1\\ #If we get a YES response then we proceed J2\Want to hear a joke\Yes #If we get here we didn't get the response we wanted #So we jump back and ask again E1\Aw common\ #But we'll only jump back 3 times after which we'll get to #here and hang up. H\Spoil sport!\ #If we get to here someone wants to hear our joke. D2\Knock Knock!\ TRACKING THE SCRIPT SEQUENCE Just a few jumps in your script can give it a very complex flow structure. Its a good Idea to include lots of comments in your scripts so that you can follow the course of the program with script logging. SCRIPT PARAMETER VALUES This table displays permissable script parameters and their numeric interpretations. +------------------------------------+ | PARAMETER VALUES | +-----+------+-----+-----+-----+-----+ |0 0 |> 14 |L 28 |Z 42 |h 55 |v 69| |1 1 |? 15 |M 29 |[ 43 |i 56 |w 70| |2 2 |@ 16 |N 30 |\ 44 |j 57 |x 71| |3 3 |A 17 |O 31 |] 45 |k 58 |y 72| |4 4 |B 18 |P 32 |^ 46 |l 59 |z 73| |5 5 |C 19 |Q 33 |_ 47 |m 60 |{ 74| |6 6 |D 20 |R 34 |` 48 |n 61 || 75| |7 7 |E 21 |S 35 |a 48 |o 62 |} 76| |8 8 |F 22 |T 36 |b 49 |p 63 | | |9 9 |G 23 |U 37 |c 50 |q 64 | | |: 10|H 24 |V 38 |d 51 |r 65 | | |; 11|I 25 |W 39 |e 52 |s 66 | | |< 12|J 26 |X 40 |f 53 |t 67 | | |= 13|K 27 |Y 41 |g 54 |u 68 | | +-----+------+-----+-----+-----+-----+ BACKMAIL UTILITIES: SEND, PMERGE AND CONVERT As part of the release of BackMail II, Alethic provides three new utilities. One for sending files from the command-line, another to allow you to merge other users' phone directories with yours, and the third to convert your phone directory to BackMail II format. SEND - COMMAND LINE FILE SENDING UTILITY The program SEND is used to insert files into the BackMail outgoing stream. SEND works independently of FGROUND and is intended for use in a batch environment; or in conjunction with other programs for which user input is not possible. The calling protocol is: SEND (switches) Where the switches begin with the 'dash' character '-' and consist of Where the switches begin with the 'dash' character '-' and consist of an option letter followed in all but the cases of the 'Q' option and an option letter followed in all but the cases of the 'Q' option and the '?' option, by an argument. The SEND options are: the '?' option, by an argument. The SEND options are: -B . This is the path, including drive, where the mail file OUTMAIL -B . This is the path, including drive, where the mail file OUTMAIL and the phone directory PHONE are to be found. Do not end the path with the '\' character as SEND will add that itself. If this switch is not given, SEND will assume that the path is C:\BACKMAIL. -P Phone number of the destination. This number must have 10 digits -P Phone number of the destination. This number must have 10 digits (so include area code). Do not include spaces or punctuation characters like '(', ')' and '-'. For example to send to (902) 477-9492 use the switch -P9024779492. -E Extension of destination. This cannot be more than 4 digits. If -E Extension of destination. This cannot be more than 4 digits. If this switch is not present, SEND assumes that the destination has no extension. -H Handle of the destination in the sense of the short form of the -H Handle of the destination in the sense of the short form of the destination name. This is the (10 characters maximum) name of the destination as it appears in the destination selection screen when using FGROUND to send files or messages. If both the -P and when using FGROUND to send files or messages. If both the -P and the -H switches are present on the command line, SEND will use the -H switches are present on the command line, SEND will use the handle. -F File to send. If no path is given, SEND assumes that the file is -F File to send. If no path is given, SEND assumes that the file is in the current directory. -Q QUIET mode. In this mode, SEND will not print error messages. -Q QUIET mode. In this mode, SEND will not print error messages. All errors will be indicated by exit codes alone. These codes are detailed below. The default mode is not QUIET (i.e. VERBOSE). -? Help request. When this switch is present SEND prints out a -? Help request. When this switch is present SEND prints out a message describing usage (even in QUIET mode). 102 BackMail Utilities Option letters may be in either upper or lower case and similarly for handles. In looking up the handle in the phone directory, SEND ignores case. SEND EXIT CODES There are a number of conditions which SEND treats as fatal errors, i.e. these will cause the program to abort. If QUIET mode has not been set with the command line switch -Q, SEND prints out a message been set with the command line switch -Q, SEND prints out a message describing the error, and in any case will abort with an exit code. These codes may be picked up by the batch processor or the calling program and some action be taken. The codes are: 0 No error. An exit code of 0 indicates that SEND did not encounter any errors. 1 Bad switch. The command line contained a switch followed by an 1 Bad switch. The command line contained a switch followed by an option which SEND does not recognize. In such a case SEND prints out a usage message. Notice that the 'help' option '?' is treated also as a bad switch. 2 BGROUND not resident. SEND cannot operate without the BackMail 2 BGROUND not resident. SEND cannot operate without the BackMail resident portion, BGROUND, being loaded. 3 No file to send. Either the option -F was not present, or the 3 No file to send. Either the option -F was not present, or the file indicated by that switch could not be opened. 4 No destination. Neither of the options -P or -H were present on 4 No destination. Neither of the options -P or -H were present on the command line. 5 Destination not found. No match was found between the phone 5 Destination not found. No match was found between the phone directory and the destination given by -P or -H on the command directory and the destination given by -P or -H on the command line. It is not possible to use SEND for any destination that does not already have an entry in PHONE. 6 Internal destination table full. All BackMail send tasks are 6 Internal destination table full. All BackMail send tasks are recorded in an internal table which has room for 100 entries. If SEND discovers that there is unsent mail for all of the 100 destinations in this table, and the table contains no entry already for the destination selected on the command line then there is no room for this send task, and SEND aborts with error code 6. 7 Cannot open PHONE. SEND failed to open the phone directory. 7 Cannot open PHONE. SEND failed to open the phone directory. 8 Cannot open OUTMAIL. SEND failed to open the outgoing mail file. 8 Cannot open OUTMAIL. SEND failed to open the outgoing mail file. An entry must be made in this file in order to send a file. 9 Cannot write to PHONE. SEND encountered an error in attempting 9 Cannot write to PHONE. SEND encountered an error in attempting to update the phone directory. The directory must be updated for each new send task. 10 Error closing the file to send. During its operation, SEND must 10 Error closing the file to send. During its operation, SEND must be able to open and close the file selected for sending in order to determine its length. BackMail Utilities 103 11 Error closing PHONE. 11 Error closing PHONE. 12 Error closing OUTMAIL. 12 Error closing OUTMAIL. 13 Wildcards present in name of file to send. SEND does not support 13 Wildcards present in name of file to send. SEND does not support wildcards. 14 Error determining current directory. If no path is given for the 14 Error determining current directory. If no path is given for the file to send, then SEND assumes the file to be in the current directory and will prepend that path to the filename given. 15 Wrong version. SEND will work only with BackMail version 2.xx or 15 Wrong version. SEND will work only with BackMail version 2.xx or greater. 104 BackMail Utilities PMERGE: BACKMAIL PHONE DIRECTORY MERGE UTILITY PMERGE allows one to merge all the data entries from a 'foreign' phone directory into one's own thus reducing a certain amount of drudge-work among a network of BackMailers. To start PMERGE use the following syntax: PMERGE [-Bpathname -Q -Paaaxxxyyyy] Where the options are explained as follows: -B is the path to the original phone directory. The user may enter -B is the path to the original phone directory. The user may enter this switch explicitly or set an environment variable called BACKMAIL to this path (e.g. by entering the DOS command SET BACKMAIL=c:\mypath). IMPORTANT NOTE: when entering this path, DO NOT terminate with the 'backslash' character ("\"). If neither NOT terminate with the 'backslash' character ("\"). If neither option is exercised then PMERGE will assume that the user's original phone directory is to be found in C:\BACKMAIL. -Q requests 'quiet' mode. When running in this mode PMERGE will not -Q requests 'quiet' mode. When running in this mode PMERGE will not print error messages but rather will indicate fatal errors by means of exit codes alone. These codes, the meaning of which is detailed below, may be retrieved by the DOS batch processor. -P is the user's phone number which must be in ten digit format -P is the user's phone number which must be in ten digit format without spaces or punctuation symbols e.g. 8769024312. As an alternative to entering this option on the PMERGE command line, the user can set an environment variable called PHONE to the required number. If PMERGE can not discover the user's phone number either from the command line option or the environment, it aborts with an error message (or exit code alone depending on the mode). PMERGE USAGE NOTES PMERGE expects both the original and the 'foreign' phone directories to be named PHONE so evidently they cannot both be in the same subdirectory. It is normally the case that one receives a new phone directory by means of BackMail, so it will be called PHONE and reside in the user's transfer subdirectory (where all files go that are received by BackMail). PMERGE requires that the new phone directory be in the current subdirectory. Here's a scenario: a new phone directory is sent to the user and ends up in the subdirectory C:\BACKMAIL\TRANSFER. The user can now either place the program PMERGE.EXE somewhere on their path (as set by the DOS command PATH=) or copy the program to the transfer subdirectory. Now to merge the new phone directory with user's original phone directory, the user issues the command: CD C:\BACKMAIL\TRANSFER in order to make the transfer subdirectory current. Next the user issues: PMERGE -P8174236543 BackMail Utilities 105 where the string following the -P is the user's phone number including where the string following the -P is the user's phone number including area code but without punctuation. Notice that in this example, the user keeps the original phone directory in C:\BACKMAIL so there is no need to enter the -B option. PMERGE will then print a 'banner' and a number of messages detailing its operation since 'quiet' mode is not in effect (the -Q option was not given). When it has finished, the in effect (the -Q option was not given). When it has finished, the user's phone directory in C:\BACKMAIL will have been increased by the addition of those data numbers in the 'new' phone directory such that (1) the numbers in question did not already appear in the original directory (i.e. PMERGE will not create duplicate entries) and (2) The user's own number will not be included even if there is such an entry in the 'new' directory. This is the reason that PMERGE insists on being told the user's telephone number before it will operate. PMERGE LIMITATIONS AND CAUTIONS PMERGE cannot 'merge in' new phone numbers if the user's current phone directory contains 3000 data entries or more already. If either the new directory or the original directory has become corrupted, then the result of running PMERGE will certainly inherit this corruption. Phone directories can become corrupt in a number of ways (not excluding malice) so it pays to take precautions. Alethic recommends frequent saving of backup copies of phone directory and mail files (notice that these files are intimately related so that a saved PHONE without its corresponding OUTMAIL at least will cause trouble up to and including a system crash). In particular, it would be sensible to make a backup copy of PHONE before running PMERGE. PMERGE ERROR MESSAGES AND EXIT CODES The following are the error messages and exit codes produced by PMERGE when it encounters an error condition. In quiet mode, no message is printed except for error 1. Exit Codes 1 PMERGE found an option on the command line which it couldn't 1 PMERGE found an option on the command line which it couldn't interpret. A summary of the allowable options is printed. Action: Re-enter the command line with typos corrected. Consult the list of allowable options. 2 No phone number found. 2 No phone number found. Action: Either re-enter the command line giving the -P Action: Either re-enter the command line giving the -P option or set the environment variable PHONE to the user's number. 3 Bad phone format. 3 Bad phone format. Action: Re-enter the command line or re-set the environment variable making sure that the number has 10 digits (include area code) with no spaces or punctuation. 4 Error opening user's original phone directory. 4 Error opening user's original phone directory. 106 BackMail Utilities Action: Make certain that PMERGE is told the correct location of the original directory either by means of the -B option or the environment variable BACKMAIL. If this information is not given PMERGE, will assume (perhaps wrongly) that the phone directory is in C:\BACKMAIL. 5,6 Error creating temporary files. 5,6 Error creating temporary files. Action: During its operation PMERGE must create temporary files to hold information. If the user is low on disk space this error might well result. Clean up unnecessary files. 7 Error opening file of new phone numbers. 7 Error opening file of new phone numbers. Action: The 'foreign' phone directory must be in the current subdirectory. 8 Error writing to temporary files. 8 Error writing to temporary files. Action: This error, like 5 and 6 is typically the result of not having enough disk space to run PMERGE. 9 Wrong version. 9 Wrong version. Action: PMERGE has discovered that one or both of the phone directories that it has been asked to merge are in a format that it doesn't recognize. Make certain that both phone directories are in BackMail format and of a version which is no later than the version of PMERGE (printed when it starts). If necessary obtain a later version of PMERGE. BackMail Utilities 107 CONVERT: PHONE DIRECTORY CONVERSION PROGRAM With the release of BackMail II, the format of the phone directory file PHONE has changed (in order to accommodate variable number formats, polling and other new features). So that you won't have to re-enter all the numbers from your version 1.x phone directory, Alethic provides the program CONVERT. A successful conversion requires that the program be either on the DOS PATH, or in the same directory as the file to be converted. Follow these steps: (1) Make a backup copy of your phone directory and put it somewhere safe. In case something goes wrong you don't want to lose anything (especially sleep). (2) BackMail is running, 'Kill' it, i.e. enter 'K' from the main menu. (3) Enter the command line: CONVERT No arguments are required. Convert will print some status messages telling you what its up to, and then tell you (if all goes well) that it has successfully converted your directory. If not all goes well, and CONVERT encounters an error, it will have been signaled by one of the following: CONVERT ERROR MESSAGES "BackMail is loaded." It could cause a lot of confusion and heartache to convert PHONE while BackMail is in the midst of using it, as you can well imagine. Remove BackMail from memory and run CONVERT again. The file PHONE must reside in the same subdirectory as CONVERT. Or at least (if CONVERT is on your PATH) the phone directory must be in the current directory. Change directories and run CONVERT again. Error reading phone directory. This is definitely a message that you don't want to see. It could mean that your phone directory or disk (or both) are in serious trouble. Having sound backup procedures means never having to tear your hair when you get messages like this. PHONE NUMBERS AND EXTENSIONS AUTOMATIC PHONE NUMBER FORMATING Phone numbers: automatic formating BackMail records phone numbers to a maximum of 10 digits in length Extension numbers can will only record phone numbers of up to 4 digits. If you should have destinations which require longer dialing strings you should be able to accomplish this by defining appropriate prefixes and suffixes. BackMail requires an area code for all destinations. Whether or not the area code is dialed will depend upon the prefix/suffix type defined for the destination. BackMail also divides a phone number with a dash. The dash is relevant if you assign the destination a internal prefix but do not assign a seperate extension number to the destination. In that case BackMail dials the post dash numbers. (See below). When you enter a string of digits in a BackMail phone editing field BackMail will convert that number into a North American style number format. That is it will assume the first three numbers are an area code. So if you enter: 1234567890 BackMail will format this as: (123)456-7890 If you enter only seven digits then BackMail will assume that the phone number is local and will supply it with your area code. Thus if your area code were 902 and you entered: 1234567 BackMail would format the number as: (902)123-4567 INTERNATIONAL NUMBERS BackMail will also allows you to overide automatic number formating to enter non-North American numbers. To do this you must enter parentheses surrounding the area code. When BackMail finds the parentheses in the number you have entered it preserves this format. Thus you can enter numbers like: (1234)4567 (12)3456-7890 (12345)678-90 Phone Number Formats 109 UNDERSTANDING EXTENSION NUMBERS In an office enviornment it often happens that many phones share the same phone number and differ only in their extension. For this reason BackMail allows you to specify your own extension number as part of your phone number and to specify extension numbers in addition to destination's 7 digit phone numbers. In using extension numbers the most important thing to remember is that: For its own purposes BackMail identifies all destinations by their phone number and BackMail treats extension numbers as part of that identification. This becomes important when you remember that BackMail won't deliver or recieve mail from another BackMail unless the other BackMail has a phone number (the whole phone number) corresponding to some piece of mail. If you think about it you will see that this is essential for systems with extension numbers. When you call,say, "424-3811 Ext. 1112", you do not want to deliver messages that are adressed to "424-3811 ext.1113." DECLARING YOUR OWN EXTENSION One upshot of all this is that if, when declaring your own phone number, you include your extension number, then other BackMailers should know about that extension and use it as part of your phone number. Note, this is so even if their call to you is a local or long distance call. Otherwise the following may happen. Other Backmails will call your backmail and say: "Hello I have mail for 424-3811". Your BackMail will say "Sorry I am 424-3811 Ext.1112". The calling BackMailer will say "Ooops, then I have no mail for you!" and will disconnect without delivering its mail. In the other direction you may call BackMail's that already have you listed in their directory as 424-3811, but because your mail comes in stamped as being from 424-3811 Ext. 1123, those destinations will identify your mail as coming from "unknown". THE INTERNAL PREFIX The prefix "intern" comes pre-defined in BackMail and you can enter other prefixes or Suffixes of the INTERNAL type. When a destination's phone number bears an INTERNAL prefix/suffix type then BackMail will use the 1-4 digit extension number you have associated with that destinations phone number. If you declare a destination to be an "intern" call, but have not entered an extension number for the destination then BackMail will use the last four digits of the destinations phone number in placing its call. 110 Phone Number Formats So, to make an internal call to the destination: 424-3811 Ext: 12 BackMail would simply dial "12". On the other hand if you had no extension entered for this number but declared it to be an "Intern" call, BackMail would try to reach this number by dialing: "3811". CUSTOMIZING BACKMAIL FOR YOUR MODEM The default values in Backmail should enable it to operate with any truly Hayes Compatible 1200 or 2400 baud modem. Apart from insuring that your DIP switches are set correctly, we recommend that you use BackMail for a bit before undertaking any customization. The default values the program uses have been chosen with great care and work with a wide variety of modems. However, should you encounter problems or if your modem is non- standard, don't despair. We have designed BackMail to allow you to alter virtually all of the parameters that control the modems operations. So even if you have a modem that does not conform to industry standards it should be possible to configure the program to drive your modem. DIP SWITCHES Your Modem may or may not have DIP switches which may control some or all of these functions. Carrier Detect: Should be set so that Carrier is NOT always on. Data Terminal Ready: Should be set so that DTR is NOT always on; i.e. is controlled by the computer. Verbose/Terse Response codes: Should be set so that modem produces numeric responses Echo: Should be set so the modem does NOT echo commands Auto Answer: Should be off so modem does not automatically answer the phone. It is most important that you have Carrier and DTR detect enabled. If your modem does not have DIP switches for these functions then they will be set by command strings. Check the Setting for Tech 3 to make sure that it is the appropriate string to enable carrier and DTR. Setting of Tech settings is described below. MODEM DEFINITION FILES BackMail comes with several pre-defined Modem Definiton files. You can load these using the Expert Settings option in the BMCONFIG program. The READ.ME file that came with your BackMail will explain what sort of modems the supplied MDF files are appropriate for. The supplied MDF files represent a broad range of modem types. One of them should allow BackMail to drive your modem. MAKEMDF.COM For fine tuning BackMail to control your modem you may want to use the MAKEMDF program that comes with BackMail. To uses MAKEMDF you will need to get out your modem manual to fill out the appropriate fields. 112 Modem Customization For smaller changes, for example to add a string to your modem intialization string, or to turn on your modems speaker, you may find it easier simply to alter the modem command strings contain in Technical Settings under the Change setup menu. You change TECH SETTINGS by entering the number of the tech settings you want to change and entering an appropriate string or number. MNP MODEMS Some high speed modems which support the MNP error connection protocol, have very great difficulty in establishing a stable connection with lower speed modems that do not support MNP. If you have an MNP modem but want to BackMail with other modems that don't, it is probably a good idea to turn MNP off for BackMailing purposes. You can do this by including the string "&M0" in your TECH 7 String. (but confirm the effect of this in your modem manual). SPECIAL MODEM FEATURES BackMail does not support software flow control, XON/XOFF link flow control, if your modem offers these as options you should insure that they are turned off on your modem. BackMail sets DTE/DCE Rate according to the connection rate. BUSY DETECT, WAIT FOR DIAL TONE; AND "X" SETTINGS What modem responses your modem gives and how it responds to various commands will often depend upon what "X" command the modem is sent on intialization. The default value is "X1". If your modem is capable of Waiting for dial tone and busy detect but is not performing this function it is probably because it requires a higher X setting. Change the value of TECH # 4 from "X1" to "X3" or higher. SLUGGISH MODEMS Tech setting 102 contains a number which indicates how long it takes your modem to hang up after it receives an on/off transition in the DTR line from the computer. The default is 1 second, but if your modem seems not to be answering the phone, or failing to connect with calling BackMailers, then try increasing this number to 2 seconds. CAVEAT There are many different brands of modem on the market and they vary widely in how well they perform. BackMail makes extensive use of all of the features of standard modems and if the manufacturer has cut corners in production they are more likely to show up with BackMail than with some other less sophisticated communication programs. We have done thousands of hours of testing BackMail with many different kinds of modems. There are some real turkeys out there: modems that claim to do things that they don't, modems designed to do things no one in their right mind would ever want them to do, and modems so flaky that they are not good for much more than autodialing. Unsurprisingly, we have found that modem performance is more or less directly correlated with price. We hope that your modem wasn't too much of a bargain. Modem Customization 113 Of particular note are some very inexpensive, internal 2400 baud modems. These can typically run quite hot, which is not highly recommended if you want to keep your chips happy. Some of these have very great difficulty connecting with other modems at 2400 baud and you have to set your LAG TIME (See the manual for an explanation) to a very high value (e.g. 30 seconds). To successfully connect with these modems. Setting If you frequently get calls which BackMail identifies as Answer voice calls but which are really other BackMailers, or if Baud other BackMailers have trouble connecting with you we lower recommend that you use BMCONFIG.COM to set your ANSWER BAUD rate to 1200 baud. If you have trouble connecting with other modems at 2400 baud then you should reduce your CALL BAUD rate down to 1200 baud. The trade off of reliability for speed is usually worth it. TECHNICAL SETTINGS The Technical settings option allows you to alter some of BackMail's operating parameters. Most of these settings can be altered from BMCONFIG. Tech There are two general types of technical numbers settings, those that accept numbers, and those vs. that accept strings. Tech Strings +---------------------------------+ | ** Technical Settings ** | | See User's Manual for details | | Enter number of item to change | | Esc when done (0-150): | | _ | | | +---------------------------------+ When you enter the number of the technical setting you wish to change the program will display its current value. +-------------------------------------+ | Item 3: Current value is S9=30 | | Enter new value, or <-+ to leave | | unchanged: _ | +-------------------------------------+ Entering a new value will over-write the old value. While there are a large number of possible settings, there are only a few that are of interest to the average user. Because some tech settings alter the basic operating characteristics of the program, small changes can have large and sometimes unwelcome effects. Technical Settings 115 It is a good idea to back up your copy of BackMail before you start experimenting. There are defaults for all these settings built into the program. These defaults have been extensively tested with many Hayes and Hayes-compatible modems, and work for most such. When you select a Modem Definition File (MDF) using BMCONFIG, it will alter some of the strings contained here. The default values here are included in "DEFAULT.MDF). The meaning of the technical settings is discussed below. TECH 0 - 17: MODEM COMMAND STRINGS TECH 0: The modem attention string. This defaults to 'AT'. TECH 1: The string to force the modem to hangup and reset. This defaults to "Z". TECH 2: The string used to set the length of the period during which we watch the carrier when someone calls, before deciding that we have a valid carrier after all. This defaults to 'S9=6 ', for 6/10 second. TECH 3: The string used to enable carrier detect and to place DTR under the control of the modem. This string is necessary for modems that do not have external DIP switch control of these features. The default value of this string is "&C1&D2". In some modems which have DIP switches and do not recognize "&" com- mands, this string may produce unpredictable results. In this case TECH 3 should just be set to a blank string. 116 Technical settings TECH 4: The string used to enable extended response codes. If your modem has a command re- sponse set larger than the Hayes standard, there is a string which turns the extended set on. Typically, this string is entered here. This will appear in your modem manual, most probably under the command 'X'. The default is 'X1'. TECH 5: The string which is used to turn on the modem speaker. This defaults to 'M1'. This string is primarily for use if your modem uses the enhanced Hayes command set rather than the original set. The enhanced Hayes standard does not allow for a volume control knob for the speaker; instead, one is allowed to set the speaker volume with a new command, 'L'. Typically, the default setting for the speaker is very loud. When BackMail turns on the speaker, as it does when it is dialling out a voice call, this string is sent; it can include the speaker volume control setting. A typical volume control setting would have the form 'L1M1'. TECH 6: The string which is used to turn off the modem speaker. This defaults to 'M0'. TECH 7: The string that forces the modem to use only numeric return codes. This defaults to 'Q0V0E0'. TECH 8: The string that disables auto-answer. This defaults o 'S0=0 '. TECH 9: The string that sets how long we wait for carrier after either dialing out or Technical Settings 117 answering the phone. This defaults to 'S7=65' for 25 seconds. TECH 10: The start of the dialout using touch tones command. This defaults to 'DT'. TECH 11: The start of the dialout using dial pulses command. This defaults to 'DP'. TECH 12: The string or character used (after the Tech 1 string) to get the modem to answer the phone and generate a carrier. This defaults to 'A'. TECH 13: The modifier that gets added to the number to dial to specify immediate return to command mode after dialling the number. This defaults to ';' TECH 14: The command used to pick up the phone in originate mode. This defaults to 'D'. TECH 15: The character or string used to end commands to the modem. This normally defaults to a carriage return. TECH 16: The character or string used to force your modem to wait for dial tone. The default value is 'W' TECH 17: General purpose reset string. This string is sent to the modem each time BackMail hangs up the phone and on intitialization. It is a good place to put the strings that control the special featurs of your modem. In the default, this string is blank. 118 Technical settings TECH 18: PHONE NUMBER DELIMETERS (FOR SCREEN DIALING) This string is used to control BackMail's autodialer. When you invoke the voice autodialer BackMail first scans your foreground screen for phone numbers. As far as the screen dialer is concerned any string of digits of a certain length (see tech # below) is a phone number. In counting the digits BackMail will treat certain characters as phone number seperators and skip over them in counting digits. The default phone seperator characters are the left and right parentheses,'(',')' and the dash '-'. If you use other or different seperator characters you can enter them here. Note you cannot use the space character as a phone seprator character. The editor will automatically exclude spaces from this string. MODEM RESPONSE VALUES: TECH 50 - 100 This is the response table for the modem. Your modem will typically respond with a number, from 0 to 50 to tell the program what it is doing. Technical settings 50-100 correspond to the modem response codes 0-50. For each of these responses, Tech Settings contains a number which indicates what interpreation BackMail gives this response. For example on most modems a response of '5' means "connected at 1200 baud". Tech 55 corresponds to response code '5'. The default setting for Tech 55 is "2". 2 is BackMail's number which means "connected at 1200 baud". Use Sound confusing? Well its technical. Don't MAKEMDF worry. The simplest way to tell BackMail about instead the response codes for your modem is to use the utility program MAKEMDF.COM. It will fill out this section of Technical strings for your modem. Technical Settings 119 The table below describes the default settings for TECH 50-100. +--------+----------+---------+ | Number | Modem | Default | | | Response | Setting | +--------+----------+---------+ | 50 | 0 | 0 | | 51 | 1 | 1 | | 52 | 2 | 4 | | 53 | 3 | 5 | | 54 | 4 | 10 | | 55 | 5 | 2 | | 56 | 6 | 9 | | 57 | 7 | 9 | | 58 | 8 | 9 | | 59 | 9 | 9 | | 60 | 10 | 3 | | 61-100 | 11-50 | 9 | +--------+----------+---------+ The following table gives the numbers which indicate BackMail's interpretation of a given response code. 120 Technical settings +---------+----------------------------+ | Setting | Interpretation | | Value | | +---------+----------------------------+ | 0 | 'OK': Command accepted | | 1 | Carrier at 300 Baud | | 2 | Carrier at 1200 Baud | | 3 | Carrier at 2400 Baud | | 4 | Ring detect | | 5 | No carrier / carrier lost | | 6 | Busy signal detected | | 7 | Phone at far end rings | | 8 | No dial tone | | 9 | Do nothing | | 10 | Error in command line | | 11 | Connect 9600 | | 12 | Connect 4800 | +---------+----------------------------+ TECH 102: MODEM RESET TIME The length of time (in seconds) that the modem will wait after it receives a modem comand string. If you find that when you start up the modem you get "MODEM TIME OUT" errors and have to hit Enter several times to get the modem to respond, try increasing this value. TECH 104: GRAPHICS DISPLAY HANDLEING The number here will have a value from 1-7. These refer to video modes. (If you don't know what they are don't tinker with this). When running in attended mode BackMail will interrupt the foreground process to put up messages such as "You have new mail". When you acknowledge the message, BackMail will restore your screen to its original state. However there are some higher video modes on some video cards which BackMail will not be able to restore. The problem is in the video hardware's design (the relevant video registers are write only). To prevent this from happening tech 74 should be set to the highest video value which BackMail can restore on your machine. The default is "7" which Technical Settings 121 handles EGA screens. For higher Graphics modes BackMail will not attempt to write messages to your screen, it will just ring the bell on your machine to let you know, e.g. that you have new mail. Note though that if you call up the BackMail Main Menu it will always respond, no matter what the consequences to your graphics display. Be careful. If you are operating a graphics program and find that BackMail messages don't restore your screen properly, then you should increase this number. Examples: To avoid visual notification in all graphics modes, set tech - 74 to a value of 3 (which is the highest number for a valid CGA/EGA text mode). To allow notification in 320x200 color graphics, but not in 640x200 B&W graphics, set tech - 74 to 5. Noti- fication is always given (when enabled) for monochrome text display (mode 7) regardless of the tech - 74 setting. TECH 105: MINIMUM NUMBER OF PHONE NUMBER DIGITS This value is only relevant to the screen reading autodialer. When the autodialer is called up (default Alt 2) it searches the screen for a string of digits long enough to a phone number. Delimeter characters (see Tech# 18) are ignored. This Tech setting determines how many digits are long enough. The default is 7 digits. TECH 106: MODEM INITIALIZATION When BackMail is first started up it checks to see if your modem is on. It does this by seeing if it gets any sort of response to an "AT" it sends to the modem. If it fails to get a response after several tries it suggest that you check to make sure the modem is on and gives you the option of aborting, retrying the modem, or to carry on regardless. 122 Technical settings +-----------------------------------------------+ |Time out error on modem response. | |This probably means that your modem is not on. | |Hit <-+ to retry | |Ctrl-C to abort | |or any other key to proceed | +-----------------------------------------------+ There are some kinds of communication equipment which will not respond as BackMail expects (null modem, serial spoolers etc.) in which case getting the "modem is not on" warning each time you start up would be annoying. Change this setting from "0" (the default) to "1" to suppress the start up modem test. TECH 80 - 111: COLOR TABLE Set The table below describes each color's Screen position in the table, its default value, and Colors where in the program it is used. For actual colors, we must refer you to the technical manuals of your computer. Use We strongly recommend use of the BMCONFIG BMCONFI program to change BackMail's color display. G Technical Settings 123 | Color screen |Monochrome screen | | (CGA, EGA) | (MDA, Hercules) | |------------------|------------------| | Number | Default | Number | Default | | | Value | | Value | Used for: +--------+---------+--------+---------+------------------------- | 80 | 7 | 96 | 7 | Normal video areas | 81 | 15 | 97 | 15 | Highlight/ bright text | 82 | 112 | 98 | 112 | Reverse video: menus & help | 83 | 127 | 99 | 112 | Highlighted reverse video | 84 | 12 | 100 | 15 | Errors and warnings | 85 | 137 | 101 | 143 | Attention messages | 86 | 143 | 102 | 143 | flashing bright | 87 | 4 | 103 | 7 | Spare | 88 | 5 | 104 | 7 | Spare | 89 | 6 | 105 | 7 | Spare | 90 | 10 | 106 | 7 | Spare | 91 | 11 | 107 | 7 | Spare | 92 | 12 | 108 | 7 | Spare | 93 | 13 | 109 | 7 | Spare | 94 | 14 | 110 | 7 | Spare | 95 | 16 | 111 | 7 | Spare +--------+---------+--------+---------+----------------- Note that colors flagged as Spare will occasionally be used in advertisements. Other than that, there are of no interest to the normal user. TROUBLE SHOOTING BackMail is an inexpensive program, compact and easy to use. But don't let that fool you. It is easily one of the most technically sophisticated programs ever written for the PC environment. Because of this, Alethic has intensively tested BackMail to a far greater extent than commercial programs are normally tested. That there have been many thousands of hours of trouble-free BackMailing is a tribute to this testing. But saying this is not to say that you cannot have problems. We hope that BackMail will work for you "right out of the box", but if you have trouble you may well find a solution below. If not remember that you can BackMail your questions to us directly. BackMail does not dial out or Does not answer the phone or Hangs up on connectormodem doesn't pick up phone. These are most likely a symptom of your modem not responding correctly to the computer's DTR line, or its reacting incorrectly to the Command strings BackMail is using to attempt to control your modem. You can likely cure this problem by using a different Modem Definition File (MDF). Your package comes with three modem definition files. That you can install these using BMCONFIG.COM (See chapter 5). One of these will correctly operate almost any modem (provided the modem's DIP switches are set correctly). DEFAULTS.MDF This contains the BackMail defauls settings. MODEM1.MDF Recommended for Internal Modems that Support "&" commands. MODEM2.MDF: Recommended for Modems that do not support "&" commands. Note that if your modem is one of these you should make sure that your modems DTR and CD DIP switches are set correctly. I can't hear my modem when BackMail dials. By design, BackMail turns off your modem's speaker when it dials out (when you start doing a lot of BackMailing you will thank us for this feature). BackMail turns on the modem when you use its voice autodialler. However if you wish to change this you can do so easily. TECH setting #6 under Technical Settings in the CHANGE SETUP menu contains the string to turn off your modem speaker. (Default "M0"). To have your modem on all the time change this string to the one which turns on the speaker on your modem. (Typically this would be "M1".) I changed a technical setting but it had no effect Trouble Shooting 125 Technical Settings are sent to the modem when BackMail resets the modem. So changing a technical string won't make any difference until BackMail resets the modem. You can get BackMail to reset the modem by DEACTIVATING then REACTIVATING BackMail (Press Alt-3 twice). When BackMail reactivates it resets the modem using your currently defined tech strings. My BackMail doesn't send my messages right away! It's not supposed to unless you specifically tell it to by pressing 'N' at the main menu. BackMail operates on a cycle of approximately 3 minutes. If you post a message or file (and have no other mail addressed to anyone else), then BackMail will try to post it sometime in the next few minutes. The cycle time varies slightly depending upon your phone number. This is to make it very unlikely that two BackMails will ever get into perfect synch and fail to connect because they are calling each other at exactly the same time. If the two of you are prone to override this cycle with the send Now command at the main menu, you may very well find yourselves madly dialing in at the same time as your destination is dialing out. After BackMail has answered a call it continues to report that it is on-line even after the calling party has disconnected. This usually means that either the modem has failed to signal loss of carrier, or that the serial port hardware on the PC has failed to interpret the modem's signal. The first thing to check is to insure that the DIP switches on your modem are set to place CD (Carrier Detect) and DTR under the control of the computer. If your modem does not have dip switches then use Tech 0 and Tech 3 of CHANGE SETUP to insure that your modem is running with CD and DTR enabled. (see GETTING STARTED) If the DIP switches are set correctly but the problem still persists you should determine if your modem supports the command string "&C1&D2" at TECH 3. If your modem does not support "&" commands then this string may be confusing your modem. In that case you should go to TECH 3 under CHANGE SETUP and blank out the "&C1&D2" . If this fails, insure that your cable makes the appropriate connections for DTR and CD. If the cable checks out, then it is likely that the problem lies in your hardware. For example, running slow UART chips (like 8250's) in a fast machine (like an AT-type) can lead to this sort of performance. Then too it may be that your modem is simply not fully functional. A message or file has been queued for delivery but BackMail does not send it. BackMail will only send mail to a destination provided that destination is available. Part of the ID block of a BackMail user consists of a notification of this availability 'window' (see the guide to operation). This means that each time two BackMails 126 Trouble Shooting communicate they exchange availability times. When this happens BackMail checks for a change, and if there is one, it is recorded in the phone directory automatically. Thus it is possible for somebody's availability time to change and for you not to be aware of the change (although your BackMail will be aware of it). In case your need to communicate is urgent, you can override somebody's published availability time by editing their entry in the phone directory to override their availability time (use option P in the main menu). This power should not be exercised lightly. BacKmail Stops answering or calling out when I use certain programs BackMail, in common with many communication programs these days, is interrupt driven. In order to operate properly, your hardware must generate signals called interrupts at the appropriate time. This is assured when BackMail loads initially since it enables these interrupts at that time. It is a sad fact of life however that certain other programs will disable interrupts and not re-enable them when they have finished running (we even know of a directory listing program that does this!). If interrupts become disabled then BackMail will fail in some or all of its duties (depending upon which interrupts have been disabled). If this happens, killing and restarting will restore interrupts and all will be well (until the next time you run the program that did the disabling) but it is not necessary to go through the whole start up sequence again. You can also re-enable interrupts by deactivating and reactivating BackMail (default key ). Graphics screens are not restored after "You have New Mail" and "Voice Call Messages" pop up There are some technical limits on what can be done here, arising from the fact that it is impossible for software to determine precisely the video state of your machine (thus, sometimes, making it impossible for BackMail or other TSR programs to restore the screen). Nevertheless, several steps may be helpful. See the notes concerning TECH 104 under Technical Settings in the CHANGE SETUP section. Also consider the possibility of placing your BackMail in Unattended Mode when running your graphics packages (see MAIN MENU). In Unattended Mode BackMail will not interrupt the foreground process Get "Sorry it's not a voice call after all" messages. This is usually an indication that your Lag Time is set too low. The 'right' value for this is highly modem dependent and there is considerable variation even among modems from the same manufacturer. See the section on setting your Lag Time in the CHANGE SETUP section of this manual. Modem gives a TIME OUT error on start up. This can happen if your modem is off, but you know that. More likely what's going on is that your modem has got into a state in which it Trouble Shooting 127 won't respond to an initialization string. Turning the modem off then on once or twice, then hitting Enter will usually fix this. BackMail interferes with my other communications programs. No it doesn't. Not if you remember to deactivate BackMail before you run your conventional terminal program. (See the MAIN MENU chapter 7). If you call your other communications programs from a batch file in which you prefix and postfix the call with calls to ACTIVE (the command-line alternative to the deactivate/activate hot-key) you won't have to bother remembering. BackMail tries to call out over my voice calls. Even when I set "WAIT FOR DIAL TONE" on. Either your modem does not support the "Wait for Dial Tone" or you need to implement its extended command set. See the explanation of "X modes" in Appendix B, below. You might also check your Tech 16 setting against your modem manual. It is a sad fact that modem manuals sometimes depict a rosier world than the actual one; reporting e.g. that the modem sends response code such and such when it fails to detect a dial tone, when really the modem's behavior requires the more guarded assertion that it does this "frequently" or even "sometimes". Inexpensive modems will sometimes mistake your conversation for a dial tone and dial out anyway. I See Blank spaces not names when I ADDRESS my mail What is happening is that you have not filled out the Handle (10 character short name) of the destination. It is the Handles of the destinations that are shown in the phone directory list. When you add handles they will appear in the destination list and start appearing in the display status reports of your outgoing mail. I changed a destinations phone number/SCRIPT/PREFIX but BackMail keeps dialing the old one What is going on here is that one part of BackMail hasn't leaned what you've done in another portion of the program. BackMail is really two different, but inter-connected programs: the Background communications engine, BGROUND.COM and the FGROUND.COM program which controls all the functions that you access from the main menu. The Background communications program is working even when you have the main menu up and are editing your phone and mail files. This means that FGROUND.COM and BGROUND.COM are often having to access the same files. The way BackMail handles this is by having the FGROUND.COM program deal with copies of the information that BGROUND.COM is using. All the information that BGROUND uses is updated and reconciled as soon as you exit from the BackMail main Menu. 128 Trouble Shooting The bottom line is that the simple way to get any changes from the Background to the foreground is to Esc out of the MAIN MENU. As soon as you do this all of your phone/script etc changes will kick in. Sometimes characters that I type in the BackMail editor "drop through" into the foreground process like Microsoft Word What is happening is that your foreground process is peeking at the character buffer in order to get keys as quickly as they come in. Programs with variable "cursor speed" or "keyboard speed" controls will do this (E.G. Microsoft Word and WordPerfect). The simple way to cure this should be to toggle the Compatibility Switch under the CHANGE SETUP. menu Note that if you've been having trouble using the offending foreground process with other TSR's this may have been the problem. The way to cure those other incompatibilities may be to set the "cursor speed" on your foreground process to zero. Note that changing the Compatibility Switch on BackMail should solve the drop through problem but you may loose compatibility between BackMail and other TSR programs. In that case you will have to decide whether you would rather put up with the occasional character drop through or set your cursor speed to zero on the foreground process. Get "OUTMAIL" or "INMAIL CORRUPTED" message. We hope you never see this, but if you do something has garbled your mail box file . There are two possible causes of this: If this happens frequently it is likely that another program is violating DOS's rules for file and interrupt handling and is fouling BackMail's waters. This is rare and the offending programs will most likely be an amateurish TSR program that does conform to the industry standards. If you have a program that you suspect of causing these difficulties you should probably stop using it since BackMail is not the only program it will cause problems with. BackMail does extensive file i/o in the background. If BackMail is in the midst of writing to a file and your system loses power, or you do something in the foreground to crash the system, then the file may get corrupted. BackMail only opens files when it is on-line so for a power down or crash can only cause trouble if it happens when you are on- line. It is thus a good idea (particularly if you have an internal modem and can't see when you are on-line) to check the BackMail Main menu before you power down. If you see that you are on-line you can wait for the call to end or terminate it by deactivating the program. Doing this in mid call will not damage your Mail files. The person you are calling will get a "CALL TERMINATED BY RECEIVER" notice and the aborted messages will be resent by BackMail the next chance it gets. Trouble Shooting 129 As we said, this should be a rare occurrence, but if you get a "mail file corrupted message" you should try looking at the relevant mail file under MAINTAIN. If it looks normal then the MAINTAIN function has automatically repaired the file. If it looks garbled or MAINTAIN will not let you look at the file then exit to DOS and erase the relevant file (inmail or outmail). BackMail will build you a new mail file when you restart it. To guard against the loss of messages, you should make backup copies of your mail files and phone directory from time to time. On start up the program aborts while "Reading mail files". Alas, your mail files have been corrupted. Erase them and restart the program. Get "Program Fails CRC check" If you get this message on start up it means that your disk copy of BackMail has been corrupted. Let us know and we'll get you a new one. If you get this message after you have been running for awhile then what must have happened is that some other program you have running has gone wild, violated the BIOS memory rules, and has overwritten BackMail's resident code. If this happens BackMail will try to gracefully retire from the scene, but you should probably reboot anyway and do something about the rogue program. Get a "Too many files" message. Make sure that your CONFIG.SYS file contains a line which says FILES = 20. BackMail tells me I have a voice call but when I pick up the phone it has hung up. Pick up the phone before you hit a key in response to the voice call message. Hitting the key is the signal to BackMail that it is okay to hang up the phone. Modem hangs up before a connection is made or destinations complain that your messages are identified as "Voice Calls" by their modem even when their Lag Times are set to maximum. What is almost certainly happening is that the audio filters on your modem are interpreting the ringing sound as a carrier signal and are trying to talk to the bell not the destination's computer. Try increasing the "S9 value" of TECH 3 under CHANGE SETUP should help. If this doesn't work then, if you have a 2400 baud modem you should try setting the CALLBAUD setting (using BMCONFIG.COM) to 1200 baud. The loss of transmission speed on outgoing calls is regrettable but may be unavoidable with some modems. 130 Trouble Shooting BackMail calls out but hangs up just after the "on-line" message appears or BackMail answers a call but does not correctly report who is calling and/or does not deliver mail which has been queued for that caller. After connecting, two BackMails exchange 'ID blocks'. If the phone number in the receiver's block fails to match the number the sender dialed, the sender disconnects. This can happen if the party being called has failed to set the phone number on their copy of BGROUND (through the CHANGE SETUP setup option of the main menu). You should also make sure that you have the destination's full phone number, including any extension to their number that they may be using to receive internal calls. (See Appendix C: Understanding Extension numbers below). If all this fails it may be that either you or the destination you are having trouble with has got a corrupted MAIL file. The program tries to verify the integrity of its mail files and tell you if this has happened, but it can happen that a mail file passes these tests but is internally corrupted in such a way that BackMail finds it has no messages to deliver after it has made contact. You should have both parties that are experiencing this trouble look at their INMAIL and OUTMAIL files under the Mailbox MAINTENANCE functions. These functions will reveal (and usually fix) garbled MAIL files. If MAINTENANCE reveals garbled mail files, Esc back to the MAIN MENU and then go back and look at the file with MAINTAIN again. If it is still garbled, you will have to erase the file and restart. Sometimes my BackMail calls another or they call mine and all that happens is that the "on-line" message appears but nothing else happens and after a while we disconnect. As we have said before some modems just have a hard time talking to each other although if you know of any case in which this always happens, we want to know about it. Another way in which this can happen is if one or both ends of the attempted BackMail session have some process running which "locks out" BackMail. In order to engage in communication, BackMail must be able to read and write files, and some operations will prevent BackMail, or any other program for that matter, from doing this. In particular, the DOS commands COPY and FORMAT have this property; while they run there can be no other program reading and writing files. As a special case of this if you routinely use the COPY command to send files to the printer, you will be disabling BackMail during that time. We would suggest that you use the DOS PRINT command instead since it does not lock BackMail out. I made up several different 'phone' files to do different mass mailings but when I switched from one to another, BackMail crashed as soon as it started to dial out the first call Although PHONE, INMAIL and OUTMAIL are separate files they are intimately related. The entries in PHONE contain specific references to entries in OUTMAIL (and vice versa) and INMAIL contains specific references to PHONE. If you suddenly replace PHONE without replacing Trouble Shooting 131 (at least) OUTMAIL then BackMail will certainly be too confused to work properly and may well be confused enough to crash. If you make a new PHONE you should also make new mail files to go along with it, and when you swap PHONE's, swap the associated mail files at the same time and all will be well provided that you kill BackMail before the swap and restart it after. You must start fresh because BackMail saves in- formation in memory from your current PHONE and that will not be replaced (safely) with information from the swapped PHONE unless you restart. I Get calls at times I am not availabile. There are three possible explanations: - The caller is a new caller to your BackMail and doesn't yet know about your declared availability time. - The caller has manually changed your availability time in his or her phone directory. - Either you or the caller have or have had an incorrect local time set on their machines. I changed my availability time but the change did not get passed along to some of the other BackMailers who called. BackMail is designed to be as fast as possible in its background operations. This is so that it can be unobtrusive, which is a highly prized quality in a background program. We achieve this speed by keeping file manipulations to an absolute minimum and that means we don't want to open the phone directory when we don't have to. Since updating availability times requires changing the phone directory, we always do these updates during a READ NEW MAIL session. At this time BackMail is in the foreground and we don't have to worry so much about being unobtrusive. So if you change your availability time, the other members of your BackMail net won't find out about the change until you send them mail and they read it. Any mail at all will do, since the updating process is automatic. BackMail gets its list of things to send from an internal table of send tasks which has room for 100 entries. When you start up this table is constructed and filled with as many entries as possible, even the entries of destinations for which nothing is pending. This is because BackMail also uses this table to identify incoming calls, rather than trying to look up the number in your phone directory while on-line. If your phone directory has more than 100 data numbers in it and you address mail to somebody far down the list it can happen that there is no room in the table and so DISPLAY STATUS won't show you the pending mail right after you address it. This does not mean that the message won't get posted though. As soon as you exit the foreground, BackMail will reconstruct the internal table and at that time your message will get in since destinations with mail pending have priority over destinations with no mail pending. The exception to this rule, is the situation in which you really have mail pending for 100 or more 132 Trouble Shooting destinations. In that case you will have to wait until some of that mail has been sent until your recent composition gets its chance. Don't worry that because you don't see a notification under DISPLAY STATUS, BackMail has not forgotten about your message. General Advice Since BackMail must run behind another application, it is to some extent at their mercy. Of course there is no way we can insure the proper behavior, or even sanity of these third-party foreground applications. From the BackMailer's point of view the worst thing that can happen is that your INMAIL, OUTMAIL and PHONE files will somehow get corrupted. A sensible precaution then is to back up your mail and phone files on a regular basis. A simple way to do this is to include a few lines in your AUTOEXEC.BAT file. Suppose, for example that your BackMail Auxilliary files reside in the subdirectory: C:\BACKMAIL In that case including the lines: COPY C:\BACKMAIL\PHONE C:\BACKMAIL\PHONE.SAV COPY C:\BACKMAIL\INMAIL C:\BACKMAIL\INMAIL.SAV COPY C:\BACKMAIL\OUTMAIL C:\BACKMAIL\OUTMAIL.SAV would create backups of your mail and phone dials, just in case. Note, you must backup all three files as the three are all connected. OVERVIEW What is BackMail?.........................4 THE BACKMAILING BASICS............................5 Hot Keys......................................5 Availability Times............................5 Messages and Files............................6 INMAIL, OUTMAIL AND TRANSFER..................6 TeleWare......................................6 How to Register...................................7 How to Pay....................................7 How Registration Works........................7 Registering by Credit Card....................7 Prepaid Registrations.........................7 Cheque or Money Order.........................8 Ordering a Manual.............................8 Giving us your Postal Address.................8 When you've finished registering..............8 After you have registered.....................8 RE-REGISTERING................................8 Why register?.................................9 GETTING STARTED...................................10 THE PACKAGE...................................10 INSTALLATION..................................10 CONFIG.SYS....................................10 CONNECTING YOUR MODEM.........................11 Phone connection..............................11 BMCONFIG.COM......................................12 COMMUNICATIONS PORT...........................12 ANSWER BAUD RATE AND CALL BAUD RATE..........12 COLORS........................................12 BACKMAIL AUXILIARY FILES......................12 received file directory.......................13 Expert Settings...............................13 Tone Dial.....................................13 Wait for Dialtone.............................13 Wait for Retrace..............................13 Notification..................................13 Unattended mode...............................13 Data-only mode................................14 Lag time......................................14 Letterhead....................................14 Swap file.....................................14 Comm port base................................14 Interrupt level...............................14 Load modem description........................14 Running the program...............................16 Compatibility with other Programs............16 The first time you run BackMail...............16 Upgrading from BackMail 1.10..................16 Start up messages.............................17 STARTUP BANNER................................18 Initializing the modem.......................18 Main Menu.........................................19 Keeping Time..................................19 Make sure your phone number is correct........19 Selecting a function..........................20 Removing BackMail from memory.................20 DEACTIVATING BackMail.........................20 Using other communications programs...........20 Running unattended............................21 Call Now..........................................21 Register..........................................21 Send a message....................................23 The BackMail Message Editor...................23 Editor commands...............................23 How long can messages be?.....................24 Subject Line..................................25 Addressing your mail..........................25 Selecting a destination.......................26 Mass Mailings.................................26 Sending to Groups.................................26 Suspending Destinations.......................26 When you have addressed your mail.............28 Aborting the message..........................28 CC Lists..........................................28 REad New MAIL.....................................29 received files................................29 Incoming Messages.............................29 REPLYING TO MESSAGES..........................30 FORWARDING MESSAGES...........................30 Marking messages as READ or UNREAD............31 SEND A FILE.......................................32 File Size.....................................33 ADDRESSING A FILE.............................33 SUSPENDING DESTINATIONS.......................34 display status....................................35 STATUS REPORTS................................35 Welcome File Notice...........................36 Script Error Message..........................36 Suspending Destinations.......................36 MAINTAIN incoming MAIL............................37 Mailbox maintenance...........................37 Maintaining inmail............................37 Deleting mail.................................38 Deleting file notices.........................38 Appending messages to files...................39 Maintain Outgoing Mail............................40 APPENDING TO FILE.............................41 READDRESSING OUTGOING MAIL....................41 Maintaining while Online......................41 Special Status messages...........................41 NO SPACE TO RECEIVE FILE..................41 RECEIVER TIMED OUT........................42 TERMINATED BY RECEIVER....................42 TERMINATED BY SENDER......................42 LINE BREAK ERROR..........................42 Update Phone Directory............................43 Voice and Data Numbers........................43 Directory Listing.............................43 Adding a new BackMail Destination.............44 Destination's Name............................45 Voice Phone Number............................45 Prefix Names and Prefix Numbers...............45 Extensions....................................46 Does This destination have a BackMail?........46 Handle........................................47 Availability Times............................47 Availability Update...........................48 * Priority....................................49 # Polled Destinations.........................49 Destination Scripts...........................49 Maximum Retries...............................49 * Accept return mail..........................50 * Secure Mail Delivery........................50 'Automatic' Directory Updates.................51 'Merging in' other phone directories..........51 Deleting phone directory entries..............51 Change Setup......................................53 Availability time.............................53 Compatibility Switch..........................56 DOS 4.........................................56 Welcome unknown...............................57 Display Status................................57 Phone dialing mode............................57 Letterhead....................................58 Select groups.................................58 Ring to answer................................60 Hot keys......................................60 Lag Time......................................60 Answer Mode...................................62 Notification..................................62 Data only line................................63 Phone prefixes and suffixes...................63 Prefix or suffix?.............................64 Prefix types..................................64 Screen Retrace Handling.......................65 Script names..................................66 Technical Settings............................66 Phone Number..................................66 Wait for Dial Tone............................67 VOICE CALLS.......................................69 Voice calls...................................69 Placing a voice call..........................69 Dialing from your phone directory.............70 Entering numbers by hand......................70 Adding a number to your phone directory.......71 When BackMail Dials out.......................71 When the dialer is finished your call.........72 If BackMail is using the phone...............72 Receiving voice calls.........................73 From the caller's point of view...............73 Using BackMail on Voice lines.................74 BACKMAIL SCRIPTS..................................75 What Scripts are for..........................75 SCRIPT FILES..................................75 ADDING A SCRIPT TO BACKMAIL...................75 Deleting Script File names....................77 How to use Scripts............................77 Display Status Script messages................78 Unsent Script logging error..................78 Unsent Script language error.................78 Error Handling............................79 The BackMail Script language......................80 FILE STRUCTURE................................80 COMMENT LINES.................................80 COMMANDS......................................81 COMMAND LINES.................................82 Field Sizes...................................85 SPECIAL CHARACTERS IN SEND STRINGS...........85 SENDING and .........................85 DESTINATION PHONE NUMBERS.....................86 SENDING SPECIAL CHARACTERS....................88 PARAMETERS....................................89 SCRIPT LANGUAGE COMMANDS......................89 An Wait for n seconds.........................89 Bn Set TIMEOUT time to n seconds..............89 C Wait for carrier............................90 PLACE Marker Dn...............................91 Controlling program Flow.....................92 En JUMP BACK (ONCE) TO MARKER Dn..............92 F Open the SCRIPT.LOG file....................94 What is recorded in the script log............95 SCRIPT ERRORS.................................97 TURNING OFF SCRIPT LOGGING....................97 Command G Go into regular BackMail mode.......97 H Hang up....................................98 I Ignore. Do nothing..........................98 Jn Jump forward once to marker Dn.............98 Tracking the Script Sequence..................100 Script parameter values.......................100 BackMail Utilities SEND, PMERGE and Convert......................101 SEND - command line file sending utility......101 Send Exit Codes...............................102 PMERGE BackMail phone directory merge utility........104 PMERGE Usage Notes................................104 PMERGE Limitations and Cautions...............105 PMERGE Error Messages and Exit Codes..........105 CONVERT Phone Directory Conversion Program............107 CONVERT Error Messages........................107 Phone numbers And extensions......................108 Automatic phone number formating..............108 International Numbers.........................108 UnDERSTANDING EXTENSION NUMBERS...............109 Declaring your own extension..................109 The Internal Prefix...........................109 Customizing BackMail for your Modem...............111 Dip Switches..................................111 Modem Definition Files........................111 MAKEMDF.COM...................................111 MNP Modems....................................112 Special Modem features........................112 Busy Detect, Wait for Dial Tone...............112 Sluggish Modems...............................112 CAVEAT........................................112 Technical Settings................................114 TECH 0 - 17 Modem Command STRINGS.....................115 TECH 18 Phone number delimeters (for screen dialing)..118 MODEM RESPONSE VALUES TECH 50 - 100.................................118 TECH 102 Modem Reset Time..............................120 TECH 104 Graphics Display Handling.................120 TECH 105 Minimum Number of phone number digits.....121 TECH 106 Modem initialization..........................121 TECH 80 - 111 Color Table...................................122 Trouble Shooting..................................124