Fritzbox Anrufbeantworter abfragen

Hallo Doctor Snuggles,

ich habe jetzt einen Encoder für die Fritzbox gefunden, der genauso funktioniert wie der decoder. Hab mir ein kleines Skript geschrieben, was mir jetzt bei jedem Anrufer eine neue Ansage generiert. Bei einem Unbekannten Anrufer wird halt eine Standart Ansage abgespielt.
Bin mal gespannt wie die nächsten Anrufer darauf reagieren, wenn Sie persönlich angesprochen werden! :slight_smile:

Gruß

Ich habe in meiner Fritzbox einen USB Stick auf den alle Nachrichten gespeichert werden. Wenn ich nach Hause komme, bekomme ich im Touch angezeigt das einige Sprachnachrichten vorhanden sind

Hallo, genau das möchte ich auch. Das passende Touch ist auch schon vorhanden. Habe eine Integer Variable angelegt und mit dem Script von DOC

$datei = '//192.168.111.4/Flashdisk-0-1/avm_tam/rec/rec.0.*'; 
$temp = glob($datei); 
$anzahl = count($temp); 
SetValueInteger("Anzahl_Nachrichten_AB", $anzahl);  

wollte ich die Nachrichten die auf dem angeschlossenen USB Stick sind zählen. Ich habe das Script so angepasst

$datei = '////192.168.143.10/Samsung-MightyDrive-01/FRITZ/voicebox/rec//rec.0.*'; 
$temp = glob($datei); 
$anzahl = count($temp); 
SetValueInteger("Anzahl_Nachrichten_AB", $anzahl);  

habe eine Testnachricht auf dem AB gesprochen, doch die Anzahl in der Variable bleit immer au 0. Hat einer eine Idee an was das liegen kann?

Grüße Mirco

Hallo Mirco,

liegt den die Aufnahme auch wirklich in dem Verzeichniss, welches du angegeben hast? Wie ist der Dateinahme - je nachdem welcher AB sind die Namen unterschiedlich.

Was bedeuten die 4x „/“ am Anfang des Pfades?

@hollowman
Dann bist du schon weiter, als ich es dieses WE geschaft habe. Habe jetzt erstmal das Wiedergabescript umgesetzt und muss das noch verfeinern für den Designer (vor und zurück der Aufnahmen, löschen usw.).

Kannst du mir den Encoder und evtl. dein Script zukommen lassen?

Viele Grüße vom
Doc

Hi,

hat schon jemand herausbekommen, wie man an die Anrufliste in der Fritzbox kommen kann?

Ich wünsche einen schönen Tag.

Christoph.

@Christoph:
Ich mache das seit langem über einen kleinen Umweg. Ich nutze das Tool JFritz als Anrufmonitor. Dieses ließt die Anruftliste aus der Fritzbox aus und legt sie als XML Datei ab. Diese wiederum verarbeite ich mit IPS zu einer Anrufliste im WebFront. Sobald ein Anruf rein kommt (was ich im IPS über eine Socket Verbindung zur FB mitbekomme) hole ich mir die XML Datei neu und lege die HTML Seite für das WebFront neu an.

@obicon könntest du uns mal deine Seite posten …
BITTE
MFG Ken

@Ken:
welche Seite meinst du? das eigentliche Skript oder die HTML Seite im WebFront? Wie du ja weißt, bin ich momentan nicht zuhause, daher geht das leider erst nächste Woche. Anbei mal ein Screenshot einer Anrufliste im WebFront. Ich hatte das ganze aber schon vor langer Zeit hier im Forum mal erklärt im Bezug auf ipshomecontrol. Dort sollten auch alle Skripte und Anleitungen zu finden sein. ich habe das ganze später dann nur noch auf die IPS V2 angepasst und die HTML Ausgabe an das WebFront.

