[gelöst] AAH 2.7/2.8: Fax und VoiceMail via E-Mail

Olaf.Rabbachin

Neuer User
Mitglied seit
11 Apr 2006
Beiträge
144
Punkte für Reaktionen
0
Punkte
0
Hallo!

Ich würde gern auf AB gesprochene Nachrichten wie auch Faxe per E-Mail geschickt bekommen.
Ich habe mich an die unter ...
http://sourceforge.net/forum/message.php?msg_id=3387743
... zu findende Anleitung gehalten.

Anscheinend habe ich's inzwischen auch hinbekommen, dass eine mail 'rausgeht. Allerdings scheint's jetzt an meiner "festen" IP (via dyndns.org) zu scheitern. Hier mal ein Auszug bezogen auf einen AB-Spruch aus <var/log/maillog>:

--- 8< ---
May 4 21:01:18 asterisk1 sendmail[3974]: k44J1EDw003974: from=asterisk, size=20332, class=0, nrcpts=1, msgid=<[email protected]>, relay=asterisk@localhost

May 4 21:01:19 asterisk1 sendmail[3979]: k44J1IpH003979: from=<[email protected]>, size=20460, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA, relay=smtp.1und1.de [127.0.0.1]

May 4 21:01:19 asterisk1 sendmail[3974]: k44J1EDw003974: to=Office (Cisco 7912) <[email protected]>, ctladdr=asterisk (5060/502), delay=00:00:05, xdelay=00:00:01, mailer=relay, pri=50332, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (k44J1IpH003979 Message accepted for delivery)

May 4 21:01:21 asterisk1 sendmail[3981]: k44J1IpH003979: to=<[email protected]>, ctladdr=<[email protected]> (5060/502), delay=00:00:02, xdelay=00:00:02, mailer=esmtp, pri=140460, relay=mx01.schlund.de. [212.227.15.186], dsn=4.0.0, stat=Deferred: 421 mails from 84.175.241.5 refused: Dynamic/Residential IP range listed by NJABL dynablock - http://njabl.org/dynablock.html
--- 8< ---

Die Angaben auf der o.a. website verstehe ich nicht wirklich - müsste ich dort beantragen, dass meine IP freigeschaltet wird ..?

BTW der mail-account, über den gesendet wird, liegt bei 1&1/Puretec.

Danke vorab!

Bis dann,
:noidea: - Olaf


-> Lösung s. unten (http://www.ip-phone-forum.de/showpost.php?p=598562&postcount=5)
 
Zuletzt bearbeitet:
Olaf.Rabbachin schrieb:
Hallo!

mails from 84.175.241.5 refused: Dynamic/Residential IP range listed by NJABL dynablock - http://njabl.org/dynablock.html
--- 8< ---

Die Angaben auf der o.a. website verstehe ich nicht wirklich - müsste ich dort beantragen, dass meine IP freigeschaltet wird ..?

BTW der mail-account, über den gesendet wird, liegt bei 1&1/Puretec.

Da wirst du keine Chance haben. Viele Provider blocken MTAs, die aus einem
DYNDNS Pool kommen.

Weiterhin was willst du freischalten lassen? Du bekommst spätestens alle 24h eine neue IP zugewiesen.
 
Huhu!

james007 schrieb:
Da wirst du keine Chance haben. Viele Provider blocken MTAs, die aus einem
DYNDNS Pool kommen.

Jep, deswegen suche ich auch nach einem Weg, wie ich die E-Mails notfalls direkt über meinen Provider (1und1/Puretec) schicken kann.

Weiterhin was willst du freischalten lassen? Du bekommst spätestens alle 24h eine neue IP zugewiesen.

Genau deswegen habe ich ja die "feste" IP. Warum sollte es auch nicht gehen? Die Clients im Netz können E-Mails ja auch ganz normal verschicken!?
Ich bin davon ausgegangen, dass sich die Geschichte per MASQUERADE erldeigen lassen müsste. Mit der Anleitung unter http://sourceforge.net/forum/message.php?msg_id=3387743 (s. OP) habe ich auch schon herumexperimentiert, aber leider bislang ohne Erfolg.

Danke für deine Hilfe erst einmal! :)

Bis dann,
Olaf
 
Olaf.Rabbachin schrieb:
Huhu!



Jep, deswegen suche ich auch nach einem Weg, wie ich die E-Mails notfalls direkt über meinen Provider (1und1/Puretec) schicken kann.



