Asterisk vs ISDN

Some information on how to conect Asterisk to the ISDN
Chapter 2:

Overview of available options

Last update:
2020-03-29
<-- Chapter 1
Foreword / Index
^
index
Chapter 3-1 -->
Hardware and protocol support
 
 

 

Trying to shed some light on to the mess

There have been many approaches to get Asterisk connected to the ISDN. Many of them only had a limited life span.
The following table just gives an overview of these approaces and their status.
 
optionkernel
driver
module(s)
asterisk
channel
extrasdescription
Aculab???chan_aculab No further information available so far
bristuffdahdichan_dahdi Patches/additions for DAHDI and Asterisk by Junghanns.net
Has been superseeded by the jnet-dahdi-drivers
capicapichan-capi-cm
or
chan-capi-hps
 The Common ISDN Application Programming Interface
Originally designed for MS-DOS/Windows, also available in the standard Linux Kernel
chan_extra???chan_dahdi  addition to DAHDI, used by Openvox for their GSM cards, not related to dahdi-extra
dahdidahdichan_dahdi  The Digium Asterisk Hardware Interface
Formerly known as Zaptel / Zapata
Especially designed for the Asterisk project
Requires libpri for ISDN support (incl. BRI)
dahdi-hfcsdahdichan_dahdi Addition to DAHDI to support HFC-S based cards, formerly known as zaphfc
isdn4linuxi4lchan_modem chan_modem has been discontinued with the release of Asterisk 1.2
It should have worked with external serial terminal adaptors ("ISDN modems") as well
isdn4linux was replaced by mISDN1, which again was replaced by mISDN2
However the user space tool divertctrl is still the only way to manage Call Forwarding
<--All Linux provided
support fully working
up to version 4.9.y.

Version 4.14 has
broken USB drivers.

Later versions have
additional issues
and have consequently
been removed. :-(

jnet-dahdi-driversdahdichan_dahdi Patches/additions for DAHDI by Junghanns.net, formerly known as bristuff    
misdn1misdn (1)chan_misdn This was created as a replacement for isdn4Linux
It was abandoned by the developers in favour of mISDN (2) around 2007
mISDN (1) is now known as the old and deprecated mISDN
A special fork is available for use with chan_misdn as included with Asterisk 1.8 and above
<--
misdn2misdn (2)chan_lcrLCRModular ISDN; mISDN (2) has been part of the standard Linux Kernel since version 2.6.27 (Oct 2008)
It does not interface directly to Asterisk, but via the Linux-Call-Router (or CAPI, see below)
(An Asterisk channel interfacing directly with mISDN2 exists/existed, but has never been released)
<--
chan_capi Since the beginning of 2012 mISDN also supports CAPI
NMS???chan_nms Supports hardware from NMS Communications (acquired by Dialogic)
According to the README it has only been available for Asterisk 1.2 and 1.4
pika???chan_pika Supports hardware from Pika Technologies
I can only find references to Zaptel and Asterisk 1.4
Sirrixsirrixchan_srx Supports hardware from Sirrix AG including a number of interesting extra features
Occasional updates available; Officially supports Asterisk 1.8
Has been tested successfully with Asterisk 11.18.0 on both Linux 3.18.18 and Linux 4.2.3 Failed on Linux 4.3
visdnvisdnchan_visdn The Versatile ISDN for Linux - Has also been used for GSM interfaces as well
Latest supported Asterisk is 1.6, latest supported kernel is 2.6.35
woomera-chan_woomeraSMGEarly Sangoma BRI cards used the Sangoma Media Gateway (SMG)
and connected to Asterisk via woomera/chan_woomera
From the Asterisk point of view that has nothing to do with ISDN
Sangoma has changed to using DAHDI in the meantime
zaphfcdahdichan_dahdi Addition to DAHDI to support HFC-S based cards
Has been recycled out of bristuff by Junghanns.net, new vesion known as dahdi-hfcs
zaptel / zapatazaptelchan_zap Has been renamed to DAHDI for legal reasons in may 2008

The most confusing part is having two architectures by the name of "mISDN", where mISDN (2) is NOT an updated version of mISDN (1) but a major rewrite introducing both new internal and external architecture/API that is completely incompatible to the other.

 

Alternative: Gateways

Another possible solution is to actually not connect Asterisk to the ISDN, but to leave that to another independent device: A gateway.
Gateways convert between different signalling and media streams and can be very handy, especially if a direct connection between different technologies is not possible.
Some users like the fact that they are (usually¹) independent devices, only linked to Asterisk via Ethernet. This way it is not neccessary to open the PC, especially making potential replacements easier.
There are drawbacks as well, off course: First of all there is one more device to configure and an additional connection.
The more profound thing is that protocol conversions are often lossy. The degree of that lossyness or how much it will be noticeable depends on the protocols involved and the quality of their implementation. With ISDN on one side, a conversion to H.323 should be very complete. Having said that, I need to point out that I have no clue how good Asterisks H.323 implementation is. A conversion to SIP is very lossy and can cause serious issues. Some gateway manufacturers try to tackle this issue with additional SIP headers that Asterisk may, or more likely, may not be able to make use of.

The use of gateways is beyond the scope of this document.

 


1: There are a few Gateways in the form of PCI cards available, but they still only appear to the PC as an Ethernet card, otherwise only making use of the PCs PSU. Some even have a real external Ethernet connection.
 

 

 
<-- Chapter 1
Foreword / Index
^
index
Chapter 3-1 -->
Hardware and protocol support