OCS/Skype for Business Adressbuch
Siehe dazu auch Lync Addressbook und ABSConfig (OCS ResKit)
Analog zum Exchange Offline Adressbuch bietet auch OCS2007 ein Adressbuch für die Clients an. Dabei liest der OCS-Server aus dem Active Directory alle Objekte aus, sofern mindestens eines der folgenden Fehler gefüllt ist:
- msRTCSIP-PrimaryUserAddress
Die OCS-Adresse - telephoneNumber
Die normale Telefonnummer im Active Directory - homePhone
Die private Rufnummer des Teilnehmers - mobile
Die Mobilfunknummer, sofern diese gepflegt ist.
Solche Objekte sind für OCS relevant, so dass der Server das Adressbuch als Datei erstellt und in einem Verzeichnis für die Clients zum Download per HTTP bereitstellt. Der OCS Communicator selbst lädt sich die Update immer mal wieder herunter und legt diese lokal als Cache ab. (10.000 Benutzer belegen ca. 600kB unkomprimiert bzw. 300 Kilobyte komprimiert. Der OCS-Client nutzt diese Datenbank, um zu den Telefonaten, die über den OCS-Client geführt oder gemeldet werden (siehe RemoteCallControl), die Rufnummer zu ersetzen. Da die Rufnummer eigentlich immer im E.164 (siehe Rufnummern) Format signalisiert wird, sollte die Rufnummer im Active Directory ebenfalls in dieser Form vorliegen. Ist dies nicht möglich, dann kann man über Normalisierungsregeln die Rufnummer aus dem Active Directory umschreiben.
Veröffentlichung per IIS
Jeder Frontend Server stellt über den IIS das Adressbuch zum Download bereit. Im IISAdmin können Sie das virtuelle Verzeichnis "/Abs" mit den Inhalten auch einsehen:
Über das IISLog kann man auch wunderbar sehen, welcher Client wann das letzte Mal Kontakt mit dem Adressbuch hatte.
#Software: Microsoft Internet Information Services 6.0 #Version: 1.0 #Date: 2008-11-20 10:02:16 #Fields: date time cs-method cs-uri-stem cs-uri-query s-port cs-Username sc-status 2008-11-20 10:02:16 GET /Abs/Int/Handler/D-0b3f-0b40.lsabs - 443 - 401 2008-11-20 10:02:16 GET /Abs/Int/Handler/D-0b3f-0b40.lsabs - 443 MSXFAQ\fcarius 200
ABServer
Wenn sie nun in der Systemsteuerung nach einem passenden "Dienst" suchen, dann werden Sie diesen so nicht finden. Auch der OCS Adressbuchdienst ist Bestandteil des OCS Frontend Servers. Sie können aber in der GUI zumindest die groben Einstellungen erkennen:
Und wenn man ab und an in das OCS-Eventlog schaut und nach "OCS Address Book Service"-Einträgen sucht, dann kann man in etwa sehen, was der ABServer tut.
Die Events von unten nach oben zeigen den Fortschritt an. Jeweils
Ereignistyp: Informationen, Ereignisquelle: OCS Address Book Server und
Ereigniskategorie: (1008)
EventID | Beschreibung |
---|---|
21001 |
The Address Book Server is starting. |
21002 |
The Address Book Server has started. |
21005 |
Synchronization pass started. |
21034 |
One or more phone numbers failed to normalize. |
21012 |
A delta file would be too large in relation to the full file
it is based on. The delta file will not be generated. |
21007 |
Synchronization pass completed successfully. |
21056 |
Synchronization Pass Summary. |
21004 |
Next synchronization pass will start at: |
Und dies Meldungen sind schon allein ohne zusätzliches Debugging vorhanden.
Sie können den Adressbuchdienst aber auch per Kommandozeile anwerfen, wen Sie nicht bis 01:30 uhr in der Nacht warten können, z.B. wenn Sie Normalisierungsregeln geändert oder eine große Anzahl an Benutzern angelegt haben.
C:\Programme\Microsoft Office Communications Server 2007\Server\Core\ABServer.exe /? Usage: ABServer [-?] [-regenUR | -syncNow | -dumpFile input-file [output-file] | -testPhoneNorm [phone-number] | -dumpRules| -validateDB ]
Nebenbei offenbart die Kommandozeile auch die Funktion "-testPhoneNorm", über die Sie mal schnell eine Rufnummer "testen" können. Dies ist besonders interessant, wenn Sie über die Datei "Company_Phone_Number_Normalization_Rules.txt" eigene Übersetzungsregeln angelegt haben.
Company_Phone_Number_Normalization_Rules.txt und Generic_Phone_Number_Normalization_Rules.txt
Diese Datei liegt in ""C:\Programme\Microsoft Office Communications Server 2007\Web Components\Address Book Files\Files" und erlaubt es dem Administrator über Regular Expressions eigene Übersetzungsregeln für den Communicator Client zu pflegen. Der Communicator benötigt zwingend E.164-Rufnummern. Nun wissen wir alle, dass es in Firmen sehr häufig "Querwahlen" und andere besondere Rufnummern gibt, die über die eingebauten Umsetzungsregeln nicht abgedeckt werden.
Daher können sie über die Datei "Company_Phone_Number_Normalization_Rules.txt" eigene Ausdrücke pflegen, die die eingebauten Regeln überschreiben.
- Location Profiles
- 913092 A custom telephone number normalization rule is not applied by the Live Communications Server 2005 SP1 version of the Address Book Service (AbServer.exe)
- Microsoft Office Communications Server 2007 Configuring Address
Book Server Phone Normalization
http://technet.microsoft.com/en-us/library/bb936613.aspx
Wenn man die Einstellungen für den Communicator Client ändert, sollte man auch noch mal einen Blick auf die "Generic_Phone_Number_Normalization_Rules.txt" werfen.
Invalid_AD_Phone_Numbers.txt
Wenn man schon die Normalisierungsregeln angeht, dann lohnt sich auch ein Blick in die Datei "Invalid_AD_Phone_Numbers.txt", die z.B. in dem Verzeichnis "C:\Programme\Microsoft Office Communications Server 2007\Web Components\Address Book Files\Files" liegt. Hier protokolliert der ABServer alle Objekte, die er gerne mit in das Adressbuch aufgenommen hätte aber die Normalisierung der Rufnummer nicht möglich war.
Sie erkennen sicher schnell, dass die Rufnummer nicht der E.164 Schreibweise entspricht. Wichtig ist hier aber die Prüfung, ob Sie nun die Rufnummer im Active Directory ändern bzw. korrigierten sollten oder ob eine ihrer umschreibregeln nicht korrekt funktioniert.
Client Download
Der OCS Communicator bekommt die URL des Adressbuchs bei der Anmeldung am OCS-Server mitgeliefert und versucht das Adressbuch komplett oder die jeweils verfügbaren differenziellen Updates herunter zu laden und in eine lokale "GalContacts.db" ein zu pflegen. Das versucht der Client nach 1,2,4,8,16,32,64,64,64,... Minuten immer wieder.
- Microsoft Office Communications Server 2007 Client and Address
Book Server Communication
http://technet.microsoft.com/en-us/library/bb894482.aspx - Yes, you should use web-based distribution OAB.
http://blogs.technet.com/provtest/archive/2009/07/16/yes-you-should-use-web-based-distribution-oab.aspx
Der Download wird von Client dann in eine DB-Datei auf dem lokalen PC.
Hinweis: Bei OCS 2007 RTM-Clients ist das OAB ein Verzeichnis höher
Damit kann der Client schnell lokal nach Rufnummern und Kontakten suchen, ohne den Server allzu stark zu belasten.
Der Office Communicator 2007 R2 hat zur Entlastung des Servers die Downloadlogik etwas verändert. Das hat den unschönen Effekt, dass auch ein gelöschtes Adressbuch nicht mehr beim Start "Sofort" herunter geladen wird. Über folgenden Registrierungsschlüssel kann ein sofortiger Download beim Start erreicht werden:
Windows Registry Editor Version 5.00 [HKEY_CURRENT_User\Software\Policies\Microsoft\Communicator] "GalDownloadInitialDelay"=dword:00000000
Achtung: Wer Windows 64bit Version nutzt, muss den Eintrag unter WOW64 suchen.
Die Details dazu stehen im folgenden KB-Artikel
- 972403 Network performance issues that are caused by Global address list (GAL) file downloads or by GAL delta file downloads in Office Communicator 2007 R2
OAB als CSV
Aus Datenschutzgründen ist der Export in einer CSV-Datei mit dem OCS 2007 R2-Client nicht mehr möglich. Als Administrator können Sie Sie die Verwendung von älteren Clients unterbinden.
Beim OCS 2007 RTM-Client konnte man die binäre GalContacts über einen Registrierungsschlüssel vom Client auch zusätzlich als CSV-Datei abspeichern lassen.
Windows Registry Editor Version 5.00 [HKEY_CURRENT_User\Software\Microsoft\Communicator] "DumpContactsToCsvFile"=dword:00000001
Beim nächsten Neustart des Communicator Clients wird eine Kopie der GAL in dem Ordner abgelegt, in dem auch sonst ihre "Empfangenen Dateien" abgelegt werden. Am einfachsten erhalten Sie den Zugriff über das Tools Menü:
Die CSV-Datei ist eine Textdatei, in der die Spalten allerdings durch Tabulatoren getrennt sind. Folgende Felder werden exportiert:
Contact ID, First Name, Last Name, Display Name, Title, Alias, Company, Location, IM Address, Work Phone Display, Work Phone Number, Home Phone Display, Home Phone Number, Cell Phone Display, Cell Phone Number, Other Phone Display, Other Phone Number, OutlookMAPI Id, WAB Id, LCS Only Contact, Directory Contact, Email, Sequence Number, Contact Extension ID, SubscribeToPresence, StoreInLCS, IM Address, Work Phone Display, Work Phone Number, Home Phone Display, Home Phone Number, Cell Phone Display, Cell Phone Number, Other Phone Display, Other Phone Number
Diese Funktion ist im Communicator 2007 R2 nicht mehr vorhanden.
Adressen und Verteiler
OCS erlaubt auch die Nutzung von Active Directory Verteilern im OCS-Clients. Allerdings nutzt OCS nicht jeden Verteiler, sondern nur solche, die aus Sicht des Adressbuchdiensts auch für OCS brauchbar sind. Sie können ja weder im OCS-Admin noch in der "MMC für Benutzer und Computer" bei Gruppen irgendwelche OCS-Einstellungen vornehmen. Hier meine Testgruppen:
Man kann gut erkennen, dass Sie sowohl universelle als auch globale Gruppen nutzen können, wobei ich hier für universeller Gruppen plädiere. Abfragebasierte Verteiler werden aber nicht genutzt, so dass hier wieder mein Tool "Querybased Groups" helfen kann Auch sind sowohl Verteiler als auch Sicherheitsgruppen möglich. Da aber nur Gruppen auftauchen, die eine Mailadresse haben. Sie müssen nicht einmal zwingend "Exchange Enabled" sein, wie folgendes Beispiel zeigt.
Es wird dann einfach die SMTP-Adresse der Gruppen angezeigt. Wenn ein Anwender dann den Verteiler "aufklappt", dann starte der Client eine Anfrage über den OCS-Server, welcher dann die aktuellen Mitglieder auflistet und anzeigt. das Adressbuch enthält also nicht direkt die Adresse
Gruppen sind daher ein effektives Mittel, um Teams effektiv zu addieren und die Mitglieder dynamisch bereit zu stellen.
Adressen und Kontakte
Etwas anders sieht es mit Kontakten aus, welche ebenfalls im Active Directory angelegt werden können. Auf Kontakte gibt es zwar das OCS Konzept Menü aber jeder Versuch einer Aktivierung schlägt fehlt. Um externe Empfänger als Kontakte in OCS sichtbar zu machen, müssen Sie mit anderen Hilfsmitteln (z.B. VBScript über ADSI und LDAP oder per LDIFDE o.a. das Feld "msRTCSIP-PrimaryUserAddress" pflegen. Hier am Beispiel von ADSIEDIT:
Nach der Aktualisierung des Adressbuchs und dem Download durch den Client ist der Eintrag dann auch auffindbar:
Hier sieht man dann, dass der Name und nicht die SIP-Adresse des Kontakts angezeigt wird. Natürlich können Sie am Kontakt weitere Daten pflegen, so dass auch die Visitenkarte sinnvolle Daten enthält aussieht.
Adressbuch und Hosting
OCS kann wie Exchange auch gehostet werden. Allerdings ist es natürlich auch das wichtig, dass eine Firma nur "ihre" Kontakte bei einer Suche sieht. Die Adressliste darf also keinesfalls die Liste aller Personen enthalten sondern nur die Personen der eigenen Firma. OCS segmentiert dabei die Adressen über die OU. Es ist also zwingend erforderlich, dass die Benutzer einer Firma in einer gehosteten Umgebung in einer OU zusammengefasst sind.
Dann müssen Sie noch das OCS Adressbuch Segmentation Feature aktivieren, um pro OU ein eigenes Adressbuch zu erhalten.
Ich gehe aber davon aus, dass die meisten Firmen intern OCS einsetzen und daher diesen Bereich nur "Hoster" benötigen. Diese sollten das HMC 4.5 genauer lesen, da die Schritte für Hosting den Rahmen der Webseite sprengen würden.
- OCS Hosting
- HMC 4.5 and Office Communications Server 2007
http://blogs.technet.com/provtest/archive/2009/01/20/HMC-4.5-and-Office-Communications-Server-2007-.aspx - Troubleshooting HMC OCS’s Address Book Segregation
http://blogs.technet.com/provtest/archive/2009/07/20/troubleshooting-hmc-ocs-s-address-book-segregation.aspx
Weitere Links
- Regular Expressions
- Enterprise Voice Route Helper
- Rufnummern
- Reverse Name Lookup
-
Microsoft Office Communications Server 2007 Address Book Server
http://technet.microsoft.com/en-us/library/bb894628.aspx -
Microsoft Office Communications Server 2007 Data Flow in Address Book Server
http://technet.microsoft.com/en-us/library/bb963980.aspx - Microsoft Office Communications Server 2007 Configuring Address
Book Server Phone Normalization
http://technet.microsoft.com/en-us/library/bb936613.aspx - Common Errors: How do I get rid of the red BANG?
http://communicatorteam.com/archive/2008/08/20/316.aspx - Unable to download the Address Book
http://communicationsserverteam.com/archive/2008/10/30/317.aspx - 913092 A custom telephone number normalization rule is not applied by the Live Communications Server 2005 SP1 version of the Address Book Service (AbServer.exe)
- 925052 Telephone number normalization rules do not work as expected in Communicator 2005
- Reverse number lookup in Office Communicator
http://www.robichaux.net/blog/2006/09/reverse_number_lookup_in_office_communic.php - Enabling Custom Phone Number Normalization with the Address Book Service
http://blogs.pointbridge.com/Blogs/schertz_jeff/Pages/Post.aspx?_ID=17 - More on OCS Phone Number Normalization
http://blogs.pointbridge.com/Blogs/schertz_jeff/Pages/Post.aspx?_ID=26 - How the OCS Address Book Works
http://servusinc.org/myblog/?p=62 - Injecting Contacts to the OCS Address Book
http://www.confusedamused.com/notebook/injecting-contacts-to-the-ocs-address-book/ - User Replicator Part 1
http://ocs-2007.blogspot.com/2008/01/some-Users-does-not-show-up-in-address.html
Beschreibt gut wie die Felder konfiguriert werden, die der OCS Adressbuchdienst verwendet - 972403 Network performance issues that are caused by Global address list (GAL) file downloads or by GAL delta file downloads in Office Communicator 2007 R2