B-1 APPENDIX B: 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. +------------------------++-------------------------------------+ | SWITCH || SETTING | +------------------------++-------------------------------------+ | 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 ||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. B-2 MODEM RESPONSE CODES Your modem responds to commands by sending "response codes" to your computer. BackMail sets your modem to respond with numeric responses. These are numbers (usually between 0-10, though we have provided up to 20) that tell the program about the state of your modem. Responses 1-4 are standard but, above 4, modems can mean different things by these numbers. To bring BackMail fully en rapport with your modem you should tell the program what these response codes mean to your modem. You do this by altering TECH SETTINGS under the CHANGE SETUP menu. You change TECH SETTINGS by entering the number of the tech setting you want to change and entering an appropriate string or number. For modem response codes you will be entering numbers. Tech Settings 50-60 correspond to modem responses from 0-20. Each Tech Setting in this range has associated with it a number which indicates its meaning to BackMail. These numbers indicate the interpretation that BackMail will place upon the corresponding modem responses and dictate what action BackMail will take. Here are the BackMail Numbers and their meaning: +---------+------------------------------------------------+ | Setting | Interpretation | +---------|------------------------------------------------+ | 0 | 'OK': Modem has accepted a command | | 1 | Modem has detected a Carrier at 300 Baud | | 2 | Modem has detected a Carrier at 1200 Baud | | 3 | Modem has detected a Carrier at 2400 Baud | | 4 | Modem has detected your phone is ringing | | 5 | Modem has lost or failed to detect a carrier | | 6 | Modem has detected a Busy signal | | 7 | Modem detects ring at the called number | | 8 | Modem has failed to detect a dial tone | | 9 | This response code is undefined for this modem| | 10 | Modem has found an error in some command | +---------+------------------------------------------------+ B-3 Here are the default settings which backmail uses to interpret Modem responses 0-20. +--------+-----------+------------------+ | Tech | Modem | Default BackMail | | Number | Response | Setting | +--------+-----------+------------------+ | 50 | 0 | 0 | | 51 | 1 | 1 | | 52 | 2 | 4 | | 53 | 3 | 5 | | 54 | 4 | 10 | | 55 | 5 | 2 | | 56 | 6 | 5 | | 57 | 7 | 5 | | 58 | 8 | 9 | | 59 | 9 | 9 | | 60 | 10 | 3 | | 61 | 11 | 9 | | 62 | 12 | 9 | | 63 | 13 | 9 | | 64 | 14 | 9 | | 65 | 15 | 9 | | 66 | 16 | 9 | | 67 | 17 | 9 | | 68 | 18 | 9 | | 69 | 19 | 9 | | 70 | 20 | 9 | +--------+-----------+------------------+ As you will see, by default, all of the modem responses from 6-20 have a default BackMail setting of '9' which means that BackMail will do nothing if it receives these responses. If these extended codes do mean something to your modem then you will want to fill BackMail in by setting the appropriate interpretation beside the tech setting that corresponds to that tech setting. For example: Suppose that your modem manual tells you that your modem issues response code "6" when it receives no dial tone and "7" when it detects a busy signal. In that case you should alter Tech settings "56" and "67" to the Backmail settings for these responses. +-------------------+-------------------+------------+ | Modem Response | Tech Setting | BackMail | +-------------------|-------------------|------------+ | 6 | 56 | 8 | | 7 | 57 | 6 | +-------------------+-------------------+------------+ Sorry if all this sounds complicated. Indeed we aren't out of the woods yet for now we have to talk about "X" settings... B-4 X SETTINGS: CONTROLLING EXTENDED RESPONSES The meaning of modem response codes above "5" are not wholly standardized and any modem that uses these extended responses will have a command to tell your modem which responses it will issue. These are usually the "X1-X4" command strings. Tech Setting 4 sends an X command to the modem whenever it hangs up the phone. It is possible (though not likely) that you will want your modem to be set to a different "X" value when it is answering the the phone than when it is calling out. For this reason we have two Tech settings for 'X' commands. The "X" value at Tech 4 is sent to the modem each time BackMail hangs up the phone and will be in effect when BackMail Calls out. The "X" string at tech 21 is used when BackMail picks up the phone to dial out. The default values for both these strings are "X1" which normally tells the modem to do nothing except report the difference between 1200 and 2400 baud carriers. For a typical fully featured modem the values might be: +-----------+----------------+--------------------------------+ | Tech | Recommended | | | Number | Setting | Function | +-----------+-------------------------------------------------+ | 4 | X3 |Wait for Dial tone , 1200/2400 | | | |Detect,Busy Detect | | 21 | X1 |No wait for dial tone, 1200/2400| | | |detect | +-----------+----------------+--------------------------------+ Use the "X" settings that correspond to these values. Do NOT use an "X" setting if your manual tells you that in that "X- mode" Backmail will wait for silence before dialing. You do NOT want BackMail to do that. 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). B-5 DOES YOUR MODEM SUPPORT "&" COMMANDS Internal modems that do not have DIP switchs (and some extrnal modems that do) require the command "&C1&D2" to enable DTR and Carrier Detect to be controled by BackMail. We have included this string as a default under TECH 3. However, many modems do not support and do not require this command, a few of these respond badly to the unknown command. If your modem does not support "&" commands, and you experience bad performance, it might be a good idea to blank out Tech setting 3. TURNING ON BUSY DETECT AND WAIT FOR DIAL TONE If you have entered in the right response codes and "X" modes then busy detect will already be in effect. To turn on wait for dial tone just bring up the CHANGE SETUP MENU and select WAIT FOR DIAL TONE. Turning "WAIT FOR DIAL TONE" on will greatly enhance the ease with which you can use BackMail for dialing out Voice calls. WHICH RING TO ANSWER Tech setting 73 contains a number which corresponds to the number of rings Backmail should wait for before it answers the phone. The default is "1" so that BackMail will answer your phone on the first ring. If you want to give an answering machine or other people on an extension a first shot at answering the phone you might want to increase this number. SLUGGISH MODEMS Tech setting 72 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. B-6 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. If you frequently get calls which BackMail identifies as voice calls but which are really other BackMailers, or if other BackMailers have trouble connecting with you we 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. B-7 MODEM COMMAND STRINGS Tech Settings 0 -22 contain the strings that are used to control the modem. If you encounter difficulties with BackMail controlling your modem you may wish to change some of these after consulting your modem. Command strings can be up to 15 characters long. +----------+--------+-------------------------------------------+ | Tech |Default | | | Number|Value | FUNCTION | +----------+--------+-------------------------------------------+ | 0 |AT |Modem attention string. Precedes all | | | |commands | | 1 |Z |Hang up the phone & Reset | | 2 |S9=6 |Time to wait to identify carrier | | 3 |&C1&D2 |Carrier Detect and hang up on DTR enabled. | | 4 |X3 |Mode to using in calling out | | 5 |M1 |Modem speaker on | | 6 |M0 |Modem speaker off | | 7 |Q0E0V0 |Send result codes, Don't Echo Commands, | | | |Numerical responses | | 8 |S0=0 |Do NOT auto-answer | | 9 |S7=60 |Time to wait for carrier | | 10 |DT |Touch tone dial out | | 11 |DP |Pulse tone dialing | | 12 |A |Answer with carrier | | 13 |; |Return to command state | | 14 |D |Dial prefix | | 15 |CR> |Terminator for Command lines | | 16 |W |Wait for dial tone | | 17 |S6=2 |Time to wait for dial tone | | 18 | | | | 19 | | | | 20 | | | | 21 |X1 |Mode to use when dialing out | | 22 |+++ |Modem escape sequence | +----------|--------+-------------------------------------------+ B-8 ADVICE TO HACKERS The strings associated with TECH 1,2,3,4 and 7 are sent to the modem every time BackMail resets or hangs up the phone. If your modem requires special command strings you may wish to include them here. If your modem does not Accept "&" commands you may wish to blank out tech setting 3 to speed the reset of your Modem. C-1 APPENDIX C: 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. C-2 If you declare a destination to be an INTERNAL 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. 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".