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 „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          Sta
tus
iaxmodem         127.0.0.1       (D)  255.255.255.255  4570          Unm
onitored
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, dass ein ankommendes Fax direkt an das Hylafax weitergeleitet wird. In diesem Beispiel gehen wir davon aus, dass 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.