Wobei JFritz noch wieder ein extra Tool ist was auf dem Rechner läuft … wer z.B. schon ne MySQL Datenbank laufen hat, kann sich ne Datenbank selber basteln und über ne Rückwärtssuche daraus ne Anrufliste generieren, bzw. den Anruf über ne Rückwärtssuche laufen lassen und dann in die DB eintragen.
Das würde auch die Geschichte mit dem persönlichen Ansagetext erleichtern :wink:

Ne andere Alternative ist die Datei(Anrufliste) von der Fritzbox direkt abzuholen und die dann weiter zu verarbeiten, zumindest wenn man kein extra Tool laufen lassen möchte.

http://fritz.box/cgi-bin/webcm?getpage=../html/de/FRITZ!Box_Anrufliste.csv

Das hört sich einfacher an als es ist, da man vorher erst mal das Passwort übermitteln muss (falls die FB mit einem solchen geschützt ist) und die Datei erst erstellt wird, was einen gewissen Delay bedeutet. JFritz hat dazu noch ein eigenes persönliches Telefonbuch und die Rückwärtssuche implementiert. Du hast natürlich mit dem Zusatztool auf dem Rechner recht, aber nach langem Probieren und Überlegen hat sich das bei mir für den besten Weg herausgestellt. Für einen Lösungsansatz mit der CSV in IPS bin ich natürlich auch interessiert, schien mir damals aber nicht gerade simpel zu lösen.

Naja, den Zugriff mit dem Passwort habe ich hier im Forum bereits beschrieben und die .csv Datei abzuspeichern bzw. auszuwerten sollte auch einfach sein, das Trennzeichen ist ein Komma … und Scripte für ne Rückwärtssuche gibt es auch.

Ich habe das allerdings ohne die Liste gelöst und meine eigene AnruflistenundAdressbuchdatenbank(IPS<>SQL) gebastelt :wink:

@Tetrapack
du schriebst ja „den Zugriff mit dem Passwort habe ich hier im Forum bereits beschrieben“ … hast du dazu vielleicht mal den Link oder ein paar stichwörter für die SuFu ? Konnte es auf Anhieb nicht finden … :confused:

Versuchs mal hiermit:

http://www.ip-symcon.de/forum/f28/opendir-geht-5723/ :wink:

Hängt allerdings ein wenig davon ab, welche FB du hast und welche Firmwareversion … Bei mir werkelt ne 7170 mit der aktuellsten Version und damit läuft das einwandfrei.

Danke Tetrapack … damit komme ich weiter …
werde mich in nächster Zeit mal erneut damit beschäftigen.
mal schauen ob ich das noch mal umstelle auf die csv Liste.

Hallo Mirco,

liegt den die Aufnahme auch wirklich in dem Verzeichniss, welches du angegeben hast? Wie ist der Dateinahme - je nachdem welcher AB sind die Namen unterschiedlich.

Was bedeuten die 4x „/“ am Anfang des Pfades?

Hallo Doc, die 4x „/“ sind Fehler meinerseits. Sollte so

$datei = '//192.168.143.10/Samsung-MightyDrive-01/FRITZ/voicebox/rec//rec.0.*';  
$temp = glob($datei);  
$anzahl = count($temp);  
SetValueInteger("Anzahl_Nachrichten_AB", $anzahl);  

aussehen. Der Pfad sollte stimmen. Anbei ein Pic wie ich per FTP drauf zugreife.

Hallo,

coolice@ also so zähle ich nachrichten auf der Fritzbox.

////////////////////////////////////////////////////
// Anrufbeantworternachrichten Zählen
//
// In diesem Skript werden die Nachrichten auf der Fritzbox
// gezählt und in eine Variable eingelesen!
//
//
//
//
////////////////////////////////////////////////////



    /*******************************************************************
     *                    Nachrichten zählen                           *
     ******************************************************************/
$dir    = "ftp://192.168.0.99/CnMemory-01/FRITZ/voicebox/rec/";
$files1 = scandir($dir,0);
// print_r($files1);
$zaehler = count ($files1) -1;
echo "$zaehler"."
";
SetValueString(28638 /*[media\fritzbox\anrufbeantworter\ab_nummer]*/, "$zaehler" );
if (GetValueString(28638 /*[media\fritzbox\anrufbeantworter\ab_nummer]*/) > 0)
{
SetValueBoolean(49348 /*[media\fritzbox\vis_ab_nummer]*/, True);
}
else
{
SetValueBoolean(49348 /*[media\fritzbox\vis_ab_nummer]*/, False);
}

