Telefonbücher für Gigaset und Snom - Workaround

Wie du schon schreibst: die Daten werden wohl von irgendeinem Programmteil geladen und lokal im Speicher bereitgehalten. Dieser Programmteil muss sicher schon mal irgendwann im lfd. Betrieb von der SQLDB nachladen und wird das auch tun - aber keiner weiss welcher Programmteil das genau ist und auf Grund welchen Ereignisses er das tut. Da sind soweit ich das mal verfolgt habe (sqlmonitor und spätere Aufrufe) mehrere Abhängigkeiten dabei. Wenn ich mal so fix durchzähle bleiben da noch über 70 DLL von 3CX übrig.
 
Zuletzt bearbeitet:
Wie du schon schreibst: die Daten werden wohl von irgendeinem Programmteil geladen und lokal im Speicher bereitgehalten. Dieser Programmteil muss sicher schon mal irgendwann im lfd. Betrieb von der SQLDB nachladen und wird das auch tun - aber keiner weiss welcher Programmteil das genau ist und auf Grund welchen Ereignisses er das tut. Da sind soweit ich das mal verfolgt habe mehrere Abhängigkeiten dabei.
Tja, so ist das nun mal. Ist ja nun auch nicht der Riesenbeinbruch, wenn erst nachts aktualisiert wird.

Das ganze Verhalten ist merkwürdig. Fügt man wechselseitig Einträge mit psql und 3CX hinzu, dann 'sieht' psql bei einem SELECT immer alle Einträge, 3CX immer nur die eigenen. Neue Einträge werden anscheinend von 3CX in die Datenbank - und - in den internen Cache geschrieben. Vielleicht verwenden die so eine Art Memory Table.

Egal ...
 
Zuletzt bearbeitet:
Ja, wenn ich ein einzelnes Programm programmiere mache ich das ja auch so: 1) Abfrage der DB, 2) bearbeiten der abgeholten Daten, 3) bereitstellen der Daten global für mein Programm in internen Variablen, 4) Rückschreiben der Daten in die SQL nur bei Änderungen der int. Daten. Ein Nachladen dieser Daten aus der SQL Tabelle erfolgt nur bei Bedarf (z.B. Ansicht aktualisieren). Ich bin ja allein unterwegs. Da schreibt ja keiner ausser mir etwas rein. Das kann also typischerweise direkt nach dem Programmstart erfolgen. Ergo: nachladen normal nicht nötig. Erst bei Multiusersystemen, Client / Server Programmen o.ä. wird das permanent nötig. Eine 3CX ist das nicht.

Warten wir mal auf das API, wenn es denn kommt ...
 
Ansonsten das ebenfalls per nicht dokumentierter und nicht supporteter API ändern, z.B. eben auch direkt mit Powershell, mit einer Windows 3CX z.B. auch so wie hier.
 
vielen Dank für die spannenden Inputs und Erklärungen. LDAP ist somit in Kombination mit den älteren Gigaset-Produkten durchaus sinnvoll. Nun aber meine Gegenfrage: weshalb nutzen wir nicht die 3CX-Datenbank, füttern damit XML-Telefonbücher UND LDAP? Sprich z.B. auf einem 3CX voraufgesetzten Debian OpenLDAP aufsetzen und mittels Cron-Job periodisch ein LDIF einlesen?
 
Guten Abend und erst einmal vielen Dank für das tolle Script und den Workaround, schon Wahnsinn was manche mit der Anlage alles realisieren und anbauen...

Wir sind seit letzten Freitag mit unserer 3CX mit Snom Endgeräten und 14x M900 BS live. Das Rollout lief wirklich Prima. Auf manche Dinge muss man halt bei der Ablöse einer Hipath von '01 verzichten, aber das ist im großen und ganzen zu verschmerzen, denn viele Features waren auch damals nicht gegeben. Aktuell sind 94 Nebenstellen (Snom M25, M65, M70, M80, D120, D385) im Einsatz. Wir haben uns während der Testphase für die 3CX Enterprise entschieden.

