Zaptel Treiber für beliebige HFC Karten
Wer sein "normales" ISDN-Telefon oder seine Telefonanlage an die Asterisk anschließen möchte, braucht dafür eine ISDN-Karte, die den NT-Mode beherrscht. NT steht für Netzwerk-Terminierung und bedeutet hier, dass den ISDN-Geräten ein Amt vorgegaukelt wird.
Alle Karten mit HFC Chipsatz - zu erkennen am Kölner Dom Symbol auf dem Chip - berherrschen den NT-Mode. Bei Conrad gibt es solch eine Karte für ca. 25 EUR, für mehr als 2 Ports gibt es sehr gute Karten von Junghanns.
Capi, Zaptel, oder was?
Es gibt mehrere Treiber für ISDN-Karten:
- CAPI
- mISDN
- Zaptel
CAPI wird mittlerweile als deprecated betrachtet, der Trend geht hin zu mISDN, aber für manche Features wie meetme braucht man den "Zaptel" Treiber zusammen mit "bristuff", im uebrigen scheint mISDN noch erhebliche Probleme mit NT-Mode zu haben. Das Modul "zaphfc" - bzw. das insbesondere auf Mehrkartenbetrieb verbesserte "vzaphfc" - gibt es mittlerweile für alle Karten mit HFC Chipsatz und ist für uns das Mittel der Wahl.
Unter Debian gibt es verschiedene Pakete, die Asterisk liefern: asterisk, asterisk-classic und asterisk-bristuff. Wir installieren die bristuff Variante mit "apt-get update; apt-get install asterisk-bristuff".
Leider ist bei Debian das zaphfc-Modul nur als Sourcecode im Repository, daher müssen wir es uns für unseren Kernel selbst compilieren:
15.12.2006 UPDATE: Mittlerweile kann man unter Debian das Modul auch mit "module-assistant" bauen und installieren.
zaphfc Modul für Debian
#
# Preparing the kernel
#
VERSION=2.6.17-2-vserver-686
cd /usr/src
apt-get install linux-headers-${VERSION}
ln -s linux-headers-${VERSION} linux-2.6
ln -s linux-2.6 linux
cp /boot/config-${VERSION} linux/.config
#
# Building zaphfc and the rest of the zaptel modules
#
apt-get install zaptel-source
tar xvjf zaptel.tar.bz2
cd /usr/src/modules/zaptel/
debian/rules binary-modules
# Installing the Zaptel packages
# Ignore the following error for now
##################################################################
# Zaptel telephony kernel driver: FATAL: Module ztdummy not found.
# Notice: Configuration file is /etc/zaptel.conf
# line 0: Unable to open master device '/dev/zap/ctl'
#
# 1 error(s) detected
#
# /sbin/ztcfg failed. Check /etc/zaptel.confzaptel.
##################################################################
cd /usr/src
apt-get install fxload zaptel
dpkg -i zaptel-modules-${VERSION}*.deb
echo "zaphfc modes=1" >> /etc/modules
echo "blacklist vzaphfc" >> /etc/modprobe.d/blacklist
modprobe zaphfc
/etc/init.d/zaptel restart
#
# /etc/zaptel.conf:
#
span=1,1,3,ccs,ami
bchan=1-2
dchan=3
loadzone=de
defaultzone=de
#
# /etc/asterisk/zapata.conf
#
[channels]
switchtype=euroisdn
signalling=bri_net_ptmp
pridialplan=local
echocancel=yes
immediate=no
overlapdial=yes
group=1
context=extern
channel=>1-2
pridialplan=unknown
prilocaldialplan=unknown
PTP? PTMP?
PTMP steht für "Point to Multipoint" und bedeutet "Mehrgeräteanschluss", also das ganz normale ISDN.
PTP steht für "Point to Point" und bedeutet "Anlagenanschluss".
Kabelbelegung
Damit das ganze Funktioniert, müssen wir uns noch ein Crossover Kabel zusammenbasteln. Die Stecker sind dieselben wie bei Ethernet. Aber die Belegung ist bei ISDN anders.
Bei einem normalen ISDN-Kabel befinden sich in der Steckermitte die Adern 1a (TX+) und 1b (TX-). Aussen neben 1a befindet sich 2a (RX+) und neben 1b befindet sich 2b (RX-).
Wir müssen jetzt - natürlich nur an einem der beiden Kabelenden ;) - RX (Empfangen) und TX (Senden) vertauschen, die inneren Adern müssen nach außen, und die äußeren nach innen:
-- -- 2a 1a 1b 2b -- --
X X
-- -- 1a 2a 2b 1b -- --
NTBA
Für Endgeräte ohne eigene Spannungsversorgung braucht man zusätzlich noch einen NTBA. Den NTBA schließt man mit dem Crosskabel an die ISDN-Karte an, und die Endgeräte werden dann mit gewöhnlichen ISDN-Kabeln an den NTBA angeschlossen.
Dial mit Zaptel
Wenn Euer Telefon auf die MSN 98765432 hört, könntet Ihr folgende Extension verwenden, um Euer Telefon von der Asterisk aus zu erreichen.
exten => 12345,1,Dial(Zap/g2/98765432)
Das "kleine g" gefolgt von "2" bedeutet: Verwende den Zap channel mit der niedrigsten Nummer, der noch nicht belegt ist, aus Gruppe 2 (definiert in zapata.conf: group = 2).
Um vom Telefon aus zu wählen, müsst Ihr nichts besonderes beachten, die vom Telefon gewählte Nummer wird im jeweiligen context, den Ihr in der /etc/asterisk/zapata.conf konfiguriert habt, eingespeist und wie gewohnt abgearbeitet.