STPCB Version 3.05B, 7/10/95 This document is a Beta draft! ---[ Introduction ]-------------------------------------------------- STPCB is a PCBoard PPE program which acts as a "front-end" or "shell" for USRSTAT2.EXE. This allows your callers to use USRSTATS and view the BBS modem's diagnostic reports while they are online, no matter what type of modem *they* are using. It allows capturing the reports into the message base, and allows the caller to initiate a modem retrain from the BBS end of the connection. * Again, the _caller_ can be using ANY brand or model of modem. * That is one of the most important aspects of STPCB. Many modems have little or no online diagnostics, leaving the owner completely in the dark when trying to diagnose problems or test performance. STPCB provides a way for _callers_ to take advantage of the tremendous diagnostic abilities of _your_ USR modem. To use this PPE program, you must be running PCBoard version 15.1 or later, and USRobotics Courier or Sportster modems. STPCB provides the most detailed information when used with V.34 and VFC models, but it will also work with many of the earlier 14400, 16800, and 21600 models. If your BBS uses a mixture of USR and other brand modems, STPCB can be configured to run only on the USR-equipped nodes. If for some reason you cannot use STPCB on your system, there is an alternative called STGEN. (ST Generic.) This is a more traditional "Door" type of program which works with many different BBS packages. it is similar to STPCB in operation, but does not have the message-capture ability built into it, and it is installed through the old "shell to a batch file" system interface. STPCB is compatible with single and multi-node PCBoard setups. It has been extensively tested on a single-node system running under DesqView and Lantastic, and on a large multi-node system running Netware. STPCB is a featured attraction on the USRobotics Customer Support BBS, and has been running successfully there for over a year without a single trouble report. STPCB is currently in use on hundreds of PCBoard BBS systems world-wide. ---[ Important Information ]------------------------------------------ Before installing STPCB, make sure you understand what "Online Command Mode" is and how it works. (See Appendix A for detailed info.) STPCB can be configured to use either Escape Character or DTR switching. You must select the method that best suits your system and your preferences. If you are in doubt, use Escape Character switching. ---[ STPCB File Locations ]------------------------------------------ Create a directory or subdirectory to hold STPCB and its related files. You may select any name or location for this directory, provided that STPCB will have read and write access there. STPCB creates temporary files during execution. Example: If you have PCBoard installed to C:\PCB, you might want to use a subdirectory called STPCB, like this: MKDIR C:\PCB\STPCB Copy all of the STPCB files into the new directory. ---[ Modifying CMD.LST ]---------------------------------------------- Using PCBSETUP, modify the CMD.LST files for the Main Board and/or any conferences that you wish to be able to call the program from. Edit the CMD.LST file, entering the command name you wish to use to call the program, and full path and filename of USRSTATS.PPE. Example: ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º CMD.LST Editor º º º º Charges Per PPE/MNU File Specification -or- º º Command Sec Minute Use Keystroke Substitution º º ÍÍÍÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ± º 1) USRSTATS 0 0 0 C:\PCB\STPCB\STPCB.PPE ± º ± º ± º ± º ESC=Exit AltI=Insert AltD=Delete AltR=Repeat Alt5=25/50 F2=Edit º ÈÍ 20:31:55 Í 07-02-95 ÍÍÍ F1 Í help ÍÍ caps: OFF num: ON ins: OFF ͼ ---[ Modify modem init string ]--------------------------------------- In most cases, installation of STPCB does not require re-programming your modem's stored settings. The required changes in modem setup can be done entirely in the modem init strings found in PCBSETUP. BE SURE YOU UNDERSTAND THE ADVANTAGES AND DISADVANTAGES OF EACH COMMAND MODE SWITCHING METHOD BEFORE YOU GO ANY FARTHER. THIS INFORMATION CAN BE FOUND IN APPENDIX A. IT IS YOUR RESPONSIBILITY TO VERIFY THAT THE SELECTED METHOD WILL NOT HAVE ANY ADVERSE REACTION WITH OTHER SOFTWARE OR HARDWARE IN YOUR SYSTEM. The normal init string for PCBoard is "ATZ" which simply resets the modem. The standard modem setting of &D2 allows PCBoard to hang up by simply dropping the DTR lead on the serial port. The standard modem setting of S2=255 disables the Escape Sequence detection. STPCB requires that these settings be modified to match the Online Command Mode switching method defined in STPCB.CFG. For DTR switching, the modem must be running with the &D1 setting. For Escape Character switching, the S2 register must be set to the ASCII value of the desired Escape Character. ---[ Modem init string for Escape Character switching ]--------------- Using PCBSETUP, modify the modem initialization string as shown below. Modem initialization string: ATHZ^M~~~~ATS2=1 The S2 value of 1 is only an example. This number must match the number defined in the STPCB.CFG file. The factory default S2=43 can be used, but really isn't a good choice. PCboard v15.2 has two entries for the modem init string, so the commands may be split up, like this: Modem initialization string 1: ATHZ Modem initialization string 2: ATS2=1 Again, S2=1 is only an example. Make sure this number matches the one defined in STPCB.CFG. Helpful Hint: When using Escape Character switching, Courier modems must have DIP switch #9 in the ??? or DOWN position. Sportster modems do not have an equivalent DIP switch, they require S14=1 to imitate this function. If you forget to do this, the modem will drop the connection every time you run STPCB. ---[ Modem init string for DTR switching ]---------------------------- Using PCBSETUP, modify the modem initialization string as shown below. Modem initialization string: ATHZ^M~~~~AT&D1 Be sure that STPCB.CFG is correctly set for DTR switching mode. PCboard v15.2 has two entries for the modem init string, so the commands may be split up, like this: Modem initialization string 1: ATHZ Modem initialization string 2: AT&D1 Be sure that STPCB.CFG is correctly set for DTR switching mode. Because PCBoard expects to be able to drop a connection by toggling DTR, there are several operational problems that can result from using DTR switching. When the modem is running with &D1, it can't be forced to drop the connection simply by dropping DTR, it must also be sent an ATH or ATZ command. We can work around the minor issues involved with PCBoard, however, you may have a front-end mailer or a door installed that also expects to be able to drop connections in a manner that conflicts with the STPCB modem setup. THOROUGHLY TEST YOUR SYSTEM FOR ANY PROBLEMS THAT MIGHT RESULT FROM USING DTR SWITCHING. ---[ Optional add-on for DTR switching ]------------------------------ THE FOLLOWING SECTION IS AN OPTIONAL PART OF THE DTR SWITCHING METHOD. To improve the way PCBoard hangs up when using DTR switching, we need to replace 3 entries in the PCBTEXT file so that instead of just displaying the "goodbye" message to the caller, it also hangs the modem up properly. This is done with a tiny PPE program to replace the default PCBoard text strings. Use the MKPCBTXT utility to modify the following records in PCBTEXT. ÕÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͸ ³ Record No.: 55 Record Length: 56 Justification: Left ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³Keyboard Time Expired! ³ ³!c:\pcb\stpcb\rec55.ppe ³ ÔÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ; ÕÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͸ ³ Record No.: 166 Record Length: 75 Justification: Left ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³Thanks for calling, @FIRST@! ³ ³!c:\pcb\stpcb\rec166.ppe ³ ÔÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ; ÕÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͸ ³ Record No.: 435 Record Length: 70 Justification: Left ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³Hanging up now. Thank you for the upload(s). ³ ³!c:\pcb\stpcb\rec435.ppe ³ ÔÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ; The REC55.PPE, REC166.PPE, and REC435.PPE files are included in the STPCB package. You may modify them as you wish, and of course the file and path names in the example above should reflect whatever your system requirements are. There may be other entries in PCBTEXT that would benefit from this sort of modification. PPL source code is included to allow patching of any additional fields that you need. ---[ STPCB configuration file ]------------------------------------- STPCB uses a configuration file to control its optional features. This file MUST be located in the same directory as the PPE file, and it MUST be named STPCB.CFG. A *sample* file named STPCB.DEF is supplied in the distribution archive, or the program will create another one for you if no config file is found. ********************************************************************* * All documentation for the fields in the config file, and the * * STPCB options, are contained as comments within the sample config * * file itself. * ********************************************************************* ** Copy the STPCB.DEF file to STPCB.CFG. ** Then edit STPCB.CFG, setting the options as desired for your system. Be sure to read all the comments in the file, they form a large portion of the STPCB documentation! Save the STPCB.DEF file for future reference. ---[ User interface ]----------------------------------------------- The last installation step is to edit your system's menu files so that your users will be able to find the new feature. You might also consider installing REPORT.DOC as a bulletin for users to read or download. When callers have questions about the data in the report, you can refer them to this bulletin for the technical info. That's it, installation is complete. Now, when your callers enter the new command you have defined, the BBS will chug and puff for a few seconds and then display a nicely formatted screen of modem status info. Please note that it doesn't work in local mode, there has to be a real live modem connection. ---[ STPCB/USRSTATS Support ]----------------------------------------- The home of STPCB and USRSTATS is: The Majestik Moose BBS, 708-843-2871 Only calls at 9600 BPS and faster are accepted. MNP/V42 is required. The latest version of this program is always available as a free download in the Main Board area. First time callers can get immediate free access to these files by bypassing the registration prompt. You will be allowed 30 minutes per call and complete access to the "Free Downloads" area of the BBS. If you need help with STPCB or USRSTATS, you may leave a message for the SYSOP. I'll help you if I can, but I make no promises. After all, the software is free. Do NOT call and ask questions that are already answered in the documentation. You will receive only a very brief answer under those circumstances. STPCB and USRSTATS are available through ftp.usr.com on the Internet. Use anonymous login, and your Internet ID as the password. STPCB and USRSTATS are available (and running) on the USRobotics Customer Support BBS at 708-982-5092. At the present time, there is no registration required for this software. If you really want to pay me a few bucks for the many hours of effort that went into this, I'll be glad to take it from you. Call The Majestik Moose and leave a (C)omment. ---[ Disclaimer ]---------------------------------------------------- Use this software at your own risk. It works fine for me. All product and feature names are trademarks of their respective owners. This software is NOT a product of USRobotics, Inc. Joseph C. Frankiewicz The Majestik Moose BBS 708-843-2871 ---[ Appendix A - Modem Escape Sequences ]--------------------------- An "Escape Sequence" is a mechanism or method for forcing the modem into "Command Mode" while it is already connected and on-line. "Command Mode" is normally associated with the OFF-LINE condition, where the modem will accept and act upon "AT" commands entered from the terminal. However, it is also possible to put the modem into this mode DURING a call, WITHOUT disconnecting the call first. This ability is required for making use of certain diagnostic commands which only return valid data when used in this on-line command mode. USRobotics modems offer 2 methods of getting into on-line command mode. Each has its own advantages and disadvantages, depending on the point of view. The first method is the &D1 setting. When the modem is set to &D1, a momentary "toggling" of the DTR signal (pin 20), from ON to OFF and back ON again, will suspend the data connection and place the modem into command mode. USRSTATS documents refer to this as "DTR switching". The second method is the infamous "Escape Character with Guard Time." A designated ASCII character is defined as the "Escape Character", and when the modem receives three of these characters in a row, with a defined period of inactivity both before and after, it suspends the data connection and places the modem in command mode. The character used for the escape is defined in the S2 register, and the default value is 43, the "+" character. (This is where the often-seen "+++" comes from.) The inactivity or "Guard" time is defined in the S12 register, with a default of 1 second. USRSTATS documents refer to this as "Escape Character switching". When using DTR switching, the remote user does not see the "+++" characters on the screen when the BBS modem is placed into command mode. This provides a professional seamless interface. Also, the BBS modem is not susceptible to entering command mode if the _caller_ is also using Escape Character switching with an identical Escape Character definition. The disadvantage of DTR switching is that software cannot drop connections by simply toggling the DTR pin, it must _also_ send an ATH or ATZ command. It is possible to work around this in PCBoard, however you may be using other software in your system that cannot be altered this way. Using Escape Character switching, your software retains the ability to drop connections by toggling the DTR pin, as normal. The disadvantages are that the remote user will see the "+++" sequence on screen when STPCB runs, and there is a possibility that the remote user may ALSO be trying to use Escape Character switching with the same Escape Character that the BBS is using. This results in the BBS modem going into command mode when the intended target was the remote modem. Since the BBS modem can no longer pass any data to the user, and the BBS software is unaware of what happened, the user has no alternative but to drop the connection and call back. For this reason, avoid using the standard S2 register value of 43. (The "+" character.) A value of 1 (S2=1) usually works well. [End of File]