Faxe über Asterisk nur versenden

teguy

Neuer User
Mitglied seit
14 Jun 2008
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich würde gerne Faxe über Asterisk per Bash-Kommandozeile versenden können.

Dabei ist es wichtig, dass ich wirklich nur versenden möchte, das Empfangen von Faxen benötige ich nicht.

Was ist da die leichteste Möglichkeit? Auf die riesige Daemon-Konfiguration von HylaFax und co habe ich nicht wirklich Lust, wenn ich am Ende nur den Senden-Teil nutze.

Eine Rückmeldung, ob das Senden geklappt hat, wäre natürlich auch nicht schlecht.

Grüße
Philipp
 
Nur als weitere Infos:

Der Asterisk läuft auf einem Standard-Server und hat nach außen nur einen Sipgate-Anschluss.
 
Hallo Philipp,

es gibt in Asterisk eine app_fax, die die Funktionen SendFax und ReceiveFax zur Verfügung stellt. Voraussetzung ist ein aktuelles span_dsp, damit sich die app_fax in make menuconfig aktivieren lässt.

Damit kann man ausschließlich TIF Images versenden, das dafür aber denkbar einfach zB. über ein Call-File. Danach bekommst Du auch einige Variablen, die Dir das Ergebnis der Übermittlung zeigen.

Svenja
 
Hi,

es gibt unter asterisk das Manager interface.
Dieses spricht telnet oder so.
Du kannst dir ein Bash Skript basteln, was dann ein Fax versendet.

Wenn du Asterisk mit app_fax kompeliert hast, kannst du dessen Variablen sehen.
Anhand den Varaiblen kann Asterisk entscheiden ob es ein Fax nochmal senden soll oder nicht.

siehe dazu in Asterisk folgendes an:
"core show application SendFAX"
Code:
  -= Info about application 'SendFAX' =- 

[Synopsis]
Send a FAX

[Description]
  SendFAX(filename[|options]):
Send a given TIFF file to the channel as a FAX.
The option string may contain zero or more of the following characters:
     'a' - makes the application behave as an answering machine
           The default behaviour is to behave as a calling machine.

This application uses following variables:
     LOCALSTATIONID to identify itself to the remote end.
     LOCALHEADERINFO to generate a header line on each page.

This application sets the following channel variables upon completion:
     FAXSTATUS       - status of operation:
                           SUCCESS | FAILED
     FAXERROR        - Error when FAILED
     FAXMODE         - Mode used:
                           audio | T38
     REMOTESTATIONID - CSID of the remote side.
     FAXPAGES        - number of pages sent.
     FAXBITRATE      - transmition rate.
     FAXRESOLUTION   - resolution.

Returns -1 in case of user hang up or any channel error.
Returns 0 on success.

Du kannst dir mal dieses hier durchlesen:
http://www.voip-info.org/wiki/view/Asterisk+fax
 
Hallo pemer,

AMI find ich für die Angelegenheit etwas umständlich. Man kann den Anruf auch über ein Call-File erzeugen, nicht wie beschrieben mit App und Data, sondern mit context/extension/priority. In der h-extension wird dann FAXSTATUS ausgewertet und im Fehlerfall das Call-File einfach noch mal erstellt und um ein paar Minuten in die Zukunft getouched. Dazu müssen lediglich Zielnummer und der Name des TIF als Channelvariablen mitgegeben werden. Im Erfolgsfall gibts einen "Übermittlungsbericht" per Email und das (temporäre) TIF wird gelöscht.

Ich hab zusätzlich in der failed-extension eine Abfrage gebastelt, die das Vorhandensein des Call-Files überprüft. Wenn es nicht mehr da ist, waren alle Retries erfolglos und ich bekomme eine Fehlermeldung per Email.

Wenn man AMI benutzt, muss das (Bash-) Skript die ganze Zeit mitlaufen, bis das Fax durch ist oder die Retries aufgebraucht sind, und man braucht diverse Abfragen, um auch die richtigen Daten für den jeweiligen Anruf zu bekommen.

Svenja
 
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.