Was wird benötigt?
- FreePBX (konfiguriert nach Teil 1-Teil 3)
- WinSCP
- PHP-Script zur Telefonbuchabfrage zum Download (1800 Downloads )
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.
Wo finde ich die richtige Einstellung bei einem Snom D735?
Das kann ich leider auch nicht sagen, da ich nicht jedes Telefon kenne. Wonach Du suchen musst habe ich doch im Video erklärt.
Grüsse
Ich habe nun eine Kurzwahlnummer 80 angelegt.
Ich wähle dann *080.
Es funktioniert aber nicht.
Was mache ich noch verkehrt, oder muß evtl. noch installiert werden,
Vielen DAnk
mfg
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
hi,
Bisschen spät, aber vlt hilft es ja jemand anderem:
geh in die Weboberfläche des Telefons, dort unter FUNKTIONSTASTEN links im Hauptmenü. Such dir rechts am besten unter dedizierte Tasten die für’s Telefonbuch, dort dann als TYP einstellen:
AKTIONS-URL und als Wert http://IP.DEINER.FREE.PBX/snom_dir.php
Grüße
sahib
Ist es möglich, nur mit einer Tastenkombination ( ich wähle zb. *80, oder #80) das
interne Telefonbuch anzusprechen, und die Freepbx wählt dann die
gespeicherte Nummer für mich?
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.
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!
Da stimmt die Zeichenkodierung nicht. Das passiert, wenn man das Script mit unter Windows bearbeitet.
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!
Das Script ist ok.
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.
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
Hallo basscocoa,
Frage, hast Du die Datei mit WinSCP in das Verzeichnis der FreePBX geladen? Wenn nicht, mit welchem Programm?
Mit Raspberry beschäftige ich mich leider nicht.
Hallo basscocoa,
Frage, hast Du die Datei mit WinSCP in das Verzeichnis der FreePBX geladen? Wenn nicht, mit welchem Programm?
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 ”;
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
Hallo,
um die Daten statt aus dem Telefonbuch der FreePBX aus dem Kontaktmanager abzufragen, muss ein anderes Script geschrieben werden.
Grüsse
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
Anregungen für das Programm für cisco SPA5XXg finden sich hier: https://github.com/hbonath/ciscospaxml