00-INDEX
	- this file (info on ISDN implementation for Linux)
CREDITS
	- list of the kind folks that brought you this stuff.
HiSax.cert
	- information about the ITU approval certification of the HiSax driver.
INTERFACE
	- description of isdn4linux Link Level and Hardware Level interfaces.
INTERFACE.fax
	- description of the fax subinterface of isdn4linux.
INTERFACE.CAPI
	- description of kernel CAPI Link Level to Hardware Level interface.
README
	- general info on what you need and what to do for Linux ISDN.
README.FAQ
	- general info for FAQ.
README.HiSax
	- info on the HiSax driver which replaces the old teles.
README.audio
	- info for running audio over ISDN.
README.avmb1
	- info on driver for AVM-B1 ISDN card.
README.concap
	- info on "CONCAP" encapsulation protocol interface used for X.25.
README.diversion
	- info on module for isdn diversion services.
README.fax
	- info for using Fax over ISDN.
README.gigaset
	- info on the drivers for Siemens Gigaset ISDN adapters
README.hfc-pci
	- info on hfc-pci based cards.
README.hysdn
        - info on driver for Hypercope active HYSDN cards
README.mISDN
	- info on the Modular ISDN subsystem (mISDN)
README.syncppp
	- info on running Sync PPP over ISDN.
README.x25
	- info for running X.25 over ISDN.
syncPPP.FAQ
	- frequently asked questions about running PPP over ISDN.
