Connection Oriented NDIS Miniport ISDN Sample

[This is preliminary documentation and subject to change.]

SUMMARY

This sample demonstrates a connection-oriented NDIS 5.0 client.  It shows how to establish and tear down a PPP or multi-link PPP connection over an ISDN type device. This sample emulates an ISDN device with 2 or more channels as defined in the INF file at install time.  Connections are emulated by placing outgoing calls on one channel of an adapter to another channel on the same or different adapter.  

Windows Remote Access interfaces allow you to do the following with the driver:

The sample works on both X86 and IA64. Both checked and free builds are available.

BUILDING THE SAMPLE

From the Free or Checked Build environment, execute build in the CoIsdn directory.

INSTALLATION

Since the sample driver requires no PNP hardware, it must be installed manually.

·        Start the Add Hardware Wizard.  After it scans for new PNP hardware, select to add a new device, then select to add a Network Adapter.

·        When asked to select the adapter, select Have Disk.  Then point to the location of the CoIsdn.inf and CoIsdn.sys files.

·        Select TriplePoint COISDN Adapter and click OK.

Once the network adapter is installed, you need to setup to allow an incoming connection from the device.

·        Start the New Connection Wizard from the Network Connections setup page.

·        Setup an advanced connection to accept incoming connections.

·        Check the box selecting the TriplePoint COISDN Adapter as the connection device.

·        Do not setup for incoming VPN connections.

·        Select the users you want to allow dial-in access.

·        Configure TCP/IP to use fixed IP addresses from the range (192.168.111.1 – 192.168.111.99)

Once you have setup to allow incoming connections, you need to setup an outgoing dialup connection.

·        Start the New Connection Wizard from the Network Connections setup page.

·        Setup a connection to use a dial-up modem.

·        Check one of the boxes selecting either of the TriplePoint COISDN Adapter channels.

·        When asked for the number to dial, enter “0” which tells the driver to connect to any unused channel.

·        Configure the settings to use only TCP/IP (other connections will fail to negotiate PPP since the call is answered by the same PC).

USAGE

You can place a call by double clicking the outgoing dial-up connection you created above.  Because the call originates and terminates within the same PC, most applications will not make use of the connection for data traffic.   The sample can be used with the NDIS Tester to verify basic NDIS and RAS functionality. 

TIPS

With a checked binary, you can control the volume of debug information generated by changing the registry variable DebugFlags.  Refer to TpiDebug.h for more information.   Set the debug flags to 0x86FF to capture a full trace with the debugger.  This will help you understand the call sequence that occurs on both the incoming and outgoing sides of the connection, and it will be useful to refer to when you start making changes for your hardware.

 

Search the source code for SAMPLE_DRIVER and TODO to begin modifying the code for use with your custom hardware.

CODE TOUR

File Manifest

File      Description        
Adapter.c Miniport adapter structure related routines.
BChannel.c         B-channel structure related routines (N B-channels per port).
CallMgr.c Interface to the call manager.
Card.c    Card structure related routines (1 card per adapter).
DChannel.c         Logical D-channel structure related routines (1 D-channel per card).
Interupt.c         Interrupt related routines.
Miniport.c         Driver entry and initialization routines.
Port.c    Port structure related routines (N ports per card).
Receive.c Packet receive related routines.
Request.c NDIS request routines.
TpiDebug.c         Debug output routines used in debug build.
TpiMem.c  Memory management routines used for debug build.
TpiParam.c         Table driven registry parsing routines.
Transmit.c         Packet send related routines.
CoIsdn.inf         Installation file.

Top of page

 

© Microsoft Corporation 2001