Genau deswegen habe ich ja die "feste" IP. Warum sollte es auch nicht gehen? Die Clients im Netz können E-Mails ja auch ganz normal verschicken!?
Ich bin davon ausgegangen, dass sich die Geschichte per MASQUERADE erldeigen lassen müsste. Mit der Anleitung unter http://sourceforge.net/forum/message.php?msg_id=3387743 (s. OP) habe ich auch schon herumexperimentiert, aber leider bislang ohne Erfolg.

Danke für deine Hilfe erst einmal! :)

Bis dann,
Olaf

Ein Client Authentifiziert sich auch gegenüber seinem MTA via SMTP-Auth
bzw. RFC2554. Deshalb kannst du auch normal darüber Emails verschicken.

Dein Sendmail ist aber ein vollwertiger MTA und schickt seine Mail an den
Empfänger MTA direkt. Der Prüft nun woher du kommst. Checked deine IP Adresse ggf. den MX-Record und stellt fest das du keine feste IP hast.
Sind die Prüfbedingungen des Ziel-MTA scharf, so wird schon der Empfang
anhand der dynDNS verworfen.

Mit feste Ip meine ich hier eine öffentliche Adresse die nicht einem DHCP
Pool eines Providers entstammt.

Das was du als "feste IP" meinst, ist eine sogenannten DyDNS Adresse damit man anhand der Webadresse z.b xyz.no-ip.com immer deine derzeitige Einwahl
Ip hat.

Ich hab hier nebenbei auch einen Sendmail laufen (FC4) und auch Probleme
bei diversen MTa Mails abzusetzten. GMX blockt und andere auch.

Du kannst zwar Sendmail sagen, das er alle Mails zu einem anderen Host forwarded, nur muesste der offen sein. Stichwort Open Relay ohne Auth was wiederum das ganze Sicherheitskonzept umwirft. Kenne auch kein Account der das macht.

Die ideale Lösung wäre wenn sich der MTA bei einem Account anmeldet
und durch ihn die Mails abwirft. Das was du und ich auch suche.

Ich habe mich aber mangels Zeit noch nicht nach so einer Lösung umgesehen.
Bin aber grad am suchen da es so langsam Zeit wird ;-)

Fakt ist das dir die dynamische Ip einen Strich durch die Rechnung macht.
Masquerading würde auch nur die abgehende Domain umbenenen.

Was hier ausschlaggebend ist, ist das sich der Mta (dein Sendmail) mit der
dynamischen IP beim Ziel MTA anmeldet und es hier schon scheitert.

Hättest du jetzt SDSL und eine statische IP dann würde das alles gehen.
Zum besseren Verständnis mit MTA ist hier der Mail Transfer Agent gemeint also dein Sendmail als Server.

Nicht zu verwechseln mit dem MUA Mail User Agent was der Sendmail als client wäre. Haben dummerweise den selben Namen und da gibt es oft Missverständnisse.

Bin aber am Ball und gebe Bescheid sobald ich da ne Lösung gefunden habe.
 
E-Mail Authentifizierung: gelöst

james007 schrieb:
Ein Client Authentifiziert sich auch gegenüber seinem MTA via SMTP-Auth
bzw. RFC2554. Deshalb kannst du auch normal darüber Emails verschicken.

Jep, und deswegen muss sich SendMail halt wie ein Client verhalten und via relay verschicken.

james007 schrieb:
Die ideale Lösung wäre wenn sich der MTA bei einem Account anmeldet
und durch ihn die Mails abwirft. Das was du und ich auch suche.

Und genau das ist mir jetzt endlich gelungen.
Die passenden Basis-Anleitungen (die zweite Website passt an einigen Stellen nicht!) finden sich hier:
http://nerdvittles.com/index.php?p=123 (nach "When you're out and someone leaves you a voicemail message" suchen - Beginn jenes Abschnittes)
http://www.screaming-penguin.com/main.php?storyid=5732
Damit hatte ich auch vormals schon versucht, die Geschichte in die Gänge zu bringen. Allerdings scheint's wohl eher an meiner persönlichen Situation gelegen zu haben, denn mein Online-Provider ist T-Online, aber alle E-Mails laufen über 1&1/Puretec - T-Online verwende ich dafür gar nicht. Daher hatte ich auch bzgl. AAH immer versucht, meine E-Mails über 1&1 zu versenden, das hat aber nie geklappt. Wahrscheinlich liegt's daran, dass ich die "fully qualified domain" per nslookup (s.u.) natürlich nur für T-Online durchführen kann, nicht aber für 1&1. Damit unterscheiden sich dann die Adressen und es passt nicht mehr.
Nun habe ich's jedenfalls per T-Online gemacht und es funzt prächtig.

