ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ SIDIS/2 - Small Internet Dial-In Server Package for OS/2 ³ ³ - Version 1.0 - ³ ³ ³ ³ D o c u m e n t a t i o n ³ ³ ³ ³ (C) 1996 Axel Mueller ³ ³ Email: amueller@stargate.rz.fh-offenburg.de ³ ³ Official FTP site: ftp://stargate.rz.fh-offenburg.de/sidis ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ As you already may guess this software package is designed to give people access to a LAN or the Internet via a LAN connected PC and up to 4 modems. My SIDIS/2 equipped machine currently serves 2x 28,8 kB modems (Creatix) and 2x 19,2 kB modems (ZyXel) with high throughput rates even with 4 simultanous PPP sessions. SIDIS/2 has grown over the last 1 1/2 years out of the need to provide efficient and reliable Internet access for students (I'm one of them) of our local campus. The SIDIS/2 package contains programms for 2 major fields: - EMAIL SERVICES (mail sorting program, POP3 server, mail processor) - MODEM SERVICES (modem control, user access control) ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ Content ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 1. Legal stuff 2. Features 3. System requirements 4. Network structure 5. General Installation 5.1 Installation of Email Services 5.1.1 SENDMAIL setup for use with SIDIS/2 5.1.2 Setting up the automatic mail processor 5.1.3 Adapting TCP/IP 5.2 Installation of Modem Services 5.2.1 Work-around for routing bug in PPP.EXE 6. Client login scripts for OS/2, Win 3.1, Win 95 7. Conclusion ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ 1. Legal stuff ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ IF YOU DOWNLOAD OR USE THIS PROGRAM YOU AGREE TO THESE TERMS. Under no circumstances I am liable for any of the following: 1. third-party claims against you for losses or damages; 2. loss of, or damage to, your records or data; or 3. economic consequential damages (including lost profits or savings) or incidental damages I do not warrant uninterrupted or error free operation of the Program. I have no obligation to provide service, defect correction, or any maintenance for the Program. I have no obligation to supply any Program updates or enhancements to you even if such are or later become available. THERE ARE NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ 2. Features ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ALL PROGRAMMS - ONE user database (\MPTN\ETC\USER.INI) - Passwords stored encrypted in user database - extensive user information stored in user database - all programms operate in VIO mode meaning that they can be exectuted in telnet sessions \TCPIP\BIN\MAIL.EXE - sorts incoming mail in user mailboxes (mail directories) - stores mails encrypted - uses semaphores in order to ensure unique assignment of mails (can handle 2 different mails arriving at exactly the same time for the same user) - mail forwarding; a forward address can be specified for each user (using ACCOUNTS.EXE) which will cause each incoming mail to be forwared immediately. The incoming mail can be kept (COPY FORWARD) or deleted (FORWARD). - loop detection for mail forward; each mail forwarded will get a header attached to it for information of the receipent and to prevent a mail loop - automatic mail processor; if a mail for a special user ("system" or any specified alias) arrives, a special program (e.g. "mailproc.cmd" included in the SIDIS/2 archive) can process this mail and send out a response email immediately - a maximum encryption size can be defined to avoid system overload (using ACCOUNTS.EXE) - maximum disk space allocatation by emails can be defined as default for all users or user specific (or both). If a email arrives which would exceed this disk space limit it would be rejected - produces detailed log file in \TCPIP\ETC\MAIL.LOG \TCPIP\BIN\POP3D.EXE - POP3 server - supports all POP3 commands and extented POP3 commands (except APOP) - uses semaphores for user mailbox locking while POP3 session is active - decrypt mails before transmission - supports INET server - very robust - no problems with mailbox containing more than 1.000 mails or with very large mails - produces detailed log file in \TCPIP\ETC\POP3D.LOG \USERCTRL\MAILPROC.CMD - automatic mail processor - implemented as REXX script and therefore highly configurable - "help" mail as resonse to mails with incorrect syntax or to help requests - users can maintain their passwords and mail forward settings themselves - produces detailed log file in \TCPIP\ETC\MAILPROC.LOG - already implemented features: * help * change_password * forward_mail (activate forward of all arriving emails) * forward_copy (activate forward of a copy of all arriving emails) * stop_forward \USERCTRL\USERCTRL.CMD - modem control/user access control for dial-in users - implemented as REXX script and therefore highly configurable - this script runs once for each modem connected - produces detailed log file and connection log file in the directory specified in the ONLINELOGDIR environment variable \USERCTRL\MONTHTOT.CMD - calculate total on-line time of last month - implemented as REXX script - run this script at the beginning of each new month to get the total on-line time of last month (per modem and all modems) \USERCTRL\RXPRF.DLL - provides user database access functions from REXX - used by mail processor (\USERCTRL\MAILPROC.CMD) - used by modem control script (\USERCTRL\USERCTRL.CMD) \USERCTRL\RXIOCTL.DLL - provides asyncronous I/O functions from REXX - used by modem control script (\USERCTRL\USERCTRL.CMD) \USERCTRL\REG_DLLS.CMD - registers functions RXPRF.DLL \USERCTRL\SREG.EXE - Shareware registration utility. You will need this utility together with the registration key to "brand" your SIDIS/2 as registered. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ 3. System requirements ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ - Hardware suggestion: * 486-DX40 with 16 MB RAM * I/O card which can assign a unique IRQ to each COM port - OS/2 Warp Connect * or * OS/2 Warp Server * or * OS/2 Warp + TCP/IP 2.0 + CSD UN64092 - PPP.EXE - HPFS is *HIGHLY* recommended (otherwise the length of usernames is restricted to 8 characters (You may try FAT but it was not tested !) ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ 4. Network structure ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ <--------------- DOMAIN: modem-domain.com -----------------------------------> ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ LAN ³ remote "host1" ³ (Net xxx.yyy.zzz) ³ xxx.yyy.zzz.11 ³-Modem--(Telephon network)--Modem1---. --- ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | | | | ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | | ³ remote "host2" ³ | | ³ xxx.yyy.zzz.12 ³-Modem--(Telephon network)--Modem2-. | | ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | | | | '-ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ '---³ "modem-host" ³ .---³ xxx.yyy.zzz.10 ³ | .-³ Ethernet Address ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | | ³ 00:00:C0:04:F7:37³ ³ remote "host3" ³ | | ³ ³ ³ xxx.yyy.zzz.13 ³-Modem--(Telephon network)--Modem3-' | ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | | | | ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ remote "host4" ³ | ³ default router ³ ³ xxx.yyy.zzz.14 ³-Modem--(Telephon network)--Modem4---' ³ xxx.yyy.zzz.254 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | '--- ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ 5. General Installation ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 1. Copy SIDIS*.ZIP to a directory different from root directory. 2. If you extract the files from the archive the following files and directories will be created: \SIDIS.DOC \MPTN\BIN\SETUP.CMD \MPTN\BIN\STRTINET.CMD \MPTN\BIN\STRTSEMA.CMD \MPTN\BIN\TCPSTART.CMD \MPTN\ETC\ALIASES \MPTN\ETC\PPP1.CFG \MPTN\ETC\PPP2.CFG \MPTN\ETC\PPP3.CFG \MPTN\ETC\PPP4.CFG \MPTN\ETC\SENDMAIL.CF \SCIPT\SIDISOS2.RSP \SCIPT\SIDISW3.CMD \SCIPT\SIDISW95.SCP \TCPIP\BIN\MAIL.EXE \TCPIP\BIN\POP3D.EXE \USERCTRL\ACCOUNTS.EXE \USERCTRL\MAILPROC.CMD \USERCTRL\MONTHTOT.CMD \USERCTRL\REESTAB.CMD \USERCTRL\REG_DLLS.CMD \USERCTRL\RXIOCTL.DLL \USERCTRL\RXPRF.DLL \USERCTRL\SREG.EXE \USERCTRL\UC1.CMD \USERCTRL\UC2.CMD \USERCTRL\UC3.CMD \USERCTRL\UC4.CMD \USERCTRL\USERCTRL.CMD \USERCTRL\WELCOME.MSG 3. The directory structure above already suggests the necessary placement of the files within those directories. It may happen that a file with the same name already exists in the specified directory. In this case you have to migrate the files provided in the SIDIS/2 archive into the already existing files (this goes not for SENDMAIL.CF). *** NOTE *** This directory structure assumes that you have OS/2 Warp Connect or OS/2 Warp Server installed. If you are using OS/2 Warp with TCP/IP 2.0 you have to place the files from \MPTN\BIN into the \TCPIP\BIN directory and the files from \MPTN\ETC into the \TCPIP\ETC directory. 4. Add C:\USERCTRL (change drive letter if necessary) to your PATH and LIBPATH in CONFIG.SYS. 5. add the following lines to CONFIG.SYS: SET HOSTNAME=myHostname SET MAILDIR=C:\MAIL REM needed for email services SET MODEMNUMBER=4 REM needed for modem services SET ONLINELOGDIR=C:\USERCTRL\LOG REM needed for modem services MAILDIR is the base directory under which the user mail directories will be created, e.g. if you create the user "spiderman" the directory C:\MAIL\SPIDERMAN will be created automatically. MODEMNUMBER is the number of modems installed (on my machine there are 4 modems installed) ONLINELOGDIR is the directory, where the log files of the modem activities are located. HOSTNAME should have been already set by TCP/IP installation process andis absolutely needed as well as ETC and TMP. 6. Before you can use modem services or email services you have to create users using ACCOUNTS.EXE: accounts -a Username and password are used for email services and modem services. *** Example *** accounts -a smith topsecret Robert Smith This will create an account for Robert Smith with login ID "smith" and password "topsecret". You will get a confirmation of the newly created user: SIDIS/2 Accounts - User & program administration v0.99/May 16 1996 (C) 1996, Axel Mueller (amueller@stargate.rz.fh-offenburg.de) User smith created. New password for user smith has been assigned. Mail directory C:\MAIL\smith was created. 7. Make sure your domain and your domain name server (DNS) is specified correctly in the \MPTN\ETC\RESOLV file: *** Example *** domain modem-domain.com nameserver 123.456.789.987 ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ 5.1 Installation of Email Services ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ 5.1.1 SENDMAIL setup for use with SIDIS/2 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 1. If you have SENDMAIL already running you can continue with step 10. 2. If you want to set up SENDMAIL you cannot use Ultimedia Mail/2 anymore since it uses SENDMAIL for sending its mails. However there are much better email programs like PMMail or Post Road Mailer. 3. You have to modify the SENDMAIL.CF file included in the SIDIS/2 archive as follows (editor must preserve TABS - use E.EXE/don't use EPM!!!): 4. a) Look for a line starting with "Dw" (without the "). b) Put your hostname there e.g. "Dwmodem-host" 5. a) Look for a line starting with "Cw" (without the "). b) Put your hostname there e.g. "Cwmodem-host" 6. a) Look for a line starting with "DD" (without the "). b) Put your domain name there e.g. "DDmodem-domain.com" 7. a) Look for a line starting with "DR" (without the "). b) Put your mail relay host there e.g. "DRmail-relay.modem-domain.com" 8. a) Look for a line starting with "OA" (without the "). b) Specify the path to your ALIASES file here e.g. "OAc:\mptn\etc\aliases" 9. a) Look for a line starting with "OQ" (without the "). b) Specify the directory where the mails are queued for transmission e.g. "OQc:\mptn\etc\mqueue" 10. a) Look for a line starting with "Mlocal" (without the "). b) Change the line as follows (without the "): "Mlocal, P=c:\tcpip\bin\mail.exe, F=lnsDFMP, S=10, R=20, A=c:\mail $u $f" Change drive letters if necessary. The Argument "A=c:\mail" specifies the base directory for mailboxes (which must be the same directory as specified in the MAILDIR variable in CONFIG.SYS) ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ 5.1.2 Setting up the automatic mail processor ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 1. The mail processor will be invoked for all mails received for "system@modem-host.modem-domain.com". Hoever you can set up an alias for the mail processor in order to have a more user friendly name for it: e.g. "mail-processor@modem-host.modem-domain.com" or "mp@modem-host.modem-domain.com". Those two aliases are already set up in the \MPTN\ETC\ALIASES file included in the SIDIS/2 archive. You can change them if you want to. 2. Use ACCOUNTS.EXE with the following syntax to define your mail processor: accounts -m [ ] user has to be one of the aliases defined in the \MPTN\ETC\ALIASES file e.g. "mail-processor" - without the " name this is the name most email programs will display instead of the email address of the sender. e.g. "Mail-Processor" - without the " program is the program which does the mail processing. If you are not going to write your own mail processor you should use the one included with the SIDIS/2 archive. e.g. "c:\userctrl\mailproc.cmd" - without the " subject is the subject line of all response emails generated by the mail processor. e.g. "Response for request" - without the " If you want to remove the definition in order to deactivate the mail processor just type "accounts -m". *** Example *** "accounts -m mail-processor Mail-Processor c:\userctrl\mailproc.cmd Response for Request" (this is ONE command! You only press RETURN after you have typed "...Request") You will get a confirmation of the (new) mail processor settings: SIDIS/2 Accounts - User & program administration v0.99/May 16 1996 (C) 1996, Axel Mueller (amueller@stargate.rz.fh-offenburg.de) Mail processor defined. User: mail-processor Name: Mail-Processor Subject: Response for request Path and file name: c:\userctrl\mailproc.cmd 3. Now you can test the mail processor. Simply send a email to "mail-processor" with "help" as subject of this email. If you do not get a response email from the mail processor (should be within 30 seconds) you should have a look at the log file of the mail processor (\MPTN\ETC\MAILPROC.LOG) or of MAIL.EXE (\MPTN\ETC\MAIL.LOG). You can also test the mail processor which runs on my machine. Send an email to "mail-processor@stargate.rz.fh-offenburg.de" with subject "help" and you should get the response email soon. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ 5.1.3 Adapting TCP/IP ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 1. To reduce system load I would suggest that you run the POP3 server together with the INET server. By doing so the POP3 server will only be started if actually someone wants POP3 services. Therefore you should create or modify the file \MPTN\ETC\INETD.LST as follows: pop3 tcp c:\tcpip\bin\pop3d.exe (change drive letter if necessary) UnREM the line "call strtinet.cmd" in \MPTN\BIN\TCPSTART.CMD if you want the INET server to be started. 2. UnREM the line "call strtsema.cmd" in \MPTN\BIN\TCPSTART.CMD in order to start SENDMAIL. 3. Make sure that the service POP3 is defined correctly in the \MPTN\ETC\SERVICES files. There should be a line beginning with: pop3 110/tcp *** NOTE *** POP clients must specify "SMTP" (not "POP3"!) for sending emails. Sending/Receiving emails should work at this state if you have set up things as described in 5.1.1 - 5.1.3. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ 5.1.4 Options ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 1. You can set limits for maximum disk space allocation by emails for all users ("accounts -sd) and/or for specific users (e.g. "accounts -sd 600" AND "accounts -s smith 2000" will give all user 600 KB available for storing mails but will give 2 MB for the mailbox of user "smith"). 2. You can set a maximum mail size above which mails will not be stored encrypted ion order to reduce system load (e.g. "accounts -e 20" will cause all mails bigger than 20 KB to be stored not encrypted). ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ 5.2 Installation of Modem Services ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 1. Before you start setting up software for modem services you should set up your modem(s). You have to set up your modem to NO ECHO (ATE0) and store this setting in the modem CMOS (try AT&W). All other settings will be set by USERCTRL.CMD during modem initialisation. 2. Verify that a COM port driver is installed and that every COM port has been set to a unique IRQ which you must tell to the COM port driver: DEVICE=C:\OS2\BOOT\COM.SYS (1,3F8,4) (2,2F8,3) (3,3E8,11) (4,2E8,12) As you can see I'm using COM.SYS provided by IBM. You don't have to use special COM drivers (like SIO.SYS) if you use 4 modems. 3. Verify that your COM ports are set to the correct speed. I set the COM port parameters in CONFIG.SYS as follows: CALL=C:\OS2\MODE.COM COM1:57600,N,8,1,TO=OFF,XON=OFF,OCTS=ON,RTS=HS, DTR=ON,IDSR=OFF,ODSR=OFF,BUFFER=ON CALL=C:\OS2\MODE.COM COM2:57600,N,8,1,TO=OFF,XON=OFF,OCTS=ON,RTS=HS, DTR=ON,IDSR=OFF,ODSR=OFF,BUFFER=ON CALL=C:\OS2\MODE.COM COM3:57600,N,8,1,TO=OFF,XON=OFF,OCTS=ON,RTS=HS, DTR=ON,IDSR=OFF,ODSR=OFF,BUFFER=ON CALL=C:\OS2\MODE.COM COM4:57600,N,8,1,TO=OFF,XON=OFF,OCTS=ON,RTS=HS, DTR=ON,IDSR=OFF,ODSR=OFF,BUFFER=ON Note that in CONFIG.SYS all parameters has to be in the same line as the CALL command the belong to. (not like shown above) 4. Create the log file directory specified in the ONLINELOGDIR environment variable (e.g. C:\USERCTRL\LOG) 5. Modify \USERCTRL\UC1.CMD, UC2.CMD, UC3.CMD, UC4.CMD: Change the drive and path to USERCTRL.CMD if necessary. 6. Modify \MPTN\BIN\TCPSTART.CMD: UnREM as many of the "call uc1", "call uc2" lines, as you have modems installed. Note that UC1.CMD serves COM1, UC2.CMD serves COM2, ... 7. Modify \MPTN\BIN\SETUP.CMD: Replace IP numbers like xxx.yyy.zzz.??? with your unique IP numbers. Use the the sketch "Network structure" (chapter 4) for an overview. UnREM as many of the "arp -s ..." lines, as you have modems installed. Replace "00:00:C0:04:F7:37" with the ethernet address of the network adapter of your modem host. 8. Configure PPP1.CFG (used by modem connected to COM1), PPP2.CFG (used by modem connected to COM1), ... Replace IP numbers like xxx.yyy.zzz.??? with your unique IP numbers. Use the the sketch "Network structure" (chapter 4) for an overview. 9. Modify the modem user login screen (\USERCTRL\WELCOME.MSG) to your needs Keep the "$" character in the last line which marks the end of the file! ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ 5.2.1 Work-around for routing bug in PPP.EXE ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Unfortunately there is a routing bug in PPP.EXE since it went "gamma" (2 years ago). Obviously IBM is testing PPP.EXE only with one single PPP connection at a time. The bug only becomes visible if you have mutliple simultanous PPP sessions. In this case it may happen that the routing table entry for one already active PPP session will be removed if another PPP session starts. The modem link will still be up but there is no TCP/IP connection to the network (and even to the modem server) anymore. I have informed IBM Corp. in the USA but they told me the IBM Germany is responsible. For the latter I was not able to locate somebody I could report this bug to. That's the way thing will improve soon ... Anyway - I have implemented a "small & dirty" work-around which is better than loosing your network connection from time to time. You will need two programs called "netstat.exe" and "ifconfig.exe" which are part of TCP/IP, Warp Connect and Warp Server. They already should be in the PATH. Some seconds before a new PPP.EXE will be started, the modem control script (\USERCTRL\USERCTRL.CMD) will start "netstat.exe" and will redirect the output (the routing table) to a file. Afterwards it will start another another script (\USERCTRL\REESTAB.CMD) which will wait for 5 seconds (during this time the new PPP.EXE will have been established) and then re-configure the PPP interfaces (according to the routing table from the file) that were in existence before the new PPP.EXE was started. The REESTAB.CMD script will only be started if somebody dials in and there is already one or more active PPP sessions. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ 6. Client login scipts for OS/2, Windows 3.1, Windows 95 ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ At our local campus we have dial-in users using OS/2, Windows 3.1 or Windows 95. For an efficient time-saving login procedure it is important to use a script for dial-in. Therefore I have included the scripts the students of our local campus use for dial-in into our SIDIS/2 OS/2 machine. *** OS/2 *** (script file: sidisos2.rsp) You should get a copy of PPPDIAL.CMD (available on many FTP servers as PPDIAL28.ZIP - featuring automatic redial if line is busy) and create a new provider in the DIAL OTHER INTERNET PROVIDERS notebook. Enter the Login ID and password an check the "required" box. In the Phone number field you can specify different phone numbers. These numbers will be dialed one after another if a line is busy (if telephone system will not put the dialer automatically through to the next available line). In the login sequence multiple line entry field you should specify "pppdial.cmd c:\mptn\etc\sidisos2.rsp" (change drive and directory if necessary). Make sure PPPDIAL.CMD is in a directory included in your PATH statement. All other settings in the notebook should be obviously. *** Windows 3.1x *** (script file: sidisw3.cmd) This script is for use with Trumpet WinSock. Just copy it to the directory where your Trumpet WinSock resides. *** Windows 95 *** (script file: sidisw95.scp) This script has to be used with the DIAL UP NETWORK. I know that it works but I don't know how (since I do not use Windows 95). ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ 7. Conclusion ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ It is always difficult to explain things one is familiar with to others unfamiliar with it. I rewrote this documentation according to feedback I've got from beta testers of SIDIS/2. There may still be some missing or misunderstandable information. The easiest and fast ways to overcome this problem is to drop me an email. I regulary monitor the Internet news group comp.os.os2.networking.tcp-ip as well. Keep in mind - I have to rely on the feedback I get ;-)) Axel Mueller amueller@stargate.rz.fh-offenburg.de 05/31/96