#
# ISDN device configuration
#

menu "ISDN subsystem"

config ISDN
	tristate "ISDN support"
	depends on NET
	---help---
	  ISDN ("Integrated Services Digital Networks", called RNIS in France)
	  is a special type of fully digital telephone service; it's mostly
	  used to connect to your Internet service provider (with SLIP or
	  PPP).  The main advantage is that the speed is higher than ordinary
	  modem/telephone connections, and that you can have voice
	  conversations while downloading stuff.  It only works if your
	  computer is equipped with an ISDN card and both you and your service
	  provider purchased an ISDN line from the phone company.  For
	  details, read <http://www.alumni.caltech.edu/~dank/isdn/> on the WWW.

	  Select this option if you want your kernel to support ISDN.


menu "Old ISDN4Linux"
	depends on NET && ISDN

config ISDN_I4L
	tristate "Old ISDN4Linux (obsolete)"
	---help---
	  This driver allows you to use an ISDN-card for networking
	  connections and as dialin/out device.  The isdn-tty's have a built
	  in AT-compatible modem emulator.  Network devices support autodial,
	  channel-bundling, callback and caller-authentication without having
	  a daemon running.  A reduced T.70 protocol is supported with tty's
	  suitable for German BTX.  On D-Channel, the protocols EDSS1
	  (Euro-ISDN) and 1TR6 (German style) are supported.  See
	  <file:Documentation/isdn/README> for more information.

	  ISDN support in the linux kernel is moving towards a new API,
	  called CAPI (Common ISDN Application Programming Interface).
	  Therefore the old ISDN4Linux layer is becoming obsolete. It is 
	  still usable, though, if you select this option.

if ISDN_I4L
source "drivers/isdn/i4l/Kconfig"
endif

endmenu

comment "CAPI subsystem"
	depends on NET && ISDN

config ISDN_CAPI
	tristate "CAPI2.0 support"
	depends on ISDN
	help
	  This provides the CAPI (Common ISDN Application Programming
	  Interface, a standard making it easy for programs to access ISDN
	  hardware, see <http://www.capi.org/>.  This is needed for AVM's set
	  of active ISDN controllers like B1, T1, M1.

source "drivers/isdn/capi/Kconfig"

source "drivers/isdn/hardware/Kconfig"

endmenu