Daher hier auch mal "auf Deutsch" und "in einem Rutsch" mein Weg.
In <> eingeschlossene Bereiche sind natürlich immer ohne die Klammern zu verwenden.
BTW - ich verwende für das Editieren aller Dateien generell den in WinSCP integrierten Editor (gibt's hier: http://winscp.net/eng/docs/lang:de).
Für die Kommandozeile verwende ich PUTTY (gibt's hier: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html - allerdings nur in Englisch).

  1. Einen nslookup auf den eigenen Mail- bzw. Online-Provider machen (command-prompt unter win oder auch unter CentOS: <nslookup 123.456.789.001> Dabei das "123.456.789.001" durch die eigene, öffentliche IP-Adresse ersetzen - in meinem Fall (dynDNS) ist das die IP, die DynDNS.org mir zugewiesen hat). Das Ergebnis kopieren/aufschreiben.
  2. Die Datei /etc/hosts editieren (hier muss obiger "fully qualified domain name" eingetragen werden; dazu der Zeile <127.0.0.1 asterisk1.local> das Ergebnis des weiter oben durchgeführten nslookups vor <asterisk1.local> einfügen (plus Leerzeichen), so dass es z.B. so aussieht: <127.0.0.1 blabla.dip.t-dialin.net asterisk1.local>
  3. Jetzt die "network services" auf der Asterisk-Kiste neu starten, dazu am Command-Prompt eingeben: <service network restart>
  4. Nun den Inhalt der von Asterisk erzeugten E-Mail den örtlichen Gegebenheiten anpassen. Dazu muss die Datei </etc/asterisk/vm_email.inc> editiert werden:
    • Nach <http:> suchen.
    • Die dort befindliche Adresse durch die IP-Adresse ersetzen, über die der Asterisk-Server erreichbar ist.
    • Wer mag, darf auch alles auf Deutsch schreiben. :cool:
  5. Die Adresse anpassen, die Asterisk als den Absender von E-Mails verwendet. Dazu den Inhalt Datei </etc/asterisk/vm_general.inc> editieren:
    • Nach <serveremail> suchen.
    • Den Wert durch eine Adresse im Namensraum des Providers befindliche ersetzen (ob's auch mit Phantasieadressen geht, habe ich noch nicht ausprobiert).
    • Optional gleichsam den Wert für <fromstring> anpassen.
  6. Sicherstellen, dass die Sendmail-Binary STARTTLS and SASL support aufweist. Dazu per Kommandozeile <sendmail -d0.1 -bv> eingeben. In der Ausgabe sollten sich dann die Begriffe <STARTTLS> und <SASL> finden. Bei mir war das in Ordnung, daher weiß ich nicht, was ansonsten zu tun wäre. Zitat auf der o.a. Website: "you do not have these you need to backup and recompile sendmail to include them - see the aforementioned server oriented tutorials on this subject".
  7. Sicherstellen, dass ein Zertifikat vorhanden ist. Bei mir war das natürlich nicht der Fall. Das Erzeugen geht per Kommandozeile:
    • In das Certs-Verzeichnis wechseln: <cd /usr/share/ssl/certs>
    • Kommando: <make sendmail.pem>, den Anweisungen folgen
  8. Die Datei <sendmail.mc> (in /etc/mail) editieren:
    • Nach der Zeile <dnl define(`SMART_HOST',`smtp.your.provider')> suchen
    • Das "dnl " am Anfang entfernen (weist diese Zeile als Kommentar aus)
    • Das <smtp.your.provider> durch die smtp-Adresse des eigenen Providers ersetzen. Die Adresse in eckige Klammern fassen und ein <dnl> anhängen! Beispiele: <define(`SMART_HOST',`[smtp.1und1.de]')dnl> oder <define(`SMART_HOST',`[smtp.t-online.de]')dnl>
    • Nach der Zeile <LOCAL_DOMAIN(`localhost.localdomain')dnl> suchen.
    • Nach obiger Zeile folgende (neuen) Zeilen einfügen:
      1. FEATURE(`authinfo',`hash /etc/mail/authinfo.db')dnl
      2. define(`confAUTH_MECHANISMS', `LOGIN PLAIN')dnl
      3. define(`confAUTH_OPTIONS', `A p y')dnl
      4. TRUST_AUTH_MECH(`LOGIN PLAIN')dnl
    • Nach der Zeile <dnl define(`confCACERT_PATH',`/usr/share/ssl/certs')> suchen (weiter oben in der Datei).
    • Die gefundene Zeile sowie die drei folgenden aktivieren, indem das <dnl > am Beginn der Zeile entfernt wird. Dort sollte dann stehen:
      • define(`confCACERT_PATH',`/usr/share/ssl/certs')
      • define(`confCACERT',`/usr/share/ssl/certs/ca-bundle.crt')
      • define(`confSERVER_CERT',`/usr/share/ssl/certs/sendmail.pem')
      • define(`confSERVER_KEY',`/usr/share/ssl/certs/sendmail.pem')
    • Wer mag, kann auch noch das Logging ausführlicher gestalten. Dazu ggf. eine weitere Zeile einfügen: <define(`confLOG_LEVEL', `20')dnl>
  9. Die Datei <authinfo> erzeugen (wiederum in /etc/mail) - dort ist die SMTP-Authentifizierung hinterlegt. Sie besteht aus zwei Zeilen. Für T-Online sieht sie so aus (smtp ggf. anpassen, <[email protected]> an beiden Stellen durch den eigenen Benutzernamen ersetzen, <Kennwort> durch das eigene Kennwort ersetzen):
    AuthInfo:[smtp.t-online.de] "U:[email protected]"
    "I:[email protected]" "P:Kennwort" "M:LOGIN PLAIN"
  10. Über den sendmail "macro burner" die sendmail.cf neu aus der sendmail.mc erzeugen. Dazu an der Kommandozeile (vorher ggf. ein <cd /etc/mail>): <m4 sendmail.cf < sendmail.mc>
  11. Aus der authinfo-Datei die authinfo.db generieren. Dazu an der Kommandozeile: <makemap hash /etc/mail/authinfo < /etc/mail/authinfo>
  12. Sendmail neu starten: </etc/init.d/sendmail restart>
  13. Die log-Datei (/var/log/maillog) überprüfen. Sollten Fehler wie z.B. <unable to find STARTTLS certificate> auftauchen, gibt's Probleme mit dem Zertifikat - weiter oben nochmal nachsehen.
  14. Über einen map-Test kann ermittelt werden, ob die Authentifizierung über authinfo.db klappt. Dazu an der Kommandozeile <echo '/map authinfo AuthInfo:[smtp.xy.de]' | /usr/sbin/sendmail -bt> eingeben und "smtp.xy.de" durch den eigenen SMTP-Provider ersetzen. Ist der Test nicht erfolgreich (Ausgabe <... map_lookup: authinfo ... returns "blablabla" (0)> kommt nicht), gibt's einen Fehler in der authinfo-Datei.
  15. Asterisk neu starten (<shutdown -r now>)
  16. Nun noch (AAH <2.8:AMP, ab 2.8: freePBX) entsprechend anpassen:
    • Für VoiceMail die Extensions anpassen (<Setup/Extensions>), so dass auch mails verschickt werden
    • Für Fax in <Setup/General Settings> die Parameter anpassen
  17. Jetzt noch dumme Sprüche auf den AB einer Extension labern und sich ggf./hoffentlich freuen. :)

Soweit meine "Erfolge" bislang. Den Fax-Empfang habe ich noch nicht hinbekommen (auch noch nicht groß versucht), auch habe ich noch Probleme mit den wav-Attachments der VoiceMail E-Mails - die sind einfach viel zu leise.

Viel Spaß! :)

Grüße,
Olaf
 
Zuletzt bearbeitet:
Wie kann ich bei /etc/asterisk/vm_email.inc Umlaute verwenden?
 
Olaf.Rabbachin schrieb:
versuch's mal mit Kodierung: http://www.mediaevent.de/tutorial/sonderzeichen.html (habe ich nicht selbst ausprobiert). Berichte doch bitte hier, ob's klappt.

Grüße,
Olaf

Vielen Dank für den Tipp. Generell würde das ja klappen (die Umlaute erscheinen wie gewünscht). Nur wird der Strichpunkt in der Kodierung wohl als Kommentarzeichen interpretiert und daher alles danach ignoriert.

Noch?n Tipp?
 
robinsonR schrieb:
Vielen Dank für den Tipp. Generell würde das ja klappen (die Umlaute erscheinen wie gewünscht). Nur wird der Strichpunkt in der Kodierung wohl als Kommentarzeichen interpretiert und daher alles danach ignoriert.

Grundsätzlich kannst du alle ASCII-Zeichen kodieren. Dabei ist der ASCII-code per <&#
Code:
> zu kodieren, für das ";" müsstest du also &#59 in deinen HTML-Code an entsprechender Stelle aufnehmen. Ob's funzt, kann ich wiederum nicht sagen. :)

Grüße,
Olaf
 
Olaf.Rabbachin schrieb:
Grundsätzlich kannst du alle ASCII-Zeichen kodieren. Dabei ist der ASCII-code per <&#
Code:
> zu kodieren, für das ";" müsstest du also &#59 in deinen HTML-Code an entsprechender Stelle aufnehmen. Ob's funzt, kann ich wiederum nicht sagen. :)

Grüße,
Olaf[/QUOTE]

Das funktioniert deshalb nicht, da das ";" ja zur Kodierung dazugehört. Ich habe auch versucht "#" anstelle von ";" als Kommentarzeichen zu definieren. Wenn das klappen würde, wäre das wohl ein gangbarer Weg.
 
robinsonR schrieb:
Das funktioniert deshalb nicht, da das ";" ja zur Kodierung dazugehört. Ich habe auch versucht "#" anstelle von ";" als Kommentarzeichen zu definieren. Wenn das klappen würde, wäre das wohl ein gangbarer Weg.

Verstehe ich nicht. Zu welcher Kodierung soll das ";" gehören ..?
 
Olaf.Rabbachin schrieb:
Verstehe ich nicht. Zu welcher Kodierung soll das ";" gehören ..?

Gemäss dieser Tabelle besteht ein Sonderzeichen aus "&" dem dazugehörigen Code (numerisch oder HTML-Entity) und einem abschliessenden ";". Oder verstehe ich da etwas falsch?
 
robinsonR schrieb:
Gemäss dieser Tabelle besteht ein Sonderzeichen aus "&" dem dazugehörigen Code (numerisch oder HTML-Entity) und einem abschliessenden ";". Oder verstehe ich da etwas falsch?

Mea culpa - stimmt natürlich, das ";" bildet den Abschluss. Sorry! Das kommt davon, wenn man ein knappes copy'n'paste aus eigenem HTML-code macht ...
Tja, dann weiß ich auch nicht weiter. Über's Web jedenfalls habe ich auch nichts Gescheites finden können. Seltsam eigentlich, im Prinzip sollte die Umlaut-Geschichte doch wohl ein eher alltägliches Unterfangen sein ...
Ich würde an deiner Stelle einen neuen Thread aufmachen, die Chance auf eine kompetentere Antwort als von meiner Seite sollte dann wohl wesentlich höher ausfallen. Kannst ja einen link darauf hier posten, für nach uns Folgende auf der Suche wg. des gleichen Problems.

Grüße,
Olaf
 
Olaf.Rabbachin schrieb:
Mea culpa - stimmt natürlich, das ";" bildet den Abschluss. Sorry! Das kommt davon, wenn man ein knappes copy'n'paste aus eigenem HTML-code macht ...
Tja, dann weiß ich auch nicht weiter. Über's Web jedenfalls habe ich auch nichts Gescheites finden können. Seltsam eigentlich, im Prinzip sollte die Umlaut-Geschichte doch wohl ein eher alltägliches Unterfangen sein ...
Ich würde an deiner Stelle einen neuen Thread aufmachen, die Chance auf eine kompetentere Antwort als von meiner Seite sollte dann wohl wesentlich höher ausfallen. Kannst ja einen link darauf hier posten, für nach uns Folgende auf der Suche wg. des gleichen Problems.

Grüße,
Olaf

Ich habe hier einen neuen Thread eröffnet. Aber anscheinend interessiert sich niemand dafür oder es liegt daran, dass ich noch bei keiner hier gestellten Frage eine (brauchbare) Antwort erhalten habe. :noidea:
 
Kostenlos!

Statistik des Forums

Themen
248,879
Beiträge
2,303,826
Mitglieder
378,548
Neuestes Mitglied
yiannostest