TrayMessage: Anzeige eingehender Anrufe ohne Firmware-Mod.

Um dieses Off-Topic-Thema mal kurz zum Abschluss zu bringen: Es hat offenbar daran gelegen, dass das "Callmessage.sh"-script auf der Box ausgestiegen ist (wurde unter ps im Telnet nicht aufgelistet). Nach Reset der Box durch Stecker ziehen wurde es wieder gestartet. Jetzt geht auch der JFritz-Callmessage-Anrufmonitor wieder. Die eigenartigen Meldungen im JFritz-Debug-Logfile haben damit offenbar nichts zu tun. Danke an Evil Dead und kleinc!
 
Aus den folgenden Zitaten schliesse ich, dass sowohl JFritz als auch das callmessage-script ohne aktives Telnet funktionieren:
Evil Dead schrieb:
Ich selber habe Telnet nicht aktiv, da ich es zu selten benötige. Falls doch, benutze ich das starttelnet.image.
und
Skyteddy schrieb:
Und dann geht TrayMessage nicht mehr. Magst nicht bitte, danke, bei Dir die eine telnet-Zeile einbauen
und
Evil Dead schrieb:
Habe nun endlich das TrayMessage-Image mit telnet-ar7login gebaut
Wenn Traymessage nicht ohne Telnet funktioniert, trifft das dann auch auf JFritz zu?
Bzw. heisst das, dass auch der Callmessage-Anrufmonitor von JFritz ohne telnet (also ohne permanentes telnet-ar7login) nicht funktioniert?
Falls doch würde ich auch lieber nur bei Bedarf das temporäre starttelnet.image verwenden.
Falls das nicht geht: könnte man das Ganze dann nicht auch mit SSH anstatt mit Telnet machen?
Gruß, Niels
 
Aus den folgenden Zitaten schliesse ich, dass sowohl JFritz als auch das callmessage-script ohne aktives Telnet funktionieren
Das ist richtig.

Wenn Traymessage nicht ohne Telnet funktioniert, trifft das dann auch auf JFritz zu?
Beide funktionieren ohne aktives Telnet.

Falls doch würde ich auch lieber nur bei Bedarf das temporäre starttelnet.image verwenden.
Kein Problem. Aber auch das ist nicht nötig, das callmessage-Skript kann man ja per Firmware-Update installieren.

könnte man das Ganze dann nicht auch mit SSH anstatt mit Telnet machen
Kann man - mit der Suche wirst du fündig. Ist aber wie gesagt nicht nötig für callmessage-Anrufmonitor (egal welche Software die Anrufe empfängt - logisch, oder?).
 
Danke kleinc! Ich werde telnet also ausschalten.
Gruß, Niels
 
Hi Andreas,

danke nochmal für die Unterstützung.
Mein Programm BIT FBF Dialer ( Link in der Sig ) unterstützt nun das
callmessage.sh Script mit Rückwärtssuche.

Echt geile die FRITZ!Box !!!

Gruß Mike
 
Re: callmessage.sh und Zombie-Prozesse

m.ramsch schrieb:
Noch ein ganz anderer Punkt:

Mit fiel auf, dass nach jedem Anruf pro aufgerufenem „wget“ ein Zombie-Prozess übrigblieb. Bei fünf DHCP-Clients sind das nach zehn Anrufen schon 50 Zombie-Prozesse – irgendwie nicht sehr hübsch!
Das Problem habe ich auch mit callmessage-2005-11-12.image noch.
Hatte vorher aber die aeltere Version des Images oben und einfach das neue Image daruebergespielt.
Jetzt habe ich schon das clear-debug-cfg-without-reboot.image eingespielt und danach wieder das callmessage-2005-11-12.image, leider habe ich diese Zombie-Prozesse immer noch... laesst sich da was machen?

Ciao Max
 
Hi Max,

ich habe diese Zombies mit callmessage-2005-11-12.image nicht mehr. Die debug.cfg brauchst du eigentlich nicht extra löschen, da das Image die komplett neu schreibt.

Hast du evtl. noch andere Modifikationen drauf, die diese Zombies verursachen könnten?

Viele Grüße,
Andreas
 
Ausser dem callmessage-2005-11-12.image ist nichts weiter eingespielt auf der Box. Ausser das ich noch capiovertcp einegschaltet habe, aber das sollte ja nicht stoeren.
Hier mal ein Screenshot der Sache:



Ciao Max
 
Hi Max,

deine wget-Prozesse sind aber keine Zombies! Die haben den Status 'S' (= sleeping) und nicht 'Z'!

Welches Programm benutzt du denn zum Anzeigen der Anrufe? Evtl. wird die Verbindung vom Programm nicht geschlossen, so dass wget nicht beendet, weil es noch auf input wartet.

