Beiträge durchsuchen

Themenreihe FreePBX 15/Asterisk 16-Teil 4.17. Globales Telefonbuch

Was wird benötigt?

Konfiguration

  • In der FreePBX-Verwaltungsoberfläche den Menüpunkt Administrator/Asterisk Telefonbuch öffnen. Hier können Telefonbucheinträge manuell erfasst bzw. als CSV-Datei hochgeladen werden. Wie die Dateistruktur für den Upload aussehen muss, ist in der Hilfe-Funktion dokumentiert. Am besten ist es aber, man erfasst einen oder zwei Einträge manuell und lädt diese Datei dann als CSV mit der Export-Funktion herunter. In dieser Datei kann man dann die Struktur genau sehen.
  • Als nächstes wird das hier zum Download bereitstehende PHP-Script benötigt. Dieses Script bitte downloaden und die Zip-Datei entpacken. Anschließend den WinSCP öffnen und im Verzeichnisbaum auf der FreePBX in den Ordner /var/www/html gehen. Das PHP-Script in dieses Verzeichnis hochladen.
  • Nun zum Test einen Browser öffnen und “FreePBX-IP/Snom_dir.php” in die Adresszeile eingeben und mit Enter bestätigen. Die Telefonbucheinträge müssen nun im XML-Format angezeigt werden.
  • Zum Abschluss die Konfigurationsoberfläche des Telefons öffnen. Dort nach einem Feld für den Eintrag eines externen Telefonbuchs oder Nach einem Feld für Eintrag einer Action URL oder nach einem XML-Browser-Feld suchen und die vorher im Browser eingegebene URL in dieses Feld kopieren

Jetzt kann man durch die mit den entsprechenden Feld verbundene Funktionstaste das Telefonbuch auf dem Telefon aufrufen.

Folgendes bitte noch beachten. Das funktioniert nicht mit Softphones, da diese solche Funktionen nicht haben. Auch manche Hardware-Telefone haben diese Funktionen nicht.

Die Telefone, die solche Funktionen haben, teilen sich in 2 Gruppen. Die einen starten bei jedem Aufruf des Telefonbuches das Script und fragen die Einträge aktuell von der FreePBX ab. Dadurch werden zwar immer die aktuellen Daten angezeigt, bei großen Telefonbüchern steigen aber die Ladezeiten. Andere Telefone haben im Telefonbuch einen “Aktualisieren”-Button. Beim Drücken dieses Buttons lädt das Telefon das Telefonbuch der FreePBX herunter und speichert es lokal. Das hat den Vorteil, dass dass die Daten auch bei großen Telefonbüchern schneller verfügbar sind aber den Nachteil, dass das lokale Telefonbuch bei Änderungen der Einträge in der FreePBX manuell über den “Aktualisieren”-Button upgedatet werden muss.

