  =========================================================================

  @(#) INSTALL,v 0.7.8.3 2001/12/11 17:09:02 brian Exp

  =========================================================================

  This README is Copyright (c) 2001  OpenSS7 Corporation

  All Rights Reserved.

  Permission is granted to make and distribute verbatim copies of this
  README file provided the copyright notice and this permission notice are
  preserved on all copies.
  
  Permission is granted to copy and distribute modified versions of this
  manual under the conditions for verbatim copying, provided that the
  entire resulting derived work is distributed under the terms of a
  permission notice identical to this one
  
  Since the Linux kernel and libraries are constantly changing, this README
  file may be incorrect or out-of-date.  The author(s) assume no
  responsibility for errors or omissions, or for damages resulting from the
  use of the information contained herein.  The author(s) may not have
  taken the same level of care in the production of this manual, which is
  licensed free of charge, as they might when working professionally.
  
  Formatted or processed versions of this manual, if unaccompanied by the
  source, must acknowledge the copyright and authors of this work.
  
  -------------------------------------------------------------------------

  U.S. GOVERNMENT RESTRICTED RIGHTS.  If you are licensing this Software on
  behalf of the U.S. Government ("Government"), the following provisions
  apply to you.  If the Software is supplied by the Department of Defense
  ("DoD"), it is classified as "Commercial Computer Software" under
  paragraph 252.227-7014 of the DoD Supplement to the Federal Acquisition
  Regulations ("DFARS") (or any successor regulations) and the Government
  is acquiring only the license rights granted herein (the license rights
  customarily provided to non-Government users).  If the Software is
  supplied to any unit or agency of the Government other than DoD, it is
  classified as "Restricted Computer Software" and the Government's rights
  in the Software are defined in paragraph 52.227-19 of the Federal
  Acquisition Regulations ("FAR") (or any success regulations) or, in the
  cases of NASA, in paragraph 18.52.227-86 of the NASA Supplement to the
  FAR (or any successor regulations).

  =========================================================================

  Modified 2001/12/11 17:09:02 by brian

  =========================================================================


                  OPENSS7 STREAMS INSTALLATION INSTRUCTIONS
                  -----------------------------------------

  PRELIMINARY:

  You will need the LiS STREAMS package, version LiS-2.10 running on a
  Linux 2.2.x SP kernel.  Do not attempt to load either this or LiS-2.10
  on an SMP kernel (the binary kernel that comes with most distributions
  is an SMP kernel, regardless of how many processors you have in your
  machine).

  UNPACKING:

  To begin with, you should have a copy of the tarred and gzipped source in
  the file strss7-0.7.8.tgz  Unpack it with

        tar -xzvf strss7-0.7.8.tgz

  in some convenient place and it will unpack into a strss7-0.7.8 directory.


  COMPILING:

  To build the package, simply change to the unpacked strss7-0.7.8 directory
  and type:

        make

  Make will run a bash configuration script which will check to make sure that
  you have the LiS STREAMS package properly installed on your system and so
  that it knows where to find the necessary LiS include files.  Normally, the
  script just finds things and it will not need to prompt you.  If it cannot
  locate a necessary directory or file, it will prompt you for such things as
  the location of your LiS source directory and library files.

  If there are any compile errors, they are fatal.  You will have to dig into
  the Makefiles and source code if you have a problem.  On a normal Linux
  system, all should go well.

  If there are no errors, make should build all of the necessary modules and
  test programs.
  

  INSTALLATION:

  To run the test programs or load the ss7 or sctp stack for applications
  programs, you must first install the modules and development header files.
  This can be done by merely typing (as root)

        make install
  
  If you don't like doing this a root, either use the -n option to make
  install to see what will happen first, or look at the install targets in the
  toplevel and subdirectory Makefiles.  Make install does four things:

  1)    Copies the openss7 modules to /lib/modules/$(VERSION)/misc and
        /lib/modules/misc.  These modules are

	-rwxr-xr-x  1 root  root  19315 Dec 11 10:03 streams-acb56.o
	-rwxr-xr-x  1 root  root  31462 Dec 11 10:03 streams-m2pa-sdl.o
	-rwxr-xr-x  1 root  root  69006 Dec 11 10:03 streams-m2pa-sl.o
	-rwxr-xr-x  1 root  root 149502 Dec 11 10:03 streams-sctp.o
	-rwxr-xr-x  1 root  root  27974 Dec 11 10:03 streams-sdl-sctp.o
	-rwxr-xr-x  1 root  root  11128 Dec 11 10:03 streams-sdl-udp.o
	-rwxr-xr-x  1 root  root  23392 Dec 11 10:03 streams-sdl.o
	-rwxr-xr-x  1 root  root  26791 Dec 11 10:03 streams-sdt.o
	-rwxr-xr-x  1 root  root  82343 Dec 11 10:03 streams-sl.o

  2)    Creates several STREAMS character devices in /dev for you such
	as /dev/ss7-sdl-upd0.  They all begin with ss7- or sctp as follows:

	crw-rw-rw-  1 root  root  230, 0 Dec 11 10:03 /dev/sctp_n
	crw-rw-rw-  1 root  root  231, 0 Dec 11 10:03 /dev/sctp_t
	crw-rw-rw-  1 root  root  248, 0 Dec 11 10:03 /dev/ss7-sdl-acb0
	crw-rw-rw-  1 root  root  252, 0 Dec 11 10:03 /dev/ss7-sdl-udp0

  3)    Appends character device aliases to your /etc/conf.modules or
        /etc/modules.conf file (whichever exists) to support kmod or
        kerneld automatic loading of the ss7 kernel modules when these
        character devices are opened.  The lines which are appended look
        like:

	alias char-major-252  streams-sdl-udp # driver ss7 sdl udp
	alias char-major-248  streams-acb56   # driver ss7 sdl acb
	alias char-major-230  streams-sctp    # driver sctp npi
	alias char-major-231  streams-sctp    # driver sctp tpi

  4)    Copies the development header files into the /usr/include/ss7
        directory (where you can include them with, say, <ss7/lmi.h>)
        as follows:

	-rwxr-xr-x  1 root  root   5891 Dec 11 10:03 devi.h
	-rwxr-xr-x  1 root  root   6581 Dec 11 10:03 devi_ioctl.h
	-rwxr-xr-x  1 root  root  13254 Dec 11 10:03 lmi.h
	-rwxr-xr-x  1 root  root   4640 Dec 11 10:03 lmi_ioctl.h
	-rwxr-xr-x  1 root  root   6378 Dec 11 10:03 sdli.h
	-rwxr-xr-x  1 root  root   5388 Dec 11 10:03 sdli_ioctl.h
	-rwxr-xr-x  1 root  root  10146 Dec 11 10:03 sdti.h
	-rwxr-xr-x  1 root  root   6576 Dec 11 10:03 sdti_ioctl.h
	-rwxr-xr-x  1 root  root  14805 Dec 11 10:03 sli.h
	-rwxr-xr-x  1 root  root  14183 Dec 11 10:03 sli_ioctl.h

	Coplies the development header files int /usr/include/sys
	directory (normally /usr/src/LiS-2.10/include/sys) where you can
	include them with, say, <sys/npi.h> as follows:

	-rwxr-xr-x  1 root  root  26709 Nov  8 16:27 npi.h
	-rwxr-xr-x  1 root  root   6703 Dec 11 10:03 npi_sctp.h
	-rwxr-xr-x  1 root  root  26125 Dec 11 10:03 tpi.h
	-rwxr-xr-x  1 root  root   2960 Dec 11 10:03 tpi_sctp.h
	-rwxr-xr-x  1 root  root   3199 Dec 11 10:03 xti_ip.h
	-rwxr-xr-x  1 root  root   5184 Dec 11 10:03 xti_sctp.h

  TEST PROGRAMS:

  There are several test programs that you can run to check that your
  installation is correct and to serve as an example for how to write a
  user-level STREAMS application based on the SS7 and SCTP TPI and NPI
  interfaces.  These are located in the strss7-0.7.8/test/ directory as
  follows:

	-rwxr-xr-x  1 brian  users  196103 Dec 11 09:56 test-m2pa
	-rwxr-xr-x  1 brian  users  211819 Dec 11 09:57 test-q781
	-rwxr-xr-x  1 brian  users  222256 Dec 11 09:57 test-sctp_n
	-rwxr-xr-x  1 brian  users  227757 Dec 11 09:57 test-sctp_t
	-rwxr-xr-x  1 brian  users   54299 Dec 11 09:56 test-sdlacb
	-rwxr-xr-x  1 brian  users   64909 Dec 11 09:56 test-sdludp
	-rwxr-xr-x  1 brian  users   66570 Dec 11 09:56 test-sdt
	-rwxr-xr-x  1 brian  users   79211 Dec 11 09:56 test-sl

  test-sdludp:
      Opens two of the /dev/ss7-sdl-udp0 Signalling Data Link UDP emulations of
      an SS7 signalling link and exchanges messages between the two.  This
      exercises the SDL, (Signalling Data Link) level of the MTP Level 2 stack
      using the UDP emulation.  You should see things like: successful, being
      printed.

  test-sdt:
      Opens two /dev/ss7-sdl-udp0 ss7 links just as test-sdl-udp, but pushes the
      "sdt" (Signalling Data Terminal) STREAMS module onto each half and
      communicates back and forth.  You should see things like: successful,
      being printed.

  test-sl:
      Opens two /dev/ss7-sdl-udp0 ss7 links just as test-sdl-udp, but pushes
      both a "sdt" and a "sl" (Signalling Link) STREAMS module onto each half.
      The "sl" module implements the majority of the SS7 Level 2 state
      machines.  The test program send a "Power On" primitive to each link and
      then a "Start" primitive.  The links should align (after a few seconds)
      and then exchange an MSU back and forth, "Stop" the links, detach them
      and close them.  You should see things like: successful, being printed.

  test-q781:
      Opens two /dev/ss7-sdl-udp0 ss7 links and pushes a "sdt" and "sl" STREAMS
      module onto one half and uses the other half as a protocol tester for
      performing Q.781 conformance tests.  Running the program generates the
      output of 107 Q.781 test cases and demonstrates conformance to 97 test
      cases.  (The remaining 10 test casea are inconclusive because of the
      inability to "break Tx" on UDP.)  The two files:

	-rw-r--r--  1 brian  users   115252 Nov  9 18:34 test/log.shaper
	-rw-r--r--  1 brian  users   116501 Nov  9 18:34 test/log.tick

      show the output of my runs of the test-q781 program.

  test-m2pa:
      Opens three /dev/sctp_n (NPI Interface) streams and pushes the "m2pa"
      STREAMS module over one of them, and uses the other two as a protocol
      tester for performing modified Q.781 conformance tests.  Running the
      program generates the output of 107 Q.781 tst cases and demonstrates
      conformance to 73 test cases.  (The remaining 34 test cases are not
      applicable to M2PA.  The file:

	-rw-r--r--  1 brian  users   271103 Dec  7 02:42 test/log.m2pa

      shows the output of my runs of the test-m2pa program.

      For more information on the tests and their descriptions, see the
      documentation in strss7-0.7.8/doc/m2pa/

	177166 Dec 11 10:27 draft-bidulock-sigtran-m2pa-test-00.pdf
	318312 Dec 11 10:27 draft-bidulock-sigtran-m2pa-test-00.ps
	240182 Dec 11 10:27 draft-bidulock-sigtran-m2pa-test-00.txt

      You will also find all the M2PA drafts there as well:

	 20197 Dec  8 21:19 draft-george-sigtran-m2pa-interop-00.txt
	 39392 Dec  8 21:19 draft-george-sigtran-m2peer-00.txt
	 42739 Dec  8 21:19 draft-george-sigtran-m2peer-01.txt
	 45128 Dec  8 21:19 draft-george-sigtran-m2peer-02.txt
	  1066 Dec  8 21:19 draft-george-sigtran-m2peer-03.txt
	 48822 Dec  8 21:19 draft-ietf-sigtran-m2pa-00.txt
	 60308 Dec  8 21:19 draft-ietf-sigtran-m2pa-01.txt
	 76183 Dec  8 21:19 draft-ietf-sigtran-m2pa-02.txt
	 93979 Dec  8 21:19 draft-ietf-sigtran-m2pa-03.txt

  test-acb:
      Opens two /dev/ss7-sdl-acb0 real ss7 links for the ACB56 card, just as
      the UDP test programs do above.  DO NOT USE THIS TEST PROGRAM: IT IS A
      WORK IN PROGRESS.

  test-sctp_n:
      Opens three /dev/sctp_n (NPI Interface) streams and performs loopback
      connection, disconnection and data transfer testing.  This also performs
      some noise and disconnection tests as well.  Sample output from this
      program can be found in strss7-0.7.8/test/log.sctp_n

	-rw-r--r--  1 brian  users  1070460 Nov 28 19:30 test/log.sctp_n

        This file shows the output of my runs of the test-sctp_n program.

  test-sctp_t:
      Opens three /dev/sctp_n (NPI Interface) streams and performs loopback
      connection, disconnection and data transfer testing.  This also performs
      some noise and disconnection tests as well.  Sample output from this
      program can be found in strss7-0.7.8/test/log.sctp_t

	-rw-r--r--  1 brian  users   863599 Nov 28 19:29 test/log.sctp_t

        This file shows the output of my runs of the test-sctp_t program.


  WHAT IF EVERYTHING GOES WRONG?

  Check to make sure that you have LiS STREAMS correctly installed on your
  system and that it can actually run.

  Hit our majordomo mailing list at openss7@openss7.org: to subscribe, send
  mail to majordomo@openss7.org with "subscribe openss7" in the body of the
  message.  Our mail archive is located on our home page at www.openss7.org.
  
  You can mail me at bidulock@openss7.org, but NO WARRANTY.

  Tue Dec 11 10:38:20 CST 2001
  Brian F. G. Bidulock
  bidulock@openss7.org