Das Script läuft soweit Prima, jedoch sind viele User unzufrieden mit der Sortierung im Telefonbuch. Leider habe ich keine guten Kenntnisse bzgl. Datenbanken, habe aber gesehen das in Post #71ein Workaround für die Gigasets umgesetzt wurde. Gibt es so eine Möglichkeit auch für die Snom's (Sortierung nach "Nachname, Vorname")?

Und dann noch eine zweite Frage, die mit Sicherheit auch schon oft aufgetaucht ist, ich aber jetzt mal so Frech bin sie nochmal zu stellen...
Hat vielleicht Jemand einen Weg gefunden, die "privaten Kontakte" der jeweiligen Nebenstellen (aus Exchange Connector) auf die DECT-Endgeräte zu Synchronisieren? Zur Zeit lade ich die per Hand über die MasterBS in die Endgeräte...

Vielen Dank vorab und einen schönen Abend
 
Hallo,
Gibt es so eine Möglichkeit auch für die Snom's
In dem von dir verlinkten Post steht die Lösung drin. Schau dir auch das mal an.
Hat vielleicht Jemand einen Weg gefunden, die "privaten Kontakte" der jeweiligen Nebenstellen (aus Exchange Connector) auf die DECT-Endgeräte zu Synchronisieren?
Ja, das geht grundsätzlich. Diese privaten Kontakte erscheinen dann aber auf allen DECT Telefonen. Ist das so gewollt? Thema Datenschutz? Eine per NSt. individuelle Provisionierung mit privaten Kontakten ist nicht vorgesehen.

Prinzipiell gilt: sofern man die 3CX Provisionierungsmöglichkeiten nutzt wird jedes Telefon (bei DECT BS betrifft dies alle an der jew. BS verbundenen DECT Endgeräte) mit einer Provisionierungsvorlage provisioniert in welcher explizit drin steht welches Telefonbuch sich alle Telefone dieser Provisionierungsdatei holen.

Wenn nun also jede NSt. auf Grund privater Telefonbucheinträge ein eigenes Telefonbuch bekommen soll dann muss jedes Telefon / NSt. mit einer eigens für dieses erstellten Vorlage provisioniert werden. Ja, bis auf die DECT Endgeräte geht das, wird aber aufwändig und schlecht pflegbar.

Bei den DECT Basen und Endgeräten ist mir keine solche Möglichkeit bekannt individuelle (weitere) Telefonbücher über eine 3CX auszurollen. Bestenfalls kann man sich ein Skript bauen und dort hartkodiert das hinterlegen was du zur Zeit manuell machst.
 
Vielen Dank für die Antworten.

Hallo,
In dem von dir verlinkten Post steht die Lösung drin. Schau dir auch das mal an.

Ich habe das Script nun folgendermaßen angepasst für die SNOM DECT Geräte... Die .xml sieht im Browser gut aus.

EDIT: Ist nun ausgerollt. Läuft super! Die Suche funktioniert auch Perfekt!

Code:
# Extensions
su - postgres -c "psql -d database_single -c \"copy (SELECT CONCAT (lastname, CASE WHEN LENGTH(firstname)<>0 THEN CONCAT (', ', firstname) END) AS surname, '' AS name, '' AS organization, '' AS mobile, '' AS mobile2, value AS business, '' AS business2, '' AS home, '' AS home2, '' AS email, '' as flags FROM users, dn WHERE fkidextension = iddn ORDER BY business) TO '$tmp_extensions' WITH CSV DELIMITER E'\t'\""

# Contacts
su - postgres -c "psql -d database_single -c \"copy (SELECT CONCAT (CASE WHEN lastname='' AND firstname='' AND company<>'' THEN company ELSE lastname END, CASE WHEN LENGTH(firstname)<>0 THEN CONCAT (', ', firstname) END) AS surname, '' AS name, '' AS organization, phonenumber AS mobile, pv_an0 AS mobile2, pv_an3 AS business, pv_an4 AS business2, pv_an1 AS home, pv_an2 AS home2, pv_an5 AS email, pv_an6 AS flags FROM phonebook WHERE fkiddn is NULL ORDER BY surname) TO '$tmp_contacts' WITH CSV DELIMITER E'\t'\""

