Jump to content

Linux Networking/ISDN

From Wikibooks, open books for an open world

The Integrated Services Digital Network (ISDN) is a series of standards that specify a general purpose switched digital data network. An ISDN `call' creates a synchronous point to point data service to the destination. ISDN is generally delivered on a high speed link that is broken down into a number of discrete channels. There are two different types of channels, the `B Channels' which will actually carry the user data and a single channel called the `D channel' which is used to send control information to the ISDN exchange to establish calls and other functions. In Australia for example, ISDN may be delivered on a 2Mbit/s link that is broken into 30 discrete 64kbit/s B channels with one 64kbit/s D channel. Any number of channels may be used at a time and in any combination. You could for example establish 30 separate calls to 30 different destinations at 64kbit/s each, or you could establish 15 calls to 15 different destinations at 128kbit/s each (two channels used per call), or just a small number of calls and leave the rest idle. A channel may be used for either incoming or outgoing calls. The original intention of ISDN was to allow Telecommunications companies to provide a single data service which could deliver either telephone (via digitised voice) or data services to your home or business without requiring you to make any special configuration changes.

There are a few different ways to connect your computer to an ISDN service. One way is to use a device called a `Terminal Adaptor' which plugs into the Network Terminating Unit that you telecommunications carrier will have installed when you got your ISDN service and presents a number of serial interfaces. One of those interfaces is used to enter commands to establish calls and configuration and the others are actually connected to the network devices that will use the data circuits when they are established. Linux will work in this sort of configuration without modification, you just treat the port on the Terminal Adaptor like you would treat any other serial device. Another way, which is the way the kernel ISDN support is designed for allows you to install an ISDN card into your Linux machine and then has your Linux software handle the protocols and make the calls itself.

Kernel Compile Options:

            ISDN subsystem  --->
                    <*> ISDN support
                    [ ] Support synchronous PPP
                    [ ] Support audio via ISDN
                    < > ICN 2B and 4B support
                    < > PCBIT-D support
                    < > Teles/NICCY1016PC/Creatix support


The Linux implementation of ISDN supports a number of different types of internal ISDN cards. These are those listed in the kernel configuration options:


· ICN 2B and 4B · Octal PCBIT-D · Teles ISDN-cards and compatibles


Some of these cards require software to be downloaded to them to make them operational. There is a separate utility to do this with.


Full details on how to configure the Linux ISDN support is available from the /usr/src/linux/Documentation/isdn/ directory and an FAQ dedicated to isdn4linux is available at www.lrz-muenchen.de. (You can click on the English flag to get an English version).

A note about PPP. The PPP suite of protocols will operate over either asynchronous or synchronous serial lines. The commonly distributed PPP daemon for Linux `pppd' supports only asynchronous mode. If you wish to run the PPP protocols over your ISDN service you need a specially modified version. Details of where to find it are available in the documentation referred to above.