DCDD.doc 941003.1905 Direct Connect Demon Dialer Version 2.3 Jerry Smith Local Contact BBS F.A.A.X. (209) 226-7162 Internet Address jws@cris.com Why there is a DCDD.rexx: I had been using PCPursuit for years but felt limited both in speed and the selected areas covered. I had automated a bit by using PCPDial by Dave Mullenix to keep activity logs of time and BBSes. I could also keep track of total time used each month. During all this I dreamed of higher speeds and unlimited phone numbers. So... I purchased a SupraFAXmodem V32.bis super modem. NOW!! I really needed to be able to keep track of the phone bill I am running up!!! I then did some major surgery on PCPDial and Voila..... What DCDD.rexx will do: Allows you to choose a group BBSes to call from a screen of up to 80 BBSes. On screen information indicates how many days have passed since you last visited each BBS. You may have as many different phone books as you wish. This screen also displays connect time totals selected by calendar month or since the NewBillDay to match your phone bill. It will automatically dial your chosen group of local or distant BBSes, and will go through your selections as many times as you like, repeatedly dialing the BBSes until it connects with one, at which time it will beep and bring BaudBandit's screen to the front. After you logoff that BBS the selection loop will continue by dialing the next BBS. Due to the needs for high speed when using V32.bis DCDD.rexx creates a directory called RAM:-dl and directs all captured sessions and downloaded files to here. When you disconnect from a given BBS all the files are transfered to DH1:-dl for safekeeping. This insures high speed without the worry of a major data loss in case of a power outage. Before dialing, it will A: Automatically change your modem config to allow for non-standard needs for any given BBS. (at least on my SupraFAXmodem V32.bis) After connecting, it will A: Automatically start an ARexx script if you specify one. B: Automatically start a line of BaudBandit script pairs you supply. C: Automatically open a capture log file. D: Automatically capture your initial connect speed for the BBS log. E: Automatically capture the current date and time to use in the BBS log. It will automatically keep track of the total connect time for each BBS visited as well as a running total for the current month. The running monthly total is not updated for a selected BBS if you use the LOCAL option in the bandit.DCDD phone book. After you disconnect from a BBS, DCDD.rexx will compute the time you were connected and store a record accordingly, then it will dial the next BBS you have selected until all BBSes have been delt with. You can Press Shift F10 to leave the Dialing Loop and exit DCDD.rexx. While you are CONNECTED to a BBS if you press Shift F10 DCDD.rexx will disconnect you and clean up the files just like a normal BBS logoff and then continue on to the next selected BBS. This is very useful should a BBS freeze up on you. All files and capture logs are transfered from RAM:-dl to DH1:-dl when you logoff of a BBS. RAM:-dl is then cleared for use with the next BBS. What DCDD.rexx requires: You must have ARexx version 1.1 or higher and BaudBandit, version 1.5 or higher. ARexx is contained in WB2.0 or higher and BaudBandit is available thru Gramma's BBS at (206) 744-1254 (see BB4sale.lzh) You will also have to have rexxsupport.library in your Libs directory. Directions for doing this are given below. There is a script which fires off when the DCDD icon is double clicked that expects arexx to be already up and running. Also I am using WShell with this. Non WShell users may need adjustments. How to Get Set up: First, make sure ARexx has the rexxsupport.library up and working. This will add about a dozen new commands to ARexx and it has to be there because DCDD.rexx uses one of them. The new commands are described in the file "update.doc" on your original ARexx disk. If you don't have rexxsupport.library installed, then follow these instructions. Copy rexxsupport.library from the libs directory of your ARexx disk to your libs directory. Then add these lines to your startup-sequence file immediately after the rexxmast command: wait >NIL: 3 secs rxlib rexxsupport.library 0 -30 0 Then make a directory on your hardisk called DemonDialer and give it an icon. Put all my files into your DemonDialer directory. Put your copy of BaudBandit and it's icon into the DemonDialer directory. If you have BaudBandit v2.1 use my BB.config else run BaudBandit, and turn POPUP OFF then save the configuration. If you don't do this the dialer screen keeps getting in the way. Make sure ARexx is up and running (WB2.04 & up does it for you). Now you're ready! How to Use DCDD.rexx: Once ARexx is up and running just double click on the DCDD icon and the script will start up BaudBandit and bring up a menu of 80 BBSes for you to choose from. This screen now shows how long it has been since you called each BBS. the codes are as follows: 00 to 30 days: . 31 to 60 days: - 61 to 90 days: = 91 to 365 days: x 366 and above: * I try to touch base with all BBSes in my phone books at least once every 2 to 3 months. How to Select a Group of BBSes to Call: A window will open and up to 80 BBS names will be displayed in it. The hours used so far this month (00:00:00 the first time you run it) will be shown along with an invitation to type in the numbers of the BBSes you want to dial. Type in as many numbers as you want. Separate each number by a space or any of these characters: ,./;:\|+-*# For instance, if you want to call the second, fourth and fifteenth BBSes in the phonebook, type 2 4 15 or 2,4,15 or 2/4/15 or 2 4-15 or any other combination you want. You can also type a number more than once. If you want to get through to the third BBS in your phonebook very badly, you might type something like 3 5 3 9 3 2 3 1. When you logoff of a BBS DCDD.rexx will edit your selections and delete ALL occurances of that BBS selection number. In addition if the first character entered is an "A" you can direct your Do_WHOEVER.rexx script to do Automatic processing. If you entered an "A" and then select a BBS that has no Arexx script DCDD.rexx will warn you and quit. See Do_FAAX.rexx file as an example of this and Do_FAAX.rexx Example: below. Dialing: Type your line, hit Return and BaudBandit will start dialing the first selected BBS number. When it connects, BaudBandit will beep and bring its screen to the front if you are somewhere else. You can either watch or multitask away and do something else while DCDD.rexx and BaudBandit grind away at your BBS selections. After connecting With the Desired BBS: When DCDD.rexx connects with a BBS, it will beep and bring BaudBandit's screen to the front. At this time, DCDD.rexx will open a capture file, using the bbs.j.captitle name from the phonebook. It will also start any ARexx script or BaudBandit script pairs you specified in the phone book. Finally, DCDD.rexx will go to sleep and wait for you to disconnect from that BBS. To show you that DCDD.rexx is sleeping, it will display this message on BaudBandit's screen: +-------------------------------------+ | WAITING FOR UrBBSname DISCONNECT | +-------------------------------------+ Now logon to the BBS and do whatever you want to do. YOU MAY HAVE TO CLICK ON THE SCREEN BEFORE TYPING. When you're finished, log off and DCDD.rexx will return you to the Dailing Loop after doing some housekeeping chores. After You Logoff Your Current BBS: As soon as the CARRIER is dropped, DCDD.rexx will wake up and say, "Updating Total Time" and give you the previous total time used by that SERVICE for the month, the time used on the call that's just finished and the new total SERVICE time used this month. It will save the total time in file DCDDtime_SERVICE_YYYYMM in the DemonDialer directory. DCDD.rexx also saves the connect and disconnect information in files DCDDdiscos and DCDDhistory in the DemonDialer directory. Details on these files are below. DCDD.rexx will edit your selections and delete ALL occurances of that BBS selection number. All files and capture logs are transfered from RAM:-dl to DH1:-dl and then all files in RAM:-dl are deleted. If there are additional BBSes to be dialed, you'll see a list of them and then the next one will be called. Again, you can go and do something else and DCDD.rexx will beep and bring BaudBandit's screen to the front when it connects with a BBS. When you hangup from the last BBS selected or press Shift F10, you will see: ************************************************** ***** ****** ***** EXITING * DIRECT CONNECT DEMON DIALER ****** ***** ****** ************************************************** and then DCDD.rexx will finish up some housekeeping chores and exit. DCDD.rexx creates three files in your DemonDialer directory. One holds the monthly time totals and the other two store your BBS session information. How to STOP! DCDD.rexx: Just press the SHIFT and F10 keys at the same time to delete a directory that was created in RAM by the DCDD script at the start of the session. A section of DCDD.rexx tests for this directory and causes the program to shut down if it is not found. If DCDD.rexx starts dialing another BBS after you pressed Shift F10, just press enter to skip it and let DCDD.rexx exit normally. Monthly Service Time Information: DCDD.rexx stores the monthly total time used in a file called DCDDtime_SERVICE_YYYYMM, where YYYY is the current year,MM is the current month, and SERVICE is the SERVICE name. For instance, if this were Feburary 1997, and the SERVICE was CRIS, the file name would be DCDDtime_CRIS_199702. The total time is stored as standard ASCII numbers, with the hours on the first line, minutes on line two and seconds on line 3. For instance, if you'd used 15 hours, 32 minutes and 8 seconds so far in August, 1997, the file DCDDtime_CRIS_199708 would read: 15 32 8 You may track the time used the same way your phone company or SERVICE does by entering it in NewBillDay for that SERVICE. NewBillDay is the first day of the new billing cycle. If you want the first few days of the new month to fold into last months totals use MINUS for the NewBillAdj constant. Use PLUS if you want the last few days of this month to roll up into the next months total. (see GetTimeTitle in DCDD.rexx) You can change this file with any text editor or word processor. ED works just fine. This is handy if you use some time calling a friend and want to add it to the total. DCDD.rexx starts a new file each month and doesn't erase the old ones, so you'll have to manually delete them once in a while. KNOWN BUG: If you connect with a BBS before midnight on the last day of the month and don't disconnect until after midnight, all the time gets credited to the old month. Monthly Service Activity Information: DCDD.rexx saves all the connect/disconnect information plus the date and time you connected, in 2 files called DCDDdiscos and DCDDhistory. these records look like this: DCDDdiscos .............................. (use to check phone bill) 970829 1706 1-209-226-7162 00:14:36 GameS 9600 Game Shop ......................................... 970829 = 29 August 1997 (YYMMDD). 1706 = Military time connection was made (HHMM). 1-209-226-7162 = BBS phone number 00:14:36 = duration of the call in hours:minutes:seconds. GameS = the BBS's (short) name. 9600 = the actual arbitrated connect speed. Game Shop = the BBS's (long) name. DCDDhistory ................................ See field descriptions above. GameS 970829 1706 00:14:36 9600 Game Shop ......................................... These files may come in handy if you want to review your usage or check out your phone bill. These files are not erased automatically and will gradually accumulate. You'll have to delete old entrys manually. PhoneBooks: You can have as many phone books as you want for DCDD.rexx and each phone book can have up to 80 BBSes in it. The default phonebook is named Bandit.DCDD. You can change the "DCDD" part to any legal Amiga name you want. For instance, you could make phonebooks titled Bandit.AMIGA or Bandit.MIDI or Bandit.WAFFLE. Just copy, rename and edit the script DCDD and copy/rename it's icon. You will also want to copy and rename the bandit.DCDD-blank-80 phonebook. Of course you will have to populate it with your favorite BBS names and numbers. DCDD_1, DCDD_1.info and bandit.DCDD_1 are renamed and edited samples. Phonebook format: Each phone book consists of up to 80 multiple line BBS data groups. Each BBS data group has this format: > Five minus signs to mark the start of the record > BBS name (long name) > Phone number (including 1 and the area code i.e 1-209-234-5678) > SERVICE key word (used for monthly time updates for SERVICES) > AT codes to send to your modem for *THIS* BBS *BEFORE* dialing begins. > Capture file filename (short name (single word, no spaces)) plus: password #1 (single word, no spaces) password #2 (single word, no spaces) date YYYYMMDD of last session time HHMM of last session duration of last session (HH:MM:SS) modem speed for last session > ARexx script to execute after connecting to the BBS > BaudBandit script pairs to execute after connecting to the BBS > Zero or more lines of notes to be displayed while dialing the BBS. The capture filename is no longer optional but must be present and must be a single word with no spaces. The ARexx script name and script pairs are all optional. If you don't want to use them, leave the line blank, but at least a blank line must be there. After the line of script pairs, you can type several lines to be displayed on BaudBandit's screen while dialing a BBS. You can put any information here you like. Also You may have as many lines of notes as you wish or none at all. Here's a small sample file, with notes. ----- First Amiga UG BBS Name 1-415-595-2479 Full Phone Number LONGD SERVICE code allows time to be added to LONGD monthly totals. M AT code to turn off speaker Faug (+) Capture file name + other data ARexx script to execute at logon (blank here) BaudBandit script pairs to execute at logon (blank) First Amiga Users Group (was the FIRST according to them...). (notes) ----- Safe Harbor BBS Name 1-414-548-8155 Full Phone Number LONGD SERVICE code allows time to be added to LONGD monthly totals. AT code (blank) SafHarb (+) Capture file name + other data ARexx script to execute at logon (blank here) '{Escape twice=\w\x1B\w\x1B\w\r}{name:=Your Name\r}{Password:=Your Password\r}{RETURN=\r}' Verified 6/87 notes ----- F.A.A.X. BBS name 226-7162 Phone number LOCAL SERVICE code allows time to be added to LOCAL monthly totals. AT code (blank) FAAX (+) Capture file name + other data. DO_FAAX.rexx Arg ARexx script to be executed at logon & argument(if used) BaudBandit script pairs (blank here) sysop Darcy McConnell Line 1 of notes Home BBS for the A.G.E. users group Line 2 of notes has CD-ROM online Line 3 of notes ----- CRIS BBS Name 575-4463 Full Phone Number (hopefully a LOCAL call!!!) CRIS SERVICE code allows time to be added to CRIS monthly totals. AT code to turn off speaker CRIS (+) Capture file name + other data Do_CRIS.rexx ARexx script to execute at logon (blank here) BaudBandit script pairs to execute at logon (blank) CRIS Internet service for $2.00 per hour.... etc. (+) contains, password one, password two, date(YYYYMMDDdate) & time last connected, duration of last session, and modem speed. Nothing special has to be at the end of the file. NOTE: The capture file name will have .YYMMDD.HHMM.1 appended to it, where the current values of YY = year, MM = month, DD = day, HH = hour and MM = minutes. Thus, a capture file name like FAAX in the above sample would become FAAX.970215.2318.1 if the date was Feb 15, 1997 at 11:18 pm. If you turn capture off and then back on at the BaudBandit menu bar, the new ones will automatically increment by one to become FAAX.970215.2319.2, etc. I use this feature to capture the original logon as FAAX.970215.2318.1, the new file list as FAAX.970215.2318.2 and the remainder of the session as FAAX.970215.2318.3. Script Pairs: These are used to cause BaudBandit to send responses based on a code being detected. Be sure to begin and end the whole thing with single quotes. '{Escape=\w\x1B\w\r}{name=Your Name}{Password:=Your Password}' ----------------- -------------- ----------------------- The above will respond with an escape code(1B) the first time it finds the key word "Escape". Next it will respond with Your Name the first time "name" is found. Password is handled the same way. Read the docs for BaudBandit for more ideas..... Arexx Scripts: These may be used to direct BaudBandit and DCDD.rexx for more expanded control of a BBS session than script pairs alone will allow. These are usually used for automated late night download sessions. If the first character entered on the select BBSes line is an "A" you can direct your Do_WHOEVER.rexx script to do Automatic processing. If you have entered an "A" and then select a BBS that has no Arexx script, DCDD.rexx will warn you and quit. Nested DO FOREVER/WAIT LOOPS are used to control your Auto Processing and allow for an exit of the BBS in case the sysop has changed things and your Do_WHOEVER.rexx script gets "LOST" and locks up. The Timeouts are set for 30 seconds each. Telephone time costs too much to let this happen..!!! Note: the WAIT statements are looking for an EXACT!!! match including upper/lower case!!! If you are having problems check you session logs and check spelling, punctuation and case.... Do_FAAX.rexx Example: Do_FAAX.rexx will do the following using the AUTO mode. 01. enter your name 02. enter your password (i.e. your first password in the phonebook). if your 1st PW is invalid it enters your 2nd password. (plus creating a FAAX_2nd_PW directory in DH1: as a warning) if your 1st PW has expired it will enter your 2nd PW. 03. test for MAIL for you and capture it into a session log file. if any FILES are attached to your MAIL it will download them. 04. go to the file area & download the NEW FILE LIST into your session log. 05. check for RAM:DL_FAAX and read it and download file names you put in it. 06. log you off of FAAX BBS and get ready to dial the next one selected. For an example see Do_FAXX.rexx Arexx script and ZZZ_FAAX_session_log .... Update History: Version 2.3 - 04 Oct 1994 - ADDED INTERNET CONNECTION! ($2.00 per HOUR!) Broke out multiple SERVICE time keeping to allow for different start dates to match various billing cycles. I keep three cycles i.e. CRIS for my INTERNET connection, LONGD for my Long Distance Direct Dialing, and LOCAL to keep track of Local BBS use. Modified DCDDtime.rexx to show all 3 cycles at once when DCDD is first lit off or by clicking the DCDDtime icon. BaudBandit ver: 2.1 is again available through a special arrangement by it's author with Gramma's BBS (see BB4sale.lzh). Added new Shift-F9 driven ARexx script called Sit_Stay.rexx which allows control of BBS.rexx scripts while in the AUTO mode. I use it with Do_CRIS.rexx to remain logged on when I have second thoughts about doing an AUTO logoff and want to do some other work. Do_CRIS.rexx (AUTO) will upload any .newsrc file you put in ram. this allows you to change the selection of news groups to be downloaded. When the news groups have been downloaded the updated .newsrc file is downloaded and it and the CRISinet.qwk are renamed using date and time. I think of the .newsrc file as a sort of Magic Token.... Version 2.2 - 06 Apr 1994 - unreleased improvements and beta tests. Version 2.1 - 05 Feb 1994 - Dropped julian date out of bbs.j.captitle as it can be calculated as needed from YYYYMMDD data. Found great feature in Arexx "date" command. It will calculate the number of days since the Amiga Era dawned. i.e. 19780101. Added selections of method used to keep monthly time used totals. MONTH = calendar monthly totals. BILLS = phone company billing cycle. changed DCDDdiscos by making it just one big file and added the phone number to it. this makes it easy to make comparisons with your phone bill. Version 2.0 - 27 Jan 1994 - Changed bbs.j.captitle to include a Julian date from year zero/day zero to use for marking the BBS selection screen for 30, 60 & 90 days since last connected. This keeps you informed as to which BBSes need to be called. Additional info captured includes Long & Short names, yyyymmdd, time connected, duration of call and speed. A new file called DCDDhistory keeps connect info by BBS short name for a complete history. The first time ver 2.0 is run it will convert your DCDD phone books for you. You can hand edit these files to jump start things or just let nature take it's course........... Version 1.9 - 05 Sept 1993 - Incorporate Argument passing of Passwords from PhoneBook to Do_Whoever.rexx. added AUTO file downloading via a file in RAM:. added AUTO MAIL and attached file capture/downloads. Version 1.8 - 26 Aug 1993 - Changed Arexx Scripts process to do NESTED DO FOREVER/WAIT LOOPS and eliminated the need for the 5 minute timer. (left timer in place for those using it). see Do_FAAX.rexx for example and read "AREXX SCRIPTS:" above. Version 1.7 - 14 Aug 1993 - re-did RemoveBBS function to work as advertised! re-did ability to control an Auto exit of a BBS after 5 minutes. Added ability to control Do_WHOEVER.rexx scripts by entering an "A" as the first character when selecting BBSes. see Do_FAAX.rexx for example and read "AREXX SCRIPTS:" above. Version 1.6 - 02 Aug 1993 - added ability to control an Auto exit of a BBS after 5 minutes. This is controled by the existence of a directory in RAM. see FAAX above and file Do_FAAX.rexx for example. Version 1.5 - 29 July 1993 - modified DCDD.rexx to use script pair codes to handle request for "ESCAPE" key at logon. see Safe Harbor above... Version 1.4a - 28 July 1993 - text and docs updated. Version 1.4 - 19 July 1993 - first public release. Ramblings..... My Wife and I operate a business called "SMITH DISKS" using the PD files we have been collecting since 1987. (see the "About-Smith-Disks" file) We also collect Amiga BBS information and Great PD software. If you do any of the following PLEASE leave mail/files for me at the Fresno Area Amiga eXchange BBS at (209) 226-7162 or at my Internet address. i.e. jws@cris.com A. Find any Great new PD Programs/Pictures/Animations/etc. B. Discover a new Amiga BBS. C. Do any Really Neat modifications to DCDD.rexx. D. Make up a Do_WHOEVER.rexx script for your Favorite Amiga BBS. E. Just want to tell me how much you love/hate DCDD.rexx... This whole package is in the public domain. You may do anything you want with it, specifically including copying it, giving it away and selling it if you can find a sucker. All I ask is that you leave my name on it.