voiscout voiscout Hamburg Logohowto: hylafax

Konfiguration von HylaFAX

Auch wenn heute der Einsatz von Fax-Geräten veraltet erscheinen mag, so ist er immer noch fester Bestandteil der heutigen Bürokommunikation und mß dementsprechend auch bei neuen Telefonanlagen berücksichtigt werden. Wenn eine Telefonanlage selber Faxe nicht ausreichend unterstützt (wie dies bei Asterisk der Fall ist), so sind Alternativen gefragt. Eine gute Lösung dieses Problems bei Asterisk besteht darin, via des virtuellen Modems iaxmodem den robusten Fax-Server HylaFAX anzubinden.

Asterisk

Die Kommunikation zwischen Asterisk und HylaFAX wird durch das virtuelle Modem iaxmodem hergestellt, das sich als IAX-Endgerät an Asterisk anmeldet. Endsprechend sind die folgenden Einträge je Modem in der /etc/asterisk/iax.conf vorzunehmen.

[general]
bindport=4569
bindaddr=127.0.0.1
iaxcompat=yes
minregexpire = 40
maxregexpire = 3600
disallow=all
allow=alaw
autokill=yes
[iaxmodem0]
type=friend
secret=Passwort
port=4570
host=dynamic
context=fax-out
requirecalltoken=no

Da jedes Modem nur jeweils ein Fax zur Zeit abarbeiten kann, müssen für mehrere simultane Faxe eine entsprechende Anzahl an virtuellen Modems (mit unterschiedlichen Ports) installiert werden. In der /etc/asterisk/extensions.conf werden die Anrufe an die Modems mit den jeweiligen Rufnummern weitergeleitet, um davon abhängig die Faxe zu weiterzuleiten.

[fax-in]
exten=>_X.,1,NoOp(Fax Kontext entered)
exten=>_X.,n,Dial(IAX2/iaxmodem0/${EXTEN},15,r)
exten=>_X.,n,Dial(IAX2/iaxmodem1/${EXTEN},15,r)
exten=>_X.,n,Congestion()
exten=>_X.,n,Hangup()
[fax-out]
exten => _X.,1,Set(CALLERID(num)=XXXXXX)
exten => _X.,n,SetTransferCapability(3K1AUDIO)
exten => _X.,n,Dial(WOOMERA/g1/${EXTEN})

iaxmodem

Die entsprechenden Modems werden durch entsprechende Files in /etc/iaxmodem/ konfiguriert. Das File für das erste Modem sollte ttyIAX0 heißen und folgendes beinhalten:

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

Die angegebenen Daten (insb. peername, secret und port) müssen mit denen aus der iax.conf übereinstimmen. Damit iaxmodem (und HylaFAX) ordentlich beim Booten gestartet wird, sollte die /etc/inittab um ein paar Zeilen ergänzt werden.

ia0:23:respawn:/usr/bin/iaxmodem ttyIAX0
ia1:23:respawn:/usr/bin/iaxmodem ttyIAX1

hy0:23:respawn:/usr/sbin/faxgetty ttyIAX0
hy1:23:respawn:/usr/sbin/faxgetty ttyIAX1

/etc/init.d/hylafax restart

HylaFAX

HylaFAX kann nun die — von iaxmodem bereitgestellten — (virtuellen) seriellen Modems mit dem Namen ttyIAX0 bzw. ttyIAX1 ansprechen.
Empfangene Faxe werden automatisch per E-Mail verschickt, sofern die Variable SENDTO in der Datei /var/spool/hylafax/etc/FaxDispatch entsprechend gesetzt wird. Für eine individuelle Zustellung kann die Variable $CALLID4 verwendet werden, welche die an iaxmodem übermittelte Rufnummer beinhaltet. Damit lässt sich bspw. die zu einer Rufnummer gehörende E-Mail aus einem Text-File emails.txt herauslesen:

LANG=de_DE
DEST_EMAIL=$(/bin/grep $CALLID4 /etc/hylafax/emails.txt | /bin/sed -e 's/^.* \(.*\)$/\1/g')
if [ $DEST_EMAIL == "NIL" ];
then
  SENDTO=defaultFax@IGNORE-THIS.voiscout.de
  FILETYPE=pdf
else
  SENDTO=$DEST_EMAIL
  FILETYPE=pdf
fi

Das File emails.txt beinhaltet die Rufnummern und E-Mails der Personen

82242457 ifax@IGNORE-THIS.voiscout.de
85105679 ifax@IGNORE-THIS.voiscout.com

ISDN-Karte

Wird Asterisk an einem Anlagenanschluss mit unterschiedlich langen Rufnummern betrieben, so werden möglicherweise analog anwählende Faxe nicht empfangen, weil die vollständige Rufnummer nicht erkannt wird. Dieses Problem kann (bei Sangoma-Karten) gelöst werden, indem man (an geeigneter Stelle) in der /etc/wanpipe/smg_bri.conf die Nachwahl von Ziffern aktiviert:

;num_digits=8
in_calls_behaviour=TRANSPARENT_OVERLAP_RCV
in_calls_behaviour=VOICE_ALERT_RQ

In der /etc/asterisk/extensions.conf sollte man dann bei zu kurzen Rufnummern einfach auf die Nachwahl warten. Dies kann beispielsweise wie folgt aussehen:

exten => _XXXXXZ,1,NoOp(Es fehlen 2 Stellen)
exten => _XXXXXZ,n,Wait(25)
exten => _XXXXXZX,1,NoOp(Es fehlt 1 Stelle)
exten => _XXXXXZX,n,Wait(25)
exten => _XXXXXZXX,1,NoOp(Rufnummer komplett)

Sofern die Zuordnung als Fax über die angewählte Nummer erfolgt, sollte die Fax-Erkennung auf der ISDN-Karte ausgeschaltet sein. Diese bewirkt nämlich lediglich, dass bei einem eingehenden Fax zu der Extension fax gesprungen wird, welches aber aufgrund der seperaten Rufnummer unerwünscht ist.

Unsere Philosophie

Wir setzen primär auf offene Lösungen und Standards zur Vermeidung von Abhängigkeiten. Alle unsere Lösungsvorschläge sind von uns getestet worden und können daher auch entsprechend supportet werden.

Asterisk

Die Telefonanlagen-Software Asterisk liegt in der Version 10.0 vor. Es gibt auch eine deutsche Einführung zu Asterisk.

Gemeinschaft 4

Gemeinschaft 4 setzt die Anforderungen des BSI an eine sichere Telefonanlage um. Diese Version basiert nun auf FreeSWITCH und Kamailio. Bei passenden Anforderungen ist dies eine gute Telefonanlage mit offenen Schnittstellen.

sipXecs

Der SIP Enterprise Communication Server (sipXecs) liegt bereits in der Version 4.4 vor. Für reine SIP-Kommunikation und im Gebrauch mit FreeSWITCH stellt er eine echte Alternative zu Asterisk dar.

Partnerschaften

lancom qualified partner
snom reseller
sangoma reseller