Meine Anpassungen waren eher kosmetischer Natur um meinen langen Pfad angezeigt zu bekommen. Außerdem stören die 0-Bytes die IPS Ausgabe in der Console und eine gleich Feldlänge zur Anzeige untereinander erleichtert die Analyse.
<?
$userdatei = fopen("D:/IP-Symcon/webfront/user/Fritzbox/voicebox/meta3","r");
$z = 0;
while(!feof($userdatei)) {
$zeile = fread($userdatei, 348);
If (strlen($zeile) == 348) {
$seq = trim(hexdec(bin2hex(substr($zeile, 0, 1))));
echo $seq." - ";
$type = trim(hexdec(bin2hex(substr($zeile, 1, 1))));
echo $type." - ";
// Länge des Datensatzes (sollte immer 348 sein!)
$datalenght = trim(hexdec(bin2hex(substr($zeile, 2, 2))));
echo $datalenght." - ";
// Aufnahmelänge
$reclenght = trim(hexdec(bin2hex(substr($zeile, 23, 1))));
echo str_pad($reclenght,3," ",STR_PAD_LEFT)."s - ";
// Zeiger ob die Nachricht schon abgehört wurde
$new = trim(hexdec(bin2hex(substr($zeile, 27, 2)))); // Neue Nachrichten haben den Wert 256, schon angehörte den Wert 0
echo str_pad($new,3," ",STR_PAD_LEFT)." - ";
// Nummer des Anrufers sofern vorhanden
$callerID = trim(substr($zeile, 52, 15));
echo str_pad($callerID,15," ")." - ";
// Name der Datei
$filename = trim(substr($zeile, 124, 15));
echo str_pad($filename,15," ")." - ";
// Pfad und Name der Datei
$path = trim(substr($zeile, 156, 128));
echo str_pad($path,70," ") . " -- ";
// Tag des Anrufes
$day = trim(hexdec(bin2hex(substr($zeile, 284, 1))));
echo str_pad($day,2,"0",STR_PAD_LEFT).".";
// Monat des Anrufes
$month = trim(hexdec(bin2hex(substr($zeile, 285, 1))));
echo str_pad($month,2,"0",STR_PAD_LEFT).".";
// Jahr des Anrufes
$year = trim(hexdec(bin2hex(substr($zeile, 286, 1))));
echo $year + 2000 . " -- ";
// Stunde des Anrufes
$hour = trim(hexdec(bin2hex(substr($zeile, 287, 1))));
echo str_pad($hour,2,"0",STR_PAD_LEFT).":";
// Minute des Anrufes
$minute = trim(hexdec(bin2hex(substr($zeile, 288, 1))));
echo str_pad($minute,2,"0",STR_PAD_LEFT).":";
// Sekunden des Anrufes (ist wahrscheinlich immer 0)
$second = trim(hexdec(bin2hex(substr($zeile, 289, 1))));
echo str_pad($second,2,"0",STR_PAD_LEFT)." - ";
// Nummer die angerufen wurde
$calledID = trim(substr($zeile, 320, 10));
echo str_pad($calledID,32," ");
echo "--
";
$z = $z + 1;
}
}
fclose($userdatei);
?>
Die uvp… ist als eigener Eintrag mit in der meta* Datei. Die Zeile lässt sich auch ganz normal lesen und auswerten.
Deine Video-Darstellung ist doch völlig ausreichend ;). Die Fragmente für den Dateinamen sind in der Meta-Datei vorhanden. Mal sehen, ob ich heute Abend zum kombinieren kommen.