|
talkmaster.de » Hardware » ISDN » Remote CAPI Linux-Linux
ISDN-Adapter Gerdes PrimuX
Primux Remote CAPI: Linux-Server zu Linux-Client
Zum Lieferumfang der PrimuX-ISDN-Adapter gehört die Software "Remote CAPI". Diese Seite erklärt, wie man auf einem "Server" unter einem Linux-Betriebssystem Remote CAPI bereitstellt und es auf einem Client unter Linux nutzt. Der Begriff "Server" bezeichnet dabei lediglich den Computer, der die ISDN-Hardware oder den SIP-Adapter besitzt.
Ein praktischer Anwendungsfall ist Asterisk unter Linux in einer VM (Virtual Machine), die auf einem Linux-Hostsystem läuft. Eine VM hat nie Zugriff auf Steckkarten. Wenn das Trägersystem zudem USB nicht durchschleift, kann das Gastsystem keinerlei direkten Zugriff auf ISDN-Hardware erlangen. Aber wenn das Trägersystem selbst mit einer ISDN-Karte und CAPI ausgestattet wird, kann es mittels Remote CAPI dem Linux-Gastsystem Zugriff auf sein CAPI gewähren.
So funktioniert es auf dem Server-Computer unter Linux Debian:
- Wenn es sich um ein 64-bit-System handelt, fügen Sie im Terminal mit Root-Rechten die 32-bit-Architektur hinzu: "# dpkg --add-architecture i386". Führen Sie ein Update des Paketmanagers aus: "# apt-get update".
- Falls das Paket "Linux Standard Base" nicht installiert ist, fügen Sie es hinzu: # apt-get install lsb-core".
- Installieren Sie Bibliotheken, die für die Kompilierung notwendig sind: "# apt-get install libc6:i386 zlib1g:i386 build-essential gcc-multilib rpm libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386 libpam0g:i386".
- Installieren Sie Tools und Bibliotheken, die für CAPI notwendig sind: "# apt-get install asterisk-dev capiutils libcapi20-3 libcapi20-dev".
- Installieren Sie die Kernel-Header: "# apt-get install linux-headers-$(uname -r)"
- Erstellen Sie zum Herunterladen des PrimuX-Treiber ein neues Verzeichnis: "# mkdir primuxdriver"
- Wechseln Sie in das Verzeichnis: "# cd primuxdriver".
- Ermitteln Sie auf http://www.gerdes-ag.de/service/primux/downloads/, Reiter "Linux-Treiber" den Download-Link.
- Laden Sie den Treiber herunter, z. B. mit folgendem im Oktober 2016 gültigen Link: "# wget https://www.gerdes-ag.de/fileadmin/downloads/primux-3.9.15.tar.bz2"
- Entpacken Sie das Archiv: "# tar xvfj primux-3.9.15.tar.bz2"
- Führen Sie das Setup in dem Verzeichnis aus: "# ./setup.sh". Bestätigen Sie alle Fragen mit "y".
- Aktivieren Sie im PrimuX-Treiber Remote CAPI:
- Wechseln Sie in das Primux-Verzeichnis: "# cd /usr/lib/primux".
- Starten Sie den Remote-CAPI-Daemon: "# ./rmtcapi -i". Falls Sie statt des Standard-Ports 4711 z. B. 4712 verwenden möchten, benutzen Sie "# ./rmtcapi -i -p 4712". Falls Sie den Zugriff nur einer bestimmten IP-Adresse erlauben möchten, geben Sie die IP-Adresse mit, z. B. "# ./rmtcapi -i -p 4712 192.168.1.80".
- Geben Sie in der Firewall des Servers den TCP-Port frei.
So funktioniert es auf dem Client-Computer unter Linux am Beispiel von Debian 8 "Jessie" 64 bit:
- Fügen Sie die 32-bit-Architektur hinzu: "# dpkg --add-architecture i386". Führen Sie ein Update des Paketmanagers aus: "# apt-get update".
- Die Linux Standard Base ist unter Debian 8 im Grundzustand nicht installiert. Fügen Sie es hinzu: # apt-get install lsb-core".
- Installieren Sie Tools und Bibliotheken, die für CAPI notwendig sind: "# apt-get install asterisk-dev capiutils libcapi20-3 libcapi20-dev".
- Installieren Sie die Kernel-Header: "# apt-get install linux-headers-$(uname -r)"
- Erstellen Sie zum Herunterladen des PrimuX-Treiber ein neues Verzeichnis: "# mkdir primuxdriver"
- Wechseln Sie in das Verzeichnis: "# cd primuxdriver".
- Ermitteln Sie auf http://www.gerdes-ag.de/service/primux/downloads/, Reiter "Linux-Treiber" den Download-Link.
- Laden Sie den Treiber herunter, z. B. mit folgendem im Oktober 2016 gültigen Link: "# wget https://www.gerdes-ag.de/fileadmin/downloads/primux-3.9.15.tar.bz2"
- Entpacken Sie das Archiv: "# tar xvfj primux-3.9.15.tar.bz2"
- Führen Sie das Setup in dem Verzeichnis aus: "# ./setup.sh". Bestätigen Sie alle Fragen mit "y".
- Die wichtigen Verzeichnisse für die nachfolgende Kompilierung des chan_capi-Moduls sind:
Proprietäre Header-Dateien (u.a. capi20.h): /usr/include
Primux-Binaries: /usr/lib/primux
Falls im Setup Fehler auftreten, überprüfen Sie die Dateien in diesen Verzeichnissen auf Vollständigkeit.
- Wechseln Sie in das Primux-Verzeichnis: "# cd /usr/lib/primux".
- Aktivieren Sie den Verweis auf das Remote CAPI, das auf dem fernen Rechner läuft: # ./crmtconfig -i <ip:port> mit ip=IP-Adresse des fernen Rechners und port=TCP-Port, der dort im Remote CAPI definiert ist.
- Prüfen Sie die Einstellung mit # ./crmtconfig -d. Im Ergebnis werden IP-Adresse und Port des verbundenen Zielsystems angezeigt.
- Damit Asterisk mit CAPI kommuniziert, wird chan_capi benötigt. Geben Sie ein:
# mkdir src
# cd src
# curl -O ftp://ftp.chan-capi.org/chan-capi/chan_capi-HEAD.tgz
# tar xzf chan_capi-HEAD.tgz
# cd chan-capi-HEAD
- Während des Primux-Setups ist eine eigene libcapi20-3 erstellt worden. Es darf nicht die aus dem chan_capi-Paket verwendet werden. Hierfür die Zeile im Makefile so ändern: USE_OWN_LIBCAPI=no. Der Kompiler verwendet nun die vom Gerdes Primux-Setup installierte capi20.h und weitere Header-Dateien aus dem Verzeichnis /usr/include. Nur so erhält Asterisk mittels chan_capi Zugriff auf das Remote CAPI Device. Weitere Anpassungen dieser Datei (Pfade, 32bit vs 64bit System) brauchen Sie nur vorzunehmen, wenn es die Systemumgebung erfordert.
- Empfehlenswert ist ein vorheriges Aufräumen des Kompilierungsvorgangs: # make clean
- Kompilieren Sie chan_capi: # make -j 2
- Ignorieren Sie Warnmeldungen des Compilers wegen "unused variable".
- Starten Sie die Installation: # make install
- Wenn Sie das Modul zum ersten Mal auf dem System kompilieren und konfigurieren: # make install_config
- Öffnen Sie mittels Texteditor die Datei /etc/asterisk/modules.conf.
- Suchen Sie die Zeile '# load => chan_capi.so'. Entfernen Sie das Zeichen #, um die Zeile zu aktivieren. Falls die Zeile nicht vorhanden ist, fügen Sie sie an beliebiger Stelle hinzu.
- Suchen Sie in derselben Datei den Abschnitt [global]
- Ändern Sie die Zeile, in der "chan_capi" steht, auf 'chan_capi.so=yes'.
- Speichern Sie und schließen den Texteditor.
- Starten Sie Asterisk neu: # /etc/init.d/asterisk restart
Stand vom 28.02.2023
|