• Eigenständig gehostete oder lokal installierte Instanzen sind komplexer in der Einrichtung und Fehlerbehebung und erfordern daher kostenpflichtigen technischen Support. Kostenlosen Support erhalten Sie mit 3CX StartUP oder einer gehosteten 3CX-Installation mit einen unterstützten SIP-Trunk-Anbieter.

Exchange 365 Kontakte Synchronisation

Sommerzeit

Free User
Intermediate Cert.
Mitglied seit
7. Februar 2019
Beiträge
27
Hallo.

Ein Kunde möchte seine Kontakte aus Office365 ins Firmentelefonbuch der 3CX (V16) synchronisieren lassen

Die Einrichtung auf der 3CX hat prinzpiell funktioniert, jedoch sind die Kontakte des Kunden einem Office-Benutzer zugewiesen und von dort Freigegeben, wodurch die 3CX diese Kontakte anscheinend nicht erkennt/importiert.

Wie/wo muss ich die Kontakte auf Office 365 speichern, damit beim Synchronisieren die Kontakte im Firmentelefonbuch der 3CX landen?


Vielen Dank und fg
 
Die Anleitung ist leider nicht für das, was ich einrichten möchte.
Ich möchte die Office 365-Integration (Einstellungen - Office365) einrichten damit Kontakte eines Benutzers mit dem Firmentelefonbuch synchonisiert werden.

Dort ist der Status bereits auf "OK" und unter "Kontakte-Sync" konnte ich das besagte Office-Konto auswählen, jedoch erscheinen keine Kontakte in der 3CX...
 

Anhänge

  • 3CX.JPG
    3CX.JPG
    22,7 KB · Aufrufe: 21
  • 3cx2.JPG
    3cx2.JPG
    74,8 KB · Aufrufe: 21
Zuletzt bearbeitet:
Über die Office 365 integration ist zur Zeit möglich nur die Private Kontakte mit dem Privaten Telefonbuch zu Synchronisieren.
Eine Möglichkeit die Private Kontakte von einen User mit dem Zentralen Telefonbuch zu Synchronisieren ist leider nicht möglich.
 
Danke für deine Rückmeldung.

Habe nun eine neue Frage - in dieser Anleitung steht, dass man ein Postfach anlegen soll.
Der Kunde hat Office365 und nur 3 bezahlte Lizenzen, somit kann ich kein weiteres Postfach anlegen.
Muss der Kunde nun eine weitere Office365-Lizenz erwerben, damit er seine Kontakte mit 3CX synchronisieren kann?

Spricht etwas dagegen ein bestehendes Postfach zu benützen?

Danke und fg
 
Eigentlich nicht,

Diese Anleitung ist für die Sync über den alten Weg. (Kontakte -> Exchange).
 
Sommerzeit hat glaube ich das gleiche Problem wie wir und wahrscheinlich auch wie viele andere User,
Mit 3CX ist in der heutigen Zeit keine saubere Synchronisation mit Exchange möglich und zwar so wie sie in der Praxis (da draußen in der weiten Welt und nicht im Labor) aussieht:
Die meisten Kunden verwenden keine PublicFolders mehr, Microsoft hat diese vor einer gefühlten Ewigkeit als obsolet definiert (sie gibt es immer noch) aber Firmen verwenden eine SharedMailbox für Emails und Unternehmenskontakte die für alle freigegeben ist, diese SharedMailbox kann man mit 3CX nicht als CompanyPhoneBook nutzen! Ich versuche das gleiche seit langem zu realisieren und komme dabei nicht weiter. Ich müsste per Skript die Kontakte aus der SharedMailbox in den Public Folder kopieren und dass eigentlich laufend damit ich immer aktuell bin.

3CX bietet eine O365 Integration, aber kann keine UserMailbox oder SharedMailbox in das CompanyPhoneBook synchronisieren. Die alte Variante mit Kontakte->Exchange kann aber auch keine SharedMailbox in das CompanyPhoneBook synchronisieren.

Korrigiert mich wenn ich falsch liege und zeigt mir bitte wie ihr das Problem löst!

Danke & LG
 
  • Like
Reaktionen: Sommerzeit
Hallo Staff Members,

gibt es eigentlich von Seitens 3CX ein Update zu dem Kontakte Sync?

Ich habe folgenden Post im englischen Forum gefunden: https://www.3cx.com/community/threads/global-contact-lookup-ldap-exchange-or-office-365.67933/

Das kam immerhin vom CEO und der sollte es wohl wissen. Nur die Aussage: "We will give the current Office 365 Integration a big update (still this year)." trifft nicht mehr ganz zu nachdem es bereits 2020 ist und der Post von 2019 war.

Ich kann in der aktuellen V16.5 aber immer noch nichts finden wie ich die Kontakte eines Users oder einer shared Mailbox als globales Adressbuch verwende.

Bitte um info wann wir damit rechnen können.

Danke
LG
 
  • Like
Reaktionen: Osstec
Hallo,

Es hat sich zur Zeit nichts geändert.
Es wird aber versucht die neue Office 365 Integration weiterzuentwickeln.
 
Falls Du das Python Script haben möchtest, schreib hier bitte. In diesem Fall gilt: Ohne Gewähr, "as is", ohne Support, installieren musst Du selbst.

Hallo,

die Sync mit Exchange oder auch mit Office365 ist seit längerem unzureichend. Das hat mich so sehr geärgert und wir haben es selbst umgesetzt. Etwa 3 Tage und unser Auszubildender hatte es mit ein wenig Unterstützung programmiert gehabt (So schwer kann es also nicht wirklich sein). Wir holen die Daten über den EWS und schreiben direkt in die relevanten Datentabellen.

