Fax per e-mail versenden auf dem fli4l

demlak

Neuer User
Mitglied seit
25 Mrz 2007
Beiträge
70
Punkte für Reaktionen
0
Punkte
6

##################################################
##################################################
##################################################


komplettes opt paket zum fax und voicemail versenden hier zu finden:
http://www.ip-phone-forum.de/showthread.php?t=136647

dieser thread hier ist "veraltet"

##################################################
##################################################
##################################################




ich hab mir mal etwas gedanken gemacht wie man auf dem fli4l ein von asterisk empfangenes fax per mail verschicken könnte.
Dazu habe ich mir das opt_faxsend aus dem normalen fli4l archiv angeguckt und die methode "kopiert"

Die lösung ist ein direktes verbinden mit einem smtp server per netcat und dann die kommandos aus einer textdatei an den smtp server weiterzuleiten.

Da sich die kommandos, im speziellen der dateianhang, von fax zu fax ändert, muss also diese textdatei dynamisch erstellt werden.

Dies ist direkt im diaplan möglich, da asterisk auch system-kommandos ausführen kann. Lediglich 6 programme braucht man: NETCAT, SED, ECHO, CAT, RM und UUENCODE.
SED, ECHO, CAT und RM sind standard bei fli4l.
NETCAT ist im OPT_TOOLS und UUENCODE im OPT_FAXSEND enthalten.

zur vereinfachung habe ich ein minimales OPT gebaut, welches die beiden tools entsprechend "installiert", dieses OPT ist im anhang dieser message.

Ihr müsst den dialplan natürlich entsprechend eurer konfiguration anpassen. Die dick geschrieben sachen auf jedenfall, und den rest wie ihr wollt.

in dieser art und weise klappt das nur um eine mail direkt auf einem smtp abzulegen.. ein relay ist nur möglich, wenn ihr euch an eurem smtp authentifiziert.. was in diesem dialplan/script nicht gemacht wird.

Die verwendeten e-mail adressen, müssen lokal auf dem smtp server existieren.

ich möchte hiermit nur mein erarbeitetes wissen weitergeben..
und mir ist auch bewusst, dass man dies alles viel schöner und sauberer machen könnte.. mit macros.. oder sogar einem bash script.. oder gar einem anderen programm, oder oder oder... aber es ist mir erstmal egal =)
ich werd da sicher noch weiter dran rumbasteln... tipps und hinweise sind gerne gesehen.. aber ich habe null interesse dafür support zu leisten... wenn ihr fragen habt.. fragt wen anderes, nicht mich =)

