From 042534517d50a515d9d4f2296e6bb8607df770a4 Mon Sep 17 00:00:00 2001 From: markusbloch <> Date: Tue, 11 Dec 2012 23:30:52 +0000 Subject: [PATCH] fixing unknown number/name at disconnect event. Added call_id reading to separate parrallel call events git-svn-id: https://svn.fhem.de/fhem/trunk@2318 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/72_FB_CALLMONITOR.pm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/fhem/FHEM/72_FB_CALLMONITOR.pm b/fhem/FHEM/72_FB_CALLMONITOR.pm index 8f78805a9..58453798a 100755 --- a/fhem/FHEM/72_FB_CALLMONITOR.pm +++ b/fhem/FHEM/72_FB_CALLMONITOR.pm @@ -212,13 +212,14 @@ FB_CALLMONITOR_Read($) readingsBeginUpdate($hash); readingsBulkUpdate($hash, "event", lc($array[1])); - readingsBulkUpdate($hash, "external_number", (defined($external_number) ? $external_number : "unknown")); - readingsBulkUpdate($hash, "external_name",(defined($reverse_search) ? $reverse_search : "unknown")); + readingsBulkUpdate($hash, "external_number", (defined($external_number) ? $external_number : "unknown")) if($array[1] eq "RING" or $array[1] eq "CALL"); + readingsBulkUpdate($hash, "external_name",(defined($reverse_search) ? $reverse_search : "unknown")) if($array[1] eq "RING" or $array[1] eq "CALL"); readingsBulkUpdate($hash, "internal_number", $array[4]) if($array[1] eq "RING" or $array[1] eq "CALL"); readingsBulkUpdate($hash, "external_connection", $array[5]) if($array[1] eq "RING"); readingsBulkUpdate($hash, "external_connection", $array[6]) if($array[1] eq "CALL"); readingsBulkUpdate($hash, "internal_connection", $connection_type{$array[3]}) if($array[1] eq "CALL" or $array[1] eq "CONNECT" and defined($connection_type{$array[3]})); readingsBulkUpdate($hash, "call_duration", $array[3]) if($array[1] eq "DISCONNECT"); + readingsBulkUpdate($hash, "call_id", $array[2]); readingsEndUpdate($hash, 1); } @@ -531,6 +532,7 @@ sub FB_CALLMONITOR_loadCacheFile($)
  • internal_connection: $connection - The internal connection (FON1, FON2, ISDN, DECT, ...) which is used to take the call
  • external_connection: $connection - The external connection (fixed line, VoIP account) which is used to take the call
  • call_duration: $seconds - The call duration in seconds. Is only generated at a disconnect event. The value 0 means, the call was not taken by anybody.
  • +
  • call_id: §id - The call identification number to separate events of two or more different calls at the same time. This id number is equal for all events relating to one specific call.
  • @@ -623,6 +625,7 @@ sub FB_CALLMONITOR_loadCacheFile($)
  • internal_connection: $connection - Der interne Anschluss an der Fritz!Box welcher genutzt wird um das Gespräch durchzuführen (FON1, FON2, ISDN, DECT, ...)
  • external_connection: $connection - Der externe Anschluss welcher genutzt wird um das Gespräch durchzuführen (Festnetz, VoIP Nummer, ...)
  • call_duration: $seconds - Die Gesprächsdauer in Sekunden. Dieser Wert wird nur bei einem disconnect-Event erzeugt. Ist der Wert 0, so wurde das Gespräch von niemandem angenommen.
  • +
  • call_id: $id - Die Identifizierungsnummer eines einzelnen Gesprächs. Dient der Zuordnung bei 2 oder mehr parallelen Gesprächen, damit alle Events eindeutig einem Gespräch zugeordnet werden können