Socket lesen und in Variablen weiterverarbeiten?

Hallo,
ich möchte den CallMonitor meiner Fritz.Box im ips verwenden.


<?php
$fp = fsockopen ("172.16.100.1", 1012, $errno, $errstr, 30);
if (!$fp) {
   echo "$errstr ($errno)<br />
";
} else {
   while (!feof($fp)) {
       $line = fread($fp,128);
       IPS_LogMessage("CallMon", "# " . $line);
       SetValueString("ISDN_CallMonitor", $line);
   }
   fclose($fp);
}
?> 

Das funktioniert prinzipiell. Allerdings bekomme ich nach 180 Sekunden „maximum execution time …“.

Über den Port kommt bei „Telefonaktivitäten“ jeweils eine Zeile, die ich zerlegen und weiterverarbeiten möchte.

Kann ich das über „irgendeine“ Instanz regeln?

Jepp. Nimm den COMPort und nutzt dort die rechte Seite (LANCOM). Dann dahinter ein RegisterVariable und von dort an ist alle in einer Variable und du kannst weiterarbeiten.

paresy

Super, das war ja einfacher als ich dachte. Damit lässt sich problemlos das Ereignisprotokoll der Fritz.Box aufbereiten und im Designer anzeigen ;-).

Hallo Ralf,

wenn Du das Script soweit hast, waere ich auch daran interessiert, es ins WIIPS mit einzubinden. Dann kann ich remote auch endlich die Call Liste einsehen…

Gruss Torro

Hallo ralf,

da möchte ich mich anschließen. Die Quelltexte wären wirklich OK, damit könnte man wunderbar alles in IPS verwalten.

Irgendwann kocht IPS noch für uns.

Naja, soviel Script wird da nicht rauskommen ;-).

Auf der Fritz.Box muss mit #965 der integrierte Anrufmonitor eingeschaltet werden (jede Firmware ab xx.03.99). Die Ausgabe erfolgt an TCP-Port 1012.

Ausgegeben wird dann folgendes:


17.07.06 18:55:35;CALL;1;4;Quellnummer;Zielnummer;ISDN
17.07.06 18:55:37;DISCONNECT;1;0;
17.07.06 18:55:52;CALL;1;4;Quellnummer;Zielnummer;SIP0
17.07.06 18:55:59;DISCONNECT;1;0;
17.07.06 18:58:54;RING;2;Anrufernummer;Zielnummer;ISDN
...

Und das kommt dann durch den Tipp von paresy jeweils als einzelne Zeile in der Variablen an und kann durch ein Folgescript zerlegt und aufbereitet werden.

Wie kann ich eigentlich mehrere Zeilen im Designer anzeigen?

Ich übe heute abend noch etwas :D.

Wie kann ich eigentlich mehrere Zeilen im Designer anzeigen?

Mit dem Memo-Feld

Und die Zeilen immer mit CR versehen und schön aneinander hängen:


// When 25 Messages already, delete the 1st to make space for new message
if ($amount_msg == 25)
    {
     unset ($msg_chunk[0]);
     $actual_message = array_merge($msg_chunk);
     $actual_message = implode("
", $actual_message);
    }

// Add new message
#$new_message = $message_to_add.$actual_message;
$new_message = $actual_message.$message_to_add;

Quelle: Aus der Code-Lib-Area