Viele Grüße
Andreas

P.S.: Zombies lassen sich mit
Code:
ps | grep 'Z'
auflisten.
 
Ich hatte jetzt eine ganze Weile BIT FBF Dialer 0.9.1 Beta benutzt. ich werde mal sehen ob das bei JFritz und/oder Traymessage auch so ist.

Ciao Max
 
Nach ein paar Tests bin ich nicht schlauer geworden. Habe nochmal alle drei Programme gestestet (TrayMessage, JFritz und BIT FBF Dialer).
Die wget Prozesse tauchen bei einem Anruf auf, werden aber nicht sofort nach Absetzen der Meldung beendet (ist das normal?), auch wenn auf dem PC ein Anrufmonitor laeuft der die Meldung annimmt.
Weiterhin ist mir aufgefallen das an einen PC, der auch noch mit im Netz haengt gar keine Nachricht verschickt wird (dort ist zwar kein Monitor am laufen, aber das sollte ja unerheblich sein), obwohl er auch ueber DHCP seine IP bezieht.

Ich habe die Prozesse jetzt erst mal per Hand beendet, ich werde das mal weiter beobachten.

Ciao Max
 
@Evil Dead und alle anderen die mitgeholfen haben..

Frage 1,

dank Evil Dead funktioniert mein Traymessage script jetzt so das es an 2 PC's mit fester IP und 1x an meine Dbox den Anrufer schickt.

Fuer die DBox mache ich das so:
wget -O /dev/null "http://192.168.178.4:23232/?caller=$caller&called=$called" &

Nur wird mir nur die Anrufende Nummer nicht der Angerufene bzw Sip oder Festnetz angezeigt.

Dann die 2te Frage

Ich habe jetzt auch noch 2x XBox mit XBMC im Hause. Ich habe deswegen auch schon im Evo-X Board eine Anfrage gestartet.

Bei der XBox mit XBMC gibt es eine Funktion das eine oder mehrere XBMC im gleichen Netzwerk per kurzen Infoscreen in das TV Bild eingeblendet werden.

Es gibt auch lt hierhier schon ein fertiges Program das auf dem XBMC laeuft.

callerid.jpg


Dieses Script laeuft aber in YAC (keine Ahnung) und es waere natuerlich schoen wenn man Traymessage/Fritzbox irgendwie dazu bewegen koennte die Anrufe auch an die XBox weiterzuleiten.

Ich lebe in England somit funktioniert die Rueckwaertsuche im Oertlich fuer mich natuerlich nicht.

Frage 2 deswegen

Kann ich meine Contact.txt liste einfach irgendwo auf der Fritz ablegen und die Names Info wuerde dann z.B. an DBox und XBox gesendet ?

Frage 3

Gurgel vom Tuxbox Forum hat ein Delphie Programm geschrieben. Die DBox kann aber kein Delphi sondern nur C.

Es hat ja nicht jeder immer seinen PC rennen (mein Bruder&Mutter) jedoch haben beide eine DBox.

Waere es nun moeglich den Delphi Code auf den DBoxen rennen zu lassen um eingehende Anrufe von der Fritz an diese Software zur Rueckwaertsuche...?


[php:1:869d5418d7]program reverz_dasoerliche;

uses
IdHTTP, Classes, Dialogs, StrUtils;

{$R *.res}


var
h: TIdHTTP;
pl: TStringList;

b, e, i: Integer;
ServerResult: String;
Name: String;

//Quiet: Boolean;
const
Host = 'www.dasoertliche.de';

before = '<td width="368" valign="top"><a class="blb" href="home.htm?';


begin
h := TIdHTTP.Create(nil);
try

if ParamCount>=1 then
begin
h.Host := Host;

pl := TStringList.Create;
pl.Add('kw_invers=' + ParamStr(1)); //Rufnummer für den der Name zu ermitteln ist
pl.Add('main=Antwort');
pl.Add('AKTION=START_INVERS_SUCHE');
pl.Add('SEITE=INVERSSUCHE_V');
pl.Add('s=2');
pl.Add('rg=1');
pl.Add('taoid=');
pl.Add('SKN=0');

ServerResult := h.Post('http://www.dasoertliche.de/DB4Web/es/oetb2suche/home.htm', pl);

b := Pos(before, ServerResult);
if b = 0 then
begin
ShowMessage('Es wurde kein Eintrag zu der Rufnummmer "' + ParamStr(1) + '" gefunden');
end
else begin

b := b + Length(before);
while (ServerResult<>'>') do
inc(b);
inc(b); inc(b);

e := PosEx('</td>', ServerResult, b) - 1;

Name := '';
for i:=b to e do
Name := Name + ServerResult;

