- Mitglied seit
- 13 Nov 2005
- Beiträge
- 1,610
- Punkte für Reaktionen
- 26
- Punkte
- 48
In einer Zeit in der ISDN sowieso kaum mehr einer will kann ich ja mal wieder ein kleines HOWTO, diesmal zum Umbau ISDN -> Analog, herausgeben.
Im Endeffekt habe ich in meiner alten Hardware lediglich die HFC-4S / HFC-8S durch eine Digium Wildcard TDM410(PCI) ersetzt. Für PCIe müsste man die AEX410 nehmen.
Die komplette Softwareinstallation von damals konnte für's erste völlig unverändert bleiben. Lediglich die Konfiguration musste angepasst werden.
Der Vollständigkeit halber möchte ich hier aber gleich eine Beschreibung auf Basis des neuesten Debian vorstellen.
debian version: 11
dahdi version: 2.11.1.0
asterisk version: 16
Die TDM410 Karten sind derzeit in der E-Bucht für sensationelle 25€(!) incl. 4-fach FXS Bestückung zu haben.
Mit mindestens einem FXO Port ideal geeignet um z.B. die Zwangs-Analogports der Provider Modems auf eigenes SIP umzusetzen. Somit
braucht man sich gar nicht mehr erst um die Herausgabe der Provider SIP-Daten zu kümmern.
Die Karte unterstützt an jedem Port bis zu satte 5 REN (ringer equivalence number) und versteht sogar noch Impulswahl.
Somit kann selbst ein Bakelit Tischfernsprecher W 48 ohne Einschränkung direkt am FXS Port betrieben werden
Die perfekte Symbiose wunderschöner alter Geräte mit neuester Technik.
Jedenfalls war es noch nie so einfach unter Linux eine TDM410 am Asterisk einzurichten und zu
betreiben. Dementsprechend kurz geraten die nun folgenden Ausfuehrungen.
Mein Vorgehen war wie folgt. Es ist nur ein Beispiel und natuerlich *ohne jede Gewaehr*.
Verbesserungsvorschlaege sind wie immer willkommen.
Vorgehen:
- Bestückung der Karte mit den gewünschten FXS/FXO Modulen (ich beziehe mich hier auf 4x FXS Bestückung)
- Installation eines minimalen Debian 11 (aka Bullseye). z.B. mit 'network install'
- eine sshd muss am Ende laufen
Vorschlag fuer das Debian-Repository
/etc/apt/sources.list:
Repository aktivieren
Installieren der Pakete zum Bau der DAHDI Treiber
Installieren der DAHDI Treiber Sourcen
Installieren von asterisk + asterisk-module
Bau der DAHDI Treiber + Installation
Blacklisten diverser Treiber z.B. in neuem File
/etc/modprobe.d/blklist_telephony_drivers.conf:
reboot
nach reboot darf folgendes Kommando keine Ausgabe haben (d.h. Treiber sind nicht geladen):
Test ob die gesteckte Karte prinzipiell erkannt wird mit
das ergibt fuer meine TDM410 (Beispiel) diese Ausgabe:
zur Konfiguration der 4 Analog-Ports (FXS/FXO) dahdi manuell im auto_assign mode starten
TDM410 Treiber manuell laden
es sollte in den 'dmesg' der FXS/FXO Bestückung zur Folge (siehe oben) entsprechend
div. Eintraege erscheinen. Ein Beispiel fuer meine Karte:
/var/log/messages:
wie ersichtlich laufen bei mir 4x FXS Ports.
Zudem erkennt man Eintraege im /sys Filesystem, die wir jetzt in ein Konfigurationsfile schreiben lassen:
das erzeugt 3 Konfigurationsfiles, die abhaengig von der Hardware
verschieden aussehen. Fuer meine Hardware sehen sie beispielsweise so aus:
/etc/dahdi/assigned-spans.conf:
/etc/dahdi/system.conf:
/etc/asterisk/dahdi-channels.conf:
wie ersichtlich wird die Modulbestückung automatisch ausgelesen und hinterlegt.
Nummerierung der 4 Analog-Ports bei Draufsicht auf das Slotblech (liegende Karte, Bauteilseite nach oben) ist wie folgt:
der Blacklisteintrag fuer wctdm24xxp wird nun wieder entfernt (auskommentiert),
damit der Treiber in Zukunft automatisch geladen wird
/etc/modprobe.d/blklist_telephony_drivers.conf:
das eben erzeugte dahdi-channels.conf muss dem System noch bekannt gemacht werden
z.B. durch ein #include am Ende von chan_dahdi.conf
ein nun folgender Reboot sollte alle Treiber automatisch laden:
liefert in meinem Fall:
fuer einen ersten Test wird nun ein Analog-Telefon mit einem der FXS-Ports der Karte verbunden.
Es sollte nach Abheben des Hoerers bereits ein wunderschoener Waehlton zu hoeren sein
falls ja -> herzliche Gratulation/ Installation war erfolgreich
Nachdem die ehemals teuren Digium Analog Karten in der Bucht inzwischen fuer 'n Appel und 'n Ei
zu bekommen sind, sollte dem Spass damit keine Grenzen mehr gesetzt sein
Insbesondere kann man schoene SIP_2_FXS/FXO Gateways bauen um z.B. die Provider-Zwangstelefonie
mit Analogports zu umgehen und auf SIP umzusetzen.
Beispiel für einen kompakten, stromsparenden™ Hardwareaufbau:
- Intel® Desktop Board D945GSEJT, 2GB Speicher
- Digium Wildcard TDM410
- Delock PCI Riser Card #181086
- SanDisk Cruzer Fit Z33 16GB USB-Stick (root disk)
- 12V Netzteil
Im Endeffekt habe ich in meiner alten Hardware lediglich die HFC-4S / HFC-8S durch eine Digium Wildcard TDM410(PCI) ersetzt. Für PCIe müsste man die AEX410 nehmen.
Die komplette Softwareinstallation von damals konnte für's erste völlig unverändert bleiben. Lediglich die Konfiguration musste angepasst werden.
Der Vollständigkeit halber möchte ich hier aber gleich eine Beschreibung auf Basis des neuesten Debian vorstellen.
debian version: 11
dahdi version: 2.11.1.0
asterisk version: 16
Die TDM410 Karten sind derzeit in der E-Bucht für sensationelle 25€(!) incl. 4-fach FXS Bestückung zu haben.
Mit mindestens einem FXO Port ideal geeignet um z.B. die Zwangs-Analogports der Provider Modems auf eigenes SIP umzusetzen. Somit
braucht man sich gar nicht mehr erst um die Herausgabe der Provider SIP-Daten zu kümmern.
Die Karte unterstützt an jedem Port bis zu satte 5 REN (ringer equivalence number) und versteht sogar noch Impulswahl.
Somit kann selbst ein Bakelit Tischfernsprecher W 48 ohne Einschränkung direkt am FXS Port betrieben werden
Die perfekte Symbiose wunderschöner alter Geräte mit neuester Technik.
Jedenfalls war es noch nie so einfach unter Linux eine TDM410 am Asterisk einzurichten und zu
betreiben. Dementsprechend kurz geraten die nun folgenden Ausfuehrungen.
Mein Vorgehen war wie folgt. Es ist nur ein Beispiel und natuerlich *ohne jede Gewaehr*.
Verbesserungsvorschlaege sind wie immer willkommen.
Vorgehen:
- Bestückung der Karte mit den gewünschten FXS/FXO Modulen (ich beziehe mich hier auf 4x FXS Bestückung)
- Installation eines minimalen Debian 11 (aka Bullseye). z.B. mit 'network install'
- eine sshd muss am Ende laufen
Vorschlag fuer das Debian-Repository
/etc/apt/sources.list:
Code:
deb https://deb.debian.org/debian/ bullseye main contrib non-free
deb-src https://deb.debian.org/debian/ bullseye main contrib non-free
deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free
deb-src http://deb.debian.org/debian-security/ bullseye-security main contrib non-free
deb http://deb.debian.org/debian/ bullseye-updates main contrib non-free
deb-src http://deb.debian.org/debian/ bullseye-updates main contrib non-free
Repository aktivieren
Code:
apt update
apt upgrade
Installieren der Pakete zum Bau der DAHDI Treiber
Code:
apt build-dep dahdi-source
Installieren der DAHDI Treiber Sourcen
Code:
apt install dahdi-source
Installieren von asterisk + asterisk-module
Code:
apt install asterisk-dahdi
Bau der DAHDI Treiber + Installation
Code:
m-a -t a-i dahdi
Blacklisten diverser Treiber z.B. in neuem File
/etc/modprobe.d/blklist_telephony_drivers.conf:
Code:
# modules are explicitly loaded as of /etc/dahdi/modules, so don't load by default
blacklist hfcpci
blacklist hfcsusb
blacklist hfcmulti
blacklist mISDN_dsp
blacklist mISDN_core
blacklist mISDN_dsp_oslec
blacklist wcb4xxp
blacklist zaphfc
# loaded automatically by wcb4xxp/wctdm24xxp so blacklist here
blacklist dahdi
# encomment for WCTDM/0 "Wildcard TDM410P" cards after autoprobe [ dahdi_genconf -v ]
blacklist dahdi_transcode
blacklist wctdm24xxp
reboot
Code:
init 6
nach reboot darf folgendes Kommando keine Ausgabe haben (d.h. Treiber sind nicht geladen):
Code:
lsmod | egrep -i 'hfc|isdn|crc_ccitt|echo|dahdi|wcb4|wct'
Test ob die gesteckte Karte prinzipiell erkannt wird mit
Code:
dahdi_hardware -v
das ergibt fuer meine TDM410 (Beispiel) diese Ausgabe:
Code:
pci:0000:05:00.0 wctdm24xxp- d161:8005 Wildcard TDM410P
zur Konfiguration der 4 Analog-Ports (FXS/FXO) dahdi manuell im auto_assign mode starten
Code:
modprobe dahdi auto_assign_spans=1
TDM410 Treiber manuell laden
Code:
modprobe wctdm24xxp
es sollte in den 'dmesg' der FXS/FXO Bestückung zur Folge (siehe oben) entsprechend
div. Eintraege erscheinen. Ein Beispiel fuer meine Karte:
/var/log/messages:
Code:
Oct 1 18:18:57 debootbullseye32 kernel: [ 178.748785] dahdi: loading out-of-tree module taints kernel.
Oct 1 18:18:57 debootbullseye32 kernel: [ 178.770222] dahdi: module verification failed: signature and/or required key missing - tainting kernel
Oct 1 18:18:57 debootbullseye32 kernel: [ 178.794100] dahdi: Version: 2.11.1.0.20170917
Oct 1 18:18:57 debootbullseye32 kernel: [ 178.817290] dahdi: Telephony Interface Registered on major 196
Oct 1 18:20:40 debootbullseye32 kernel: [ 281.832223] wctdm24xxp 0000:05:00.0: Port 1: Installed -- AUTO FXS/DPO
Oct 1 18:20:40 debootbullseye32 kernel: [ 281.854424] wctdm24xxp 0000:05:00.0: Port 2: Installed -- AUTO FXS/DPO
Oct 1 18:20:40 debootbullseye32 kernel: [ 281.876178] wctdm24xxp 0000:05:00.0: Port 3: Installed -- AUTO FXS/DPO
Oct 1 18:20:40 debootbullseye32 kernel: [ 281.898536] wctdm24xxp 0000:05:00.0: Port 4: Installed -- AUTO FXS/DPO
Oct 1 18:20:40 debootbullseye32 kernel: [ 281.922020] wctdm24xxp 0000:05:00.0: Found a Wildcard TDM: Wildcard TDM410P (0 BRI spans, 4 analog channels)
Oct 1 18:20:40 debootbullseye32 'dahdi_handle_device'[505]: add: /devices/pci0000:00/0000:00:1e.0/0000:05:00.0/pci:0000:05:00.0
Oct 1 18:20:40 debootbullseye32 'dahdi_handle_device'[510]: auto_assign_spans=1. Skip /devices/pci0000:00/0000:00:1e.0/0000:05:00.0/pci:0000:05:00.0
Oct 1 18:20:40 debootbullseye32 'dahdi_span_config'[518]: add: /devices/pci0000:00/0000:00:1e.0/0000:05:00.0/pci:0000:05:00.0/span-1
Oct 1 18:20:40 debootbullseye32 'dahdi_span_config'[520]: auto_assign_spans=1. Skip /devices/pci0000:00/0000:00:1e.0/0000:05:00.0/pci:0000:05:00.0/span-1
Oct 1 18:20:40 debootbullseye32 'dahdi_span_config'[528]: UNHANDLED: bind: /devices/pci0000:00/0000:00:1e.0/0000:05:00.0/pci:0000:05:00.0/span-1
wie ersichtlich laufen bei mir 4x FXS Ports.
Zudem erkennt man Eintraege im /sys Filesystem, die wir jetzt in ein Konfigurationsfile schreiben lassen:
Code:
dahdi_genconf -v
das erzeugt 3 Konfigurationsfiles, die abhaengig von der Hardware
verschieden aussehen. Fuer meine Hardware sehen sie beispielsweise so aus:
/etc/dahdi/assigned-spans.conf:
Code:
# Device: [] @PCI_Bus_05_Slot_01 /sys/devices/pci0000:00/0000:00:1e.0/0000:05:00.0/pci:0000:05:00.0
/sys/devices/pci0000:00/0000:00:1e.0/0000:05:00.0/pci:0000:05:00.0 1:1:1
/etc/dahdi/system.conf:
Code:
# Span 1: WCTDM/0 "Wildcard TDM410P" (MASTER)
fxoks=1
echocanceller=oslec,1
fxoks=2
echocanceller=oslec,2
fxoks=3
echocanceller=oslec,3
fxoks=4
echocanceller=oslec,4
# Global data
loadzone = us
defaultzone = us
/etc/asterisk/dahdi-channels.conf:
Code:
; Span 1: WCTDM/0 "Wildcard TDM410P" (MASTER)
;;; line="1 WCTDM/0/0"
signalling=fxo_ks
callerid="Channel 1" <4001>
mailbox=4001
group=5
context=from-internal
channel => 1
callerid=
mailbox=
group=
context=default
;;; line="2 WCTDM/0/1"
signalling=fxo_ks
callerid="Channel 2" <4002>
mailbox=4002
group=5
context=from-internal
channel => 2
callerid=
mailbox=
group=
context=default
;;; line="3 WCTDM/0/2"
signalling=fxo_ks
callerid="Channel 3" <4003>
mailbox=4003
group=5
context=from-internal
channel => 3
callerid=
mailbox=
group=
context=default
;;; line="4 WCTDM/0/3"
signalling=fxo_ks
callerid="Channel 4" <4004>
mailbox=4004
group=5
context=from-internal
channel => 4
callerid=
mailbox=
group=
context=default
wie ersichtlich wird die Modulbestückung automatisch ausgelesen und hinterlegt.
Nummerierung der 4 Analog-Ports bei Draufsicht auf das Slotblech (liegende Karte, Bauteilseite nach oben) ist wie folgt:
Code:
1 2 3 4
der Blacklisteintrag fuer wctdm24xxp wird nun wieder entfernt (auskommentiert),
damit der Treiber in Zukunft automatisch geladen wird
/etc/modprobe.d/blklist_telephony_drivers.conf:
Code:
# modules are explicitly loaded as of /etc/dahdi/modules, so don't load by default
blacklist hfcpci
blacklist hfcsusb
blacklist hfcmulti
blacklist mISDN_dsp
blacklist mISDN_core
blacklist mISDN_dsp_oslec
blacklist wcb4xxp
blacklist zaphfc
# loaded automatically by wcb4xxp/wctdm24xxp so blacklist here
blacklist dahdi
# encomment for WCTDM/0 "Wildcard TDM410P" cards after autoprobe [ dahdi_genconf -v ]
#blacklist dahdi_transcode
#blacklist wctdm24xxp
das eben erzeugte dahdi-channels.conf muss dem System noch bekannt gemacht werden
z.B. durch ein #include am Ende von chan_dahdi.conf
Code:
echo '#include dahdi-channels.conf' >> /etc/asterisk/chan_dahdi.conf
ein nun folgender Reboot sollte alle Treiber automatisch laden:
Code:
lsmod | egrep -i 'hfc|isdn|crc_ccitt|echo|dahdi|wcb4|wct'
liefert in meinem Fall:
Code:
dahdi_echocan_oslec 16384 1
echo 16384 1 dahdi_echocan_oslec
wctdm24xxp 98304 1
dahdi_voicebus 61440 1 wctdm24xxp
dahdi_transcode 16384 0
dahdi 212992 6 wctdm24xxp,dahdi_transcode,dahdi_voicebus,dahdi_echocan_oslec
fuer einen ersten Test wird nun ein Analog-Telefon mit einem der FXS-Ports der Karte verbunden.
Es sollte nach Abheben des Hoerers bereits ein wunderschoener Waehlton zu hoeren sein
falls ja -> herzliche Gratulation/ Installation war erfolgreich
Nachdem die ehemals teuren Digium Analog Karten in der Bucht inzwischen fuer 'n Appel und 'n Ei
zu bekommen sind, sollte dem Spass damit keine Grenzen mehr gesetzt sein
Insbesondere kann man schoene SIP_2_FXS/FXO Gateways bauen um z.B. die Provider-Zwangstelefonie
mit Analogports zu umgehen und auf SIP umzusetzen.
Beispiel für einen kompakten, stromsparenden™ Hardwareaufbau:
- Intel® Desktop Board D945GSEJT, 2GB Speicher
- Digium Wildcard TDM410
- Delock PCI Riser Card #181086
- SanDisk Cruzer Fit Z33 16GB USB-Stick (root disk)
- 12V Netzteil
Zuletzt bearbeitet: