freetz sendet keine Mails mehr via Callmonitor

dattom

Neuer User
Mitglied seit
1 Dez 2006
Beiträge
4
Punkte für Reaktionen
0
Punkte
1
Hallo Freetzer Gemeinde,

meine Fritzbox ( Firmware: 54.04.85freetz-devel-5284M, sprich aktuellste AVM Labor preview und TRUNK ) sendet keine MAILS mehr via Callmonitor.

Bis vor kurzem ging das noch ohne Probleme - da ich schon seit ein paar Jahren mir eingehende verpasste Anrufe als email an meine mailbox senden lasse. Prima feature.

Zu betonen ist, dass das PUSH MAIL der AVM Fritz SW PERFEKT geht.
also : email adresse, mail-server und passwort stimmen !!!

Ich bin der Sache nachgegangen: SSH auf fritz.box, und im laufenden system mal etwas gegrept und 'vi-ed' .
Folgendes passiert:

Durch diverse "set -x" in den betroffenen mail scripten kam ich darauf,
dass obwohl in der Fritz box wie o.a. die Mail-adressen etc vorhanden sind,
in den freetz mail scripten ( s.u.) KEINE adressen, passwort etc übernommen sind.


In /usr/bin/mail findet man:
Code:
config() {
[COLOR="Blue"]cfg2sh ar7 emailnotify | sed 's/^emailnotify_//'[/COLOR]
}
trap 'exit 2' HUP INT QUIT TERM
[COLOR="blue"]unset SUBJECT FROM TO MAILSERVER AUTHNAME PASSWORD ATTACHMENTS INLINES RELATED[/COLOR]
unset STARTTLS
case $1 in
send|sendonce|enqueue)
echo "TV config = $(config)"
eval "$(config)"
[COLOR="blue"]FROM=$From[/COLOR]
[COLOR="blue"]TO=$To
MAILSERVER=$SMTPServer[/COLOR]
if let "${accountname:+1}"; then
[COLOR="blue"]AUTHNAME=$accountname[/COLOR]
fi
if let "${passwd:+1}"; then
[COLOR="blue"]PASSWORD=$passwd[/COLOR]
fi
if let "${starttls:+1}"; then
[COLOR="Blue"]STARTTLS=$starttls[/COLOR]
fi

also wird über
Code:
unset SUBJECT FROM TO MAILSERVER AUTHNAME PASSWORD ATTACHMENTS
erst alle email infos gelöscht,

aber über
Code:
cfg2sh ar7 emailnotify | sed 's/^emailnotify_//'

werden KEINE informationen aus der ar7.cfg in in die passenden variablen in den mail-scripten "eingelesen "!!
Die Variablen waren in den debug ausgaben die ich eingebaut habe, LEER !!!