Name := AnsiReplaceText(Name, '</a>', '');
Name := AnsiReplaceText(Name, '
', ' | ');
pl.Clear;
pl.Add('"' + ParamStr(1) + '";"' + Name + '";0;;0');
pl.SaveToFile('caller.csv');

ShowMessage(Name);
end;
end else
MessageDlg('Es wurde keine Rufnummer als Parameter übergeben!', mtError, [mbOK], 0);

finally
h.Free;
end;
end.[/php:1:869d5418d7]

Sorry fuer die vielen Fragen aber ich bin echt super froh das die Box hier ohne Probleme mit Annex-A rennt ;-)

Ciao

PT-1
 
Hi PT-1,

zu Frage 1:

Wertet die DBox eigentlich alle Parameter aus (caller, called)? Was für ein Programm läuft auf der DBox?
Für die Anzeige auf der X-Box muss eine modifizierte Firmware auf die Box gespielt werden, da in der offiziellen Firmware kein YAC-Server integriert ist.

zu Frage 2:

So hat das callmessage-Script anfangs gearbeitet. Dann musste das Script allerdings auch die Namensauswertung machen und hat dann einen String "$name ($nummer)" an die Clients geschickt. Dadurch war das Script etwas aufwendiger. Der größte Nachteil an dieser Methode ist, dass die Namen in der debug.cfg gespeichert werden mussten, da nur diese Datei nach einem Reboot der Box weiterhin verfügbar ist (ein neuer Eintrag zog also das Editieren der debug.cfg nach sich).

Falls eine deiner Boxen einen Webserver bereitstellen kann, könnte man jedoch die "contact.txt" dort ablegen und beim Start der Fritz!Box nachladen. Dann muss man die Kontaktinformationen nicht in der debug.cfg speichern. Man müsste dann aber auf jeden Fall das callmessage-Script ändern.

zu Frage 3:

Keine Ahnung, da ich keine DBox habe.

Viele Grüße
Andreas
 
Ich habe ja XBMC auf meinen XBoxen oder muss ich dafuer noch ein anderes Bios flashen.. Ich habe ja wegen der YAC Geschichte auch schon im XBMC Board gepostet aber keine Antwort erhalten.

Die DBox laeuft ja selbst mit Linux und hat auch ein HTTPD Interface
Das HTTP Commando sendet ja einfach diesen String, also alles was nach der IP&Port kommt.

Diesen String habe ich so bei meinem Bruder eingerichtet (Deutschland) und muss Ihn erstmal mit meinem vergleichen (UK)
Eigentlich dachte ich das per Einfuegen von caller&called die Firmware einfach den Wert bzw das resultat and die DBox uebergibt.
Eventuell habe ich da auch einen Denkfehler...

Ein Kumpel von mir hat Versucht das Delphi Script in Linux umzuwandeln.

Das Resultat ist dieses:

Code:
#Dunrycs Dodgy German Directory Enquiries 
#Wgets the german site with a number of your choice 
#split the url as we need to put our number between the 2 halves 
url1="http://www.dasoertliche.de/DB4Web/es/oetb2suche/home.htm?kw_invers="
url2="&main=Antwort&AKTION=START_INVERS_SUCHE&SEITE=INVERSSUCHE_V&Suchen.x=
45&Suchen.y=12&s=2&rg=1&taoid=&si=05112700112858305112700112828004&SKN=0&SEITE=
INVERSSUCHE_V&AKTION=START_SUCHE"
#get the number from the user (need to change this to get number from fritz)
echo type in the numberyou want to find 
read tel
#concatenate the lot 
fullurl=$url1$tel$url2
#save them in a file 
echo $fullurl > query
#call wget using the url from the textfile asnd save the html in temp file 
wget -O temp -i query
#the html file is now on the pc but we need to display just the name and address 
#gives you a load of output including the names but seems to be displayed twice 
#and have some different numbers added (always 592 629)
grep -n blb temp >tester

#reomve the # from the next line to view the resultys in firefox 

#firefox tester

