  Using a Modem with OpenVMS? 
 The Question is:
 
I just replaced an external MultiTech 19,200 Modem
with a Hayes Accura 56K Modem.  All I did was power
the Multitech off, plugged in the Hayes,powered it
on and was unable to dial in via Windows 95 Dial up
connection.  I called Digital Tech Support, they
instructed me to make a few changes in the tta0 port
configuration, ie., change autobaud on...I also sent am
initialazation string to the modem to set auto answer on.
When an attempt to dial in is made, it hangs up after 30
seconds or so.  The message on the dial in system after
verifying Username and Password is, You have been
disconnected from the computer you dialed.  I did notice
that when I first went into the modem characteristics for
the Multitech (which worked fine) the baud rate was set to
19200 both for input and output.  However with the autobaud
set to on, it goes to 9600.  I am an independant consultant,
not a VMS person.  Could this be the problem?  Can someone
help me with this please.
 
 
 The Answer is:
		     Using a Modem with your VAX
                          Richard B. Gilbert
                       Revised January 10, 1995
 
	Be sure that the serial port you are using supports MODEM control
signals.  On the DMF32, for example, only ports 0 and 1 can be used with
MODEMS.  These ports on the DMF32 must have switches set to enable MODEM
control signals.  The VAXStation 3100 does NOT support MODEM control!  The
MicroVAX 3100 does support modem control.  Some terminal servers support
only "DSR/DTR" modem control, whatever that means.
 
	Connect the MODEM with a cable that supports MODEM control signals
such as DEC's BC22E.  The BC22F is overkill but will work quite well.  Note
that while it was possible to "fake it" with VMS V4.x and earlier, VMS V5
requires that all of the MODEM control signals be connected.  (Pins 2-8, 20
and 22 should be connected straight through; i.e., 2-2, 3-3, 4-4, ...)
 
	You will need to make some switch settings on your MODEM.  The
following settings are for a US Robotics Courier 2400.  See your MODEM's
instruction manual.  The switch numbers will be different but the functions
available are typical.  The settings marked with an asterisk are critical
to the successful use of your MODEM.  Some settings can also be made from
the CPU via the MODEM's AT command set, in which case the hardware switch
settings determine the MODEM's power on defaults.  The AT commands in
parentheses, following the switch settings, are the commands for a U.S.
Robotics Courier HST dual standard modem.  Check your manual for the proper
commands for your modem.
 
* 1.  DTR Normal (controlled by CPU)			(AT&amp;D2&amp;W)
  2.  Verbal result codes (Useful during dialout)	(ATV1)
* 3.  Do not display result codes (Quiet mode)		(ATQ1)
  4.  Echo off line commands (Useful during dialout)	(ATE1)
* 5.  Auto answer (MODEM will answer the phone if DTR is asserted) (ATS0=1)
* 6.  Normal Carrier detect (controlled by MODEM)	(AT&amp;C1&amp;W)
  7.  Single phone line (As required)
  8.  Normal At command set (Must be enabled for auto dial.)
  9.  Online after +++
 
************************************************************************
 
	Many users have observed the VAX dropping DTR (Data Terminal Ready)
while a user is trying to dial in, causing the MODEM to hang up the phone.
The terminal driver will drop DTR if it sees DSR (Data Set Ready) for more
than thirty seconds, without also seeing CD (Carrier Detect).  If it is
possible to configure the MODEM so that it does not assert DSR until it
asserts CD (AT &amp;S1&amp;W), do so.  Otherwise it will be necessary to use a
modified cable. At the VAX end of the cable, cut the wire leading to pin 6
(DSR) and jumper pin 6 to pin 8 (CD).
 
 
	A command similar to the following should be placed in your
SYS$MANAGER:SYSTARTUP_V5.COM file to set up an asynchronous port for use with
a MODEM.  You may want to add some more qualifiers but this will get you going.
$	SET TERMINAL -
	/PERMANENT -	! Make settings permanent
	/MODEM -	! Use MODEM control signals
	/DIALUP	-	! Gives the DIALUP identifier to user.
	/HANGUP	-	! Hang up the phone when user logs off
	/AUTOBAUD -	! Detect the user's baud rate and set it.*
	/ALTYPEAHD -	! Use the alternate typeahead buffer.  The
			! alternate typeahead buffer can be made larger
			! than the regular one.  This is helpful if you
			! are doing file transfers.  See SYSGEN parameter
			! TTY_ALTYPAHD.
	/HOSTSYNC -	! VAX will send XOFF when its buffer is nearly
			! full and XON when it is ready for more input.
			! See SYSGEN parameter TTY_ALTALARM.
	_TXA0:
 