Ja, das geht grundsätzlich. Diese privaten Kontakte erscheinen dann aber auf allen DECT Telefonen. Ist das so gewollt? Thema Datenschutz? Eine per NSt. individuelle Provisionierung mit privaten Kontakten ist nicht vorgesehen.

Okay, das dachte ich mir. Das Globale Telefonbuch fällt genau aus diesem Grund raus.

Vielen Dank für deine Mühe
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Paul S
Zur Info: wir sind gerade dran LDAP parallel mit 3CX in der selben VM zu installieren und die Daten aus 3CX in LDAP zu schreiben und damit die entsprechenden Geräte mit den Daten zu versorgen. Das funktioniert soweit einwandfrei ;)
 
  • Like
Reaktionen: autohaus
Ich habe mein Skript mittlerweilen komplett neu geschrieben und es kann nun auch LDAP-Directories befüllen - weil ein Kunde eine Gigaset Multicell Anlage auf Basis der N720 hatte. Dass das auch mit der N510 funktioniert, ist Beifang.

Das Skript liest jetzt auch aus iCloud und Google Contacts oder auch LDAP-Directories wie Windows Active Directory.
Kann man mit diesem Skript die Kontakte von einem Google Konto der Gigaset n670ip per LDPA einspielen?
 
Kann man mit diesem Skript die Kontakte von einem Google Konto der Gigaset n670ip per LDPA einspielen?
Man kann als Quelle Google Contacts nutzen und als Ziel einen LDAP Server.

Bei der N670 halte ich aber XML für geeigneter, da LDAP beim Standardschema inetOrgPerson nur jeweils eine Nummer für Arbeit, Mobil und Privat verwalten kann, das Gigaset XML-Format aber jeweils zwei.

Google Contacts via Googles People API auszulesen ist übrigens wegen OAUTH2 alles andere als trivial. Google setzt dafür ein Projekt in seiner Google Cloud Platform voraus über das Access und Authorisation Token generiert werden müssen. Und will man den Authorisation Token nicht alle sieben Tage manuell erneuern, muss das Projekt von Google geprüft werden ... die stellen eine Menge Fragen und setzen viel voraus. Das ist ein wenig beschwerlich aber dient der Sicherheit - schließlich geht es um persönliche Daten, die da abgegriffen werden sollen.

Wenn man mit ein wenig Handarbeit leben kann, dann kann man auch Googles vCard-Exportfunktion hernehmen und die erzeugte Datei als Quelle nutzen.
 
Bei der N670 halte ich aber XML für geeigneter,
Ich habe das Skript installiert wie in der Anleitung hier auf der zweiten Seite beschrieben.

Es funktioniert auch, aber die Suche im Telefonbuch auf dem Mobilteil ist umständlich:
- Man muss in die Suche gehen und gezielt nach dem Nachnahmen suchen
- gibt man im Telefonbuch (wie üblich gewohnt) nur einen Buchstaben ein, z.B. "G", dann werden die Einträge immer noch nach Vornamen sortiert. Ich weiß nicht wie man das ändern kann.
- in der Anruferliste werden keinen Namen angezeigt, egal ob ausgehend oder eingehend.

Meine Hoffnung war ob es mit einem Telefonbuch über LDAP eventuell funktionieren würde, aber das ist wohl auch sehr umständlich.

Das Telefonbuch in der 3cx brauche ich nicht zwingend, ich habe es nur eingerichtet um auf den Mobilteilen nur ein Telefonbuch zu pflegen.
 
- Man muss in die Suche gehen und gezielt nach dem Nachnahmen suchen
- gibt man im Telefonbuch (wie üblich gewohnt) nur einen Buchstaben ein, z.B. "G", dann werden die Einträge immer noch nach Vornamen sortiert. Ich weiß nicht wie man das ändern kann.
- in der Anruferliste werden keinen Namen angezeigt, egal ob ausgehend oder eingehend.
Das alles sind Gigaset Baustellen.
 