Zudem hab ich hier noch das Skript mit angehängt mit denen ich jetzt die Variable AB-Nachricht erstelle;

    /*******************************************************************
     *                          Name holen                             *
     ******************************************************************/

$Name = GetValue(12955 /*[media\fritzbox\letzten anrufer\anrufer1]*/);


    /*******************************************************************
     *                     Ansage umwandeln                            *
     ******************************************************************/


      $file = IPS_GetKernelDir()."ab.wav";
      $text = "Ansaage;, Hallo $Name leider sind wir zur Zeit nicht zu Hause. Bitte hinterlasst uns doch eine Nachricht.";
      TTS_GenerateFile(16824 /*[media\Text To Speech]*/ , $text, $file, 6);



IPS_Execute("C:\enc.exe", "$file C:/uvp.0.000", false, false);

IPS_Sleep(1000);

unlink("$file");

    /*******************************************************************
     *                Ansage auf Box kopieren                     *
     ******************************************************************/


#$filename = "ftp://192.168.0.99/CnMemory-01/FRITZ/voicebox/uvp.0.000";
#unlink("$filename");

copy ("C:/uvp.0.000", "ftp://192.168.0.99/CnMemory-01/FRITZ/voicebox/uvp.0.000");

IPS_Sleep(300);


    /*******************************************************************
     *                     Ansage löschen                         *
     ******************************************************************/

unlink("C:/uvp.0.000");

IPS_SetScriptTimer(31929 /*[media\fritzbox\anrufbeantworter\Ansage auf Fritzbox\Ansage standart]*/, 90);

?>

Am ende des Skriptes wird ein anderes Skript nach 90 sekunden gestartet was mir eine normale Standart Ansage auf die Fritzbox legt für unbekannte Anrufer.
Das Skript wird von einem String getriggert auf aktualisierung welches den Namen des Anrufers beinhaltet. (Habe habe 5 String Variablen angelegt was mir immer die letzten 5 Anrufer anzeigt mit Uhrzeit und Datum.)

Gruß

enc.rar (124 KB)

Hallo Hollowman,

wofür ist die Booöean Variable ?

SetValueBoolean(49348 /*[media\fritzbox\vis_ab_nummer]*/, True); 
} 

Mirco

Die Variable nutze ich um im Designer einen Button einzublenden. Wenn dieser erscheint kann ich den drücken und die erste AB Nachtricht wird dann abgespielt.

Hallo Hollowman,

Ich bekomme immer nur „0“ Nachrichten, obwohl ich Nachrichten aufgesprochen habe.

<?
    /*******************************************************************
     *                    Nachrichten zählen                           *
     ******************************************************************/
$dir    = "ftp://192.168.143.10/Samsung-MightyDrive-01/FRITZ/voicebox/rec/";
$files1 = scandir($dir,0);
// print_r($files1);
$zaehler = count ($files1) -1;
echo "$zaehler"."
";
SetValueString(50899 /*[.Fritzbox\Anrufbeantworter\Nachrichten auf dem AB]*/, "$zaehler" );

?>

Die Nachrichten werden auf einem USB Stick gespeichert. Wenn ich jetzt über den Browser per ftp auf den Stick gehe, sollte dann nicht unter ftp://192.168.143.10/Samsung-MightyDrive-01/FRITZ/voicebox/rec/ Dateien mit dem aufgesprochendem Datum stehen ?

Mirco

Hallo,

hast du auch das im Webinterface eingestellt, dass die AB Nachrichten auf dem Stick gespeichert werden?

Hä…wie ? :confused:

ftp://192.168.143.10/Samsung-MightyDrive-01/FRITZ/voicebox/rec/“; ???