MISDN Getting Started¶
The kernel handles
mISDN is a split kernel / userspace architecture.
- hardware device drivers
- PHY/L1 related bits
- [optionally] layer2 like Q.921/LAPD on D-channel, HDLC or X.75slp in the B-channel
- [optionally] audio processing of B-channels, such as conferencing, DTMF detection, ...
- configuration of the kernel code / stack
- any layers not implemented in the kernel
- Layer3 (Q.931) is always handled in userspace
The interface between kernel and userspace is based around AF_ISDN sockets. Those sockets carry primitives between the layers.
The userspace part is called
mISDNuser and consists of libraries (
libsuppserv.so) and some utilities + examples.
An introduction can be found in a presentation by Karsten Keil at http://data.guug.de/slides/lk2008/lk2008-mISDN-slides.pdf
The kernel part of mISDN is still present in mainline kernels today (as of 5.14), and also built by default as kernel modules by Debian 11.
However, not all drivers are present, specifically the XHFC driver is currently only available at https://github.com/ISDN4Linux/mISDN
mISDNuser is available from https://github.com/ISDN4Linux/mISDNuser
Supported Hardware¶As of kernel 5.15, the following hardwre is supported in mainline:
- avmfritz (AVM_Fritz!Card_PCI adapters)
- hfcmulti (CologneChip_HFC HFC-4S/HFC-8S/HFC-E1 based PCI adapters)
- hfcpci (CologneChip_HFC based PCI adapters)
- hfcsusb (CologneChip_HFC-S based USB adapters)
- speedfax (Sedlbauer Speedfax+ cards based on ISAR DSP)
- w6692 (Winbond W6692 ISDN S/T Controller for PCI bus)
Assuming you've installed the hardware, have a kernel with mISDN + driver support and built the
mISDNuser tools, you can use
misdn_info to list the installed cards:
$ sudo ./misdn_info Found 1 port Port 0 'HFC-S_USB.1': TE/NT-mode BRI S/T (for phone lines & phones) 2 B-channels: 1-2 B-protocols: RAW HDLC X75slp
misdn_log is a tracer/logger of signaling related activity in mISDN. You can also use it with the
-w flag to store pcap files for later analysis by wireshark.
Assuming further that you are operating your adapter in TE mode and are connecte to some PBX / softswitch that can route inbound voice calls to it, you can use
misdntestlayer3 as follows:
$ sudo ./misdntestlayer3 -v 3
If you then call any MSN routed to this S/T interface, it will be immediately answered and you will get a playback of a fixed audio recordong (supposedly by Karsten Keil, the developer of the tool).