LdapTelefonverzeichnis

Aus iDempiere de
Wechseln zu:Navigation, Suche

LDAP Telefonverzeichnis

Unsere Aufgabenstellung

In unserem Unternehmen benutzen wir eine auf Asterisk basierende Telefonanlage mit VoIP-Telefonen von Snom. Wir haben über verschiedene Wege nachgedacht, die Anlage mit iDempiere zu verknüpfen.

In unserem Fall ist es so, das wir relativ viele Anrufe von bereits bekannten Kunden mit Bestellungen bekommen. Das Ziel sollte sein, das wir Kunden schnell und ohne viel Aufwand erkennen, wenn sie anrufen und der richtigen Kundennummer zuordnen.

Zuerst hatten wir die Idee, irgendwie automatisch eine Bestellung zu öffnen, wenn ein Anruf angenommen wird. Allerdings gibt es sehr viele Anrufe, die sich nicht direkt mit einer neuen Bestellung beschäftigen. Das zuzuordnen bzw. dafür eine GUI zu erstellen, erschien und wieder recht unübersichtlich. Wir sind dann darauf gekommen, das es eigentlich reicht, wenn wir den Namen des Kunden, seine Firma sowie die Kundennummer angezeigt bekommen.

Die Lösung

iDempiere wird zu einem LDAP-Server

Ich habe einen LDAP-Server aufgesetzt, der seine Verzeichnisdaten direkt aus der iDempiere-Datenbank holt. Die Snom-Telefone können nun so eingestellt werden, das sie bei jedem Anruf direkt in das Verzeichnis schauen und dann im Display den Namen und die Kundennummer anzeigen wie gewünscht.

Ein LDAP-Server ist ein Verzeichnisdienst. Dieser kann alle möglichen Arten von strukturierten Daten verwalten, arbeitet allerdings mit grundsätzlich ziemlich flexiblen Datenstrukturen, die nicht so leicht als relationale Daten abzuspeichern sind. In der Praxis werden LDAP-Server vor allem benutzt, um Benutzer in komplexeren IT-Umgebungen zu verwalten. Oft dienen sie aber auch der Verwaltung von Kontaktdaten. In diesem Sinne gibt es eine LDAP-Konfiguration in den Snom-Telefonen, die auf solche Kontaktdaten zugreifen kann.

vorher:

Snom385AnrufOhneLDAP.png

nachher:

Snom385AnrufMitDAP.png

(Der Text scrollt übrigens durch, deshalb ist der Name hier vorne und hinten "abgeschnitten").

technische Umsetzung

Ich habe auf einer eigenen virtuellen Maschine (muss nicht zwingend sein) einen OpenLDAP-Server aufgesetzt. Dieser verfügt über ein Backend namens slapd-sql, das es erlaubt, eingehende Verzeichnis-Anfragen für den LDAP-Server umzuschreiben und an die PostgreSQL-Datenbank zu senden. Das Ergebnis wird dann als LDAP-Antwort an den Client (das Telefon) zurückgegeben.

Leider scheint es nicht sehr viele Anwender von slapd-sql zu geben. Allerdings habe ich es hinbekommen, die Anfragen so zu gestalten, wie ich möchte. Insbesondere habe ich die verschiedenen Namen (Kontakt und Geschäftspartner) und die Kundennummer ohne Probleme kombinieren können.

Dokumentation

Die exakte Dokumentation, was ich wie gemacht habe, habe ich als PDF geschrieben:

Media:IT LDAP Telefonbuch.pdf


Besonderheiten

  • Die Schnittstelle vonm slapd-sql erlaubt es grundsätzlich auch, schreibend auf die LDAP-Daten zuzugreifen. Das habe ich bei meiner Umsetzung nicht erlaubt. Die Pflege der Daten findet ausschließlich in iDempiere statt. Bei anderen Anwendungen des LDAP-Servers ist es denkbar, das ebenfalls zu implementieren (z.B. Änderung von Kontaktdaten in Thunderbird). Ob das wünschenswert ist, muss jeder selber wissen.
  • Die Filter-Engine von OpenLDAP hat Probleme, bestimmte Datentypen zu erlauben, die illegale Zeichen enthalten. Deshalb formen meine SQL-Queries diese jeweils um. Das betrifft z.B. "/" in Telefonnummern und "," in Namen. (Keine Ahnung, ob diese Restriktion wirklich vom Datentyp abhängig ist oder ggf. für alle Felder gilt.)
Cookies helfen uns bei der Bereitstellung von iDempiere de. Durch die Nutzung von iDempiere de erklärst du dich damit einverstanden, dass wir Cookies speichern.