Unser Vorgehen:

Sowohl die Firmenkontakte (Die sind bei uns ein Subfolder eines einzelnen Postfaches unterhalb des "normalen" Kontakteordners) als auch die jeweiligen privaten Kontakte (abhängig von den E-Mail Adressen, die den Nebenstellen zugeordnet sind) werden synchronisiert. Die Kontakte in der Datenbank werden nur aktualisiert oder, wenn nicht vorhanden, erstellt. Es werden keine Daten aus der Datenbank in 3CX gelöscht.
Bei > 4000 Kontakten dauert die Erstsync zwar schon ein paar Minuten aber in den Folgeläufen wird nur neu angelegt was nicht geupdated werden kann. Das läuft bei uns in etwa 2 Minuten Nachts.

Wir holen die Firmenkontakte aus einem Postfach (ein eigener Kontakte-Unterordner der vom unserem PMS aus in Exchange befüllt wird) und per Impersonated User die privaten Kontakte aus dem Standard vordefiniertem "Kontakte" Ordner des jeweiligen Postfachs. Achtung Thema Datenschutz bzgl. eines Impersonated Users!

Hinweis: Wir haben die 3CX unter Linux / Debian installiert.
Aufgerufen wird das Script per einer Windows Kiste im Netzwerk per geplantem Task.

Ablauf wie folgt:
Vorbereitungen und Installation
Postgres konfigurieren

Damit das Script sich mit der Datenbank verbinden kann, muss diese dafür konfiguriert werden.
  1. Folgende Zeile in /etc/postgresql/9.6/main/postgresql.conf ändern listen_addresses = '*'

  2. Folgende Zeile in /etc/postgresql/9.6/main/pg_hba.conf hinzufügen
    host database_single phonesystem 192.168.131.0/24 md5

  3. Folgende Zeile in /etc/iptables/rules.v4 vor COMMIT hinzufügen
    -A INPUT -p tcp --dport 5432 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

  4. Folgende Befehle ausführen
    systemctl restart postgresql
    iptables -A INPUT -p tcp --dport 5432 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
Hinweis zu Punkt 2: Man kann es weiter einschränken indem man die IP hier anders definiert bzw. auf einen einzelnen (zusätzlichen) Host zur 127.0.0.1 einschränkt.

Abhängigkeiten installierten (für Ausführung unter Windows, von einem anderen Rechner aus)

Als Administrator folgenden Befehl ausführen

pip install pipenv

Im Projekt-Ordner folgenden Befehl ausführen

pipenv sync


Konfiguration

Eine Beispiel-Konfiguration:

EWS_SERVER - Die Server Adresse des Exchange Servers
EWS_PRIMARY_SMTP_ADDRESS - Die E-Mail des Users, der den EWS_CONTACTS_SUB_FOLDER besitzt
EWS_USERNAME - Die E-Mail für einen Impersonated User
EWS_PASSWORD - Das Passwort für den Impersonated User
EWS_CONTACTS_SUB_FOLDER - Unterordner, aus dem die die Firmen Kontakte gelesen werden
POSTGRES_CONNECTION_STRING - Datenbank Verbindung
LOG_LEVEL - Log Level für die Konsole. Möglich: INFO, ERROR
EXCLUDED_USERS - Die E-Mails für die keine privaten Kontakte synchronisiert werden sollen

Ausführung

Synchronisation starten:

pipenv run python sync.py

Nach Ausführung

Nachdem die Kontakte synchronisiert wurden, sollte folgender Befehl auf dem 3CX Server ausgeführt werden (Dabei verlieren die Webclients kurz ihre Verbindung).
Dadurch werden die geänderten Kontakte auch im Webclient sichtbar.

systemctl restart 3CXCfgServ01
(Wir machen das per Remote SSH)

Eine Settings Example sieht vom Format so aus:

EWS_SERVER = "abc.de/EWS/Exchange.asmx"
EWS_PRIMARY_SMTP_ADDRESS = "[email protected]"
EWS_USERNAME = "[email protected]"
EWS_PASSWORD = ""
EWS_CONTACTS_SUB_FOLDER = "WennKontakteOrdnerAbweicht"

POSTGRES_CONNECTION_STRING = "host=example.com dbname=database_single user=phonesystem password=******"

LOG_LEVEL = "INFO"

EXCLUDED_USERS = [
"[email protected]",
]

---------------
Datenbank Aufbau

In der Tabelle phonebook sind die Kontakte

Die Spalte fkiddn bestimmt den User mit der id aus dn.iddn, welche mit der users.fkidextension gleich ist

In der Tabelle user sind alle User

---------------

Grüsse
 
  • Like
Reaktionen: COCONET und Osstec
Respekt für das Script, aber das ist mir dann doch zu kompliziert und es geht nicht ohne dem "herumpfuschen" in der 3CX.

Für alle Interessierten es gibt mit der neuen SP6 Alpha für die v16 jetzt eine erweiterte Möglichkeit in der O365 Konfiguration. Es kann nun endlich eine SharedMailbox als Kontaktordner für das Company Phone Book benutzt werden.

Leider gibt es noch keine Funktion das auf einem lokalen Exchange zu machen.

Beste Grüße
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
22.253
Beiträge
112.175
Mitglieder
71.296
Neuestes Mitglied
Thomas12345
Holen Sie sich 3CX - völlig kostenlos!

Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX register cta
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.