none
Exchange 2013 Kontakte aus öffentlichem Ordner per LDAP bereitstellen für Asterisk PBX RRS feed

  • Frage

  • Hallo liebe techis,

    ich habe mal wieder eine Frage und hoffe ihr habt eine Idee oder eine Lösung für mich. Ich habe auch schon die Suche hier befragt nur nichts richtiges gefunden.

    Wir haben einen Exchange 2013 CU 17 mit einem öffentlicher Kontakteordner wo sich ca. 1200 Kontakte befinden. Dies ist unser zentrales Adressbuch/Telefonbuch. In diesem Ordner darf jeder Änderungen vornehmen oder neue Kontakte anlegen.

    Nun wurde seitens eines Dienstleisters eine Asterisk PBX Anlage installiert welche auch sehr zufriedenstellend funktioniert. Als CTI-Lösung benutzen wir Phonesuite welche sämtliche Schnittstellen bietet um auch z.B. auf unseren öffentlichen Ordner zugreift. Es wäre auch LDAP usw. möglich.

    Nun besteht bei uns der Bedarf das bei einem ankommenden Anruf auf den Yealink Telefonen ("Tischtelefon")nicht nur die Telefonnummer des Anrufenden sondern der Vor + Nachname statt der Telefonnumer angezeigt wird, so wie bei Phonesuite.

    Der Dienstleister sagte nun das die Asterisk sehr einfach an ein LDAP-Verzeichnis angebunden werden kann und sie sich dort auf Grundlage der Telefonnummer die entsprechenden Namen holt. Nun ist meine Frage wie ich das am besten realisieren kann ? Der öffentliche Ordner ist ja soweit ich gelesen habe nicht per LDAP ansprechbar, von daher weiss ich nicht was ich nun tun kann ? Der Dienstleister sagte nur wenn ich die Kontakte per LDAP bereitstelle ist es sehr einfach für sie in die Asterisk einzubinden.

    Ich danke euch schonmal vorab für eure Hilfe. 

    Sonntag, 26. November 2017 19:42

