Fax-Client für Asterisk

lo4dro schrieb:
Man könnte auch hylafax nehmen. Gibts für linux und für win clients.
Asterisk und Hyla können auf capi zugreifen. Man muss asterisk nur die FAX-Nummer vorenthalten.

genau so setze ich es gerade ein, beides nebeneinander. Aber leider finde ich keinen Client für Hylafax, der nach der Faxnummer fragt...
 
lo4dro schrieb:
http://www.uli-eckhardt.de/whfc/1.2/docu/sendfax.shtml

Da steht was von ner Nummer.

yep sieht gut aus, jetzt fehlt nur noch was für Linux...
 
asterfax 0.01 fax-server für hylafax clients

Hallo!

Inspiriert von dem code von Ber5erker habe ich mich mal hingesetzt und auch ein bisschen perl code zusammengeschrieben.
Hier das vorläufige Ergebnis: asterfax in Version 0.02.

asterfax ist ein kleiner server für hylafax-clients (sendfax, kdeprintfax, ...).

Momentan faxt er nur über CAPI, aber mit kleinen Änderungen sollte jeder Channel möglich sein.
Wer es ausprobieren möchte: runterladen, entpacken, asterfax config sektion editieren, ausführbar machen und als root oder asterisk starten.
Es werden die standard Hylafax ports benutzt, also hylafax, wenn vorhanden, vorher beenden.

VORSICHT: code ist bisher nur ein Ansatz, wenig getestet, momentan keine authentifizierung von Benutzern, keine Benachrichtigung bei Sendefehlern, ...

Anregungen und Erweiterungen bitte hier posten oder per E-Mail.

Gruß Jan
 

Anhänge

  • asterfax.0.02.tar.gz
    3.3 KB · Aufrufe: 24
@skyder
Kannst du das etwas genauer erklären, was dein pearl Programm macht?

Bedeutet ich kann damit jeden hylafax-client benutzen und direckt über die ASTERISK ein FAX versenden?

Wie funktioniert damit der FAX Empfang?
 
Das Anzeigen von empfangenen Faxen ist mit diesem Programm nicht möglich, wäre als Erweiterung jedoch denkbar.
Für den Fax-Empfang existieren ja schon mehrere Lösungen.
Ein Fax das auf meinem Asterisk eingeht wird mir z.B. als E-Mail zugestellt.

Mein Script ist für das Versenden von Faxen gedacht.
Es simuliert einen Hylafax-Server und nimmt Faxe von Hylafax-Clients entgegen.
Zum Versenden des Faxes schreibt mein Programm ein callfile in das outgoing Verzeichnis von Asterisk.
Asterisk überprüft dieses Verzeichnis ständig auf neue callfiles.
Ist ein callfile vorhanden, interpretiert Asterisk dieses und führt die darin definierten Aktionen durch.

Gruß Jan
 
Hi skyber,

hab mir mal Dein Script angesehen und ausprobiert. Es hat eigentlich auch nicht lange gedauert, bis ich es soweit hatte, dass es auch mit dem neuen chan_capi laufen würde. Mehr Probleme bereitete mir das Einstellen der UID und PID. Da Asterisk bei mir als root läuft habe ich diese einfach mal manuell eingetragen (zweimal 0). Das hat das Script aber irgendwie ignoriert. Erst als ich die automatische Suche (mittels #) deaktiviert hatte, startete der Server.
Jetzt zu den weiteren Problemen:
Erstmal bereitete mir Probleme, dass die Clients sich nicht einig waren, die Befehle groß oder klein zu schreiben (user, mode). Einige schreiben es groß, andere klein. Auch das war ein lösbares Problem. Konnte ich ja dem Server entsprechend im Client anpassen.
Jetzt zum unlösbaren Problem:
Alle (beiden) Clients wollen ums Verrecken immer in den "MODE S" schalten (Habe leider keine Ahnung was das bedeutet). In deinem Skript ist leider nur ein "MODE Z" vorgesehen.Ds einfach in S zu ändern brachte leider keinen Erfolg :). Muss wohl doch ne wichtige Einstellung sein. Vielleicht kannst Du ja Helfen, bzw einen Client empfehlen, der das nicht tut!