Lange rede.. kurzer sinn.. hier ist mein diaplan dafür.
Code:
[fax-in]
exten => s,1,Set(TIME=${STRFTIME(${EPOCH},,%Y%m%d-%H-%M-%S)})
exten => s,n,Set(FFN=${TIME}.sff			;FAX filename
exten => s,n,Set(FAXFILE=/tmp/${FFN})			;where to store the FAX?
exten => s,n,capicommand(receivefax|${FAXFILE}|+49 [B]eurevorwahl eureMSN[/B]|Asterisk|k)
exten => s,n,Hangup()
exten => h,1,Set(TEMPBASE=/tmp/base64tmp)		;base64 tempfile
exten => h,n,Set(TEMPMAIL=/tmp/tmpmlfl)			;mail tempfile
exten => h,n,Set(MLSRV=[B]smtpmailserver[/B])			;Mail Server (SMTP
exten => h,n,Set(MLPRT=25)				;Mail Server Port (SMTP)
exten => h,n,Set(HELO=[B]senderIP[/B]) 			;sender IP
exten => h,n,Set(MLFR=[B]FAX[/B]@${MLSRV}) 			;sender adress
exten => h,n,Set(RCPT=[B]FAX[/B]@${MLSRV}) 			;target adress
exten => h,n,Set(BETR=New FAX received ${TIME})			;mail subject
exten => h,n,Set(CONT1=Hello,)					;mail content
exten => h,n,Set(CONT2=you´ve got a new Fax.)			;mail content
exten => h,n,Set(CONT3=received at ${TIME})			;mail content
exten => h,n,Set(CONT4= )					;mail content
exten => h,n,Set(CONT5=fli4l+asterisk)				;mail content
exten => h,n,Set(STRIP=sed -e \'1d\' -e \'$d\')			;stripping crap out of base64 code
exten => h,n,System(/bin/uuencode -m '${FAXFILE}' FAX | '${STRIP}' > '${TEMPBASE}')	;FAX encoding, output stripping and saving
exten => h,n,System(/bin/echo HELO '${HELO}' >> '${TEMPMAIL}')
exten => h,n,System(/bin/echo MAIL FROM:'${MLFR}' >> '${TEMPMAIL}')
exten => h,n,System(/bin/echo RCPT TO:'${RCPT}' >> '${TEMPMAIL}')
exten => h,n,System(/bin/echo DATA >> '${TEMPMAIL}')
exten => h,n,System(/bin/echo From: '${MLFR}' >> '${TEMPMAIL}')
exten => h,n,System(/bin/echo Reply-To: '${MLFR}' >> '${TEMPMAIL}')
exten => h,n,System(/bin/echo To: ${RCPT}' >> '${TEMPMAIL}')
exten => h,n,System(/bin/echo Content-type: multipart/mixed\\\; boundary=\\\"faxmail\\\" >> '${TEMPMAIL}')
exten => h,n,System(/bin/echo MIME-version: 1.0 >> '${TEMPMAIL}')
exten => h,n,System(/bin/echo Subject: '${BETR}' >> '${TEMPMAIL}')
exten => h,n,System(/bin/echo  >> '${TEMPMAIL}')
exten => h,n,System(/bin/echo --faxmail >> '${TEMPMAIL}')
exten => h,n,System(/bin/echo Content-type: text/plain >> '${TEMPMAIL}')
exten => h,n,System(/bin/echo  >> '${TEMPMAIL}')
exten => h,n,System(/bin/echo '${CONT1}' >> '${TEMPMAIL}')
exten => h,n,System(/bin/echo '${CONT2}' >> '${TEMPMAIL}')
exten => h,n,System(/bin/echo '${CONT3}' >> '${TEMPMAIL}')
exten => h,n,System(/bin/echo '${CONT4}' >> '${TEMPMAIL}')
exten => h,n,System(/bin/echo '${CONT5}' >> '${TEMPMAIL}')
exten => h,n,System(/bin/echo  >> '${TEMPMAIL}')
exten => h,n,System(/bin/echo --faxmail >> '${TEMPMAIL}')
exten => h,n,System(/bin/echo Content-Type: image/g3fax\\\; name=\\\"'${FFN}'\\\"  >> '${TEMPMAIL}')
exten => h,n,System(/bin/echo Content-Transfer-Encoding: base64  >> '${TEMPMAIL}')
exten => h,n,System(/bin/echo Content-Disposition: inline\\\; filename=\\\"'${FFN}'\\\"  >> '${TEMPMAIL}')
exten => h,n,System(/bin/echo  >> '${TEMPMAIL}')
exten => h,n,System(/bin/cat '${TEMPBASE}' >> '${TEMPMAIL}')			;include encoded FAX attachment
exten => h,n,System(/bin/echo --faxmail-- >> '${TEMPMAIL}')
exten => h,n,System(/bin/echo . >> '${TEMPMAIL}')
exten => h,n,System(/bin/echo QUIT >> '${TEMPMAIL}')
exten => h,n,System(/usr/bin/netcat -w 2 '${MLSRV}' '${MLPRT}' < '${TEMPMAIL}')	;send mail
exten => h,n,System(/bin/rm -f '${TEMPMAIL}')					;delete tempfile
exten => h,n,System(/bin/rm -f '${TEMPBASE}')					;delete tempfile
 

Anhänge

  • opt_ncuu.zip
    24 KB · Aufrufe: 2
Zuletzt bearbeitet:
Hi alle die dieses Posting lesen;

kann das Ganze jemand soweit "umstricken", dass eine vom Asterisk empfange voice-mail-Nachricht über den fli an eine e-mail-Adresse wieder rausgeschickt werden kann? Soll ja grundsätzlich gehen; nur eben bisher leider nicht mit dem fli4l. :-(

@demlak: dieser Gedanke war von Dir im Channel geäußert worden...
vielleicht geht das "umstricken" ja relativ einfach.

Viele Grüße
Günter
 
Vielen Dank. Vielleicht kann ja einer der Experten hier Dir helfen. Sofern Du es wünschst...
Gutes Gelingen! :D

Viele Grüße
Günter
 
habs fertig.. bastel es noch in ein OPT.. so das netview es dann simpel in die nächste version des asterisk-opt einpflegen kann..

das standalone OPT sollte spätestens heute abend hier zum download bereitstehen.. wann netview was neues released, kann ich natürlich nicht sagen...
 

Neueste Beiträge

Statistik des Forums

Themen
244,695
Beiträge
2,216,686
Mitglieder
371,314
Neuestes Mitglied
Gjorstn
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.