20 Kommentare zu Themenreihe FreePBX 15/Asterisk 16-Teil 4.17. Globales Telefonbuch

      1. In der FreePBX-Verwaltungsoberfläche unter Administrator/Funktionscodes im dortigen Abschnitt “Speeddial” müssen die beiden Optionen aktiviert sein.
        Dann muss es funktionieren. Im Telefonbuch einen Eintrag anlegen, Kurzwahlnummer eintragen oder leer lassen zur automatischen Erstellung, Option Kurzwahleintrag auf “Ja” stellen und speichern.
        Anschließend Kurzwahl wählen durch Eingabe von *0Kurzwahl. Dann muss es funktionieren.
        Grüße

    1. Ich gehe davon aus, dass Sie die Kurzwahl meinen. Im Telefonbuch können Sie für jeden Eintrag auch eine Kurzwahl festlegen oder automatisch erstellen lassen. Eine Kurzwahl wird mir *0 eingeleitet. Ist die Kurzwahl für einen Eintrag also 15, dann führt an die Kurzwahl mit *015 aus.
      Grüsse.

  1. Hallo Herr Griebsch,

    vielen Dank für Ihr geniales Tutorial, welches ich von Anfang bis Ende erfolgreich durchgearbeitet habe.

    Leider komme ich an einem Punkt nicht weiter: Dem Script.

    Ich habe Ihr Script wie beschrieben eingefügt. Wenn ich die IP Adresse der FreePBX mit dem Scriptnamen wie beschrieben in den Browser eingebe erhalte sehe ich keine XML Datei sondern folgende Fehlermeldung:

    This page contains the following errors:
    error on line 1 at column 126: Extra content at the end of the document
    Below is a rendering of the page up to the first error.
    Telefonbuch FreePBX

    Ich verwende die aktuellste Version der FreePBX. Ist es möglich, dass es Änderungen in der db gab? Kann leider kein php/xml.

    Liebe Grüße und vielen Dank!

      1. Vielen Dank für Ihre schnelle Rückmeldung.

        Ich habe das Script soeben erneut von dieser Website gedownloaded, die zip Datei entpackt und das Script hochgeladen ohne es vorher zu öffnen/bearbeiten.

        Den Fehler erhalte ich immer noch.

        Könnten Sie sich das Script eventuell nochmal anschauen? Ich komme leider nicht weiter und benötige das Telefonbuch.

        Vielen Dank für Ihre hervorragende Arbeit!

          1. Ich verwende RasPBX (FreePBX auf Raspberry). Könnte es damit zusammen hängen?

            Wenn dem so ist, wären Sie in der Lage das Script für das Raspberry anzupassen? Ich habe Ihre kompletten Tutorials komplett auf dem Raspberry durchgearbeitet und die FreePBX ist zu 100% eingerichtet (ohne Probleme). Das Einzige was fehlt ist das Telefonbuch.

        1. Hallo,
          ich möchte auch einen kleinen Beitrag dazu leisten, wenn Herr Griebsch schon so tolle Arbeit leistet.
          Alle folgende Befehle habe ich über einen ssh Zugang (z.B. putty) ausgeführt – falls man als root angemeldet ist kann man die vorangestellten ‘sudo’ s weglassen:

          Zum Thema RaspberryPi:
          Bei der FreePBX Distribution für den pi sind offensichtlich wesentlich weniger Pakete installiert, als bei der PC Version. Ich musste auch die Schlüssel aktualisieren um meine Version auf Stand zu halten.
          sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

          Z.B. das Paket ucp habe ich mit folgendem Kommando nachinstalliert:
          sudo fwconsole ma downloadinstall ucp

          Die anderen fehlenden Module über das Webinterface der FreePBX.

          Zum Thema “Globales Telefonbuch” auf der Pi:
          Folgende Pakete musste ich noch nachinstallieren:
          sudo apt install php-sqlite3
          bzw.
          sudo apt install php7.0-sqlite3
          (ich habe beide installiert)

          Auf meinen Telefonen kamen die Eintrage nicht richtig sortiert an, da habe ich die Zeile mit der Abfrage wie folgt abgeändert:
          $results = $db->query(‘SELECT * FROM astdb ORDER BY 2;’);

          Noch den Besitzer und die Berechtigungen angepasst:
          sudo chown asterisk:asterisk Snom_dir.php
          sudo chmod g+w Snom_dir.php

          und jetzt läuft es bei mir auch auf dem Pi.

          Vielen Dank für die Starthilfe, Herr Griebsch. Ich hoffe ich konnte vielleicht jemanden helfen,

          Gruß
          Stephan

  2. Hallo,
    Fielen dank für dieses Tutorial, für meine Cisco 79XX Telefone muste ich das Script anpassen. Wen ich darf lasse ich es hier fieleicht hilft es ja jemanden 🙂
    Beste Grüße Bernhard

    <?php
    header ("Content-type: text/xml");
    echo '’;
    echo ”;
    echo ‘Telefonbuch FreePBX’;

    $db = new SQLite3(‘/var/lib/asterisk/astdb.sqlite3’);

    $results = $db->query(‘SELECT * FROM astdb;’);

    while ($row = $results->fetchArray()) {
    //find
    $find=’/cidname/’;

    if(strpos($row[‘key’], $find)!==false) {
    echo ”;
    echo ”.htmlspecialchars($row[‘value’]).str_replace($find,’
    ‘, $row[‘key’]).”;
    echo ‘Dial:’.str_replace($find, ”, $row[‘key’]).”;
    echo ”;
    }
    }

    echo ”;

  3. Hallo Herr Griebsch,

    danke für die Anleitung. Wir nutzen seit kurzem eine PBXact-Telefonanlage, die ja auf freepbx basiert. Dort konnte ich mit verschiedenen Hilfeseite auch inzwischen unser Telefonbuch einpflegen. Nur scheint es mir insgesamt anders abgelaufen zu sein, als von Ihnen im Video beschrieben, da ich die Funktion bzw. das Modul “Asterisk Telefonbuch” nicht länger gefunden habe. Aber es gibt eine Kontaktverwaltung in der ich im Bereich extern unser Telefonbuch importiert habe.
    Nun scheint es mir aber so zu sein, dass der Zugriff auf dieses per PHP-Script nicht mehr funktioniert, oder haben Sie da andere Erfahrungen? Gerne würde ich die Telefonbücher in der von Ihnen beschriebnen Weise den Telefonen zentral bekannt machen. Wenn es über den von Ihnen vorgeschlagenen Weg ggf. nicht mehr funktioniert, wie kann es anders gehen bzw. gibt es einen “neuen” Weg?
    Ich freue mich über eine Nachricht von Ihnen.

    Freundliche Grüße
    Daniel

      1. Hallo,

        das mit dem Telefonbuch ist schön, ich habe den Effekt wenn ich einen Kontakt einmal erstellt habe, bleibt der Name im Snom 360 eingehend immer gleich wenn ich den Kontaktnamen ändere und alles neu starte.

        Außerdem würde ich auch gerne den Kontaktmanager nehmen.
        Gibts zu dem Kontaktmanager evtl eine Anleitung, was zu ändern ist.?

        Viele grüße
        Fred

Schreibe einen Kommentar