7.12.2021
Mit einer Faxweiche für Asterisk als Software-Lösung lässt sich an einer einzigen Telefonnummer gleichzeitig ein Telefon und ein Fax anschließen. Die mit wenigen Programmzeilen realisierte Faxweiche erkennt die eingehenden Faxsignale und leitet die Telefonverbindung je nach dem entweder zum Telefon- oder zum Faxanschluss weiter.
In den 1990er Jahren hatten Kleinbetriebe und Selbständige oft nur eine einzige Telefonleitung, an der ein Telefax und ein Telefon gleichzeitig betrieben wurde. Die automatische Umschaltung erledigte ein kleines Kästchen, das die Faxsignale erkannte und den Anruf entweder zum Fax oder zum Telefon weiterleite.
Das Problem bei mir war, dass mein Asterisk-SIP-Server nur über eine einzige Sipgate-Nummer erreichbar ist. Diese wollte ich gleichzeitig für normale Telefonate und den Faxempfang nutzen. Eine Software-Lösung musste her, die die Funktion einer Faxweiche übernimmt.
Wer einen Asterisk-Server betreibt, kann die Faxweiche mit ein paar Programmzeilen in der extensions.conf realisieren.
In der sip.conf müssen wir vorher unter [general] die Zeile faxdetect=yes einfügen:
; sip.conf [general] faxdetect=yes ; diese Zeile einfügen
Beispiel einer Faxweiche in der extensions.conf:
; Getestet mit Asterisk 16.2.1 ; FAXWEICHE ZUM TESTEN ; decects if it is an incoming phonecall or fax exten => 4433,1,NoOP() exten => 4433,n,Set(FAXOPT(faxdetect)=yes) exten => 4433,n,Answer() exten => 4433,n,Wait(4) ; 4 seconds to detect fax sound exten => 4433,n,NoOP(${FAXOPT(faxdetect)}) ; yes=phone, no=fax exten => 4433,n,GotoIf($[${FAXOPT(faxdetect)} = yes]?phone:fax) exten => 4433,n(phone),Dial(SIP/1059,60,tT) ; Phone-Number exten => 4433,n(fax),Dial(SIP/1077,60,tT) ; Fax-Number
Erklärung des obigen Programmablaufs: Ruft jemand die 4433 an, stellt das Programm fest, ob Faxsignale zu hören sind. Dazu stehen 4 Sekunden zur Verfügng. Sind die Faxtöne zu hören und erkannt, gibt ${FAXOPT(faxdetect)} ein „no“ zurück. GotoIf leitet dann den Anruf an die 1077 weiter, an der das Fax angeschlossen ist. Sind Faxsignale nach 4 Sekunden immer noch nicht zu vernehmen, dann gibt ${FAXOPT(faxdetect)} ein „yes“ zurück und die Faxweiche leitet den Anrufer an die 1059 zurück. Dort ist ein Telefon angeschlossen.
Erkannt wurden Faxsignale eines 30 Jahre alten Minolta Minoltafax 160, des Sip-Softphone-Fax Venta Fax und der Fax-Emulation in einer FritzBox. Außerdem klappte es mit einem Faxmodem aus den USA über das C*Net. Leider klappte es nicht mit einem Fax, das über EinfachVoip gesendet wurde.
Sollte ein Fax nicht erkannt werden, klingelt das Telefon und der Angerufene vernimmt die Faxsignale im Telefonhörer. Der Angerufene kann dann den Ruf an das Fax weiterleiten. Bei meinem Asterisk geht dies für dieses Beispiel mit der Tastatureingabe „*1077“ für die Übergabe des Anrufers an die 1077.
Faxweiche für zwei Faxgeräte: Ich betreibe auf meinem Windows-Notebook das Software-Fax Venta Fax unter der Nummer 1099 und ein mechanisches Fax Minoltafax 166 mit Thermopapier unter der Nummer 1077, das permanent eingeschaltet ist.
; FAXWEICHE FÜR ZWEI FAXANSCHLÜSSE ZUM TESTEN ; decects if it is an incoming phonecall or fax exten => 4433,1,NoOP() exten => 4433,n,Set(FAXOPT(faxdetect)=yes) exten => 4433,n,Set(FAXOPT(ecm)=no) ; Abschaltung der Fehlerkorrektur, die Ärger machen kann. exten => 4433,n,Answer() exten => 4433,n,Wait(4) ; 3 seconds to detect fax sound exten => 4433,n,NoOP(FAXOPT(faxdetect) : ${FAXOPT(faxdetect)}) ; yes=phone, no=fax exten => 4433,n,NoOP(FAXOPT(ecm) : ${FAXOPT(ecm)}) exten => 4433,n,GotoIf($[${FAXOPT(faxdetect)} = yes]?phone:fax) exten => 4433,n(phone),Dial(SIP/1059,60,tT) ; Phone-Number exten => 4433,n(fax),Dial(SIP/1099,3,tT) ; 1. Fax Softphone Windows Ventafax ; wenn das Software-Fax 1099 sich nach 3 Sekunden nicht meldet oder besetzt ist, ; erfolft eine Weiterleitung auf den Faxapparat 1077 exten => 4433,n,GotoIf($[${DIALSTATUS} = NOANSWER]?secondfax:faxchan) exten => 4433,n(faxchan),GotoIf($[${DIALSTATUS} = CHANUNAVAIL]?secondfax:faxcon) exten => 4433,n(faxcon),GotoIf($[${DIALSTATUS} = CONGESTION]?secondfax:faxbus) exten => 4433,n(faxbus),GotoIf($[${DIALSTATUS} = BUSY]?secondfax:awdh) exten => 4433,n(secondfax),Dial(SIP/1077,4,tT) ; 2. Fax Faxpparat Minoltafax 166 exten => 4433,n(awdh),Hangup()
Wenn mein Notebook eingeschaltet ist und Venta Fax aktiv ist, werden alle Faxe zum Notebook geleitet. Wenn das Notebook nicht eingeschaltet sein sollte, landen die Faxe automatisch auf das Minoltafax 166. Auf diese Weise verpasse ich kein Fax mehr und das alte Faxgerät dient als Notfallreserve.
Welche Vorteil haben zwei Faxgeräte? Das alte Fax dient auch als Scanner, um PDF-Dateien zu erzeugen. Dazu werden die Faxe vom alten Fax an das Software Venta Fax verschickt. Die mittelmäßige Auflösung reicht mir für die meisten Zwecke. Das alte Fax kann mir auch als Drucker für den Notfall dienen. Redundanz ist immer angenehm.
Sind Faxgeräte noch zeitgemäß? Nein.
Kann man ohne Faxgeräte ein erfülltes Leben führen? Ja.
Asterisk-Telefonserver auf einem Raspberry Pi – Installation, Konfiguration, Programmierung, SIP, IAX2, AGI-Skripte, Sicherheit und Tipps zum praktischen Betrieb – 2.11.2022: Diese Seite richtet sich an jene, welche einen Asterisk-Telefon-Server auf einem Raspberry Pi betreiben möchten und später ein kleines Netzwerk aus Asterisk-Servern planen, um ein eigenständiges Telefonnetz aufzubauen. Los geht es mit der Installation von Raspbian und Asterisk auf einem Raspberry Pi und dann nach Lust und Laune immer tiefer in die Programmierung von Asterisk. Die Themen werden laufend erweitert.
Selbstverständlich muss es nicht unbedingt ein Raspberry Pi sein. Andere Linux-Rechner gehen auch. – weiter – |