Coverbild des Asterisk Buches von Stefan Wintermeyer

Letzte Woche => Endspurt!

Montag den 29.01.07 geht das Buch in die Produktion. Bis dahin laeuft der Beta-Test noch in vollem Umfang. Bitte melden Sie Fehler! Siehe Beta-Test FAQ.

Erscheinungstermin: 03.03.07. Das Buch wird auf dem Asterisk-Tag.org in Chemnitz vorgestellt und kann dort auch erworben werden. 10 Tage spaeter wird es im Buchhandel sein. Wer nicht in Chemnitz sein kann, sollte das Buch vorbestellen: Amazon oder direkt beim Verlag

Asterisk-Schulungen und Consulting vom Autor dieses Buches finden Sie auf http://www.amooma.de. Naechste Asterisk-Schulung: 12.02. - 13.02.07 (noch 2 Plaetze frei) - Ach ja, ... wir suchen auch noch Asterisk Entwickler! => http://www.amooma.de/jobs/


2.1. Faxe empfangen

Jetzt muss diese Faxlösung noch in Asterisk integriert werden. Dazu müssen wir Asterisk das IAXmodem bekannt machen. Dies erreichen wir, indem wir es als IAX2-Peer definieren. Die dazu erforderliche Datei heißt /etc/asterisk/iax.conf (siehe auch Abschnitt 4, „IAX“):

[general]
bindport = 4569           
bindaddr = 0.0.0.0    
disallow=all
allow=ulaw
allow=alaw

[iaxmodem]
type=friend
secret=password
port=4570
host=dynamic
context=fax-out
disallow=all
allow=alaw

Im Abschnitt general sind die globalen IAX2-Daten abgelegt. In diesem Beispiel wird der Bindport auf den Standart für IAX2 4569 gesetzt. Die Bindadresse gibt das Interface an, auf dem IAX2 lauscht, in diesem Falle auf allen Interfaces.

In der Konfiguration für das IAXmodem wird der type auf friend gesetzt, d.h. es sind eingehende und ausgehende Verbindungen erlaubt. secret und port entsprechen der Konfiguration des IAXmodems, der context ist der, der bei einer ausgehenden Verbindung angesprochen wird.

Mit dem Befehl iax2 show peers können wir jetzt in der Asterisk-Console (CLI) unser IAXmodem sehen:

*CLI> iax2 show peers
Name/Username    Host                 Mask             Port          Status
iaxmodem         127.0.0.1       (D)  255.255.255.255  4570          Unmonitored
1 iax2 peers [0 online, 0 offline, 1 unmonitored]
*CLI>

Damit Asterisk weiß, was es mit einem ankommenden Fax anstellen soll, müssen wir eine entsprechende Extension schreiben. Das Ziel soll sein, daß ein ankommendes Fax direkt an das Hylafax weitergeleitet wird. In diesem Beispiel gehen wir davon aus, das alle Faxe über einen SIP-Provider-Anschluss reinkommen. Eine entsprechende Konfiguration in der sip.conf kann wie folgt aussehen (die entsprechenden Einstellungen müssen natürlich an die jeweilige Installation und den SIP-Provider angepasst werden):

[...]

[123456]
type=friend
insecure=very;
nat=yes
username=123456
fromuser=12345
fromdomain=mein-voip-provider.de
secret=secret
host=mein-voip-provider.de
qualify=yes
context=fax-in

[...]

Der entsprechende Context in der extensions.conf sieht dann so aus:

[fax-in]
exten => _.,1,Answer()
exten => _.,2,Dial(IAX2/iaxmodem)
exten => h,1,Hangup()

Jetzt wird das Fax vom Asterisk an Hylafax über IAXmodem übergeben und per Mail an den User gesendet, auf den das Mailalias Faxmaster zeigt.