Test Plan for AG-in-the-Box
---------------------------

(See STRINGS and IMPORTANT at the end)

Information
-----------

The Router box now contains code to support AsyncGateway. This is mostly
a port of the AsyncGateway (AG) for DOS program. AG lets multiple users 
on a LAN share modems that are found at a single point.

Testing the AG in the box will be basically the same as testing DOS AG.
You need to test for stable working and for good performance. Also
users on the LAN can take modems from AG via DOS-MCSI, WINMCSI or 
WIN95MCSI. So products using each of these MCSI clients should be used 
in testing. In addition workstation applications can also use the
redirector cards for the same purpose (without having to use a MCSI 
client).

Testing should also make sure that the WAN ports in the box are shared 
properly between the Router, RAS and AG.

So basically :
1. Check stable working
2. Check performance
3. Check with MCSI (DOS, Windows and Windows95) clients
4. Check with redirector cards
5. Check outbound
6. Check inbound
7. Check routing co-exists with AG
8. Check RAS co-exists with AG
9. Check with single port
10. Check with all ports of 3 port


Setup:

You will need one router, 2 workstations and 2 modems. The router should 
be on an IPX LAN. One of the workstations should be on the same LAN. The 
other workstation should be independent. One modem should be connected to
the independent workstation. The other modem to one of the WAN ports of the
router.

Work with the PBX lines only.

Products:

For most of the testing, you will require METERM, MEHOST and MEREMOTE.
For dialout testing, you need to run METERM at the independent work
station to use the port where the modem is. On the LAN workstation,
you need to run meterm with the setup configured to use MCSI.

We will refer to the independent workstation as IW and the LAN 
workstation as LW.



Basic Working Testing
---------------------

1. First make sure that routing works on each of the ports. Check this on
   IP and IPX. Also check that bridging works. Try a single file transfer
   of a large file in both directions.
2. Make sure that RAS works on each of the WAN ports.
3. Check that RAS alternated with routing works with each of the WAN ports.

Do the following on a freshly booted box (where routing or remote access
has not been done)

(Dialout Testing)
1. Run METERM at LW (configured to use MCSI). Run METERM at the IW at the
   other end of a link (using one of the WAN ports of the router).
   - Check that you can connect the two (CD comes on, typed chars go across).
   - Check that each of the file transfers is able to transfer a small, a
     medium and a large file in either direction (this makes 8 protocols * 3
     types of files * 2 directions number of tests).
   - Check a single file transfer in either direction at the lowest, an
     intermediate and a high baud. In particular, make sure of 9600, 19200,
     38400, 57600 and 115200 baud.
   - Bring the METERM at LW up and down 20 times. Check that each time it
     is able to connect to the other side.
   - Check that METERM is able to connect using each of the WAN ports of
     the 3 port router.

2. Simultaneous Access.
   - If around the same time two workstations on the LAN try to use the
     same WAN port, check that only one of the workstations is given the
     port.
   - Repeat above test say 10 times each time trying on different 
     combinations of bringing up the LAN METERM's.

3. Other Environments
   - Check that a windows based terminal package is able to use WINMCSI
     and connect to our AG. Try out file transfers etc.
   - Do same as above for Win95.

4. Other Products.
   - Check that known packages are able to use MCSI in DOS, Windows and
     Windows95 environs and acquire and use WAN ports on the box.