Eine Suche kommt dann mit diesem zurueck:
Code:
592: <td width="368" valign="top"><a class="blb" href="home.htm?main=Detailansicht&kw=&ci=Gr%E4felfing&fn=&st=&hnr=&pc=82166&pc2=&ok=&kw4=&kw5=
&kw6=&bnr=890000&bn=f%FCr+das+W%FCrmtal&NamePage=1&verl_id=120&buch_id=798&verl_email=
info%40keller%2Dverlag%2Ede&verl_url=http%3A%2F%2Fwww%2Ekeller%2Dverlag%2Ede&verl_name=
Josef+Keller+GmbH+%26+Co%2E+Verlags+KG&us=&rg=1&kw_invers=08989544977&bo=0&ao=0&mo=0&uo=
0&so=0&sim=0&s=2&taoid=00041020000000005112701055123280000002&si=05112700112858305112701055128000&rg=
1&xco=70202&yco=-319744&ind=0&AKTION=TREFFERLISTE_AUSWAHL&SEITE=TREFFERLISTE&tk=20282C474249202220543F53"> Biometzgerei Pichler</a>
Pasinger Str. 50, 82166 Gr�elfing</td>
629: <td width="368" valign="top"><a class="blb" href="home.htm?main=Detailansicht&kw=&ci=Gr%E4felfing&fn=&st=&hnr=&pc=82166&pc2=&ok=&kw4=&kw5=&kw6=&bnr=
890000&bn=f%FCr+das+W%FCrmtal&NamePage=1&verl_id=120&buch_id=798&verl_email=info%40keller%2Dverlag%2Ede&verl_url=
http%3A%2F%2Fwww%2Ekeller%2Dverlag%2Ede&verl_name=Josef+Keller+GmbH+%26+Co%2E+Verlags+KG&us=&rg=1&kw_invers=
08989544977&bo=0&ao=0&mo=0&uo=0&so=0&sim=0&s=2&taoid=00041020000000005112701055123280000002&si=
05112700112858305112701055128000&rg=1&xco=70202&yco=-319744&ind=0&AKTION=TREFFERLISTE_AUSWAHL&SEITE=
TREFFERLISTE&tk=20282C474249202227342848"> Biometzgerei Pichler</a>
Pasinger Str. 50, 82166 Gr�elfing</td>

PS: Nummer ist reiner Zufall !!!

Und wir wuerden dann ja jetzt gerne eifach nur den Namen und Anschrift rausfiltern....
 
Ich bekomm das ganze bei mir einfach nicht zum laufen...

ich hab ne fbf 7050 mit der neusten fw und hab mir callmessage-2005-11-12.image draufgeflasht. dann hab ich die "/var/flash/debug.cfg wie folgt geändert:

# Send number of caller to all DHCP clients
wget -O /dev/null "http://192.168.100.2:23232/?caller=$caller&called=$called" &

auf dem pc hab ich die neuste java runtime und traymessage-2005-11-03.zip installiert. doch wenn ein anruf eingeht, wird in traymessage nichts angezeigt. auf der fbf7050 hab ich die ip des pc (192.168.100.2) als dmz eingetragen und auf dem pc selber ist keine firewall aktiv. an was kann es noch liegen dass es nicht geht?

hier meine netzwerk konfiguration:
fritzbox: 192.168.100.1
pc: 192.168.100.2
xbox: 192.168.100.3 (für später)
dbox: 192.168.100.4 (für später)
noch ein router (wird aber nur als switsch eingesetzt): 192.168.100.254 (firewall deaktiviert)

wäre für jede hilfe dankbar
 
Hi fluidman!

fluidman schrieb:
dann hab ich die "/var/flash/debug.cfg wie folgt geändert:

# Send number of caller to all DHCP clients
wget -O /dev/null "http://192.168.100.2:23232/?caller=$caller&called=$called" &

Hast du auch die Schleife entfernt?

Also
Code:
while read x x IP x
do
  wget -O /dev/null "http://${IP}:23232/?caller=${caller}&called=${called}" &
done < /var/flash/multid.leases
durch
Code:
wget -O /dev/null "http://192.168.100.2:23232/?caller=$caller&called=$called" &
ersetzt?

Viele Grüße,
Andreas
 
ja habe ich... langt das denn auch wenn ich es per telnet und nvi ändere?
 
Hallo,
erstmal Danke für dieses tollw Script. Habe es auf meiner AVM BOX FON 7050 WLAN installiert und läuft wunderbar.

Jetzt zu meiner Frage oder Anregung:
Ich habe mir von der TrayMessage seite ein Image erstellen lasse mit Telnet und dann unten im Script noch "kein DHCP und meine IP von der DBOX" eingeteragen und das dann installiert.
Das läuft auch soweit wunderbar.
Wenn einer Anruft sehe ich auf meiner D-BOX "Eingehender Anruf" und dahinter die Telefonnummer. Kann man das auch irgendwie so ändern, das da noch steht, zu welcher MSN oder Nebenstelle der Anruf geht, also die Line, so wie es in der Anrufliste von der Fritzbox ja auch drinsteht?

Hoffe, es kann da einer helfen.

Carsten
 
Hallo Carsten,
dazu muss etwas geändert werden, etwa so:
Code:
      for=${called}
      from=${caller}
      # send information to DBoxes
      wget -O /dev/null "http://192.168.x.xx/control/message?nmsg=Anruf%20fuer%20${for}%20von%20${from}" &
Sollte dir das jetzt nicht helfen, kannst du mir dein Image auch per mail schicken, dann bau ich es dir um.
Aber erst nächstes Jahr... jetzt geh ich feiern :)

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