MS-DOS KERMIT MODEM DIALING SCRIPTS

  Christine M. Gianone and Frank da Cruz, Columbia University
  John Klensin, United Nations University
  June 1996

The following modem dialing scripts are available for use with the DIAL
command in MS-DOS Kermit.  Store these files in the MODEMS subdirectory of
your KERMIT directory, where Kermit expects to find them.

The DIAL command is a macro defined in the standard MSKERMIT.INI file on the
MS-DOS Kermit diskette.  It looks up the number (or name) in your dialing
directory, if any, making the appropriate substitution, and passes the phone
number to your dialing script in a variable.  See "Using MS-DOS Kermit" and
KERMIT.HLP (MSKERM.HLP) for details about the DIAL command and the dialing
directory.

If you lack the DIAL macro definition, you can define your own simple DIAL
macro (which does not use the dialing directory) as follows:

  DEFINE DIAL TAKE \v(inidir)MODEMS\xxx.SCR

where xxx is the modem type, one of those listed below.

The default modem type (if you are using the standard MSKERMIT.INI file) is
HAYES (i.e. Hayes 1200 or 2400).  To select a different type of modem for
dialing, do any one of the following:

  1. Type SET MODEM=xxx at the DOS prompt before starting MS-DOS Kermit, or
  2. Add SET MODEM=xxx to your AUTOEXEC.BAT file and reboot your PC, or
  3. Type SET MODEM xxx at the MS-DOS Kermit prompt, or
  4. Type DEFINE _MODEM xxx at the MS-DOS Kermit prompt, or
  5. Add SET MODEM xxx to your MSCUSTOM.INI file, or
  6. Add DEFINE _MODEM xxx to your MSCUSTOM.INI file.

xxx is name of the modem, corresponding to the part of the dialing script
filename before ".SCR".  For Telebit T3000 modems, for example, the script
file is called T3000.SCR, and "xxx" would be "T3000".  If you obtain these
files over the network, you should rename as shown in the DOS Filename column
below.  Here are the dialing scripts that are supplied with MS-DOS Kermit:

   Modem Type                                    DOS Filename
   -----------------------------------------     ------------
*  AT&T DataPort 14400 or Express                DATAPORT.SCR
*  Boca 14.4 Faxmodem        			 BOCA.SCR
*  Digicom Connection144+    			 CONN144P.SCR
*  Dynalink 1414VE           			 DYNA1414.SCR
   Hayes 1200 or 2400        			 HAYES.SCR
*  Hayes Ultra 144           			 ULTRA144.SCR
*  Intel 14400 Faxmodem      			 INTEL14.SCR
*  Megahertz PCMCIA                              MHZ2144.SCR
*  Microcom QX/4232hs        			 QX4232.SCR
*  Motorola UDS FasTalk II   			 FASTALK2.SCR
*  Multitech MT1432          			 MT1432.SCR
*  Penril Alliance V.32      			 PENRIL.SCR
*  Practical Peripherals                         PP14400.SCR
   Rolm CBX DCM                                  ROLM.SCR
*  SupraFAXmodem V.32bis                         SUPRA.SCR
*  Telebit QBlazer V.32                          QBLAZER.SCR
*  Telebit T3000 V.32bis                         T3000.SCR
*  Telepath / Megahertz Xjack PCMCIA V.32bis     TELEPCMC.SCR
*  US Robotics Sportster 14400 or 28800          SPORT.SCR
** VIVA 2442ef FAX/MODEM                         VIVA.SCR
*  Zoltrix Platinum 14400                        PP14400.SCR or DYNA1414.SCR
*  Zoom Telephonics 14400                        ZOOM.SCR
*  ZyXEL 1496                                    ZYXEL.SCR

NOTE: The PP14400.SCR file should be usable with any Practical Peripherals
V.32 or V.32bis model: PM9600, PM9600SA, PM9600FXMT, PM14400FXSA, PM14400FXMT.
Reportedly it is also compatible with the Zoltrix Platinum 14400.

If your modem does not appear in this list, feel free to adapt one of these
scripts to work with your modem (and send your new script back to Columbia so
others can use it too).

WHAT THE DIALING SCRIPTS HAVE IN COMMON

These scripts use your modem's default dialing method, pulse or tone; they do
not specify one or the other, since neither method is supported by all
telephones everywhere.  To force Tone dialing, begin your phone number with T,
for example:

  DIAL T7654321

Similarly, to force pulse dialing, start the phone number with P.

If you give a DIAL command whose telephone number is simply = (equal sign),
the modem will be initialized, but no call will be placed.  In some cases,
the dialing script will also ask the modem to display its configuration.

When dialing a real phone number, you can include special characters in the
phone number to accomplish pauses, wait for secondary dialtone, etc.  See your
modem manual.

If you dial a number that is busy, most of these scripts will wait 30 seconds
and then redial automatically, up to 5 times.  You can cancel the redial
operation by pressing any key after you see the message:

  Line is busy, will dial again in 30 seconds.
  Press any key to cancel...

Each dialing script returns SUCCESS if dialing succeeds and FAILURE if it
doesn't, so you can use an IF FAIL or IF SUCCESS statement after a DIAL
command in a script.
	
THE ROLM DIALING SCRIPT