5. Miscellaneous
   - There is a idle timeout on an established connection. Verify that
     if there is no activity for the configured amount of time, the 
     connection is dropped and that the same port is then usable by another
     client.
   - If the timeout is 0, then there is no timeout. Verify this.
   - Run MCSI with its various options and verify that basic working is
     possible in any of these modes. Refer MCSI manuals for details of
     these modes and verify correct operation.
   - Run the redirector card software and verify correct operation in
     each of its modes.
   - Try running MCSI over IPXODI with each of the frame types in turn and
     verify that MCSI can be used in each frame type.
   - The number of sessions is configurable. Set it to a low value and
     verify that more sessions than that go thro'. Verify with the DOS
     version that similar reaction occurs.
   - Take a line for outbound and disconnect. Do this 20 times. Verify that
     the same WAN is usable for routing after the 20th time.
   - Disable AG and check that the box comes up and routing works without
     hassles.
   - Try to do dialout and inbound to and from a remote node (on another
     LAN accessible thro' a routing WAN.
(Dialin or Inbound Testing)
1. You need to use the MEHOST-MEREMOTE packages to check this out.
   - MEHOST should be on the LAN. MCSI should be run in inbound mode.
     Check that MEREMOTE is able to connect and remote control the
     host. Also check that MECOPY works (basically file transfer) in
     both directions.
   - In inbound, you can configure to use either the connection manager
     menu or the inbound servers list. Using both methods check that
     you are able to reach a host.
   - In inbound, callback can be setup. This could be either callback
     security or mobile computing support. Make sure that if callback
     security is setup, callback is performed at the specified delay.
     If mobile computing is supported, then make sure that the box
     queries the user for the callback number and calls back after the
     callback duration. Repeat this callback with two simultaneous
     accessors. For the other tests, you can then turn off callback.
     After callback, check that future dialin's work. 
   - Check that two users who try dialin simultaneously are handled
     sensibly. Repeat this about 10 times to make sure.
   - Have multiple hosts on the LAN (say three). Check that remotes
     can use any of the servers using both the connection manager
     method and the inbound servers list method.
   - Check that if one host is alloted to a user dialing in on one
     port, then the same server cannot be used by another user dialing
     in on another port. Also check that this second user can use another
     host.
   - In the test above where two hosts are in use by two clients, terminate
     the first dialer's connection normally and try to re-use the same
     host from another dialin user. This should work properly.
   - Check that dialin works on each of the ports of a 3 port box.


Co-existence with Router
------------------------
1. Alternately take up a WAN port for routing and AG and check that in 
   each case routing as well as AG work.
2. If a WAN port is configured for dial-on-demand, it should not be
   available for AG.
3. If a WAN port is configured as SYNC, it should not be available for
   AG.

Co-existence with RAS
---------------------
1. Check that you can use RAS and AG alternately on the same port with
   out any problem.
2. Check the above with callback setup. Check that during RAS's callback
   interval, AG is not able to acquire the port.


What If?
--------
1. MCSI client aborts (reboot) without informing AG. 
	The port that was acquired by the client should be released after
	a specified timeout period. And this port should become available
	to other clients.
2. CD drops on a call
	If CD drops on a outbound call, nothing special happens -- the
	MCSI client still owns the port.
	If CD drops on an inbound call, the MCSI client still owns the
	port, but any other remote should be capable of dialling in on
	the port on which CD has dropped.
3. During inbound, user does not answer prompts
	There is a 2 minute dialout built in. Check that after this timeout
	expires, the port is made available to others.
4. During inbound, callback does not happen
	Same as above but with the callback delay.
5. Someone dials in to a port that is down because of the callback delay.
	We set the modem so that it will not answer (ATS0=0). So this
	should take care to prevent users from calling in during this
	period. Verify.
6. You reboot the host in a inbound connection.
	The remote should timeout and disconnect. Later the port should
	be available for others to use.

Stability
---------
1. Use ME's scripting facility to login and do a file transfer in either
   direction and logout repeatedly.
2. Use MEREMOTE's scripting facility to connect inbound repeatedly.

Direct Connect
--------------
1. Check that AG works basically with direct connect
2. Check out the co-existence with router tests with a direct connect
   link.
3. Check out the inbound scenarios with direct connect. This is
   important.
4. Check out the what-if scenarios with direct connect.


Performance
-----------
1. Using a terminal package, check file transfer performances in each of
   the protocols at 9600, 19200, 38400, 57600 and 115200 baud. Check this
   in DOS and under Windows and in both directions. Tabulate this. In 
   general throughput should be around 1/10th of the baud rate (i.e.
   assuming 10 bits per character transmitted).
2. Check the effect of the configuration parameter "number of receives" on
   the performance of outbound file transfers.

---------------------------------------------------------------------------
STRINGS
-------
You will need the following 2 sections to be added to the default or
current CNF file. Do this before downloading the BIN.

[SPX Transport]
SPX=enabled
SPX Maximum Number of ECBs=20
SPX Maximum Packet Size=1436
SPX Maximum Number of Connections=10
SPX Number of Connection Retries=20
SPX Number of Disconnection Retries=20
SPX Number of Data Retries=20
SPX Wait for Ack Timeout=20
SPX Wait for Watchdog Timeout=20
SPX Number of Watchdog Retries=20
SPX Printf=enabled
SPX Printf Message=disabled
SPX Printf State=disabled
SPX Printf SNMP=disabled
SPX Printf Alarm=enabled
SPX Printf Memory=disabled
SPX Printf Data=disabled

[AsyncGateway]
AG=enabled
AG Maximum Number Of Sessions=3
AG Network Interface To Use=0
AG IPX Receives Per Session=16
AG Display Connection Manager Menu=enabled
AG Port0 General Name=MODEM
AG Port0 Specific Name=LINE1
AG Port0 Maximum Packet Size=498
AG Port0 Idle Time=5
AG Port1 General Name=MODEM
AG Port1 Specific Name=LINE2
AG Port1 Maximum Packet Size=498
AG Port1 Idle Time=5
AG Port2 General Name=MODEM
AG Port2 Specific Name=LINE3
AG Port2 Maximum Packet Size=498
AG Port2 Idle Time=5
AG Printf=enabled
AG Initialization Printf=enabled
AG Alarm Printf=enabled
AG Session Printf=enabled
AG MCSI Incoming Calls Printf=enabled
AG MCSI Outgoing Calls Printf=enabled
AG Connection Printf=enabled
AG Diagnostic Printf=enabled
AG Inbound Printf=enabled
AG Line Information Printf=enabled


IMPORTANT
---------
Following settings are essential for AG in the box to work

1. The box where AG will be active should be made an "answering" end router
   and there should be some init string for the modem to be able to autobaud
   detect.
2. IPX routing should be enabled for AG to work
3. Direct connect cable for AG use should have TX-RX crossed and RTS-CTS
   crossed and the GND line. Nothing else is required. The box will not
   transmit anything as long as CTS is not asserted irrespective of flow
   control.
   
