home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ctcoll95.zip / BASTELST / ISDI202.ZIP / ISDI20.TXT < prev    next >
Text File  |  1995-03-18  |  35KB  |  817 lines

  1.  
  2.           ISDI Version 2.0.2, a NDIS-MAC Driver for ISDN-API 1.1.
  3.  
  4.                  Herbert Hanewinkel, March 1995
  5.  
  6.  
  7.  
  8.     ISDI is Shareware
  9.  
  10.     The provided version of ISDI is a demo version.
  11.     To make use of the full functionality of ISDI you have to register ISDI.
  12.     The basic registration fee for a single user version of ISDI is DM 50,-
  13.     for private users and DM 70,- for commercial or institutional users.
  14.     Please read the file isdi.reg for details.
  15.  
  16.     As long as you have NOT registered ISDI you may test ISDI using a ? in
  17.     place of the registration code. In this case ISDI will stop forwarding
  18.     data after 10 min.
  19.  
  20.  
  21.     Disclaimer
  22.  
  23.     The program and this documentation is
  24.     Copyright (C) 1994,1995 by Herbert Hanewinkel,
  25.     All Rights Reserved.
  26.  
  27.     It is provided as shareware with the following limitations:
  28.  
  29.          This program is copyrighted and it is not in the public
  30.          domain. It may not be distributed for profit or included
  31.          in any CD-ROM or diskette software collection without
  32.          permission. This applies in particular to commercial PD
  33.          libraries. The program is not to be resold or distributed
  34.          for sale with other programs which are for sale.
  35.          There is no warranty or claim of fitness or reliability.
  36.          The program is distributed AS IS, and as such the author
  37.          shall NOT be held liable for any loss of data, down  time,
  38.          loss of revenue or any other direct or indirect damage or
  39.          claims caused by this program.
  40.  
  41.          If you are a distributor of ISDN products and would like
  42.          to sell registered versions of this software with printed
  43.          hardcopy manuals, please contact me. You may not bundle or
  44.          otherwise distribute this software with any other software
  45.          without my express written permission (i.e., on the same
  46.          diskettes as part of a commercial package, compressed
  47.          along with other software, etc.).
  48.  
  49.  
  50.     Overview
  51.  
  52.     ISDI is an (realmode) NDIS-MAC driver for IP-Routing or
  53.     remote Ethernet bridging over ISDN. ISDI communicates with the ISDN
  54.     card using the ISDN API 1.1 specification (a standard defined by
  55.     German ISDN card manufacturers and the German Telekom). Because of
  56.     this, ISDI is completely hardware independent and has successfully
  57.     been tested with many active or passive ISDN cards.
  58.  
  59.     ISDI supports a large set of protocols for communication with other
  60.     vendors ISDN routers or servers. Among these protocols are:
  61.     LAPB, Frame-Relay, PPP, SLIP, Cisco-HDLC.
  62.     ISDI can communicate at least with the following commercial systems:
  63.     Ascend Routers, Biodata ISDN Router, Cisco Routers, INS/CLS Banzai
  64.     ISDN Router, netISDN ISDN Router, RzK SLIP Bridge, SGI Indy ISDN 1.0,
  65.     Spyder Routers, SunLink ISDN 1.0.
  66.  
  67.     Some protocols conserve the protocol type over point-to-point lines
  68.     (multi-LAPB, Fram-Relay, Cisco-HDLC). These protocols are able
  69.     to do multiprotocol routing. For PPP only IP support is implemented
  70.     at the network configuration layer.
  71.  
  72.     ISDI was developed for Internet access over ISDN from WfW 3.11 and
  73.     MSTCP-32.
  74.     ISDI was written for use with ISDN BRI PC cards. I myself have
  75.     used ISDI only with Teles.S0, one of the cheapest ISDN cards in
  76.     Germany, and tested ISDI successfully with NCP cards. But I got
  77.     responses from users of ISDI that it will work at least with the
  78.     following other ISDN cards:
  79.     AVM A1 & B1, Diehl SCOM & SoTec, miro, NCP p16 & a, NICCY 1000 PC,
  80.     mbp Solis. (Check the *.comment files if you are looking for
  81.     details on a specific environment).
  82.  
  83.     The current version of ISDI supports two independent active connections
  84.     at a time. Alternativly a connection can use both B-channels for
  85.     loadsharing. ISDI can be loaded more than once, if more than two
  86.     simultanous connections to different sites are desired.
  87.     Loadsharing can be configured as static or dynamic (bandwith on
  88.     demand). Dynamic loadsharing can be used concurrently with a second
  89.     independent connection.
  90.  
  91.  
  92.     Installation in a NDIS-1 enviroment.
  93.  
  94.     ISDI is an NDIS MAC driver. Multiple protocol modules can bind to
  95.     ISDI. To include ISDI in your NDIS configuration setup an entry for
  96.     ISDI in the NDIS protocol.ini file:
  97.  
  98.     [ISDI]
  99.     Drivername=ISDI.EXE
  100.  
  101.     The protocol module you want to bind to ISDI should reference the ISDI
  102.     MAC driver with a "BINDINGS" entry of the form:
  103.  
  104.     BINDINGS=ISDI
  105.  
  106.     Load ISDI by starting isdi.exe with your arguments
  107.     BEFORE running netbind.
  108.  
  109.  
  110.     Installation in WfW 3.11 (NDIS-2 enviroment)
  111.  
  112.     1. Copy the files of the ISDI archive to a directory "isdi" on your disk.
  113.     2. Use WfW Netsetup to install ISDI.
  114.        Select "Add adapter"
  115.        Select "OEM provided adapter" in directory c:\isdi
  116.        Add the TCP Protocol and remove the NETBEUI Protocol for ISDI.
  117.        Configure the TCP/IP parameters.
  118.        
  119.     3. Add two lines before the line with "c:\windows\net start" to your
  120.        "autoexec.bat" file, so that the whole entry looks like:
  121.  
  122.        c:\windows\net init
  123.        c:\isdi\isdi ...(add your isdi arguments here) 
  124.        c:\windows\net start
  125.  
  126.     4. After rebooting call a DOS-shell inside Windows and run "ipconfig"
  127.        It should display your TCP/IP parameters. (The ISDI name string is
  128.        not correct, don't know why, will fixed in a furure release.)
  129.  
  130.     5. Test your setup with a ping in the DOS-shell. Dialing .... should
  131.        be displayed and the connection should come up.
  132.  
  133.  
  134.     ISDI configuration
  135.  
  136.     (Parameters in [] are optional)
  137.  
  138.         isdi Reg.-code [ConfigFile] [CtrlInter]
  139.  
  140.     "Reg.-code" is your personal registration code you will receive
  141.     after registrating ISDI. As long as you have NOT registered ISDI
  142.     you may test ISDI using a ? in place of the registration code. In
  143.     this case ISDI will stop forwarding data after 10 min.
  144.  
  145.         "ConfigFile" specifies the name of the ISDI configuration file.
  146.         If the name is not given, it defaults to "ISDI.INI".
  147.  
  148.     "CtrlInter" allows you to specify a software interrupt in the
  149.     range 0x60 to 0x80 for controlling ISDI with isdictl.exe.
  150.     The use of the software interrupt is optional and there is no
  151.     default for this argument.
  152.  
  153.     ISDN number format and related features of ISDI
  154.  
  155.         PABX's sometimes require a special key-code for dialing out. If this
  156.         prefix is not displayed on incoming calls, Dialback and CLI will
  157.         normally fail. To solve this problem ISDI supports an outgoing
  158.         call prefix, which is not checked on incoming calls. The prefix
  159.         can be specified in front of each ISDN number separated by a comma.
  160.  
  161.         Digits, which should not be used in an outgoing call, can be
  162.         marked by a decimal point from the common part of the number.
  163.  
  164.         Examples:
  165.         089.345678 will dial 345678 and will match incoming calls
  166.         from 089345678.
  167.         0,30.123456 will dial 0123456 and will match incoming calls
  168.         from 30123456.
  169.  
  170.     Subaddresses (available only in Euro ISDN, E-DSS1) can be appended
  171.     to a number by separating them with a /. Only digits are supported
  172.         in a subaddress.
  173.  
  174.         The total length of number + subaddress is limited to 26 characters.
  175.  
  176.         A SPV connection (available only in German ISDN, 1TR6) is set up
  177.         by appending an "s" to the end of the ISDN-number. An incoming SPV
  178.         request is accepted only if the "s" is specified.
  179.  
  180.         The CAPI standard doesn't define a standard setup for PVC's.
  181.         Teles, Berlin supports PVC's (Digitale Festverbindungen D64s) using
  182.         a pseudo ISDNnumber "tap" and selecting one of the B-channels.
  183.         ISDI supports this feature of the Teles CAPI implementation and
  184.         allows the selection of a PVC with the specification "1tap" or "2tap",
  185.         depending on the desired channel, for the ISDNnumber.
  186.  
  187.  
  188.     The configuration file
  189.  
  190.         The configuration file consists of the following formal parts:
  191.  
  192.         [global options]
  193.         [translation entry for incoming calls from numbers not specified]
  194.         [translation entries for incoming and outgoing calls]
  195.  
  196.         The first section is optional, but there has to be at least one
  197.     of the two types of translation entries.
  198.  
  199.         The global options control ISDI's overall behaviour. Global
  200.         options can be specified on one or more lines.
  201.  
  202.         ISDI can operate as a dynamic IP-address provider for PPP
  203.         connections. The IP-address in the second part is used as the
  204.         base IP-address. The first call will receive this IP-address,
  205.         a second call at the same time will receive IP-address+1 (the
  206.         fourth number of the IP-address is incremented by 1).
  207.  
  208.  
  209.         The second and third part consist of translation entries to map
  210.         IP-addresses to ISDN-numbers and to select peer specific parameters
  211.         for these entries.
  212.  
  213.         The translation entries in the configuration file have two
  214.         functionalities:
  215.  
  216.         - they act as a translation table for IP routing on outgoing calls
  217.           by mapping the IP-address to a ISDNnumber.
  218.  
  219.         - they are used for calling line identification (CLI) on incoming
  220.           calls.
  221.  
  222.         Incoming connections will be accepted only from ISDNnumbers
  223.         specifed in the configuration file. To disable CLI and allow
  224.         incoming calls from any number, the first translation entry has to
  225.         contain a '*' in the ISDNnumber field. For incoming calls from
  226.         ISDNnmubers not otherwise specified, the parameters of this entry
  227.         will be used.
  228.  
  229.         The translation entries in the file must be in the following format:
  230.  
  231.     ip-address ISDNnumber [ISDNnumber2] [options] [# comment]
  232.  
  233.     "ip-address" defines the IP-address of the peer.
  234.     "ISDNnumber" defines the ISDN-number of the peer.
  235.     "ISDNnumber2" defines a second ISDN-number, when used with loadsharing.
  236.     "options" define the protocol, timeout, ... for this link.
  237.  
  238.     If the same IP-address appears more than once in the configuration
  239.     file, ISDI will try all corresponding ISDN numbers until a connection
  240.     could be established.
  241.  
  242.         Attention: If the first entry in the configuration file selects an
  243.         ethernet bridging protocol, the use of the configuration file as a
  244.         translation table for outgoing calls is disabled. All outgoing calls
  245.         will be set up to the first entry. Further entries will be used
  246.         for CLI on incoming calls.
  247.         ISDI can operate only in routing or bridging mode. You can not
  248.         mix entries with routing and bridging protocols in the configuration
  249.         file.
  250.  
  251.         For IP-applications not supporting IP-address based routing or in
  252.         case of simple point-to-point configurations, a single translation
  253.         entry for outgoing calls may be specified with an IP-address of
  254.         0.0.0.0. In this case no further translation entries for outgoing
  255.         calls are allowed and all IP packets (unicast and broadcast) sent
  256.         from the application are forwarded to the ISDN peer.
  257.  
  258.         For translation entries having a non zero IP-address only unicast
  259.         IP packets routed via this IP-gateway are forwarded to the
  260.         corresponding ISDN peer. In this case the IP-address has to match
  261.         the (or one of the) IP-gateway address(es) in your
  262.         IP-configuration of your application software.
  263.  
  264.         Up to 64 translation entries can be specified in the configuration
  265.         file. Loadsharing entries to two different ISDN numbers allocate
  266.         two entries.
  267.  
  268.  
  269.     ISDI global options:
  270.  
  271.     -c n
  272.         selects the ISDN controller (card), n specifies the controller number.
  273.     default: 0
  274.  
  275.     -i vector
  276.     specifies the software interrupt for communication with the ISDN-API
  277.     software.
  278.     default: 0xf1
  279.  
  280.     -o
  281.     if ISDI's automatic selection of the video-RAM fails, this option
  282.         can be used to force screen output to the monochrome video-RAM at
  283.         B000:0.
  284.  
  285.     -e EAZ|index
  286.         German ISDN (1TR6) allows to specify 1 digit subaddress(EAZ).
  287.         This option defines the EAZ used by ISPA to listen for incoming
  288.         calls. The EAZ will be appended to the basic local address on
  289.         outgoing calls. EAZ's range from 1 to 9. In 1TR6 EAZ 0 means accept
  290.         all EAZ's.
  291.  
  292.         For EuroISDN this option defines an index in the range 0 to 9.
  293.         If your EuroISDN BRI supports MSN's (multiple subscriber numbers)
  294.         this option defines an index into a table of local addresses defined
  295.         during installiation of your ISDN-API 1.1 software. The address
  296.         defined for this index will be used as the local address on outgoing
  297.         calls und will match incoming calls.
  298.     default: 2
  299.  
  300.     -k sleep
  301.         specifies the setup time in seconds. ISDI will wait "sleep"
  302.         seconds for a connection to come up. If the connection does not
  303.         reach the active state during this time, ISDI resets the channel.
  304.         default: 5 seconds
  305.  
  306.     -z days[e]
  307.     forces an automatic restart of the PC after "days"-days, as soon
  308.         as the system becomes idle. "days" should be in the range from 1
  309.         to 2761.
  310.     Appending an "e" to the number of days enables automatic restart
  311.     of the PC if ISDI receives an error from the ISDN API 1.1 software.
  312.     Specifying "0e" enables only reboot on errors.
  313.     default: disabled
  314.  
  315.     -q
  316.     suppresses any message output on the screen.
  317.  
  318.     -r lop-ip,my-ip[,int]
  319.     remote logging on a unix host with a syslogd. Using ISDI with
  320.         IP-router software this option can be used to log all connection
  321.         related messages on a unix host with a berkeley syslogd.
  322.         "log-ip" defines the IP address of the unix host. "my-ip"
  323.         defines the source IP address of syslog messages sent by ISDI (a
  324.     packet driver can not automatically retrieve this information from
  325.         the router).
  326.     If "int" is specified and a connection is up, a syslog message
  327.         will be sent every "int"-seconds. "int" should be a multiple of 8,
  328.         otherwise it is internally rounded up to the next multiple of up.
  329.     Syslog-messages are sent with the characteristics local0.info.
  330.  
  331.     -w
  332.     Display activity, state and charge information in the upper right
  333.     corner of the screen.
  334.  
  335.     /0_\0_A_nnn
  336.     ||||||||  |
  337.     ||||||||  accumulated charge units
  338.         |||||||State of channel 2
  339.         ||||||State of channel 1
  340.         |||||incoming data rate on channel 2 in kB/sec, averaged over 8 seconds
  341.         ||||incoming data rate on channel 1 in kB/sec, averaged over 8 seconds
  342.         |||incoming data, rotates for every received packet
  343.         ||outgoing datarate on channel 2 in kBytes/sec, averaged over 8 seconds
  344.         |outgoing datarate on channel 1 in kBytes/sec, averaged over 8 seconds
  345.         outgoing data, rotates for every transmitted packet
  346.  
  347.         Status: _ = free, D = D-channel up, C = B-channel requested,
  348.                 B = B-channel up, A = connection set up,
  349.     (additional information for PPP:
  350.         L = lcp configuration requested,
  351.         I = lcp up, ipcp configuration requested,
  352.         P = PPP connection up.)
  353.  
  354.     -u
  355.     Limits ISDI to one active connection at a time. This will reduce
  356.     ISDI's memory requirement by 20kB. Selecting loadsharing (-m)
  357.     overrides this option.
  358.  
  359.     -j low[,high]
  360.     defines an ethernet type range for ethernet bridging. Ethernet
  361.         packets with type values outside the selected range are discarded.
  362.         This filter applies to all bridging protocols.
  363.     "low" defines the lower boundary. default: 0
  364.     "high" defines the upper boundary. default: 0xffff
  365.  
  366.  
  367.     ISDI supported protocols:
  368.     (only one protocol can used for one peer)
  369.  
  370.     -f dlci[i]
  371.     Frame-relay protocol. "dlci" specifies the data link connection
  372.     identifier. Appending an "i" to the dlci switches encapsulation
  373.     from "early" style to IETF format as described in RFC 1294 (but
  374.         without fragmentation support, a data size of 1500 is assumed). 
  375.  
  376.     -p
  377.     Point-to-Point protocol using default ppp-parameters.
  378.     Of the possible upper layer protocols, only IP is supported at this
  379.     time.
  380.         From the PPP configuration options PPP PAP is supported in both
  381.         directions. With the -n option a id/password combination can
  382.         be specified for each remote site. With the -g option a local
  383.         id/password can be defined for each peer.
  384.         ISDI accepts the following PPP options from the remote site:
  385.         LCP mru requests with values greater or equal to 1500 and
  386.         IPCP ip-address requests. The received ip-address can be retrieved
  387.         from an IP application program via RARP.
  388.  
  389.         Additional options for use with PPP
  390.  
  391.         -n id,password
  392.            Id/password combination for the remote PPP site. The
  393.            authenzisation string is send only, if the remote site requests
  394.            Password Authenziation during PPP option negotiation.
  395.  
  396.         -g id,password
  397.            Defines a local id/password combination. Incoming PPP connections
  398.            are accepted only if the remote site sends this id,password
  399.            combination.
  400.      
  401.     -h type
  402.     other HDLC based protocols
  403.     type = 0, IP-Data, no header
  404.     type = 1, IP-Data, X.75 unnumbered information frame (UI) header
  405.     type = 2, Cisco style HDLC header
  406.     type = 3, Ethernet bridging
  407.     type = 4, remote test loop, incoming data is echoed.
  408.  
  409.     -l type
  410.     LAPB (X.75) based protocols (caller=DCE, window=7, mod 8)
  411.     type = 0, IP-Data, no header, 
  412.     type = 1, multi-X.75 (called LAPB encapsulation an ACC routers or
  413.             multi-LAPB encapsulation on Cisco routers)
  414.     type = 2, SLIP
  415.     type = 3, Ethernet bridging
  416.     type = 4, remote test loop, incoming data is echoed.
  417.         type = 5, SLIP (same as 2)
  418.     type = 6, Ethernet bridging using SLIP encapsulation (SLX)
  419.  
  420.     -s baudrate
  421.     SLIP protocol with V.110 bitrate adjustment. "baudrate" defines
  422.         the desired transfer rate.
  423.     baudrate = 9,  9600  baud, async, 8 bit, no parity, 1 stop bit
  424.     baudrate = 19, 19200 baud, async, 8 bit, no parity, 1 stop bit
  425.     baudrate = 38, 38400 baud, async, 8 bit, no parity, 1 stop bit
  426.  
  427.         Additional options for use with SLIP protocol (X.75 or V.110 based).
  428.         The option has to be specified after the protocol selection option.
  429.  
  430.         -n string1,string2,...
  431.            A sequence of strings to send for SLIP login. To adapt to
  432.            the different kinds of login sequences used by SLIP servers,
  433.            ISDI uses a wait/send sequence for highest flexibility.
  434.            ISDI sends a string after having not received data from the
  435.            peer for more than 2 seconds. Each string will be
  436.            automatically terminated by a RETURN. This way an empty string
  437.            field will send a single RETURN. Special characters can be
  438.            included in the string by escaping with \ and specifing the
  439.            ascii code of the character (e.g. \32 will insert a space).
  440.            The ascii code may be terminated by a . if required.
  441.            Additionally \, will insert a comma, otherwise used for
  442.            separating strings, a \. will insert a literal . after an
  443.            ascii code and \\ will insert a single \.
  444.  
  445.     -y baudrate
  446.     SLX (Ethernet bridging using SLIP encapsulation) protocol with
  447.     V.110 bitrate adjustment. "baudrate" defines the desired transfer
  448.         rate.
  449.     baudrate = 9,  9600 baud,  async, 8 bit, no parity, 1 stop bit
  450.     baudrate = 19, 19200 baud, async, 8 bit, no parity, 1 stop bit
  451.     baudrate = 38, 38400 baud, async, 8 bit, no parity, 1 stop bit
  452.  
  453.     default: -h0
  454.  
  455.     Other translation entry options:
  456.  
  457.     The following options can be specified for each ISDN-number entry in
  458.     the configuration file:
  459.  
  460.     -t max-idle[,min-idle]
  461.     an idle connection will be disconnected after "max-idle"-seconds.
  462.     Setting "max-idle" to zero disables shutdown of idle connections.
  463.     Specifing a "min-idle" value lower than "max-idle", an outgoing
  464.     (charged) connection will be hold at least "min-idle" seconds, it
  465.     will be closed down shortly before the next charge unit is execeeded
  466.     or max-idle expires. The time of one charge unit is calculated from
  467.     the first two units received. max-idle may be used to specify the
  468.     length of the first charge-unit.
  469.     default: max-idle: 300 seconds, min-idle: disabled
  470.  
  471.     -m high[,low]
  472.     static or dynamic loadsharing over both s0-channels.
  473.     "high" = 0, static loadsharing, the caller will always try to
  474.         activate both channels.
  475.     "high" <> 0, dynamic loadsharing, if the load is higher than
  476.     6000 Bytes/sec for "high"-seconds, the system will activate the
  477.         second channel. After "down"-seconds of a load lower than 6000
  478.         Bytes/sec the second channel will be closed down. If "down" is not
  479.         specified, the "max-idle" Timeout will be used (see option -t).
  480.         A -m option has to be specified on both ends of a link. However,
  481.         only the caller of the first channel will activate the second
  482.         channel.
  483.     The values for "high" and "low" should be multiples of 8, otherwise
  484.     they will be rounded up to next multiple of 8.
  485.  
  486.     To set up loadsharing to different target ISDN numbers, a second
  487.     ISDN number can be specified in the configuration file.
  488.  
  489.     -d mode
  490.         Specifies ISDI's mode of operation and various flags:
  491.         The "flags" parameter is interpreted as a 16 Bit value with
  492.         the following meaning:
  493.  
  494.         Bit 0-2: Operation mode:
  495.           mode = 0, outgoing calls are disabled.
  496.           mode = 1, incoming and outgoing calls are allowed.
  497.           mode = 2, an outgoing call is dropped after sending the connect
  498.                   request and the system waits for a call back.
  499.           mode = 3, incoming calls are rejected but trigger an outgoing call
  500.                   to the received ISDN-number.
  501.           mode = 4, incoming calls are disabled.
  502.         Bit 3-7: unused
  503.         Bit 8:   Don't reset disconnect timer on received packets.
  504.         Bit 9:   Don't reset disconnect timer on sending broadcast packets.
  505.         Bit 10:  Send broadcast packets over this link.
  506.         Bit 11:  Operate as an IP-address provider for PPP. (If this is a
  507.                  PPP link and the IP-address of this entry isn't zero, tell
  508.                  the peer which IP-address he has to use.)
  509.  
  510.         default: 1, incoming and outgoing calls enabled
  511.  
  512.     -a service
  513.         (specific to German ISDN, however the API software should map the
  514.         values to corresponding EuroISDN codes)
  515.         additional service indicator and service indicator selection.
  516.         The high byte of the argument "service" redefines the service
  517.         indicator the low-byte defines the additional service indicator.
  518.         Some ISDN equipment (e.g. Elink TA) use the additinal service
  519.         indicator field to selcted a predefined mode/protocol of operation.
  520.         However there is no standard for this field.
  521.         ISDI sets "service" to 0x700 with the following exceptions:
  522.  
  523.         service = 0x7c5: -s 9,  -y 9
  524.         service = 0x7c7: -s 19, -y 19
  525.         service = 0x740: -s 38, -y 38
  526.  
  527.         The option allows to override the default value with your own
  528.         value. (To override the protocol specific default, the value has
  529.         to be positioned after the protocol option on the line.)
  530.  
  531.         To use the ISDN service "X.21 services" in German national 1TR6 ISDN
  532.         use a "service" value of "0x30c".
  533.  
  534.  
  535.     --------------
  536.     Deinstallation
  537.  
  538.     NDIS doesn't support the deinstallation of MAC drivers.
  539.     The current version of ISDI can not be deinstalled.
  540.  
  541.     -----------
  542.     Controlling
  543.  
  544.     The utility program ISDICTL.EXE allows you to:
  545.  
  546.     - manually set up a connection
  547.     - manually terminate all connections
  548.     - to check the parameter table
  549.     - to display/set the IP-address for PPP IP-address negotiation
  550.     - to read out the connection statistics
  551.     - to reset the connection statistics
  552.  
  553.     --------------
  554.     Other features
  555.  
  556.     1. Dynamic IP address assignment
  557.        ISDI supports dynamic IP address assignment via RARP and the PPP IPCP
  558.        IP-ADDRESS negotiation:
  559.  
  560.        - (Make sure that your peer supports the PPP IPCP IP-ADDRESS option.)
  561.        - Configure your IP software for use with RARP.
  562.        - Use isdictl -d <ctl-int> [<ip-address>] to manually set up a
  563.      connection.
  564.        - (Check the received IP address with isdictl -i <ctl-int>.)
  565.        - Start your IP software.
  566.  
  567.     2. Ascend Routers use the PPP IPCP IP-ADDRESS negotiation for
  568.        remote system identification. They don't support asking for an
  569.        IP-address using PPP IPCP IP-ADDRESS negotiation. For Ascend
  570.        Routers ISDI has to provide the correct IP-address to the peer.
  571.        To accomplish this you can set the IP-address to the desired value
  572.        using isdictl -i <ctl-int> <ip-address>
  573.  
  574.     3. ISDI can operate as an IP address provider for PPP connections.
  575.        This feature can be enabled on a peer basis using a flag of the
  576.        -d option.
  577.  
  578.     -------------------------------
  579.     Restrictions in current version
  580.  
  581.     1. Option parsing is far away from being perfect. It is possible to
  582.        specify conflicting options. Don't specify more than one protocol
  583.        option per line (translation entry).
  584.  
  585.     2. The current version does NOT support more than one SLIP or SLX
  586.        connection at a time. For this reason you can NOT use loadsharing
  587.        with SLIP or SLX. Also you can NOT have one SLIP/SLX connection and
  588.        another connection (using another protocol) at the same time.
  589.        Unpredictable results will occur.
  590.  
  591.     ------------------------
  592.     Ethernet characteristics
  593.  
  594.     ISDI works as an ethernet type Packet Driver. The ethernet address of
  595.     ISDI is defined as: 00-00-0xFB-0xAA-00-01. (Thanks to RzK,
  596.     Asbach, Germany for using numbers from their official 00-00-0xFB range.)
  597.  
  598.     The ethernet address of ISDI is settable by software. This way the
  599.     ethernet address can be changed to any other desired value.
  600.  
  601.     Changing the ethernet address may be required when connecting two
  602.     ISDI's with direct applications using an ethernet bridging protocol.
  603.  
  604.     --------
  605.     Examples
  606.  
  607.     1. a simple point-to-point configuration to connect a standalone PC
  608.        to an IP provider. Local IP address 141.61.224.5. The IP Provider
  609.        has a nameserver with address 141.61.1.32. The connections uses
  610.        PPP protocol and the PC has to identify itself using the the id
  611.        "guest" and password "gast". Because the IP address in the ISPA
  612.        configuration file is specified as 0.0.0.0 ALL packets will be
  613.        send to the peer 0815712345. This way NO gateway IP address is
  614.        required in the IP configuration.
  615.  
  616.         isdi ? 0x60
  617.  
  618.     isdi.ini:
  619.     -u   # only only one active channel
  620.         -w   # activity display
  621.     0.0.0.0 089987654 -p -nguest,gast -t60 # only incoming, timeout 60 sec
  622.  
  623.         And the IP configuration of the PC in format of wattcp.cfg
  624.         my_ip=141.61.224.5
  625.         netmask=255.255.255.0              # netmask
  626.         nameserver=141.61.1.32             # nameserver
  627.         nameserver=141.61.1.23             # alt nameserver
  628.         domainslist="biochem.mpg.de"
  629.  
  630.     2. ISDI set up in a multipoint configuration as a dial-in server
  631.        with no outgoing connections.
  632.        All connections are logged with the remote logging feature in the
  633.        syslog file of host 141.61.1.32.
  634.        The syslog messages will appear as coming from 141.61.224.1.
  635.        The protocol for incoming calls from unknown numbers is PPP
  636.        with identification "guest" and passwort "gast".
  637.        The net 141.61 is connected to the Internet via 141.61.1.1.
  638.        The ISDI and MSTCP32 configuration will allow the PC of example
  639.        1. to dial in as an unknown ISDN peer and connect to the Internet.
  640.        ISDI can handle two active connections, but only one unknown peer
  641.        at a time.
  642.  
  643.     isdi ? 0x60
  644.  
  645.     isdi.ini:
  646.     -r141.61.1.32,141.61.224.1           # remote logging on 141.61.1.32
  647.     -e4                                  # local EAZ 4
  648.     141.61.224.5 * -p -gguest, gast -t30 # no CLI, protocol PPP
  649.     141.61.224.2 0815712345 -d0 -t60     # incoming from 0815712345
  650.     141.61.224.3 08912345 -h1 -d0 -t60   # incoming from 08912345
  651.     141.61.224.4 08923456 -l1 -d0 -t60   # incoming from 08923456
  652.  
  653.         and the corresponding MSTCP32 configuration:
  654.         Interface 1 (Ethernet):  141.61.1.200  255.255.255.0
  655.         Interface 2 (ISDN)    :  141.61.224.1  255.255.255.0
  656.         Routes:  Net: 0.0.0.0 Gateway: 141.61.1.1
  657.  
  658.     3. ISDI in point-to-point configuration with dynamic Loadsharing. The
  659.        second link will be established after 10 seconds of a load higher
  660.        than 6000 Bytes/sec and will be closed after 20 seconds of a load
  661.        lower than 6000 Bytes/sec. 
  662.        Software interrupt 0x79 is used as control interrupt for isdi.
  663.        (e.g. isdictl -c 0x79 will close all open ISDN connections)
  664.  
  665.         isdi ? isdi.ini 0x79
  666.  
  667.     isdi.ini:
  668.     -e4 
  669.     -w
  670.     0.0.0.0 0815712345 -h2 -m10,20 -t90
  671.  
  672.     4. ISDI in multipoint configuration. For incoming calls from unkown
  673.        numbers the -h1 protocol will be used.
  674.  
  675.        isdi ? 0x60 ip2isdn
  676.  
  677.        ip2isdn(ISDI configuration file):
  678.     -e4 -w                 # global options
  679.     2.0.0.6 * -h1 -t60        # other incoming calls
  680.     2.0.0.1 089.89512300 -f100i -t200,30   # ietf frame-relay
  681.     2.0.0.2 089.89512301 -h2 -t20,5 -m8,30 # cisco-hdlc, loadsharing
  682.     2.0.0.3 0033,815711111 -d0 -t40        # hdlc, only incoming
  683.     2.0.0.5 0,4518789123 -p -t60,10        # PPP
  684.  
  685.  
  686.     -------
  687.     Support
  688.  
  689.     The latest version of ISDI is available on ftp.biochem.mpg.de.
  690.  
  691.     Please mail comments, questions, problems to heha@biochem.mpg.de.
  692.     I can not guarantee any level of technical support, or for any
  693.     length of time. In general, I will give priority to registered users.
  694.  
  695.     --------
  696.     Warranty
  697.  
  698.     There is absolutely NO  WARRANTY, expressed or implied with
  699.     this software.  If you choose to use this software, you
  700.     assume all risk.
  701.  
  702.  
  703.     -----------------------
  704.     Appendix A: Error codes
  705.  
  706.     The error codes from ISDI are the same as defined in the ISDN-API 1.1
  707.     specification:
  708.  
  709.     2001    incorrect controller
  710.     2002    incorrect PLCI
  711.     2003    incorrect NCCI
  712.     2004    incorrect type
  713.  
  714.     3101    B-channel incorrectly coded
  715.     3102    Info-mask incorrectly coded
  716.     3103    Serviced EAZ-mask incorrectly coded
  717.     3104    Serviced SI mask incorrectly coded
  718.     3105    B-channel protocol, level 2 incorrect
  719.     3106    DLPD incorrect
  720.     3107    B-channel protocol, level 3 incorrect
  721.     3108    NCPD incorrect
  722.     3109    NCPI incorrect
  723.     310A    Flags incorrectly coded
  724.  
  725.     3201    Controller error
  726.     3202    Conflict between registrations, check SI mask and EAZ
  727.     3203    Function not supported
  728.     3204    PLCI not active
  729.     3205    NCCI not active
  730.     3206    B-channel protocol, level 2 not supported
  731.     3207    Changeover of B-channel protocol, level 2 in this state not
  732.             possible
  733.     3208    B-channel protocol, level 3 not supported
  734.     3209    Changeover of B-channel protocol, level 3 in this state not
  735.             possible
  736.     320A    Unsupported parameters in DLPD
  737.     320B    Unsupported parameters in NCPD
  738.     320C    Unsupported parameters in NCPI
  739.     320D    data length not supported
  740.  
  741.     3301    Error on setup of D-channel, level 1
  742.     3302    Error on setup of D-channel, level 2
  743.     3303    Error on setup of B-channel, level 1
  744.     3304    Error on setup of B-channel, level 2
  745.     3305    Abort D-channel, level 1
  746.     3306    Abort D-channel, level 2
  747.     3307    Abort D-channel, level 3
  748.     3308    Abort B-channel, level 1
  749.     3309    Abort B-channel, level 2
  750.     330A    Abort B-channel, level 3
  751.     330B    B-channel connection, level 2 reestablished
  752.     330C    B-channel connection, level 3 reestablished
  753.  
  754.     34xx    Abort by network, low order 8 Bit contain the cause value
  755.             according 1TR6, the MSB is used to signal an error, but is not
  756.             set by all ISDN-API 1.1 implementations.
  757.  
  758.     Cause-table according to 1TR6 (don't know what you will get with EuroISDN)
  759.  
  760.     00  normale Ausloesung (0 = lokal, 3400 = durch die Gegenstelle)
  761.         normal termination (0 = local, 3400 = from the network)
  762.  
  763.     83  Dienst ist nicht verfuegbar oder nicht beantragt
  764.         Service not available
  765.  
  766.     8A  kein B-Kanal auf lokaler Anschlussleitung verfuegbar
  767.         all B-channels are busy on the local line
  768.  
  769.     91  angefordertes Dienstmerkmal wurde abgelehnt, weil eigener
  770.         oder ferner Anschluss keine Berechtigung besitzt
  771.         ??    
  772.  
  773.     a0  abgehende Rufe wegen eingerichteter Sperre nicht moeglich
  774.         outgoing calls blocked
  775.  
  776.     a2  Verbindung nicht moeglich wegen negativen GBG-Vergleich
  777.         Closed-user-group refused connection
  778.  
  779.     a3  angegebene GBG (geschlossene Benutzergruppe) unbekannt
  780.         specified closed-user-group unknown
  781.  
  782.     a5  Kommunikationsbeziehung als SPV nicht freigegeben
  783.         SPV not enabled for this number
  784.  
  785.     b5  Verbindung nicht aufbaubar wegen falscher Zieladresse,
  786.         Dienste oder Dienstmerkmale
  787.     ??
  788.  
  789.     b8  Rufnummer des gerufenen Teilnehmers hat sich geaendert
  790.     number of called station has changed
  791.  
  792.     b9  ferne DEE nicht betriebsbereit
  793.     remote station not ready
  794.  
  795.     ba  Ruf wurde von keiner Datenstation beantwortet
  796.     no station responding
  797.  
  798.     bb  gerufene Datenstation besetzt
  799.     called station busy
  800.  
  801.     bb  Gerufener Teilnehmer hat Sperre gegen ankommende Rufe oder
  802.         angeforderter Dienst vom gerufenen Teilnehmer nicht beantragt
  803.     ??
  804.  
  805.     be  Ruf wurde von gerufener Datenstation abgewiesen
  806.     Call was rejected by called station
  807.  
  808.     da  Verbindung von ferner Datenstation ausgeloest oder abgelehnt
  809.     Connection was terminated or rejected by called station
  810.  
  811.     f0  Im aktuellen Verbindundsstand keine Dienstmerkmalanforderung moeglich
  812.     ??
  813.  
  814.     f1  Ausloesung wegen Fehler bei der gerufenen Station
  815.     Disconneted due to an error at the remote station
  816.  
  817.