Wissensdatenbank:
trixbox mit Anzeige des Anrufenden via tel.search.ch
Gepostet von Support it factory ag an 15 September 2007 01:43 PM
Mit der folgenden Modifikation / Ergänzug von trixbox wird bei Anrufen auf dem Telefon Name und Nummer (CallerID, CallerName) angezeigt, sofern diese bei tel.search.ch eingetragen sind und die Telefone diese anzeigen können :-)

Wichtig: Wir bieten keinen Support zu dieser Lösung!

    * Zuerst installiert man trixbox.
    * Danach  installiert man über SSH oder Konsole den CallerID Script von der trixbox-Seite (siehe auch freePBX download Caller Name Lookup und extensions.class):

wget -O cidlookup-1.0.3.tgz   
   "http://www.freepbx.org/trac/browser/modules/release/2.2/cidlookup-1.0.3.tgz?format=raw"
wget -O extensions.class.php
   "http://www.freepbx.org/trac/browser/freepbx/trunk/amp_conf/htdocs/admin/extensions.class.php?format=raw"

(obige Zeilen sind umgebrochen; immer zwei Zeilen gehören auf eine Zeile)

cd /var/www/html/admin/modules/
tar -xzvf ~/cidlookup-1.0.3.tgz
cd /var/www/html/admin/
mv extensions.class.php extensions.class.php.orig
cp ~/extensions.class.php extensions.class.php

    * Jetzt kann man in trixbox unter "Tools->Module Admin" das CallerID Module aktivieren.
    * Danach erstellt man im Verzeichnis /var/www/html/telsearch die folgende Datei:

index.php:

<?
/*************************************************************
Caller Name Lookup / CallerID reverse lookup for Swiss Numbers
(c) 2006 by it factory ag / www.guest-voip.ch
May be freely distributed without modification
Version:  V1.2 / 17.8.06, djo
Link:     http://www.guest-voip.ch
**************************************************************/

include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->fetch("http://tel.search.ch/" . $HTTP_GET_VARS['tel']);

$GrabStart = '<div class="rname">';
$GrabEnd = '<td class="changelink">';
$GrabData = eregi("$GrabStart(.*)$GrabEnd", $snoopy->results, $output1);
$output1[1] = str_replace("ö", "oe", $output1[1]);       
$output1[1] = str_replace("Ö", "Oe", $output1[1]);       
$output1[1] = str_replace("ä", "ae", $output1[1]);       
$output1[1] = str_replace("Ä", "Ae", $output1[1]);       
$output1[1] = str_replace("ü", "ue", $output1[1]);       
$output1[1] = str_replace("Ü", "Ue", $output1[1]);       
$output1[1] = str_replace(",", "", $output1[1]);       
$output1[1] = str_replace("</div>", "ZZZ</div>", $output1[1]);       


# HTML Code entfernen und Zeilenumbruch einfügen
$output1[1] =preg_replace('/(\\s+)/', ' ',$output1[1] );
$output1[1] = strip_tags($output1[1]);
$output1[1] = str_replace("ZZZ", "\n", $output1[1]);       
$name= explode("\n", wordwrap($output1[1], 20));

echo $name[0];
?>

  • Dazu wird noch die Datei snoopy.class.php aus der Snoopy, the web client class for PHP ins gleiche Verzeichnis kopiert
  • Testen der Teillösung mit http://trixbox/telsearch/?tel=0527402261
  • Anschliessend wird in der trixbox-Konfiguration unter Caller Name Lookup Sources folgendes konfiguriert:

Source Description: telsearch
Source type: http
Host: localhost
Path: /telsearch/
Query: tel=[NUMBER]

  • Unter Inbound Routes kann man nun als Source bei CID Lookup Source telsearch auswählen
  • Unter Tools / Asterisk Phonebook trägt man die internen Rufnummern ein, sonst werden diese auch über tel.search.ch aufgelöst. 

Viel Spass!


(Updated 24.10.06)


Kommentare (0)