Das alles sind Gigaset Baustellen.
Wie hast Du das Problem denn bei deinen Kunden gelöst?

Funktioniert das auch nicht wenn das Telefonbuch über LDAP eingespielt wird?

Wenn die Kontakte im lokalen Telefonbuch vom Mobilteil gespeichert sind funktioniert es mit den Listen.
Gibt es ein Gigaset Forum wo man sich hin wenden kann?

Gibt es das Problem auch bei Snom?
 
Zuletzt bearbeitet:
Stand 28.11.2021: Gibt es!

Wenn das Skript auf der 3CX läuft, läuft das - nahezu - 'out-of-the-box', wenn das Skript woanders läuft, muss man noch die PostgreSQL Datenbank für Zugriffe von außen öffnen. Letzteres ist in drei Minuten erledigt.
Genial. Das würde ich wirklich gerne testen.
Das Skript könnte ja ohne Probleme auf der 3CX laufen und den Datenstand in einen externen LDAP Server importieren.
Wie du schon geschrieben hast, würde ich mir mal einen Raspberry Pi anschauen oder ähnliches.
Die Snom M900 könnten dann einfach die Kontakte mit dem Raspberry abgleichen.

Gibt es eine Version deines Skripts mit der LDAP Funktion, die ich testen könnte? Würde mich wirklich freuen.
 
Das Skript könnte ja ohne Probleme auf der 3CX laufen und den Datenstand in einen externen LDAP Server importieren.
1) Das Skript exportiert zu einem LDAP-Server. Ist es das, was gewünscht ist?
2) Von wo sollen denn die Kontakte importiert werden?
 
  • Like
Reaktionen: Trust
Genau das ist es, was ich brauchen könnte. Die Kontakte müssen aus dem 3CX Telefonbuch exportiert werden.
Also eigentlich so wie dein ursprüngliches Skript, nur als Ziel nicht die snom.xml, sondern ein LDAP Server.

Hoffe, das ist nicht zu kompliziert. Würde mir aber wirklich wahnsinnig helfen.
 
Hoffe, das ist nicht zu kompliziert. Würde mir aber wirklich wahnsinnig helfen.
Kommt drauf an: Man sollte sich schon ein wenig mit Python, PostgreSQL und LDAP-Servern auskennen.

Für Python zum Beispiel müssen zusätzliche Module für den Zugriff auf PostgreSQL und LDAP installiert werden, da diese normalerweise nicht in Standardinstallationen enthalten sind. Auf dem LDAP-Server muss eine OU für die Kontakte eingerichtet werden.

Wenn man das schon mal gemacht hat, ist es nicht kompliziert.
 
Welche Möglichkeiten gibt es das in der Anruflisten der Mobilen Geräte einer N670ip in Verbindung einer 3cx auch die Namen angezeigt werden?
 
Welche Möglichkeiten gibt es das in der Anruflisten der Mobilen Geräte einer N670ip in Verbindung einer 3cx auch die Namen angezeigt werden?
1. Kontakte aus 3CX Datenbank auslesen.

2.a Ausgelesene Kontakte in Gigaset XML-Datei speichern und von NP670 einlesen lassen
Vorteil: Format beherrscht 6 Nummern (jeweils 2 x Work, Mobile und Home)
Nachteil: Update nur einmal täglich (Beschränkung der N670, die die XML-Datei nur einmal täglich nachlädt)

-- oder --

2.b Ausgelesene Kontakte auf LDAP-Server speichern und von NP670 einlesen lassen
Vorteil: Laufende Updates möglich
Nachteil: LDAP (INetOrgPerson) beherrscht nur 3 Nummern (jeweils 1 x Work, Mobile und Home)
 
  • Like
Reaktionen: alex303

Zurzeit aktive Besucher

Statistik des Forums

Themen
21.364
Beiträge
107.432
Mitglieder
70.525
Neuestes Mitglied
Elison Santana
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.