Gruß

Hupe
 
Asterfax 0.03

Hallo Hupe!

Vielen Dank für das Ausprobieren, habe nochmal ein paar Änderungen eingebaut.
MODE S sollte jetzt funktionieren.
Groß/Kleinschreibung spielt jetzt keine Rolle mehr.
Den Fehler, dass UID/GID 0 nicht akzeptiert wurde habe ich behoben.
Probiers mal aus, würde mich über Rückmeldung freuen.
Es wäre auch nett wenn Du mal Deine Änderungen für die Channels postest.
 

Anhänge

  • asterfax.0.03.tar.gz
    3.4 KB · Aufrufe: 16
Hi skyder,

Ich finde es toll, dass Du Dir soviel Mühe gibst. Ich bin auch schon ein ganzes Stück weiter. Die Dateine werden inzwischen übertragen. Dann bricht das ganze aber ab, nachdem der Client den Befehl "job" gesendet hat. Ich benutze übrigens JHylaFax als Client. Wenn Du einen anderen hast, mir dem es besser geht, dann nenn mir den doch bitte!
die änderungen für das neue chan_capi sehen so aus:

Oben bei den Einstellungen habe ich eine neue Variabel $CALLERIDgeführt, da bei dem neuen Chan_Capi die ausgehende MSN mit der Callerid geetzt wird, und nichtmehr in der Dial-Anweisung enthalten ist.
Code:
my $CHANNEL = 'CAPI/contr1';
my $CALLERID = '29';

entsprechend sieht die Konstruktion des Call-Files jetzt so aus:

Code:
if ($channel =~ /CAPI/) {
		print $fh "Channel: ".$channel."/B".$number."\n";
		print $fh "Callerid: ".$CALLERID."\n";
		print $fh "MaxRetries: 1\n";
		print $fh "RetryTime: 60\n";
		print $fh "WaitTime: 10\n";
		print $fh "Application: TxFax\n";
		print $fh "Data: ".$tiffFile."|caller\n";
		print $fh "SetVar: LOCALSTATIONID=$STATION_ID\n";
	}

Ich hoffe es hilft Dir weiter!

Gruß
Hupe
 
Hallo.

Hab auch noch ein Frage zum Thema.
Ist es denkbar, das man mit dem Script eine komplette Alternative zu Hylafax schaffen kann?
Also Empfang und Senden Hylafax kompatibel, inklusive versand per Mail?
 
asterfax 0.04

Hallo!

@lo4dro
Möglich ist das schon, werde die Tage vielleicht mal noch das Empfangen von FAXen einbauen, aber als kompletter Hylafax-Ersatz war das hier nie gedacht...
Kenne mich mit Asterisk leider nicht sonderlich gut aus:
Fällt jemandem eine Möglichkeit ein zu überprüfen ob das FAX wirklich rausgegangen ist?
Im Falle eines Sende-Fehlers würde ich nämlich gerne eine Benachrichtigungs-Mail an den Sender schicken.

@Hupe
Vielen Dank für Deine Channel-Erweiterung!
Habe die Sache nochmals ausgebaut, schaus Dir mal an...
Ich benutze jetzt das Perl-Modul Net::Server::Fork anstatt Netserver::Genric, das lief nicht sonderlich stabil.
( apt-get install libnet-server-perl )
Die Call-Files werden jetzt unter der Benutzerkennung angelegt die den Server gestartet hat.
Wenn Du JHylaFax als Client benutzt, dann denk bitte daran, dass Dateien nicht nach PS konvertiert werden, der Server bricht ab wenn die Datei kein PS ist!
Für KDE finde ich kdeprintfax recht komfortabel.
kdeprintfax stellt einen KDE-Drucker bereit, der in PS wandelt und über sendfax an den Hylafax-Server sendet.
 

Anhänge

  • asterfax.0.04.tar.gz
    3.8 KB · Aufrufe: 16
Super Skyder!

