B.5. Installation einer BeroFix-Karte
Warnung
Dieses Kapitel ist noch nicht fertiggestellt (work in
progress). Bitte melden Sie eventuelle Fehler oder
Verbesserungswünsche an sw@wintermeyer-consulting.de
Die 2009 von beroNet
vorgestellte BeroFix-ISDN-Karten-Serie geht einen anderen Weg als klassische
ISDN-Karten. Die beroFix agiert als eigenständiges Media-Gateway und wird
vom System aus nicht wie eine ISDN- sondern wie eine Netzwerk-Karte
angesprochen. Die Kommunikation mit Asterisk erfolgt dann normal per
SIP-Protokoll. Die Vorteile liegen auf der Hand: Man ist bei Asterisk- oder
Kernel-Updates nicht darauf angewiesen, dass man auch einen passenden
ISDN-Treiber bekommt.
Diese Installationsanleitung dient zur Installation eines
Asterisk-Systems mit einer beroNet beroFix ISDN-Karte. Die Karte muss dafür
bereits in dem System eingebaut sein.
Anmerkung
Die hier aufgeführte Installationsanleitung gilt für ein
Asterisk-System mit allen in diesem Buch beschriebenen Features (bei
Ausnahmen wird dies gesondert besprochen). Deshalb ist die Installation
etwas umfangreicher. Das hat aber auch den Vorteil, dass Sie in der
Zukunft nicht noch einmal etwas nachinstallieren müssen.
Es wird ein frisch installiertes Debian GNU/Linux 4
(„Etch“) vorausgesetzt.
Bitte loggen Sie sich nach der Installation als Benutzer
root
am System ein, und führen Sie alle hier angegebenen
Befehle mit diesem Benutzer aus.Als Erstes stellen Sie sicher, dass
apt
alle aktuellen
Paketlisten zur Verfügung hat:debian:~#apt-get update
Hole:1 http://ftp.de.debian.org etch Release.gpg [378B] Hole:2 http://security.debian.org etch/updates Release.gpg [189B] OK http://ftp.de.debian.org etch Release[...]
Es wurden 2B in 0s geholt (3B/s) Paketlisten werden gelesen... Fertig debian:~#
Um sicherzugehen, dass alle Pakete auf dem neuesten Stand sind, führen
Sie noch ein Upgrade aus:
debian:~# apt-get -y upgrade
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut... Fertig
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
debian:~#
Für den Fall, dass beim Upgrade der Pakete auch ein neuer Kernel
installiert wurde, müssen Sie jetzt das System rebooten:
debian:~#shutdown -r now
[...]
The system is going down for reboot NOW!
Loggen Sie sich nach dem Booten bitte wieder als
root
ein.Jetzt müssen Sie noch ein paar Pakete nachinstallieren, damit das
Kompilieren von Asterisk erfolgreich durchgeführt werden kann:
debian:~#apt-get -y install build-essential \ libncurses5-dev libcurl3-dev libnewt-dev libusb-dev \ libvorbis-dev libspeex-dev unixodbc unixodbc-dev \ libiksemel-dev linux-headers-`uname -r` flex bc pciutils bridge-utils
[...]
Die folgenden NEUEN Pakete werden installiert: bc binutils build-essential ca-certificates comerr-dev cpp cpp-4.1 defoma dpkg-dev file flex fontconfig fontconfig-config g++ g++-4.1 gcc gcc-4.1 bridge-utils[...]
debian:~#
Als Nächstes wechseln Sie in das Verzeichnis
/usr/src:
debian:~# cd /usr/src
debian:/usr/src#
Auf der Asterisk-Homepage http://www.asterisk.org/ finden Sie
die notwendigen Quellen, um Asterisk mit allen sinnvollen Extras zu
installieren. Nehmen Sie bitte eine stabile
und keine Entwickler-Version, und laden Sie diese in das Verzeichnis
/usr/src/
herunter:debian:/usr/src#wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.4.19.2.tar.gz
[...]
18:53:47 (227.00 KB/s) - »asterisk-1.4.19.2.tar.gz« gespeichert debian:/usr/src#
Die komprimierten Dateien werden jetzt entpackt:
debian:/usr/src#tar xvzf asterisk-1.4.19.2.tar.gz
asterisk-1.4.19.2/ asterisk-1.4.19.2/build_tools/ asterisk-1.4.19.2/build_tools/menuselect-deps.in[...]
debian:/usr/src#
Als erstes gehen Sie in das Asterisk-Verzeichnis und kompilieren und
installieren Asterisk:
debian:/usr/src#cd /usr/src/asterisk-1.4.19.2
debian:/usr/src/asterisk-1.4.19.2#./configure && make && make install
checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes[...]
make[1]: Leaving directory `/usr/src/asterisk-1.4.19.2/main' +---- Asterisk Installation Complete -------+ + + + YOU MUST READ THE SECURITY DOCUMENT + + + + Asterisk has successfully been installed. + + If you would like to install the sample + + configuration files (overwriting any + + existing config files), run: + + + + make samples + + + +----------------- or ---------------------+ + + + You can go ahead and install the asterisk + + program documentation now or later run: + + + + make progdocs + + + + **Note** This requires that you have + + doxygen installed on your local system + +-------------------------------------------+ debian:/usr/src/asterisk-1.4.19.2#
Die eben kompilierten Programmdateien sind jetzt auf dem System
installiert. Allerdings finden Sie im Asterisk-Konfigurationsverzeichnis
/etc/asterisk/
noch gähnende Leere vor. In diesem
Verzeichnis liegen die Konfigurationsdateien von Asterisk. Da Sie sicher
nicht bei null beginnen möchten, lassen Sie sich die Standarddateien
erstellen:debian:/usr/src/asterisk-1.4.19.2#make samples
[...]
debian:/usr/src/asterisk-1.4.19.2#
Damit Asterisk beim Booten des Rechners auch automatisch gestartet und
bei einem Shutdown auch ordentlich heruntergefahren wird, benötigen wir noch
entsprechende Init-Skripte. Diese können mit dem von den Entwicklern etwas
unglücklich benannten Befehl
make
config
erstellt werden:debian:/usr/src/asterisk-1.4.19.2# make config
Adding system startup for /etc/init.d/asterisk ...
/etc/rc2.d/K91asterisk -> ../init.d/asterisk
/etc/rc3.d/K91asterisk -> ../init.d/asterisk
/etc/rc4.d/K91asterisk -> ../init.d/asterisk
/etc/rc5.d/K91asterisk -> ../init.d/asterisk
/etc/rc2.d/S50asterisk -> ../init.d/asterisk
/etc/rc3.d/S50asterisk -> ../init.d/asterisk
/etc/rc4.d/S50asterisk -> ../init.d/asterisk
/etc/rc5.d/S50asterisk -> ../init.d/asterisk
debian:/usr/src/asterisk-1.4.19.2#
Fertig! Asterisk ist auf Ihrem System installiert. Mit dem Befehl
asterisk -V
können Sie die installierte Version
herausfinden (bitte achten Sie auf das großgeschriebene V):debian:/usr/src/asterisk-1.4.19.2# asterisk -V
Asterisk 1.4.19.2
debian:/usr/src/asterisk-1.4.19.2# cd
debian:~#
B.5.1. Konfiguration der ISDN-Karte
Die beroFix-Karte benutzt einen Realtek-8139-Netzwerkchip
um mit dem Asterisk-„Wirtssystem“ (host
system) zu kommunizieren. Deshalb ist es nicht notwendig
spezielle Treiber zu kompilieren; der Netzwerkkartentreiber wird vom
Betriebsystem mitgeliefert. Das Schema für eine beroFix-Karte sieht etwa
so aus:
LAN <———> Netzwerkkarte (eth0) <—> PC <—> BeroFix-Netzwerkkarte (eth1) <———> BeroFix-CPU
Das bedeutet der Host erhält durch die BeroFix eine weitere
Netzwerkkarte, die einer IP-Konfiguration bedarf. In solch einem Scenario
bietet sich die Konfiguration durch eine Ethernet Bridge an, die die
beiden Netzwerk-Interfaces
eth0
und
eth1
zu einem bridge device
br0
zusammenfasst.Folgenden Schritte sind nötig um eine beroFix richtig zu
installieren:
- Netzwerk-Brücke einrichten
- SIP, ISDN und Routing einrichten
- SIP-Peer in Asterisk einrichten
Netwerkbrücke einrichten
Zunächst sollten sie mit
ifconfig
-a
prüfen ob die Karte vom System als zweite
Netzwerkkarte erkannt wurde:debian:~# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:0C:6E:D3:86:C6
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:797562 errors:0 dropped:0 overruns:0 frame:0
TX packets:35206 errors:20 dropped:0 overruns:0 carrier:20
collisions:7447 txqueuelen:1000
RX bytes:141351732 (134.8 MiB) TX bytes:19431622 (18.5 MiB)
Interrupt:11 Base address:0xc000
eth1 Link encap:Ethernet HWaddr 00:50:C2:83:D0:01
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:35124 errors:0 dropped:0 overruns:0 frame:0
TX packets:276362 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:20636164 (19.6 MiB) TX bytes:28931756 (27.5 MiB)
Interrupt:11 Base address:0xa000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:9 errors:0 dropped:0 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:720 (720.0 b) TX bytes:720 (720.0 b)
Sie erkennen die beroFix an der MAC-Adresse, diese sollte mit
00:50:C2
beginnen. In diesem Beispiel ist
eth1
die beroFix.Um die Netzwerkbrücke manuell einzurichten können sie die
bridge-utils
verwenden und müssen ein paar
Kommandozeilen eingeben:debian:~#ifconfig eth0 0.0.0.0 up
debian:~#ifconfig eth1 0.0.0.0 up
debian:~#brctl addbr br0
debian:~#brctl addif br0 eth0
debian:~#brctl addif br0 eth1
debian:~#ifconfig br0 10.0.0.3 up
Diese Kommandos entfernen die IP-Adressen der Netzwerkkarten,
erzeugen eine Brücke
br0
, fügen der Brücke die
beiden Netzwerkkarten hinzu und geben der Brücke die IP-Adresse
10.0.0.3.Um die Netzwerk-Konfiguration für die Brücke persistent
einzurichten, erweitern sie die Konfigurationsdatei
/etc/network/interfaces
mit einem Texteditor wie
folgt:auto lo
iface lo inet loopback
auto br0
iface br0 inet static
address 10.0.0.3
netmask 255.0.0.0
gateway 10.0.0.1
bridge_ports eth0 eth1
Nun können Sie mit
/etc/init.d/networking
restart
die Netzwerk-Konfiguration
aktivieren.debian:~# /etc/init.d/networking restart
* Reconfiguring network interfaces... [ OK ]
Die Default-IP-Addresse der beroFix ist 10.0.0.2. Es sollte nun möglich sein die
Weboberfläche der berofix zu erreichen. Tippen sie dazu einfach in einem
Browser die URL
http://10.0.0.2
ein. Der
Standard-Benutzername ist „admin“ und das Standard-Passwort
ebenfalls „admin“.SIP, ISDN und Routing einrichten
Die beroFix wird vollständig über die Web-Benutzeroberfläche
konfiguriert. Loggen Sie sich dazu bitte mit einem Browser auf
http://10.0.0.2
mit den Benutzerdaten
„admin“/„admin“ ein. Sie werden nun eine
Weboberfläche mit den folgenden Menüpunkten sehen:- Hardware – zum Einrichten von ISDN-Parametern wie TE/NT, PtP und PtMP
- ISDN – zum Gruppieren von ISDN-Ports
- SIP – zum Verwalten von SIP-Servern
- Dialplan – zum Verwalten des Routings
Zunächst sollten Sie die ISDN-Hardware prüfen und entsprechend
Ihrem Anschluss konfigurieren. TE und NT wird auf der Karte automatisch
umgeschaltet, sodass keine Jumperung nötig sind. Als nächstes sollten
sie eine ISDN-Gruppe anlegen; vergeben Sie einfach als Namen
„BRI“.
Nun können Sie einen SIP-Server einrichten. Erstellen Sie einen
neuen Eintrag unter dem Menupunkt „SIP“ mit den Werten:
Name=„berofix“, User=„berofix“,
Secret=„berofix“.
SIP-Peer in Asterisk einrichten
Unter Asterisk wird die beroFix wie ein SIP-Gateway angesprochen,
deshalb muss dort in der
/etc/asterisk/sip.conf
ein
SIP-Peer eingerichtet werden. Fügen Sie dazu in der
sip.conf
die folgenden Zeilen ein:[berofix] type = friend secret = berofix host = 10.0.0.2 allow = all context = from-sip
Um nun mit einer führenden Null einen Ruf in Richtung ISDN zu
senden müssen Sie nun
chan_sip
verwenden; benutzen
Sie in der extensions.conf
dazu folgenden
Zeile:exten => _0X.,1,Dial(SIP/${EXTEN:1}@berofix)