CANDI Version 2.2 a Windows NDIS Driver for Common-ISDN-API 2.0 DLL-Interface

Herbert Hanewinkel, Dec 1997
heha@biochem.mpg.de

Registration

CANDI is Shareware
CANDI, as it is provided, is a demo version. To make use of the full capabilities of CANDI you have to register CANDI. The basic registration fee for a single user license of CANDI is DM 70,. Please read the file candi.txt (German version: candi-d.txt) for details.
As long as you have NOT registered CANDI you may test CANDI for 30 days without a registration code. In this case CANDI will stop forwarding data 15 min after startup.

Disclaimer

The program and this documentation is
Copyright (C) 1995-1997 by Herbert Hanewinkel,
All Rights Reserved.

It is provided as shareware with the following limitations:
This program is copyrighted and it is not in the public domain. It may not be distributed for profit or included in any CD-ROM or diskette software collection without permission. This applies in particular to commercial PD libraries. The program is not to be resold or distributed for sale with other programs which are for sale without my express written permission.
There is no warranty or claim of fitness or reliability. The program is distributed AS IS, and as such the author shall NOT be held liable for any loss of data, down time, loss of revenue or any other direct or indirect damage or claims caused by this program.
Manufacturers and distributors of ISDN products may distribute unregistered versions of this software a long with their ISDN products under the condition, that the customers are informed, that they have to register the software. If you want to sell registered versions of this software with printed hard copy manuals, please contact me. You may not bundle or otherwise distribute this software with any other software without my express written permission (i.e., on the same diskettes as part of a commercial package, compressed along with other software, etc.).

Overview

CANDI is a NDIS Driver for IP-Routing or remote Ethernet bridging over ISDN. CANDI communicates with the ISDN card using the Common ISDN API 2.0-DLL specification (a standard defined by German ISDN card manufacturers and the German Telekom). Because of this, CANDI is completely hardware independent and has successfully been tested with many active or passive ISDN cards.
CANDI was developed for Internet access over ISDN from WfW 3.11 with MSTCP-32 or Windows95.
CANDI supports a large set of protocols for communication with other vendors ISDN routers or servers. Among these protocols are: LAPB, Frame-Relay, PPP, SLIP/CSLIP, Cisco-HDLC.

CANDI was written for use with ISDN BRI PC cards. CANDI can communicate at least with the following commercial systems:
3COM Sonix Arpegio, ACOTEC MPR, Ascend Routers, AVM MPR 3.0, Biodata ISDN Router, Cisco Routers, Conet S2M Router, INS/CLS Banzai ISDN Router, netCS ISDN Router, RzK SLIP Bridge, SGI Indy ISDN 1.0 & 1.1, Shiva AccessPort, Spyder Routers, SunLink ISDN 1.0 & 1.0.2.

The current version of CANDI supports two independent active connections at a time. Alternativly a connection can use both B-channels for loadsharing. Loadsharing can be configured as static or dynamic (bandwidth on demand). Dynamic loadsharing can be used concurrently with a second independent connection.
Loadsharing over two channels is implemented using simple round robin scheduling, because IP doesn't require the original packet sequence. This is completely hardware independent and supported by many router systems. It works the same way as Cisco implements loadsharing over to X.21 interfaces. With this kind of loadsharing it is possible to get a performance of up to 13kBytes/s. MLPPP will be available in a future release.

Installation

  1. Install the NDIS Driver module in your NDIS environment (see below).
  2. Run CANDI.EXE. Be sure your CAPI-2.0 software is loaded.
  3. Open the Setup menu and set up a configuration file for your ISP How to set up a configuration file is described in the configuration guide. The default name for the configuration file is CANDI.INI.
  4. Save the configuration and restart CANDI.EXE.