Jetzt funzt es. Naja, dem Fax fehlt die obere Hälfte, aber dafür kann der Server nichts. Das Tiff-File wird korrekt erstellt. Muss an spandsp liegen.
Ich hätte da noch einen Verbesserungsvorschlag: Noch eine Variable "LOCALHEADERINFO" im Callfile. Da soll dann der Name oben auf dem Fax stehen (was ich nicht sehen kann, da ja das Fax oben abgeschnitten ist :))

Gruß

Hupe
 
...das klingt ja schon vielsprechend, was hier geschrieben steht.

Ich möchte mich hier einklinken, weil ich (natürlich mal wieder..) eine besondere Anforderung an ein Fax-Tool stelle. Ich geb zu, so ganz passt es nicht hierher, weil es eben auch OHNE Asterisk möglich wäre, aber vielleicht könnt ihr mir trotzdem mal eure Meinung geigen. Oder mir als *-Newbee einfach sagen: vergiss es.

Stellt euch folgendes Szenario vor:
(Zumindest arbeite ich grad daran...)

Ein kleines Büro mit 10 SIP-Clients, Asterisk und einer Quad-ISDN-Karte. Soll heissen, Telefonie läuft zwarvia SIP intern, Asterisk stellt aber die externen Verbindungen herkömmlich über ISDN her. Die VoIP-Ersparnis kommt nur bei long-distance-Gesprächen zum Tragen.

Nun gibt es in unserem Büro aber auch eine gute, alte Fax-Maschine (genau, die mit den Tasten drauf), welche über einen a/b-Wandler direkt an einen NTBA, also komplett eigenständig, angeschlossen ist.
Wir haben nämlich sehr viele Faxe, die unterschrieben wieder weitergefaxt werden. Und genau hier hakelt es bei den herkömmlichen Fax-Lösungen( Hylafax, etc.). Empfangen wird immer auf einem Server. Den Eingang müsste ich dann ausdrucken, unterschreiben, einscannen und wieder verschicken. Workflow-seitig nicht unbedingt ein Vorteil, wie ich find und warscheinlich in etlichen anderen Büros ähnlich.

Nun meine Vorstellung:

Das Faxgerät wird mittels eines analogen Ports (Karte, o.ä.) an die Linux-/ Asteriskbox angeschlossen. Diese müsste nun zwischen der analogen Karte und dem ISDN-NTBA "a/b-Wandeln" (ob das geht/ möglich ist, weiss ich nicht; aber es gäbe ja noch den alten a/b-Wandler). Somit kommt quasi eine "herkömmliche" Faxverbindung zu Stande; * macht nur einen "Pass-thru" und teilt den entsprechenden Channel zu. Damit erhält die Faxmaschine auch die Transmission-Status-Meldungen wie gehabt und druckt das Protokoll.
Eine Codec-Wandlung, wie für VoIP, ist dabei (vorerst) nicht von Nöten. Ich möchte aber diese Applikation trotzdem am Liebsten über/mit * laufen lassen, weil ich ned weiss, ob in Zukunft FaxoIP nicht doch noch zufriedenstellend laufen wird.

Als besonderes Gimmick sollten aber alle gesendeten und empfangenen Faxe von der Linux-/ *-box "abgehört" und "mitgeschnitten" werden, ähnlich einem Faxjournal. Dabei kann ich mir vorstellen, dass die (einzelnen) Faxe eben auch wahlweise per Email, oder sonstwie an einen PC-User versendet werden. Das versenden vom PC aus könnte dabei wie mit eurem Tool/ Script erfolgen.

Eierlegende Wollmilchsau, ich weiss, aber zumindest bis die alten Faxmaschinen abgeschafft sind, wär's ein ziemlicher Zugewinn.

Danke schon mal für's lesen dieses, ein bissl lang geratenes Postings und natürlich auch für eure Beiträge.

So long,
TOM
 
asterfax 0.05

