Telefonbuch Synchronisation / Import

SZT

Mitglied seit
26. April 2019
Beiträge
7
Hallo,

welche oder gibt es überhaupt Möglichkeiten das Telefonbuch automatisiert zu pflegen ohne Exchange oder Office 365?
Ein einfacher automatisierter Import einer CSV Datei würde sogar schon reichen.
Wir haben sogar die CRM Integration ausprobiert mussten dann aber feststellen das erst die vorliegenden Kontaktdaten in das Telefonbuch importiert werden nachdem diese Nummern 1x angerufen hat und somit leider keine Lösung ist, weil man nicht erstmal warten kann bis alle vorliegende Kontakte irgendwann mal angerufen haben. Gibt es hierfür eventuell eine Lösung ein kompletten Import der CRM Lösung auszulösen?

Oder gibt es noch ganz andere Lösungen die einfach automatisch (zB jede Nacht) die Daten mit irgendetwas abgleichen/importieren?
 
Hallo,

Vielleicht in deinem Fall wäre eine Möglichkeit einen Script zu erstellen der Automatisch die CSV Datei mit dem Telefonbuch synchronisiert.
Eine Zweite Möglichkeit wäre dass du ein Programm für Call Control API schreibst.
 
Hallo,

Vielleicht in deinem Fall wäre eine Möglichkeit einen Script zu erstellen der Automatisch die CSV Datei mit dem Telefonbuch synchronisiert.
Eine Zweite Möglichkeit wäre dass du ein Programm für Call Control API schreibst.

Hallo ilias,

gibt es für die Möglichkeit ein Skript zu erstellen, das die CSV Datei importiert, irgendeine Dokumentation? An welchen Ecken der 3CX man da rumschrauben muss? Ich selbst konnte leider nichts finden.
 
Leider gibt es hierfür keine Doku. Hierfür gibt es auch leider keine unterstützung von der 3CX.
Ich selbst habe hiermit auch keine Erfahrung um dir weiterzuhelfen.
 
Hallo, etwas spät, aber bei uns im Hause haben wir den Sync unbedingt gebraucht und wir haben dann den folgenden Weg gefunden, der als Shell befehl auszuführen ist:
sudo -i -u postgres psql -d database_single -c "TRUNCATE phonebook"
sudo -i -u postgres psql -d database_single -c "COPY phonebook(fkidtenant,firstname,lastname,company,phonenumber,pv_an4,pv_an3,pv_an8,pv_an5,pv_an2,pv_an7,pv_an1,pv_an0) FROM '/datei.csv' DELIMITER ',' CSV HEADER"
/etc/init.d/postgresql restart

Das geht schnell und klappt gut! In der CSV muss die Reihenfolge dann genau so sein, wie sie in der Liste angegeben ist.

Viele Grüße
Fa. Pöppel
 
Hallo, etwas spät, aber bei uns im Hause haben wir den Sync unbedingt gebraucht und wir haben dann den folgenden Weg gefunden, der als Shell befehl auszuführen ist:
sudo -i -u postgres psql - ...
...
/etc/init.d/postgresql restart
Das ist vielleicht nicht die beste Idee.

Der pgsql Anmeldename einer 3CX ist definitiv nicht postgres sondern i.d.R. phonesystem, siehe 3CXPhoneSystem.ini. Wenn im lfd. Betrieb einer 3CX in deren Datenbank herumgepfuscht wird, dann ist der lfd. 3CX Cache Zustand und der der SQL DB inkonsistent - auch wenn danach die DB Instanz neu gestartet wird. Wenn du so eine Vorgehensweise im globalen Forum auch nur teilweise offerierst, werden kurzfristig mehrere bekannte Benutzer schreiben, dass ein solchen Vorgehen nicht nur nicht von 3CX unterstützt wird sondern die DB ab diesem Moment dauerhaft als nicht supported markiert wird. Deine Vorgehensweise löscht sämtliche Telefonbücher, auch die der Benutzer, unwiderbringlich. Die bessere - aber nicht einfachere - Lösung wurde letztens hier angedeutet.
 
Zuletzt bearbeitet:
Hi, danke für den Hinweis, also so:
_dbtable=$(sed -n 's/DBName = \(.*\)/\1/p' /var/lib/3cxpbx/Bin/3CXPhoneSystem.ini)
_dbport=$(sed -n '0,/DBPort = \(.*\)/s//\1/p' /var/lib/3cxpbx/Bin/3CXPhoneSystem.ini)
_dbuser=$(sed -n 's/MasterDBUser = \(.*\)/\1/p' /var/lib/3cxpbx/Bin/3CXPhoneSystem.ini)
_dbpassword=$(sed -n 's/MasterDBPassword = \(.*\)/\1/p' /var/lib/3cxpbx/Bin/3CXPhoneSystem.ini)
echo "127.0.0.1:$_dbport:$_dbtable:$_dbuser:$_dbpassword" > ~/.pgpass
chmod 600 ~/.pgpass
psql -d $_dbtable -h 127.0.0.1 -p $_dbport -U $_dbuser -c "DELETE FROM phonebook WHERE fkidtenant = 1";
psql -d $_dbtable -h 127.0.0.1 -p $_dbport -U $_dbuser -c "COPY phonebook(fkidtenant,firstname,lastname,company,phonenumber,pv_an4,pv_an3,pv_an8,pv_an5,pv_an2,pv_an7,pv_an1,pv_an0) FROM '/3cx.csv' DELIMITER ',' CSV HEADER";
/etc/init.d/postgresql restart

gehen tut das auch!
 

Statistik des Forums

Themen
44.414
Beiträge
232.721
Mitglieder
78.330
Neuestes Mitglied
uvitas