asterisk-1.4.4 & spandsp-0.0.3

Diesen Beitrag schrieb ich 16 Jahre und 8 Monate zuvor; die nachfolgenden Ausführungen müssen heute weder genau so nach wie vor funktionieren, noch meiner heutigen Meinung entsprechen. Behalte das beim Lesen (und vor allem: beim Nachmachen!) bitte stets im Hinterkopf.

Geschätzte Lesezeit: 2 Minuten

UPDATE: Diese Anleitung ist veraltet! Die spandsp-Entwickler haben die test-apps-asterisk offline genommen, auch über archive.org oder den Google-Cache konnte ich sie nicht mehr vollständig zusammenkriegen. Ein adäquater Ersatz für die test-apps-asterisk sind die agx-ast-addons, einsetzbar jedoch lediglich ab asterisk-1.4! Vgl. ggf. auch hier…

Hier mal quick & dirty eine Beschreibung, wie ich die Software ans Laufen bekomme – auf mehreren Produktivsystemen im Einsatz…

zaptel

$ cd /usr/src
$ wget http://ftp.digium.com/pub/zaptel/zaptel-1.4.3.tar.gz
$ tar xvfz zaptel-1.4.3.tar.gz
$ cd zaptel-1.4.3
$ make
$ make
$ make install

spandsp

$ cd /usr/src
$ wget http://soft-switch.org/downloads/spandsp/spandsp-0.0.3.tgz
$ tar xvfz spandsp-0.0.3.tgz
$ cd spandsp-0.0.3
$ ./configure
$ make
$ make install
$ echo "/usr/local/lib" >> /etc/ld.so.conf.d/i486-linux-gnu.conf
$ ldconfig
http://soft-switch.org/downloads/snapshots/spandsp/test-apps-asterisk-1.4/asterisk.patch

asterisk

$ cd /usr/src
$ wget http://ftp.digium.com/pub/asterisk/releases/asterisk-1.4.4.tar.gz
$ tar xvfz asterisk-1.4.4.tar.gz
$ cd asterisk-1.4.4/apps
$ wget http://soft-switch.org/downloads/snapshots/spandsp/test-apps-asterisk-1.4/app\_rxfax.c
$ wget http://soft-switch.org/downloads/snapshots/spandsp/test-apps-asterisk-1.4/app\_txfax.c
$ cd ..
$ wget http://soft-switch.org/downloads/snapshots/spandsp/test-apps-asterisk-1.4/asterisk.patch
$ patch -p0 < asterisk.patch
patching file build\_tools/menuselect-deps.in
Hunk #1 succeeded at 19 (offset 2 lines).
patching file configure.ac
Hunk #1 FAILED at 174.
Hunk #2 succeeded at 900 (offset 105 lines).
1 out of 2 hunks FAILED -- saving rejects to file configure.ac.rej
patching file makeopts.in
Hunk #1 succeeded at 133 (offset 13 lines).

Daher passen wir configure.ac manuell an und fügen in Zeile 198 – in der Zeile nach AST_EXT_LIB_SETUP([RADIUS], [Radius Client], [radius]) nun AST_EXT_LIB_SETUP([SPANDSP], [spandsp Library], [spandsp]) ein. Wunderbar.

$ cd /usr/src/asterisk-1.1.4/include
$ cp /usr/local/include/spandsp/plc.h .
$ cd ..
$ ./bootstrap.sh
$ ./configure

Nach dem ./configure muss in build-tools/menuselect-deps eine Zeile stehen, die etwas so ausschaut: SPANDSP=1

Und in makeopts sollte soetwas hier stehen: SPANDSP_LIB=-lspandsp -ltiff

Wenn nicht, ist bis hierhin schon etwas schief gelaufen!

$ make
$ make install
$ make samples

Es ist ein relativer Krampf, aber so funktioniert es ganz gut eigentlich. Mit spandsp-0.0.4pre${x} konnte ich es nicht zum Laufen bewegen. Wichtig ist, im laufenden asterisk dann auch zu überprüfen, dass die Applikationen wirklich vorhanden sind:

CLI> show application RxFax
CLI> show application TxFax

Sind sie es nicht, einfach mal den asterisk -vvvvc auf Konsole starten und schauen, welche Fehlermeldungen er bringt; ist es eine blafasel.so not found-Meldung, so wurde aller Wahrscheinlichkeit der Schritt bzgl. ldconfig vergessen… Naja, einfach mal ausprobieren.

Vor allem bei einem Update von 1.2.x auf 1.4.x sollte man ggf. /usr/lib/asterisk zumindest umbenennen, wenn schon nicht löschen, ehe man make install aufruft. Je nach verwendeter Hardware müssen unter Umständen auch die Treiber erneut gebacken werden.

Es kann passieren, dass der asterisk in sich zusammenbricht, sobald er ein Fax annehmen soll; setzt man die Konsole per core set verbose 17 mal auf gesprächig, so sieht man – je nach Wählplan – als letzten Aufruf den von RxFax nebst Parametern; der Disconnect von der asterisk-Konsole, der dann folgt, ist nicht nur ein Disconnect, sondern ein Komplettabsturz des Prozesses. In dem Fall: ganz von vorne anfangen.

Macht man im spandsp-0.0.3-Verzeichnis ein make uninstall, schmeißt er wirklich allen relevanten Kram raus – ein sehr nettes Feature, vor allem bei Updates von bestehenden Servern! Sourcen neu auspacken, komplett neu patchen, alles von vorne machen – dann sollte es tun…

Alle Bilder dieser Seite: © Marianne Spiller – Alle Rechte vorbehalten
Hintergrundbild: 849x 500px, Bild genauer anschauen – © Marianne Spiller – Alle Rechte vorbehalten

Eure Gedanken zu „asterisk-1.4.4 & spandsp-0.0.3“

Ich freue mich über jeden Kommentar, es sei denn, er ist blöd. Deshalb behalte ich mir auch vor, die richtig blöden kurzerhand wieder zu löschen. Die Kommentarfunktion ist über GitHub realisiert, weshalb ihr euch zunächst dort einloggen und „utterances“ bestätigen müsst. Die Kommentare selbst werden im Issue-Tracker und mit dem Label „✨💬✨ comment“ erfasst – jeder Blogartikel ist ein eigenes Issue. Über GitHub könnt ihr eure Kommentare somit jederzeit bearbeiten oder löschen.