   /************************************************************************
    *                                                                      *
    *  ISDN-Anrufmonitor auf Basis von isdnlog und MySQL.                  *
    *                                                                      *
    *  Copyright(C) 2004 Leonhard Fellermayr <leo@slacky.de>               *
    *  Alle Rechte vorbehalten. Weitergabe im Rahmen der GNU Lizenz.       *
    *                                                                      *
    *  Version: 0.2                                                        *
    *  Stand: 12.10.2006                                                   *
    *  URL: http://slacky.de/docs/projects/isdnmonitor.html                *
    *                                                                      *
    ************************************************************************/


--- call_library.php.orig	2007-01-09 11:24:08.000000000 +0100
+++ call_library.php	2007-01-09 11:47:30.000000000 +0100
@@ -52,6 +52,22 @@
 
   } // inverse_search ()
 
+  /* perform inverse search using Das Oertliche as fallback */
+
+  function inverse_oertliche ($number)
+  {
+    $phoneurl = 'http://www.dasoertliche.de/Controller?form_name=search_inv&la=de&ph=%s';
+    $phonereg = '/title="Details zu diesem Eintrag anzeigen" class="entry">([^<]+)<\/a>/';
+
+    $url = sprintf ($phoneurl, rawurlencode ($number));
+
+    $result = file ($url);
+
+    for ($i = 0; $i < sizeof ($result); $i++)
+      if (preg_match ($phonereg, $result[$i], $matches))
+	return array($matches[1], '');
+  }
+
   /* exists_in_db ($number) : check whether $number already in SQL db */
 
   function exists_in_db ($number)
--- call_action.php.orig	2007-01-09 11:24:03.000000000 +0100
+++ call_action.php	2007-01-09 11:47:37.000000000 +0100
@@ -51,8 +52,11 @@
     /* do inverse */
     $result = inverse_search ($q);
 
+    if (!is_array ($result) || empty($result[0]))
+      $result = inverse_oertliche ($q);
+
     /* if search successful and not yet in database : do DB insert */
-    if (!empty ($result))
+    if (is_array ($result) && !empty($result[0]))
     {
 
       $query = "INSERT INTO caller_name (number,name,adresse) VALUES ('" .
@@ -82,7 +86,11 @@
       /* *********************************************************************** */
       /* notification of Windoze clients */
 
-      $fd = popen ("smbclient -M saphir -I 192.168.5.10", "w");
+      $ip = getip ($winserver);
+
+      if (!empty ($ip)) {
+
+      $fd = popen ("smbclient -M $winserver -I $ip", "w");
   
