Installation IAXmodem

IAXmodem ist eine Software, die ein Modem simuliert, und dieses Asterisk mit dem IAX2-Protokoll zur Verfügung stellt. Alle Schritte in diesem Kapitel werden als User root ausgeführt.

Um IAXmodem installieren zu können, benötigen wir noch einige Debian-Packete, die mit apt-get -y install g++ libtiff-tools libtiff4 libtiff4-dev installiert werden.

debian:~# apt-get -y install g++ libtiff-tools libtiff4 libtiff4-dev
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut... Fertig
Die folgenden zusätzlichen Pakete werden installiert:
  g++ libjpeg62 libjpeg62-dev libtiffxx0 zlib1g-dev

[...]

Richte zlib1g-dev ein (1.2.2-4.sarge.2) ...
Richte libtiff4-dev ein (3.7.2-7) ...

debian:~# 

Die Sourcen zu IAXmodem können auf der Webseite http://iaxmodem.sourceforge.net heruntergeladen werden (in diesem Beispiel ist es die Version 0.1.16). Nach dem Download muss der TarBall mit tar -xzf iaxmodem-0.1.16.tar.gz enpackt werden. Das Kompilieren geschieht danach mit den Befehlen ./configure und make. Das dabei entstehende Binary iaxmodem kopieren wir zum Schluss mit cp iaxmodem /usr/bin nach /usr/bin.

debian:~# tar xfz iaxmodem-0.1.16.tar.gz
debian:~# cd iaxmodem-0.1.16
debian:~# ./configure
debian:~# make
debian:~# cp iaxmodem /usr/bin

Jetzt kommen wir zur Konfiguration des Modems. IAXmodem sucht seine Konfiguration im Verzeichnis /etc/iaxmodem. Dieses müssen wir jetzt anlegen und in ihm eine Datei erzeugen, in der die Konfiguration steht. In dieser Datei müssen folgende Parameter angegeben werden:

device
Das ist das Device, das im /dev Verzeichnis angelegt wird. Über dieses Device kann später Hylafax auf das Modem zugreifen. Der Name des Devices ist frei wählbar, wir halten uns aber an die allgemeinen Konventionen und nennen es äquivalent zum Device für die serielle Schnittstelle ttyIAX0.
owner
Das ist der Eigentümer des Devices in der Form user:group. Es sollte derselbe User und dieselbe Gruppe sein, unter der Hylafax laufen soll.
port
Der Port, auf dem das IAXmodem lauscht. Da Asterisk auf Port 4569 auf IAX2-Verbindungen hört, sollte man hier einen anderen Port verwenden, z.B. 4570.
refresh
Das Intervall, nach dem sich das Modem erneut bei Asterisk registriert. Wenn dieses auf 0 steht, registriert sich das Modem nicht bei Asterisk.
server
Der Server, auf dem der Asterisk läuft. Wenn der Server derselbe ist, auf dem auch das IAXmodem läuft, steht hier die lokale Adresse 127.0.0.1.
peername
Der Name, unter dem sich das IAXmodem bei Asterisk registriert.
secret
Das Passwort zur Registrierung am Asterisk
codec
Der Codec, der vom IAXmodem verwendet wird. Erlaubt sind hier alaw, ulaw und slinear. Andere machen hier auch wenig Sinn, da diese komprimieren und die Übertragung dadurch nicht verlustfrei ist. Bei reiner Sprachübertragung wirkt sich das für einen Menschen nicht negativ aus, bei Faxübertragungen aber hätte es störende Fehler zur Folge.

Die Konfigurationsdatei für ttyIAX0 heißt /etc/iaxmodem/ttyIAX0 und hat folgenden Inhalt:

device          /dev/ttyIAX0
owner           uucp:uucp
mode            660
port            4570
refresh         50
server          127.0.0.1
peername        iaxmodem
secret          password
codec           alaw

Nachdem das IAXmodem nun fertig konfiguriert ist, muss es gestartet werden. Der Start geschieht am besten über den init-Prozess. Also fügen wir folgenden Eintrag der Datei /etc/inittab hinzu:

IA00:23:respawn:/usr/bin/iaxmodem ttyIAX0

Wobei ttyIAX0 der Name der Konfigurationsdatei unter /etc/iaxmodem ist. Mit dem Kommando init q aktivieren wir das neue Device.