C O M C A L L V E R 3 . 1 USING COMCALL CONTENTS STARTING COMCALL USING COMCALL **************************************************************************** 1. STARTING COMCALL To start a COMCALL session, change your directory to the Comcall directory e.g. cd c:\comcall and enter the command COMCALL followed by the pressing of the ENTER key. COMCALL COMMAND - EXECUTE COMCALL By entering alone at the DOS prompt, you will be automatically taken into the main Comcall process. Initially you will see a time delayed introductory screen. Thereafter, you will be presented with the session configuration screen. Each time that you modify and save any of the session options then these will be applied to all future usages of Comcall until such times that they may be modified again. This entry configuration screen has a auto-entry delay count of 10 seconds. Pressing the key will by-pass this delay. If no other keys are pressed within this time then the main Comcall terminal screen will be entered. This delayed auto entry enables Comcall to be used in batch file processing (e.g. .BAT files) where it is known that the default session options have already been set to a suitable value. For each Comcall session, two trigger options are available. You may therefore define separate actions to be taken for each of two separate trigger conditions (ring ranges). The options that may be modified are :- COMCALL ENTRY OPTIONS LOWER AND UPPER RING COUNTS The ring counts (lower/upper) should be set to the range of FULL RINGS that you wish COMCALL to trigger an action upon receipt of (see E/T/X option below). These values may be identical so as to stipulate an exact number of RINGS to trigger the action upon. The minimum number of rings that may be specified is 1. The maximum upper level is 999. For ranges of RING COUNTS the values are considered to be inclusive. There should be no over lap between the ranges for OPTION 1 trigger action and OPTION 2. Note that FULL RINGS varies from country to country. For example in the UK with the Brrr-brrrr ring, Comcall will take all or any part of this to be a full ring. It is worth noting that in some countries that the ring heard by the caller and the ring heard by the called person may not be in phase. Comcall responds to the actual rings received locally. Comcalls ring counter will only increment when your modem detects such a ring. This can lead to cases of where say a caller hears only one ring cycle, whereas at the receiving end a two ring cycle could have occurred. For critical operations it is therefore recommended that you select a ring trigger range over a number of ring cycles. Then, when you wish to make the remote trigger call, select a mid ring count between these two values. Example: Setting the lower and upper ring values to a RANGE of values e.g. 2 & 4, would result in the required action (as specified in the command/telephone option (see later)) only being performed if either 2, 3 or 4 RINGS were detected. Always check your set ups before relying upon them. For instance, when using some faster speed modems (9600 or above), in the UK, a single brrr...brrrr ring cycle may be detected locally as TWO rings. If this applies to your set up, you may have to make allowances for this and double the figures for both the lower and upper ring trigger values in order to achieve the desired action(s). Get a friend to call you back, or try it yourself from a local phone booth. Remember the time and number of rings are logged in the file 'CALLRING.DTL', so you can use this as a reference. Once you are aware of how your particular modem reacts with Comcall, you can then confidently go about setting it up in the correct fashion in order to perform the function(s) you require. EXECUTE/TELEPHONE/EXIT E/T/X OPTIONS These parameter should be set according to what the required trigger action should be upon the receipt of the ring trigger range as defined in the upper/lower ring count options (see previous). The 'T' option enables a telephone advisory call to be made to the telephone number defined in the command/telephone option (see later). The 'E' option enables the command as defined in the command/telephone option to be performed. Any DOS command or program filename may be called (even a call to a .BAT file if required), together with any parameters required by that called program (there is a upper limit of 4 parameters that may be passed). The X option is used where it is desired to execute Comcall from within a .BAT file. In some cases using the E option will prevent the successful automatic reload of Comcall (e.g. if a trigger condition is met and another program is executed that takes all of the memory available for its own use). In using the X option, you can define a DOS errorlevel at which Comcall should halt with following the receipt of the desired trigger condition (consult your DOS manual for further description of errorlevels). The actual errorlevel number to use should be defined in the command/telephone option (see later). A bat file can then pick up on this errorlevel in order to perform the desired operation. DO NOT USE AN E ACTION COMMAND REQUEST TO INVOKE ANOTHER COMMUNICATIONS PROGRAM - OTHERWISE THE CONFLICT IN USING THE SAME PC INTERRUPTS CAN RESULT IN COMCALL NOT CORRECTLY RESUMING UPON EXIT FROM THE OTHER COMMUNICATIONS PACKAGE/PROGRAM. If you intend to use Comcall to trigger a communications package, then do so by using the X (Exit with errorlevel) option and control the Comcall and communications package invocation using a suitable control batch file. COMMAND/TELEPHONE This is the action/command, exit errorlevel or telephone number that should be used according to the option specified in the EXECUTE/ACTION (E/T/X) option (see previous). If a T options is selected for the execute/action option, then this should contain the target phone number (no spaces or dash characters should be included). If a E option is selected for the command action then this should be a DOS command or program filename (filenames should be full filenames e.g. comcall.exe and not just comcall (without the exe suffix)). Up to four parameters may be included with the command e.g. 'echo hello there'. If an X command action is selected for the command action then this should be a numeric value (greater than one, less than 100) to which the desired exit errorlevel is to be set. For more information on BAT file processing and errorlevel values - consult your operating systems manual. Selected exit errorlevels are reserved (the ones outside of the 2-99 range) for internal use by Comcall. For T options (telephone) you may be able to define delay periods by including an additional character in the telephone number string (consult your modem manual). For example, when an advisory call is to be made out through an automatic switchboard that requires a prefix digit(s) to be dialled, followed by a short delay, then you can use the delay character to cater for this. Lets say that the delay character for your modem is a comma character, and your number for gaining an external line is 9. If you wish to call the number 123-4567 then your telephone command line value would be 9,12345678. (Do not include any dashes in telephone number command actions.) On receiving a trigger condition, Comcall will then instruct your modem to dial the digit 9, followed by a short delay, followed by the number 1234567. This delay character can vary from modem to modem, so consult your modems manual for further guidance (usually can be set via one of the S registers). In some cases you may wish to concatenate a number of delays, this could be achieved by using two or more of the delay characters consecutively e.g. 9,,,1234567. ******************************************************************************* 2. USING COMCALL For COMCALL to work your PC and Modem must be left on. Any power loss to your system will result in the loss of the COMCALL monitoring. To ensure against power glitches, you could use the COMCALL command within your autoexec.bat file so that should the power fail and then be restored then the PC would reboot and re-execute the COMCALL command automatically. COMCALL liaises with your modem. You should use a HAYES compatible modem. COMCALL requires that verbose commands are returned from your modem (not digit values) and that the modem is set to never answer. These can be set in the modem initialisation option of the Comcalls configuration using the 'Comcall C' command (see installation section). This is automatically sent within the initialisation process when COMCALL is started. Once you have invoked COMCALL you will be (following the session configuration screen) in a terminal session with your modem. Type AT (attention) followed by the ENTER key directly at the terminal screen. You should then see the modems response of OK. If this does not occur then you should check your modem and COM port. The Modem - Comcall configuration is covered more fully in the installation section of this manual should you require further assistance. Comcall now incorporates dual trigger definition. That is you can define two separate actions to be taken upon the receipt of two different ring ranges. If you do not want any actions to be taken, e.g. using Comcall purely as a logging device, then we suggest that you use trigger actions of 998/998 Rings, E(xecute), REM for option 1 and 999/999, E(xecute), REM for option 2. Comcall will thereafter only log any details of incoming calls to the log file (CALLRING.DTL) which may be browsed later using the Comcall B command from the DOS prompt. Note that in this case, if a ring count in the range 998-999 rings is detected (extremely unlikely) then the only action performed would be that Comcall would execute a remark (REM) statement. The reason for choosing the 998 and 999 ranges for trigger options 1 and 2 (respectively) is to ensure that no over-lap between the ring ranges for trigger option 1 and trigger option 2 occurs (not allowed). Once you enter Comcall then try using the (RING simulation) keys at the terminal screen. You should see the response of the time of the ring receipt and the ring count. If further rings are entered in quick succession you should see the ring count incremented. (Beware not to enter the same number of rings as defined for your trigger, otherwise the trigger will occur at this test stage - unless you wish to test your set up that is.) If a delay of over 10 seconds occurs between when the last ring and next ring occurs, then the ring count will be seen to revert back to one (assumes a new call). If you utilise Comcalls program Execution command option upon ring triggers, then COMCALL may or may not be correctly resumed upon completion of the command, depending upon the command/utility called (memory space etc). Test your set ups prior to depending upon them. If COMCALL does not correctly resume then try setting up a BAT control file and use the Execute/Action 'X' command option together with a suitable errorlevel (see below) from within Comcall. We will now discuss a single example of using Comcall in order to share a single telephone line between voice and data calls. Remember that this is only one possible use for Comcall. In practice your skill and imagination are the only boundaries to the many other potential applications of the Comcall package. EXAMPLE OF USING COMCALL WITH A COMMUNICATIONS PACKAGE IN ORDER TO SHARE A SINGLE TELEPHONE LINE BETWEEN VOICE AND DATA CALLS. Lets say that you have a communications package (program) that you wish to invoke upon a selected ring count condition being met. We'll call your comms package 'compac' for this example. Your compac program allows for the creation of script files (a common option with most communications programs). We will also assume that you have created such a script file that will result in a 'host' mode of operation being automatically set up when the script is invoked. The compac package is assumed to allow you to invoke compac and the script directly from the DOS command line e.g. if the script is called ringoff.scr - compac allows you to invoke it and the ringoff.scr by using the command compac ringoff.scr You want this comms package to be run every time that Comcall detects only one ring (one and only one ring). We will also assume that your modem is connected to your COM port 2. Lets also assume that your comms package (compac) is in a directory called c:\comms and that your COMCALL package is in a directory called c:\comcall. Lets say that you want to make Comcall exit with an errorlevel of 2 when the trigger is met and invoke your comms package (await your return call in data mode). Finally lets also assume that if you do not call back within 5 minutes with a data call, then you wish Comcall to restart again (back to normal voice call operation). (Note that most of the above assumptions can be directly related to many of the popular communications programs/packages that are currently available.) Enter Comcall and select the required options at the session configuration screen according to the following. Your Upper and lower ring counts for trigger option 1 should be set to 1 and 1 (e.g. one and only one ring). Additionally your E/T/X option should be set to X and the Command/Telephone Option set to 2 (2 is the minimum and 99 is the maximum errorlevel that may be set for this X option. Any other value outside of this 2-99 range will result in a default of value of 2 being applied). As you only want one ring range to be the trigger condition, then set the Trigger Option 2 values to say 999/999 rings, E(xecute), REM command. Now save these using the Save/Exit option. Once at the terminal screen - exit Comcall using the ALT X option. Now each time that Comcall starts in future then the options as defined above will be automatically applied (unless you choose to modify them). Thus you can now include the command Comcall in a bat file (such as your autoexec.bat). Once such a bat file is run and the Comcall command issued, then following a short delay, Comcall will be automatically initialised and the terminal session entered with your required parameters. You bat file (consult your dos manual for help regarding batch files) - may contain something like the following :- EXAMPLE BAT FILE cd c:\comcall - your comcall directory comcall - start comcall if errorlevel 2 goto trig - if comcall exits with - errorlevel of 2 then goto - the trig label goto reboot - otherwise goto the reboot label :trig - the trig label c:\comcall\comboot 5 - reboot system in 5 minutes cd c:\comms - your comms directory compac ringoff.scr - start your comms package :reboot - the reboot label c:\comcall\comboot 0 - reboot immediately {-----------------------------------------------------------------------------} NOTE The above description on the right hand side is for descriptive purposes - do NOT include this in your bat file. A quirk (or feature) with the DOS errorlevel that you should be familiar with is that an errorlevel reference refers to values both EQUAL AND GREATER than the stated value. For example, if you included the command if errorlevel 4 goto doit in a batch file, then if the exit errorlevel code at the time of meeting the command is 4 OR GREATER (e.g. 5, 99 etc) then the action (doit in this example) will be taken. Consequently, multiple references to errorlevels within a batch file should be written in a form so as to be decremental e.g. if errorlevel 4 goto dofour if errorlevel 2 goto dotwo and NOT if errorlevel 2 goto dotwo if errorlevel 4 goto dofour as in the bad example above, should the errorlevel be 4 then the dotwo action would be (incorrectly) taken. Another point regarding batch files is that the syntax does vary for different versions and suppliers of the operating systems. If in doubt, consult your operating systems manual. END OF NOTE {----------------------------------------------------------------------------} Saving such a command bat file as the above example to your Autoexec.bat file, followed by a reboot (CNTL-ALT-DEL) would result in the continuous sequence of Comcall being invoked and waiting for one and only one rings. Then once this trigger was met Comcall would stop with an errorlevel of 2 which would start a reboot request after 5 minutes (COMBOOT TSR is described in the additionals/utilities section of this manual)) followed by the Compac comms package being started using the ringoff.scr script file in order to wait for your return data call (host mode). Normal exiting from compac will result in your system rebooting as a result of the cold reboot (Comboot 0) command (last line in the above example bat file). Once the system starts up again the whole process could be repeated. If you call into your base systems Communications package from a remote site your should immediately (after a successful connect) execute a DOS shell from the communications program/package and then execute the STOPBOOT command in order to stop the re-boot TSR's countdown (c:\comcall\stopboot.exe). Otherwise your system will reboot after the 5 minute reboot time expires, possibly resulting in your being logged off (disconnected). If you didn't log into your computer with a return data call within the 5 minute period as defined with the COMBOOT 5 statement, your system would reboot and start the .bat file all over again. With suitable additions to your autoexec.bat file (e.g. echo ats0=0 >com2 so as to place your modem into a never autoanswer mode), you could therefore prevent your system from being left in data mode for the rest of the day. In some cases, if you are using a BBS system, you could incorporate the STOPBOOT command as part of the logon menus execution, so that the reboot request is automatically stopped when a call comes into the BBS. The benefit of such a set up is that should your mains power supply fail for a brief period, then the set up would be re-entered once again after the power had been re-established. It also ensures that your system should not hang as a result of memory contention preventing Comcall from correctly working upon re-entry. (Note that Compac is a name chosen purely in an arbitrary manner in order to assist with the above example.) The above example may appear a little daunting upon first reading, but with familiarisation of batch files and your preferred communications program it should not be too difficult for you to implement. The example does demonstrate some indication of just how useful and flexible Comcall can be. One word of caution though. When making autoexec.bat file dependant set ups, always attempt to perform as much of the set up as possible from within a test bat file first. Only once your certain that all appears well should you move the commands to your autoexec.bat file as any errors within the autoexec.bat file can present problems. Ideally it is well worth having an alternative bootable disk handy (e.g a blank floppy disk that has been formatted with the 'format a: /s' command) for such cases. As is having a back up copy of your original autoexec.bat file. END OF EXAMPLE ----------- Occasionally you should browse the CALLRING.DTL file that is created automatically by COMCALL. This file contains all of the rings and the times that they were logged whilst COMCALL was active. This file will continue to grow until such times that you delete it. Once deleted a new copy will automatically created and used the next time you re-enter COMCALL. COMCALL has primarily be developed and tested in the UK. In theory the package should work as equally well on a multitude of telecommunications networks. We have (as of the current date) not received any reports of COMCALL failing to work on any given network. NOTE: When using Comcall with some modems under a double ring telephone system (e.g. the UK has a single ring cycle sent as brr..brrrr) then a double count may occur against that ring cycle. Generally, this will only be evident in high speed modems (9600 or above). If this is the case for your set up, then you may have to make allowances for this when defining your trigger ranges (e.g. say set lower count to 1 and upper count to 4 for a desired trigger condition of between 1 and 2 rings). Some difficulty in the anticipated functioning of COMCALL may occur if another incoming ring is made at the same instant in time when COMCALL issues an advisory call command. However, the instances when this occurs should be extremely few in view of the small timeslot window when such conditions may occur. If COMCALL is used to initiate an advisory call upon the detection of the trigger condition, then the response messages from the advisory call are monitored. If a BUSY message is detected then the advisory call will be retried after a short delay (providing the busy re-tries or modems Blacklist limit has not been reached - see configuration section). In all of the EXECUTE (E), EXIT with ERRORLEVEL (X) and ADVISORY CALL (T) modes, a delay from the time when the trigger ring receipt was received and the trigger function operates exists. This is via a counter level being decremented and displayed upon the terminal screen. If you wish to locally cancel the trigger function and resume RING monitoring, then the ENTER key may be pressed during this delay countdown period (e.g. you may have answered your phone locally and you do not wish for the advisory call to progress to completion). To quit out of COMCALL use the combined keystrokes of ALT X. Some limited help may be obtained by using the combined keystrokes of . You may reference the Comcall manual using the keystroke sequence. At the COMCALL terminal screen, you can jump to the session configuration screen by using the keystroke. Finally, you can use the combination in order to simulate an incoming ring (useful for testing your set ups). That's the basics behind using and running COMCALL. Maybe once you have grasped these you would like to add in additional functionallity such as being able to switch your PC/Modem or home lights both on and off from anywhere in the world. Or what about programming your Video recorder - again from anywhere in the world. For further information of how such set ups could be possible, consult the additionals section of this manual. We do remind you however, that patience is a virtue. Don't be too bold and ambitious in trying to set up the ultimate configuration within a few minutes. Master one step at a time (COMCALL first) and get your system working well before attempting to add in additional options. That way, you'll end up with a robust and purposeful set up. If you try to do too much at once then you'll probably end up spending hours of your time going around in circles. Remember that we have only demonstrated just one example of using Comcall. There are numerous other possibilities for its use. Try to plan out any of your intended applications using pencil and paper first. Careful and thoughtful planning at the initial stage can prevent hours of frustration later. TAKE IT ONE STEP AT A TIME. ENJOY!