ROLM.SCR is for the Rolm/Siemens (formerly IBM) Computerized Branch Exchange
(CBX) data communications module (DCM).  It dials at your current speed, and
does not change speeds since the DCM is speed-sensitive.  It does not attempt
to redial if the line is busy.  For Rolm 244PCs, use HAYES.SCR, and always use
Tone dialing.

THE HAYES 1200/2400 DIALING SCRIPT

The Hayes 2400 script, HAYES.SCR, should work on any Hayes-1200, Hayes-2400,
or compatible modem.  It does not change any modem settings (S registers).  It
assumes that the modem changes its interface speed to match the negotiated
modulation speed, if the modulation speed is reported as 1200 or 2400;
otherwise, Kermit does not change its interface speed.

HIGH-SPEED MODEM SCRIPTS

The entries marked with "*" above are for high-speed modems that include
error-correction and data-compression features.  (Exception: the Viva modem is
a 2400 bps modem that does error correction, compression, and speed
buffering).  These scripts attempt to use these modems at a fixed interface
speed of 57600 bps (or 38400 bps, if that is the highest speed supported by
the modem), to allow the modem's data compression to operate at its full
effectiveness, and they enable hardware flow control (RTS/CTS) to prevent loss
of data.  Note that flow control will be fully effective only if the answering
modem and computer also have an effective flow control method between them.

  NOTE: None of these scripts contain any particular support for V.34,
  V.Fast, V.FC, or V.Terbo.  If you have a "higher" model of one of the
  modems listed above, the corresponding script might need minor adjustments.

The high-speed modem scripts:

 . Configure the modem to echo commands, issue verbose result codes, and
   hang up upon loss of DTR from the PC (as when you tell Kermit to HANGUP).
   (If Kermit's HANGUP command doesn't work with your modem, you can find
   a workaround in the KERMIT.BWR (MSKERM.BWR) file.)

 . Start out at the highest supported modulation, V.32bis, with downwards
   negotiation enabled (V.32, V.22bis, etc.)  If a lower modulation technique
   is negotiated, the interface speed remains fixed and the modem does "speed
   buffering", for which effective flow control is an absolute requirement.

 . Enable error correction and compression, starting out at the highest
   supported levels (V.42 and V.42bis) and falling back to lower levels
   (usually MNP), or to none at all.

 . Configure to modem to pass BREAK signals through transparently when you
   type Alt-B.

Dialing     Interface   Highest      Error        Data
Script       Speed      Modulation   Correction   Compression   Remarks
   
BOCA.SCR     57600      V.32bis      V.42->MNP    V.42bis->MNP
DATAPORT.SCR 57600      V.32bis      V.42->MNP    V.42bis->MNP
DYNA1414.SCR 57600      V.32bis      V.42->MNP    V.42bis->MNP
FASTALK2.SCR 57600      V.32bis      V.42->MNP    V.42bis->MNP
INTEL14.SCR  57600      V.32bis      V.42->MNP    V.42bis->MNP
MHZ2144.SCR  57600      V.32bis      V.42->MNP    V.42bis->MNP  PCMCIA card
PENRIL.SCR   38400      V.32(bis?)   V.42->MNP    V.42bis->MNP
PP14400.SCR  57600      V.32bis      V.42->MNP    V.42bis->MNP  PM14400 models
PP14400.SCR  57600      V.32bis      V.42->MNP    V.42bis->MNP  Zoltrix
PP14400.SCR  57600      V.32         V.42->MNP    V.42bis->MNP  PM9600FXMT
PP14400.SCR  38400      V.32         V.42->MNP    V.42bis->MNP  PM9600/9600SA
QBLAZER.SCR  38400      V.32         V.42->MNP    V.42bis->MNP
QX4232.SCR   38400      V.32bis      V.42->MNP    V.42bis->MNP
SPORT.SCR    57600      V.34         V.42->MNP    V.42bis->MNP
SUPRA.SCR    57600      V.32bis      V.42->MNP    V.42bis->MNP
T3000.SCR    57600      V.32bis      V.42->MNP    V.42bis->MNP
ULTRA144.SCR 38400      V.32bis      V.42->MNP    V.42bis->MNP
VIVA.SCR     19200      V.24         V.42->MNP    V.42bis->MNP
ZOOM.SCR     57600      V.32bis      V.42->MNP    V.42bis->MNP

The Telebit T3000 script should also work on the Telebit WorldBlazer.

The Telebit QBlazer script should also work on the Telebit Qblazer+ and T1600.

The Hayes Ultra 144 and Telepath PCMCIA modems give you a failure code if a
call fails:

  0  Normal hangup
  4  Physical carrier loss
  5  Error control was required but was not negotiated
  6  Other error-control modem did not respond to feature negotiation
  7  Other modem is synchronous-only
  8  Modems could not find a common framing technique
  9  Modems could not find a protocol in common
 10  Incorrect feature negotiation message sent by other modem
 11  Timed out waiting for synchronous data
 12  Normal disconnect initiated by other modem
 13  Other modem did not respond after many retransmissions
 14  Protocol violation
 15  Compression failure

The PP14400 script attempts to identify the modem model and set the interface
and connection speeds accordingly.  If it tells you "Unknown Practical
Peripherals Modem model", you'll have to add your model identification to
the script; the required changes should be self-evident.

For further information, read the script files themselves.  They are ordinary
text files that you can TYPE, PRINT, or view with a text editor such as DOS
5.0 EDIT.

(End of MODEMS.DOC)