Alle Antworten

  • Moin,

    eine Variante wäre eine AD LDS-Instanz (oder ein anderes LDAP-Verzeichnis) und ein Skript, das die Kontakte ausliest und das Verzeichnis "füttert".

    Ein adnerer Lösungsansatz wäre die Verlagerung der Kontakte ins AD, dann kann die PBX direkt darauf zugreifen. Als Zusatznutzen (falls dies als Nutzen wahrgenommen wird) wären die Kontakte über die GAL ansprechbar und somit auch auf mobile Endgeräten verfügbar. Wenn man sie nicht mit den internen Empfängern vermischen möchte, kann man das über Address Book Policies lösen.


    Evgenij Smirnov

    I work @ msg services ag, Berlin -> http://www.msg-services.de
    I blog (in German) @ http://it-pro-berlin.de
    my stuff in PSGallery --> https://www.powershellgallery.com/profiles/it-pro-berlin.de/
    Exchange User Group, Berlin -> http://exusg.de
    Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
    Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com

    Sonntag, 26. November 2017 21:22
  • Moin,

    ein Skript findest Du bestimmt in der Gallery. Falls wider Erwarten nicht und Du das selber hacken musst, würde ich mich für eine einmalige Sache nicht mit Auslesen per EWS aufhalten, sondern die Kontakte einmal mittels Outlook in eine CSV exportieren, von dort ist es dann einfach, die mit PowerShell ins AD zu pumpen. Du musst dabei aber die Exchange-Cmdlets verwenden, sonst "kennt" Exchange die Kontakte nicht.

    Wenn ihr an den Address Book Policies nichts verändert habt, werden die neuen Kontakte sofort auf der GAL sichtbar sein, bunt vermischt mit Usern, Ressourcen, Gruppen und öffentlichen Ordnern. Das ist oft nicht gewünscht. Um das zu umgehen, wird in der Regel folgendes gemacht:

    • neue GAL, die in eineim Container beginnt, zu dem die OU mit den Kontakten nicht gehört
    • neue Adressliste, die nur den Container mit den Kontakten umfasst.
    • neue Address Book Policy, die auf der neuen GAL basiert und neben den Standard-Adresslisten auch die neuen Kontakt-Adressliste beinhaltet
    • diese neue ABP allen Postfächern zuweisen.

    Dann haben die User in der GAL das Gleiche wie vor der Maßnahme, können aber händisch im Adressbuch die Kontakte als Liste auswählen.


    Evgenij Smirnov

    I work @ msg services ag, Berlin -> http://www.msg-services.de
    I blog (in German) @ http://it-pro-berlin.de
    my stuff in PSGallery --> https://www.powershellgallery.com/profiles/it-pro-berlin.de/
    Exchange User Group, Berlin -> http://exusg.de
    Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
    Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com

    Montag, 27. November 2017 09:14
  • Nabend,

    also nach 11h Kampf habe ich ich nun eine saubere erstelltes Excel-Sheet. Aber es hat sich gelohnt, so wieder alle Kontakte mal wieder von Müll befreit :) ich hatte wie du auch schon geschrieben hast heut morgen erstmal alle Kontakte exportiert in einem Excel Sheet, dies kann ja später noch als CSV abgespeichert werden.

    Nun möchte ich das erstmal Stück für Stück angehen und habe ein paar Fragen, der restlichen Fragen kommen mit Sicherheit morgen :)

    Die Spaltennamen aus dem Export von Outlook sind ja nun alle in deutsch. die LDAP Feldnamem aber in Englisch. Woher weiß ich das die Exchangespalten auch in die richtigen Feldnamem landen ? habe mich mal auf dieser Seite schlau gemacht zu den Feldnamen: http://www.selfadsi.de/user-attributes-w2k8.htm

    Darauf habe ich die Original Exchange Spaltennamen quasi übersetzt in die LDAP Feldnamen und dabei kam folgendes heraus:

    Anrede -> ?
    Vorname -> givenName
    Nachname -> sn
    Firma -> company
    Abteilung ->department
    Position -> title
    Straßegeschäftlich -> streetAddress
    Ortgeschäftlich -> L
    Postleitzahlgeschäftlich -> postalcode
    LandRegiongeschäftlich -> countryCode
    Telefongeschäftlich -> telephoneNumber
    WeiteresTelefon ->otherTelephone
    Faxgeschäftlich -> facsimileTelephoneNumber
    Mobiltelefon-> mobile
    Telefonprivat-> homePhone
    EMailAdresse-> mail
    EMailAngezeigterName -> ??
    EMail2Adresse ??
    EMail2AngezeigterName ??
    Initialen - wird eigentlich nicht benötigt
    Notizen -> info
    Website -> wWWHomePage

    Ausser die 4 fettgedruckten konnte ich alle für mich zuordnen. Wie bringe ich dem Import denn bei das z.B. TelefonPrivat auch im Ldap Feldnamen -> homephone landet ?

    Frage 2:

    Einige Kontakte aus Exchange besitzen keinen Vornamen und auch keinen Nachnamen, lediglich das Feld Firma + Telefonnumer + Mailadresse ist ausgefüllt. IM AD kann ich aber kein Kontakt anlegen ohne wenigstens den Vornamen oder Nachnamen zu haben ? Wie löse ich das ? Oder muss ich unschön den Firmenname bei "Nachname" auch eintragen ?

    Frage 3:

    Du meinst die Windows Powershell auf dem Exchange nutzen um die csv per "Import-CSV" einzulesen ?

    Frage 4:

    Du sagst die neue GAl nicht in der OU anlegen wo die Kontakte liegen. Ich hatte es jetzt folgendermaßen gemacht:

    OU=Externe Kontakte,DC=meineFirma,DC=local -> Dort die Kontakte rein

    OU=STandardOU,DC=meineFirma,DC=local -> dort hätte ich die neue GAL angelegt

    In der StandardOU sind noch weiteres OU`S bei mir wie Computer, User usw...

    oder habe ich ein Denkfehler ?

    ich glaube jetzt habe ich erstmal genug genervt für heute Abend :-D

    Ich danke jetzt schonmal für die fleißige Hilfe.

    Montag, 27. November 2017 20:14
  • Moin,

    ad 4: Ja, so meinte ich das.

    ad 3: Genau.

    ad 2: Nö, Du brauchst lediglich DisplayName, e-Mail-Adresse und Alias für Exchange

    ad 1: Meine Idee war, dass Du dich gar nicht mit den AD-Attributen aufhältst, sondern einfach mit New-MailContact die Kontakte anlegst.


    Evgenij Smirnov

    I work @ msg services ag, Berlin -> http://www.msg-services.de
    I blog (in German) @ http://it-pro-berlin.de
    my stuff in PSGallery --> https://www.powershellgallery.com/profiles/it-pro-berlin.de/
    Exchange User Group, Berlin -> http://exusg.de
    Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
    Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com

    Dienstag, 28. November 2017 07:04
  • Hallo,

    also ich habe jetzt sowit ein paar test.csv ausprobiert und das Skipt funktioniert auch soweit. ich wollte vorher ein paar CSV`s testen bevor ich versuche die 1200 Kontakte einzulesen.

    Hier erstmal das Script:

    import-csv c:\contacts.csv | forEach { $c = New-MailContact -Name $_."Name" -ExternalEmailAddress $_."Email-Address" -FirstName $_."FirstName" -LastName  $_."LastName" -OrganizationalUnit "OU=Externe Kontakte,DC=werft-malz,DC=intern" -Alias $_."Name"; set-contact  $c.distinguishedname -Phone $_.OfficePhone -Company $_.Company -department $_.department -Title $_.Title -streetAddress $_.streetAddress -city $_.city -Postalcode $_.Postalcode -CountryorRegion $_.CountryorRegion -othertelephone $_.otherTelephone -Fax $_.Fax -MobilePhone $_.MobilePhone -HomePhone $_.Homephone -Notes $_.Notes -Webpage $_.Webpage}
    

    Nun stammt meine UR-CSV ja vom Export des öffentlichen Ordners "Kontakte". Demnach gibt es auch Kontakte ohne Mailadresse. Da werde ich meine CSv nocheinmal aufteilen in Kontakte mit "E-Mail Adresse" und Kontakte wo es keine E-Mail Adresse gibt sondern nur Telefonnummer etc.

    Die Kontakte ohne Mail lege ich folgendermaßen an:  New-ADObject -Type contact ...........

    Nun habe ich noch folgende 2 Probleme. Ich mach mal ein Beispielbild als Muster:

    Muster CSV - Excel

    Nun gibt es teilweise in den Feldern Vorname/Name kein Eintrag, aber in Firma 3 Stück. Der Displayname darf ja mehrfach vorhanden sein. Aber der Common Name ist ja "unique". Ich hatte jetzt die Idee bei gleichen namen eine "Randomzahl" hintenranzuhängen. Kann es da später einmal zu Problemen kommen, oder sagt ihr kannst du so machen ? An und für sich greife ich ja im Betrieb nie auf den Common Name zu, bei Abfragen ans LDAP, von daher kann mir der "Common Name" doch in Theorie egal sein oder ? Wenn sucht man ja nur noch "Name" oder Firma " oder anderen sinnvollen Feldern.... Wie seht ihr die Idee mit der Randomzahl ?

    Einziger Nachteil der GAL gegenüber der Suche in den öffentlichen ordner Kontakten ist die Suche was mir so aufgefallen ist. Einige Kollegen haben beispielsweise in Notizen so Wörter stehen wie "Kranfahrer" und eine Telefonnummer. In Outlook konnten sie noch nach Kranfahrer suchen, weil er dort auch in Notizen sucht, aber im Outlook Adressbuch durchsucht er leider nur folgende Felder:

    Ansicht Outlook Adressbuch

    Aber gut, dann müssen einige wohl umdenken und die Kontaktfelder vernünftig pflegen. Oder es bleibt dann an mir hängen.

    Schönen Sonntag euch erstmal.

    Sonntag, 10. Dezember 2017 10:51