$	SET PROTECTION=W:R /DEVICE
			! Sets device protection to allow non-privileged
			! users to allocate the device for dialing out.
			! Otherwise user must own device or hold SYSPRV.
 
	* Many modern modems are capable of using a fixed DTE rate to talk
to the computer; e.g. if they are set to 19200, they will talk to the
computer at 19200 regardless of what speed they are using to talk to the
remote modem.  This feature has performance implications for modems that do
data compression using either CCITT V.41 or MNP.  For such modems, use
/SPEED=xxxxx rather than /AUTOBAUD.
 
************************************************************************
 
	The following commands should probably go in SYS$SYLOGIN, your
system-wide login command file:
 
$! Test for interactive or batch mode
$!
$	IF F$MODE() .NES. "INTERACTIVE" THEN GOTO 10$
$!   Set up device dependant terminal characteristics.  This only works
$! if the terminal responds to ANSI Device Attributes (DA) control string.
$! Most DEC terminals (VT1xx, VT2xx, LAxxx) and compatibles will do so.
$	IF F$GETDVI("TT", "TT_MODEM") THEN $ SET TERMINAL /INQUIRE
$ 10$:
**************************************************************************
 
	To set the terminal for temporary dialout use, execute the following
commands:
$	ALLOCATE TXA0:	KER$COMM	! Logical is useful for Kermit-32.
$	SPEED="''P1'"
$! Default to 1200 baud.		! Pick a suitable default value.
$	IF SPEED .EQ. "" THEN SPEED=1200
$	SET TERMINAL /NOAUTOBAUD /SPEED='SPEED' KER$COMM:
 
	You may need to add a /NOECHO qualifier if your terminal program is too
stupid to read with no echo.  It is not necessary with SET HOST/DTE,
KERMIT, XMODEM, or HOST32.
 
 
	To support a modem on a DECServer 200:
 
1. Set up the terminal server as follows: (assuming port 8)
 
Local&gt; DEFINE PORT 8 ACCESS DYNAMIC AUTOBAUD DISABLED
Local&gt; DEFINE PORT 8 DSRLOGOUT DISABLED FLOWCONTROL XON
Local&gt; DEFINE PORT 8 INACTIVITY ENABLED MODEM ENABLED
Local&gt; DEFINE PORT 8 SIGNAL CHECK ENABLED
Local&gt; DEFINE PORT 8 SPEED 2400 ALTERNATE SPEED 1200
Local&gt; DEFINE PORT 8 DIALUP ENABLED
Local&gt; LOGOUT PORT 8
Local&gt; DEFINE SERVICE service_name PORT 8 IDENT "string"
Local&gt; SET SERVICE service_name PORT 8 IDENT "string"
 
	Other port characteristics may be defined "to taste".
 
2. Insert the following statements in SYS$STARTUP:LAT$SYSTARTUP.COM
(SYS$MANAGER:LTLOAD.COM for VMS V5.4 and below):
 
CREATE PORT LTA100: /NOLOG
 
SET PORT LTA100: /APPLICATION /NODE=server_name /SERVICE=service_name -
	/NOQUEUE /NOLOG
 
	The LTA number is more or less arbitrary but must take into account
the fact that LAT startup creates a few ports temporarily (starting at
LTA1) and the number you choose must not conflict.
 
	The server_name and service_name must correspond exactly to the
names used in the DECserver DEFINE SERVER server_name and DEFINE SERVICE
service_name commands!
 
3. Insert the following statements in SYS$MANAGER:SYSTARTUP_VMS.COM
(SYS$MANAGER:SYSTARTUP_V5.COM for VMS V5.X):
$!
$! Start LAT (DEC Server 200 terminal server)
$!
$	@SYS$STARTUP:LAT$STARTUP.COM
$! Note that SYS$STARTUP:LAT$STARTUP.COM starts LAT while LAT$SYSTARTUP.COM
$! does the system specific part of the startup.
$!
$! VMS V5.4 and below would use @SYS$MANAGER:LTLOAD.COM.
$!
$! Set up Modem port on terminal server.  Note that, while this works for
$! me on VMS V5.4, it has been reported to me that /HANGUP is not allowed
$! under VMS V5.5.  The SET TERMINAL may not be necessary at all since the
$! DECserver DEFINE commands include equivalents for everything except
$! /ALTYPEAHD.
$	SET TERMINAL /PERMANENT /MODEM /DIALUP /HANGUP -
		/ALTYPEAHD /HOSTSYNC				LTA100:
$	SET PROTECTION=W:R /DEVICE				LTA100:
 
4. Reboot or execute the commands in steps 2 and 3.
 
	It appears that SET HOST /DTE LTAnn: no longer works as of VMS V5.5-2.
I suspect that it will not work under VMS V5.4-1 or higher with LATmaster
installed.  Instead, define the modem port as a service on the terminal server
and use SET HOST /LAT service_name.
 
 
