
                      How to install COM/IP with EleBBS
                      

                        written by mike@pcmicro.com

                         HTML version available at:
                        http://pcmicro.com/elebbs/faq


COM/IP is a virtual modem/telnet driver for Windows 95/98/NT/2K which allows
32bit BBS programs to run DOS doors under telnet.
It's a commercial program, and a 30-day evaluation version can be downloaded
from http://www.pcmicro.com/comip

This explains how to install COM/IP with the Win32 version of EleBBS, which
is a free 32bit BBS that can be downloaded from http://www.elebbs.com.

This assumes that you have already downloaded and configured EleBBS to run
on a standard dialup modem, and you are somewhat familure with it.



* Install COM/IP, and select one or more virtual com ports for it to use,
  such as COM3. You will need to define one com port for each telnet node
  you want to run. When the setup asks if you want to install any virtual
  modems, select NO, as virtual modems are not required by EleBBS.
  Leave the init string in the COM/IP Window blank, as it is not needed.
  In the COM/IP configuration menu, select "DOS/INT14 settings"
  and for each virtual com port you have defined, set the following:
  
     Baud Rate: 115200
     Word Length: 8
     Parity: None
     Stop Bits: 1
     Lock Settings on port: (check)
     Recieve Size: 4096
     Transmit Size: 4096
     Enable Fossil: (check)
     Coalesce Outgoing Data: (check)
     Release Time slices when port idle: (don't check)
     Hold port open during MS-DOS session: (don't check)


* Create a separate node directory for each (telnet) node for EleBBS.
  For example if your main elebbs directory is c:\bbs then you could
  also create:

     c:\bbs\node1
     c:\bbs\node2
     c:\bbs\node3

  and so on... If all your nodes will be using the same modem (or virtual
  modem) then only one copy of MODEM.RA is needed, which can be in the c:\bbs
  directory. But if you also have dialup modems installed, then the MODEM.RA
  file can be copyied to each nodes directory. Each MODEM.RA file contains the
  init strings for that modem, the modem responces, and other simular
  information.

  Elconfig.exe first looks for MODEM.RA file to edit in the current directory,
  and if there is not one then it looks in the main EleBBS directory for it
  instead. So if you plan to have just one dialup node and lots of telnet
  nodes, then you can get by with just two MODEM.RA files.. (the one in your
  main directory can have the com/ip init string, and the other one in one of
  your node directories can have the dialup modem init string for that node).
 

* Run Elconfig.exe from the directory the MODEM.RA file you wish to edit is
  located in, and choose MODEM > OPTIONS, and set the following:

     Comport:  3 (this does not matter as it will be passed on the cmd line)
     Speed: 115200
     Lock: Yes
     Answer: Yes
     Delay: 10
     Buffer: 128 (this does not matter either as it's ignored)
     Tries: 4
     OffHook: Yes

  Next goto MODEM > COMMANDS, and set the following:

     Init1:  ~~~~+++~~~~AT|
     Init2:  AT S1001=1 S1002=1 S1003=7 S1005=0 S1008=23 &D0H0|
     (There are no letter O's above, those are zeros)
     Busy: (leave this blank)
     Answer: ATA|

  The reason that  2 init strings are used, is because the first one is used
  to force the modem into command mode. This is needed because the modem is
  set to ignore the DTR signal, which is how BBS's usually drop carrier when
  logging the user off. But Windows 95/98/ME and NT4 automaticly lowers DTR
  when a com port is closed, including when EleBBS closes the com port for a
  moment to allow a DOS door or to take control of the port. So if the modem
  is not set to ignore DTR, then those versions of Windows will drop carrier
  on the user as soon as they try to run a door. The AT at the end of this
  init string just causes the modem to respond with "OK" which is what EleBBS
  expects to see.

  Windows 2000 does not have this problem with DTR being lowered when a com
  port is closed and immediatly reopened, so if you are running Windows 2000
  then you could change the &D0 (ignore DTR) setting in the init string to be
  &D2 (disconnect when DTR is activated). You could also remove the first
  Init string if you wanted.


  The S-register settings in the second init string configure COM/IP for
  binary telnet mode, sets the character echo mode to be compatible with most
  client terminals, and tells it to listen on network port 23 for incoming
  connections.

  The &D0 configures COM/IP (as well as most other modems) to ignore DTR for
  the reason stated above, and H0 tells it to hang up in case the previous
  user is still  connected.

  Next goto the MODEM > RESPONCES, and set the following:

     Init: OK
     Busy: OK
     Ring: RING
     Secure: (this can be left blank)

  You will need to set at least one of the connect speeds listed below these
  to say "CONNECT 115200".

  Most sysops will put this in the slot that says "115200", however if it was
  put in the 19200 slot instead for example, then when COM/IP reports "CONNECT
  115200" (which happens to be what it always says) then EleBBS would assume
  that this caller connected at 19200 baud, and would display this speed in
  its "who's online" and todays callers listings.

  Now the MODEM.RA is configured. You can exit Elconfig.exe and verify that
  the MODEM.RA in the current directory is the one you ment to configure. :)

* You will need a .bat file to load EleBBS from the proper nodes directory
  and pass it the proper com port. You can use the same .bat file for all your
  nodes by using an enviornment variable for the node number. This .bat file
  should also check for errorlevels after EleBBS exits back to the batch file.

  Here is an example one, which needs to be passed the NODE number and com
  PORT number on the command line like so:

     RUNBBS {node number} {com port number}

  So "RUNBBS 1 3" would tell it to use node 1, com3.



     [example RUNBBS.BAT file]
     If  "%1" == "" goto NoNode
     If  "%2" == "" goto NoPort
     set RA=c:\bbs
     set NODE=%1
     set PORT=%2
     cd\bbs\node%NODE%

     :START
     \bbs\elebbs -n%NODE% -c%PORT% -E10
     If Errorlevel 20 goto Maintain
     If Errorlevel 10 goto Start
     If Errorlevel 5  goto NetandEcho
     If Errorlevel 4  goto EchoMail
     If Errorlevel 3  goto NetMail
     rem If Errorlevel 2  goto SysopNext
     If Errorlevel 1  goto ComError
     If Errorlevel 0  goto Quit
     :ECHOMAIL
     rem New echomail entered by user. Export it.

     :NETANDECHO
     rem New net and echo mail entered by user. Export it.

     :NETMAIL
     rem New netmail entered by user. Export it.

     \bbs\fastecho\fastecho scan
     goto Start

     :NONODE
     :NOPORT
     Echo Please select a node and port number to use. ie: "RUNBBS 1 3"
     Echo tells it to run on Node1, COM3.
     goto QUIT

     :COMERROR
     echo *** WARNING! Unable to initilize Modem or COM port! ***

     :QUIT
     echo *** System Down! Line %NODE%. ***


* At this point EleBBS and COM/IP should be working together, allowing you
  to start telnet nodes up and have users logon. Next you will need to
  configure your doors just as you would for a dialup node if you are running
  Windows 95/98. The doors you install MUST be configured to use a fossil
  driver. Keep in mind that many doors only support up to COM8 or COM9 for
  some strange reason. The only doors I've seen that supports 255 com ports is
  TradeWars 2002, and LORD version 4.05 or later.

  Running a DOS door from a Win32 BBS is done differntly under the NT/W2K
  versions of Windows then it is under the Win 95/98/ME versions.


  Windows NT/2000:

  Under Windows NT or Windows 2000, you will also need to do the following:
  First, before the door loads, you will have to run the TSNT14.COM fossil
  which comes with COM/IP. After the door exits, you will have to uninstall
  TSNT14 before returning to EleBBS by running it again with the "/u"
  parameter (Win2000 users need to put an extra char in front of the "/u").

  This can be loaded and unloaded either in the door's .bat file itself, or
  it can be done in two special .BAT files which EleBBS automaticly looks for
  and runs before and after a door has been executed:

  SFOS.BAT  (this is run before a door is, so it can load TSNT14.COM)
  UFOS.BAT (this is run after a door is, so it can unload TSNT14.COM)

  Here is how these would be configured for Windows2000:
     SFOS.BAT:  c:\winnt\system32\tsnt14.com
     UFOS.BAT:  c:\winnt\system32\tsnt14.com //u
  (the second "/" could be any character, and is ignored under Win2000.
  This extra character must be left out under NT4.)


  Windows 95/98/ME:
  
  Under Windows95/98/ME there is no command lines functions available to
  load/unload the COM/IP fossil driver, as the Win9x fossil driver is built
  directly into COM/IP. Unfortunately this creates a problem of how to turn
  the fossil off after the DOS door is finished running, so that EleBBS can
  regain control of the com port.

  One solution is to open each door's batch file in a separate window, and
  make sure that the last statement in each doors batch file is "exit"
  so that window closed. This can be done using the "start /w" command,
  which starts a program or batch file in another window, and waits for
  that window to close before continuing.

  For example, to run Tradewars 2002, the menu type-7 command line could be:

     *C /c c:\bbs\bat\tw2002.bat

  This would run the tw2002.bat file in the same window as the BBS node is
  running, so to change this to work with COM/IP under Windows 95/98/ME
  it could be set to:

     *C /c start /w c:\ra\bat\tw2002.bat

  You would also need to edit the tw2002.bat file and make sure that the
  last line is "exit". This will make sure the new window is closed when
  the batch file is finished.


  Using other fossil drivers with COM/IP:

  Rather then using the fossil drivers that come with COM/IP, other 32-bit
  fossil drivers can be used, such as NTFOSS or WinFossil.

  It is also possible to use a DOS based fossil driver (i.e.:ADF/BNU/X00)
  by using a UART redirector program such as TurboCom. TurboCom is a Win9x
  driver that allows DOS based com port access (IRQ/UART Address based) to
  be redirected to a win32 com port (such as COM/IP). Since the Win9x fossil
  in COM/IP is not as fast as the TSNT14 fossil for NT/2K, some BBS sysops
  have reported better performance under Win9x using TurboCom and the ADF
  DOS based fossil with COM/IP.

  If you decide to use an external fossil on some com ports, then be sure to
  disable the internal fossil driver in COM/IP on those com ports, under the
  DOS/INT14 settings in the COM/IP configuration screen.




Copyright (C) 1999 2000 pcmicro.com
This and other FAQ's will be made available at http://pcmicro.com/elebbs/faq