ALSO ein blick in /usr/bin/cfg2sh zeigt:
Code:
flash>  head /usr/bin/cfg2sh
#! /bin/ash
cfg_cat() {
[COLOR="blue"]allcfgconv -C "$1" -c -o -[/COLOR]
}
cfg_parse() {
sed -ne '
/^[[:space:]]*[[:alnum:]][[:alnum:]_]* {/ {
s/^[[:space:]]*\([[:alnum:]][[:alnum:]_]*\).*/\1/; H; d
}
/^[[:space:]]*}[[:space:]]*$/ {
flash>


Die Lösung liegt in allcfgconf!! Dieses programm liest wohl die /var/flash/ar7.cfg aus, die allumfassende conf-datei!!

Code:
>which allcfgconv
/bin/allcfgconv

mit den parametern von oben per hand aufgerufen:

Code:
~> allcfgconv -C ar7  -c -o -
~> echo $?
0
NICHTS WIRD AUSGEGEBEN , LEERE AUSGABE !!!

obwohl errorcode 0 !!

DA LIEGT DER HUND BEGRAGEN !!!!

also /bin/allcfgconf aufgerufen mit -u und siehe da:

es gibt auch eine option -e : - output even if load error. (NOTSET)

ausprobiert mit sed zum filtern .......

Code:
 allcfgconv -C "ar7" -c -e  -o - | sed -ne '/^'"emailnotify"'[[:space:]]*{/,/^}/p'
emailnotify {
        enabled = yes;
        interval = monthly;
        From = "\"FRITZBOX\" <[email protected]>";
        To = "[email protected]";
        SMTPServer = "mail.gmx.net";
        accountname = "[email protected]";
        passwd = "xxxxxxxxxxx";
        show_eventlist = yes;
        show_voipstat = no;
        show_kidsstat = no;
        show_onlinecntstat = yes;
        show_fonstat = no;
        starttls = no;
        dsl_pushmail_mode = 0;
        enable_incident_supportdata = no;
}

e voilá: mit der -e option klappt es..
Eingefügt in mail-test scrpite, und schon sendet der callmonitor wieder mails !!

Was wurde da geändert? wo ? wann?
Warum liefert allcfgconv keinen errorcode zurück, und hat wohl doch probleme ohne die -e option ??
Hat jemand eine Idee??

Und wie kommt das -e in den offiziellen trunk??

Grüsse
tom
 
Zuletzt bearbeitet:
In den trunk bekomst du es, indem du einen Patch hier anhängst gegen den trunk, und einer der Entwickler diesen eincheckt. Wann da etwas geändert wurde? Schau durch die Änderungen der AVM-Firmwares, irgendwo wirst du den Punkt finden.
 
patch: ein erster versuch ging schief, ich hab das nicht weiter verfolgt ( mangels Zeit).
Vllt hat da jemand muse und kann das übernehmen. Würde mich interessieren...

Aber eine direkte Änderung in den paket-src funzt:
( in den lokalen im freetz-trunk-verzeichnis in der freetz produktions umbebung , NICHT AUF DER BOX!!!!)
in der datei

Code:
vi ./packages/target-mipsel_uClibc-0.9.29/callmonitor-1.18.3/root/usr/lib/callmonitor/modules/config.sh

die 3. Zeile von
Code:
allcfgconv -C "$1"  -c -o -
nach
Code:
allcfgconv -C "$1" -e -c -o -
ändern.

Neues make starten - flashen - dann sollte der callmonitor wieder mailen.
( natürlich ist bei einem neuen heruntergelandenen packet das ganze wieder neu zu machen, solange nicht die freetz sourcen angepasst sind....)
 
Das -e könnte ich in die nächste Version des Callmonitors aufnehmen. Besser wäre allerdings, dass du klärst, warum es bei dir überhaupt Ladefehler gibt, die man mit -e umgehen muss: Da muss doch irgendetwas bei deiner Konfiguration im Argen liegen.

PS: Du könntest dazu einmal die Ausgabe von "allcfgconv -C ar7 -e -o -" mit dem Inhalt von /var/flash/ar7.cfg vergleichen.
 
Ich konnte das mit einer der letzten Labors nachvollziehen. Mit der aktuellen geht es auch wieder ohne "-e" bei mir.
Die Unterschiede in den Dateien sind bei mir die Passwörter und 5 Zeilen im Abschnitt acceslist wo bei der allcfgconv Ausgabe der Kommentar "/* AVM */" fehlt.

MfG Oliver
 
Also in der 54.04.85-18158 geht es bei mir nicht mit callmonitor 1.18.6
 
Probier mal die letzte Firmware. Mein Problem (callaction) ist seitdem verschwunden.
 
Meins nicht, mit "-e" in der config.sh geht's aber jetzt.
 
Zuletzt bearbeitet:
Laufen nur die Emails nicht, oder klappt auch das Telefonieren nicht? Ich hab die interessante Erfahrung gemacht grad heut erst wieder, dass ein Telefonat den voipd zum Absturz brachte, und so eben auch keine mailmessage rausgeschickt wurde. Allerdings rebootete die Box auch ein paar Minuten später (watchdog hat zugeschlagen).
 
Hmm, meine Frau meint, die Sprachqualität hätte nachgelassen, aber das war mit der 54.04.85-18158, mal sehen...
 
Laufen nur die Emails nicht, oder klappt auch das Telefonieren nicht? Ich hab die interessante Erfahrung gemacht grad heut erst wieder, dass ein Telefonat den voipd zum Absturz brachte, und so eben auch keine mailmessage rausgeschickt wurde. Allerdings rebootete die Box auch ein paar Minuten später (watchdog hat zugeschlagen).

Bei mir passiert das auch genau so (7270_v2, die letzten 3 Previews) - beim ersten eingehenden Anruf per ISDN oder VoIP:

Code:
Sep  3 11:06:13 ppp-93-104-47-138 telefon[2095]: SIGCHLD received!
Das passiert übrigens bei jedem eingehenden Anruf - auch ohne Freetz. Das wird brav jedes Mal auf der Console (via Telnet) ausgegeben.

Code:
Sep  3 11:06:13 ppp* callmonitor: <<< timestamp=03.09.10 11:06:13 event=RING id=0 source=089xxxxxxx dest=xxxxxxxx provider=SIP3
Sep  3 11:06:13 ppp* callmonitor: >>> in:request ID=0 TIMESTAMP=03.09.10 11:06:13 SOURCE=089xxxxxxx DEST=xxxxxxx EXT= DURATION= PROVIDER=SIP3

Dann arbeitet der callmonitor brav seine Liste ab; mailmessage sendet aber keine Mail, während meine Benachrichtigung über Jabber (mcabber-FIFO) einwandfrei und schnell klappt.

Dann kommt der voipd-Crash:

Code:
Sep  3 11:06:38ppp-xxx voipd[2100]: 2010-09-03 11:06:38(1) [Segmentation fault] voipd(2100) CRASHED at memcpy+0x114 (/lib/libc.so.0 at 00032e34) accessing _DYNAMIC_LINKING+0x15 (voipd at 00000016)
Sep  3 11:06:38ppp-xxx voipd[2100]: ze: 00000000 at: 2ad3a5da v0: 2af71400 v1: 000000f0
Sep  3 11:06:38ppp-xxx voipd[2100]: a0: 2af71400 a1: 00000016 a2: 000001e0 a3: 000001f6
Sep  3 11:06:38ppp-xxx voipd[2100]: t0: 00000000 t1: ffffffea t2: 2ab2c322 t3: 2aaafa4c
Sep  3 11:06:38ppp-xxx voipd[2100]: t4: 2adf8438 t5: 000000e1 t6: 073c3a79 t7: 2adfc568
Sep  3 11:06:38ppp-xxx voipd[2100]: s0: 000001e0 s1: 000000f0 s2: 2aab2c80 s3: 000000f0
Sep  3 11:06:38ppp-xxx voipd[2100]: s4: 00000016 s5: 00000006 s6: 2ab2e6c4 s7: 2aef7050
Sep  3 11:06:38ppp-xxx voipd[2100]: t8: 2adf7628 t9: 2ae27d20 k0: 00430218 k1: 00000000
Sep  3 11:06:38ppp-xxx voipd[2100]: gp: 2aac5010 sp: 7f888640 fp: 7f888820 ra: 2ab2e90c
Sep  3 11:06:38ppp-xxx voipd[2100]: Code: 30c80003  00c83823  00e53821 <98a90000> 88a90003  24840004  24a50004  14a7fffb  ac89fffc
Sep  3 11:06:38ppp-xxx voipd[2100]: [bt] Number of functions: 7
Sep  3 11:06:38ppp-xxx voipd[2100]: [bt] (audiocodecmap_pt_is_codec+0x7e8)+0x1f8 (/lib/librtpstream.so.2 at 0000370c)
Sep  3 11:06:38ppp-xxx voipd[2100]: [bt] rtpsession_send_audio+0xb0 (/lib/librtpstream.so.2 at 00008140)
Sep  3 11:06:38ppp-xxx voipd[2100]: [bt] capiconn_inject+0xca8 (voipd at 00415964)
Sep  3 11:06:38ppp-xxx voipd[2100]: [bt] (sip_rtpstat+0x340)+0x4c (voipd at 0040cee8)
Sep  3 11:06:38ppp-xxx voipd[2100]: [bt] (csock_abort+0x10a8)+0x68 (/lib/libavmcsock.so.2 at 0002ac78)
Sep  3 11:06:38ppp-xxx voipd[2100]: [bt] csock_select_with_timeval+0x444 (/lib/libavmcsock.so.2 at 0002b470)
Sep  3 11:06:38ppp-xxx voipd[2100]: [bt] main+0x1098 (voipd at 00411c8c)

Danach rebootet sich die Box und der Spaß geht von vorne los.

Anbei noch meine Config.

Viele Grüße,
Thomas
 

Anhänge

  • config.txt
    22.6 KB · Aufrufe: 6
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.