Hallo!
Und weiter gehts...
asterfax unterstützt jetzt den "Empfang" von FAXen (wenn auch auf sehr niedrigem Niveau).
Alle die asterfax ausprobieren will ich hiermit nocheinmal warnen:
Wenn Ihr den Server (besonders als root) laufen lasst, kann es zu Sicherheitsproblemen kommen!
Benutzer werden nach wie vor nicht authentifiziert.
!!! "Die Call-Files werden jetzt unter der Benutzerkennung angelegt die den Server gestartet hat" => hat sich wieder erledigt !!!
Sollte asterisk als user asterisk laufen und die callfiles z.B. von root angelegt werden, kann asterisk diese nicht lesen...
 

Anhänge

  • asterfax.0.05.tar.gz
    4.9 KB · Aufrufe: 9
asterfax 0.1

Hallo!

Das Interesse scheint ja etwas eingeschlafen zu sein,
trotzdem poste ich hier mal meine neueste version.
Authentifizierung wird jetzt unterstützt.
Faxe verschicken und empfangene Faxe anschauen klappt bei mir jetzt ganz ordentlich, kommt aber auf den benutzten Client an...
Die Sendewarteschlange wird in Grundzügen angezeigt.

Feedback / Mithilfe erwünscht :)
 

Anhänge

  • asterfax-0.1.tar.gz
    16.4 KB · Aufrufe: 30
Das Interesse ist nicht wirklich eingeschlafen. Nur leider scheint das Faxen über TXfax bei mir nicht richtig zu funzen. Irgendwie wird immer oben was abgeschnitten. Das macht txfax etwas uninteressant für mich im täglichen Einsatz :)
Ich kann aber trotzdem weitertesten.
Ach ja, nochwas: Es gibt da für Windows einen Hylafax-Client (Winprint Hylafax). Der war für mich die erste Wah, wei er wie ein Windows-Drucker unter XP arbeitet. Leider Funtz das aus irgend einem Grund nicht bei mir (das Fenster zum Telefonnummer eingeben) öffnet sich nicht. aber sonst wäre das schon icht schlecht wenn das funze würde, da es ziemlich unkompliziert zu sein scheint. Sollte vielleicht mal einer testen, ob es das auch mit dem Server tut.
 
Hi,
wollte nur mal sagen, dass ich die ganze Zeit mitlese, auch wenn ich nix poste.
Finde skyder's afaxd echt interessant, leider funktioniert bei mir txfax auch noch nicht so richtig, so dass ich afaxd noch nicht ausgiebig testen konnte.
Hab aber mal ne Frage dazu: Wie funktioniert das Betrachten der Faxe? Bin da noch nicht dahinter gestiegen.

Edit: Hab's verstanden. Funktioniert aber nur mit JHylafax, oder? Das Kommando "Delete" versteht asterfax anscheinend noch nicht.

Also skyder, bitte weitermachen. Ich glaube, es gibt einige, die Dein Projekt mit Interesse verfolgen.

Bis denn,
Whoopie
 
Auch, wenn ich hier nur selten schreibe, ich brauche demnächst auch eine Faxlösung, weil ich demnächst zuhause keinen Telefonanschluß mehr habe und irgendwie über Asterisk (mit ISDN im Büro) meine Faxe übers Internet abschicken muß. Remotecapi wird wohl übers Internet nicht richtig gehen, ...
Wenn es Jemand für fli4l hinbekommt, wäre ich sehr dankbar. (egal, ob Windows- oder Linux-Client)
Faxe empfangen und weiterleiten per Mail funktioniert mit fli4l schon jetzt perfekt.
 
Weisst du wie es mit SIP funktioniert ? Wenn Ich Channel "SIP" mache dann bekomme ich folgenden Fehler:

-- Attempting call on SIP/07112305xxx for application txfax(1122639527.tiff) (Retry 1)
Jul 29 14:18:48 WARNING[13936]: chan_sip.c:1398 create_addr: No such host: 07112305xxx
Jul 29 14:18:48 NOTICE[13936]: channel.c:1852 __ast_request_and_dial: unable to request channel SIP/07112305xxx
Jul 29 14:18:48 NOTICE[13936]: pbx_spool.c:232 attempt_thread: Call failed to go through, reason 0

Hat jemand ne Idee was ich tun muss?
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.