Installation in Windows95 (NDIS-2/3 environment

  1. Unpack the CANDI software into a directory, e.g.: C:\CANDI
  2. Use Network to install the NDIS module as a new network card.
  3. Bind the TCP/IP protocol to the NDIS module and configure the TCP/IP parameters.
  4. Reboot Windows95.
  5. Start CANDI under Windows.
A detailed example you will find in ndis-w95.htm.

Installation in WfW 3.11 (NDIS-2/3 environment)

  1. Unpack the CANDI software into a directory, e.g.: C:\CANDI
  2. Use Netsetup to install CANDI:

  3. Select "Add adapter"
    Select "OEM provided adapter" in directory C:\CANDI
    Add the TCP/IP Protocol and remove all other protocols from the adapter. The MS-TCP32 software is not part of the standard WfW distribution, but it is freely available from Microsoft.
    Configure the TCP/IP parameters.
  4. After rebooting start a DOS-shell inside Windows and run "IPCONFIG". It should display your TCP/IP parameters.
  5. Start CANDI.EXE under Windows
An example of a user installation you will find in ndis-ins.htm.

Installation in a NDIS-1 environment

CANDI's NDIS driver module is a NDIS compliant MAC driver. Multiple protocol modules can bind CANDI. To include CANDI in your NDIS-1 configuration:
  1. Unpack the CANDI software into a directory, e.g.: C:\CANDI
  2. Set-up an entry for CINDI in the NDIS PROTOCOL.INI file
  3. [CINDI]
    Drivername=CINDI.DOS

  4. The protocol module you want to bind to CINDI should reference the CINDI MAC driver section with a "BINDINGS" entry of the form:

  5. BINDINGS=CINDI
  6. Check also that the device PROTMAN.DOS is loaded in CONFIG.SYS.
  7. Reboot your system.
  8. Start CANDI.EXE under Windows

Attention:

The NETBIOS based WfW 3.11 peer-to-peer network can operate on different transport protocols (NETBEUI, DECnet, TCP/IP). After installing MS-TCP32, WfW and Win95 send broadcast messages also over TCP/IP to look-up other nodes. If you don't disable broadcast's in CANDI, this will trigger an ISDN connection every time a broadcast packet is sent. You can disable broadcasts in CANDI by either specifying a dedicated ip-address (not 0.0.0.0) for the ISDN peer or enabling the k-option for the link. Using the k-option, broadcasts will not keep the line up and will not trigger a new connection, but the peer-to-peer network capabilities are available over ISDN after opening a connection.

Installation for ChameleonNFS

  1. Unpack the CANDI software into a directory, e.g.: C:\CANDI
  2. Start the program "Custom".
  3. Select a new interface of type "Ethernet".
  4. Select hardware and vendor "Other".
  5. Enter:

  6. Section name: CINDI
    Driver name: CINDI
    File: C:\CANDI\CINDI.DOS
  7. Continue with configuration from "Custom".
  8. Custom creates a PROTOCOL.INI file.
  9. Reboot and check your configuration.
  10. Start CANDI under Windows

Users Guide

Startup

If you add CANDI.EXE to the Autostart group, it will be loaded after the network login. To run CANDI before the Network login prompt appears, you can add CANDID.DLL to the drivers line in the boot section of your SYSTEM.INI. e.g.:

[boot]
...
drivers=c:\candi\candid.dll mmsystem.dll
...

Options

CANDI.EXE can be started with the following optional command line arguments:

(You can enter arguments for a Windows program via the Properties entry of the Programmanager.)

CANDI [Flags ConfigFile]

Flags

ConfigFile specifies the name of the CANDI configuration file. If the name is not given, it defaults to "CANDI.INI". The configuration file is a readable text file. How to set up a configuration file and a complete reference of all configuration options is described in the configuration guide.

Menus

To control and monitor ISDN connections the program offers the following menus:

File
Setup starts the Notepad with your configuration file. You have to restart the program to load a modified configuration file into memory.
Register prompts for the licence key and your name, company. The personal information in the name field must be at least 12 characters long. To activate a licence key you have to restart the program. After restart check the info menu to know if the licence information was accepted.
Save Buffer saves the screen contents to a file. If the file exists the contents is appended to the file.
Exit terminates the program

View
Status selects the status page for display.
Configuration displays the active configuration.
Log dislays a connnection and optionally trace log.

Trace
Use the trace only for debugging NOT in normal operation.

CAPI Messages logs all messages exchanged with the CAPI software (except data transfer)
PPP Setup allows to trace the setup of a PPP connection. PPP data packets are not logged.
Application Interface logs information related to the upper layer interface (packet or NDIS)

Control
Connect manually connect to a IP destination. In case of PPP with authentication the program prompts for authentication information. The initial setting of the repeated dial request option depends on the Preferences configuration.
Disconnect disconnects all active ISDN connections or terminates a repeated dial request.
Reset Statitstics resets all counters.
AutoDial enable or disabes the auto dial feature.
Preferences defines the initial program settings. Selectable are the language of menus and messages, the cost per unit and currency value and the initial setting of the repeated dial option. All settings are saved in a file ISDNMON.INI.
The program beeps on connect and disconnect. If the "Play Sound" option is checked, the program will play the .WAV files assigned to "ISDNup" on connect and "ISDNdown" on disconnect.

The "Save Log" option will automatically save the log pages on program exit (only for registered users).

If "Show Up Time" is selected the icon or taskbar title will show the connect time.

Help
Info displays program version information.

Connection state

The state of an ISDN connection is displayed on its status page and in place of an icons title by the following codes:
_ = free,
D = D-channel up,
C = B-channel requested,
B = B-channel up,
A = active, ISDN connection up,
additional information for PPP:
L = LCP configuration up,
I = PAP/CHAP configuration up, IPCP configuration started,
P = PPP connection up
additional information for SLIP:
S = SLIP configuration up

Ethernet characteristics

CANDI works as an ethernet type NDIS Driver. The ethernet address of CANDI is defined as: 00-00-0xFB-0xAA-00-01for NDIS-2 and 00-00-0xFB-0xAA-00-03 for NDIS-3. (Thanks to RzK, Asbach, Germany for using numbers from their official 00-00-0xFB range.)
The ethernet address of CANDI is settable by software via the NDIS interface. This way the ethernet address can be changed to any other desired value.
Changing the ethernet address may be required when connecting two CANDI's with direct applications using an ethernet bridging protocol.

Availability

The latest version of CANDI is available on www.biochem.mpg.de/~heha or via anonymous ftp from ftp.biochem.mpg.de in directory /pc/isdn.

Support

Please mail comments, questions, problems to heha@biochem.mpg.de. I can not guarantee any level of technical support, or for any length of time. In general, I will give priority to registered users.

Warranty

There is absolutely NO WARRANTY, expressed or implied with this software. If you choose to use this software, you assume all risk.