DirSync mit Skype für Business

Auf der Seite Exchange Online und DirSync habe ich beschrieben, wie man als keine Firma in sehr kurzer Zeit einen Office 365 Vertrag abschließen und komplett autark nutzen kann. Im gleichen Schritt kann man auch Skype für Business aktivieren. Auch wenn man in Skype für Business nicht allzu viel konfigurieren kann, ist die SIP-Adresse natürlich der essentielle Faktor.

Woher bekommt Office 365 die SIP-Adresse ?

Die SIP-Adresse leitet sich normalerweise vom UPN ab. Diesen können Sie wie gehabt in der Cloud einfach ändern indem Sie den UPN entsprechend ändern. Allerdings ist auch hier zu beachten, dass der DirSync selbst eine lokale UPN-Änderung nicht 1:1 in Office 365 nachführt. Die Details hierzu habe ich auf Office 365:UPN / Anmeldename ausführlich beschrieben.

Die Bedeutung des UserPrincipalName (UPN) im Office 365 Umfeld ist ihnen ja schon aus anderer Stelle bekannt. Der UPN ist der Dreh- und Angelpunkt für die Anmeldung an Office 365 und muss daher eine offizielle Domäne als Suffix haben, die auch in Office 365 eingerichtet ist. Durch die Einrichtung in Office 365 ist Sie aber automatisch auch als SIP-Domäne freigeschaltet. Wenn der User aber eine Cloud-Identität ist, dann gilt der UPN des Cloud Users. Einen DirSync gibt es da dann nicht.

Lizenz und Skype für Business

Allein mit einem gültigen UPN wird in der Cloud aus einem User noch kein Skype für Business Anwender. Wenn er die Dienste in der Cloud nutzen soll, dann muss den Benutzer erst noch eine passende Lizenz zugewiesen werden. Das macht der Administrator über das Office 365 Admin Portal oder ein Powershell Script. Erst mit der passenden Office 365 Lizenz erscheint der Benutzer dann auch in der Skype für Business Verwaltung in der Cloud und der Anwender kann sich anmelden.

Sollte sich der Benutzer dennoch nicht anmelden können, dann könnte es eine alte OnPremise-Installation ihnen noch Probleme bereiten. Wurde hier das Feld "msRCSIP-UserEnabled = false" gesetzt, dann repliziert der DirSync dies in die Cloud und verhindert dort auch die Aktivierung, selbst wenn Sie eine Lizenz zugewiesen haben

the msRTCSIP-UserEnabled attribute was set to FALSE. This attribute value is synced to Office 365 and disables the Skype für Business Online license of the Skype für Business Online user who can't sign in. (However, the Skype für Business Online license is still displayed as enabled in the Office 365 portal.)
Quelle: 2705378 Error message when you try to sign in to Skype für Business Online: "Cannot sign in to Lync because this sign-in address was not found"

Setzen Sie dann OnPremise den Wert auf "true" oder "null", je nach dem was für ihre Umgebung passend ist.

Hybrid und DirSync

Die Lizenz muss in Office 365 nur für Objekte aktiviert werden, die auch in der Cloud ihren Homeserver haben. Wenn Sie einen Hybrid Mode betreiben, dann synchronisiert , dann synchronisiert der DirSync die lokalen MSRTC-Properties in die Cloud, damit die OnPremise-Objekte auch in der Cloud als Skype 4 Business Objekte (nicht User) im Adressbuch erscheinen. In dem Fall können Sie quasi "dank DirSync" in der Cloud außer den Lizenzen auch nicht mehr viel verwalten. Speziell mit einer "Shared SIP-Domain", d.h. wenn die Benutzer on Premise und in der Cloud die gleiche SIP-Domäne nutzen, müssen OnPremise die Cloud Benutzer richtig konfiguriert sein.

Da der DirSync aber per Default nur "ausgehend" in eine Richtung repliziert, und er damit OnPremise diese Felder nicht ändert, müssen Sie die Objekte OnPremise entsprechend provisionieren. Erst dann stehen die Benutzer sowohl OnPremise quasi als Platzhalter bereit, die eine Weiterleitung zu den Konten in der Cloud über die Edge-Server in der Cloud nutzen. Der DirSync schreibt dann die Felder in das Office 365 Directory und die Benutzer sind dann auch in der Cloud aktiv.

Wenn Sie im lokalen Skype for Business Control Panel die Eigenschaften eines Anwender betrachten, dann können Sie schön die Unterschiede sehen:

Beschreibung Bild

Hier noch ein Skype for Business Control Panel mit einem Benutzer, der in der Cloud liegt, aber keine Telefonie haben kann. Der Administrator kann hier zwar eine Rufnummer pflegen, die aber nur für das Adressbuch relevant ist.

Hier der Ausschnitt eines Control Panels eines Benutzers, der in der Cloud ist aber dank DirSync in Office 365 verwaltet wird.

Beide Seiten beschreiben aber genau, dass die hier OnPremise gemachten Einstellungen durch den DirSync in die Cloud übertragen werden. Aber alle anderen hier nicht sichtbaren Einstellungen weiterhin in Skype for Business Online per Browser oder PowerShell verwaltet werden müssen.

  • 2909916 Skype für Business Online admins can't use the “Set-CsUser” cmdlet in Skype für Business Online Remote PowerShell

OnPremise Altlasten

Die einfachste Ausgangssituation mit Office 365 und DirSync bezüglich Lync/Skype für Business ist natürlich ein unverbrauchtes lokales Active Directory, in dem noch nie Lync oder Skype für Business installiert war und es auch nicht geplant ist. Dann kann der DirSync einfach den UPN in die Cloud replizieren. Sie brauchen dann nur noch eine Lizenz zuzuweisen und der Benutzer kann loslegen.

Auch wenn ein Kunden heute keinen Lync oder OCS-Server betreibt, ist das immer noch keine Garantie, ob das nicht in der Vergangenheit mal so war. Und die Regel zeigt, dass solche Altlasten viel häufiger vorkommen. Schließlich ist ein einzelner Lync-Server schon mal schnell als Evaluierungsversion installiert und ein paar Benutzer angelegt. Das Produkt ist schon einige Jahre alt und nicht immer sind die Administratoren von damals noch im Unternehmen.

Genau diese alten Einträge im Active Directory sind problematisch für Office 365, die durch den DirSync in die Cloud übertragen werden und letztlich die Aktivierung des Skype für Business Kontos in Office 365 verhindern. Daher sollten Sie auf jeden Fall prüfen, ob es in einer Umgebung schon Objekte gibt. Am einfachsten geht da über die Powershell

Import-Module ActiveDirectory
Get-ADObject -LDAPFilter "(msRTCSIP-PrimaryHomeServer=*)"

Die Liste sollte "leer" sein, wenn es keine RTC-Server mehr gibt. Sollte es hier Objekte geben, dann ist ein erster Blick auf ein paar der Objekte ratsam, um anhand des "msRTCSIP-PrimaryHomeServer" zu sehen, welche Restinstallation vielleicht doch noch da ist. Nicht immer wissen die Administratoren von heute, was vorgestern passiert ist. Wenn Sie den Server ermittelt haben und dieser wirklich nicht mehr gültig ist, dann können Sie die Felder bei den Benutzern schon mal problemlos entfernen. Die Deinstallation der OCS/Lync-Server ist ein anderes Kapitel. In dem gleichen Zuge sollten Sie beim Einsatz von Split-DNS auch prüfen, dass lokal entsprechende DNS-Einträge (_sipinternaltls._tcp.<sipdomain> etc.) entfernt sind, um die spätere Anmeldung nicht zu blockieren.

Folgendes kurzes Skript entfernt die Felder von den AD-Objekten:

Import-Module ActiveDirectory
$Lyncobjects = Get-ADObject -LDAPFilter "(msRTCSIP-PrimaryHomeServer=*)" 
ForEach-Object (Lyncobject in Lyncobjects ) {
   Set-ADObject `
      -Identity $Lyncobject.DistinguishedName `
      -Clear ("msRTCSIP-DeploymentLocator", 
              "msRTCSIP-FederationEnabled", 
              "msRTCSIP-InternetAccessEnabled", 
              "msRTCSIP-OptionFlags", 
              "msRTCSIP-PrimaryUserAddress", 
              "msRTCSIP-UserEnabled", 
              "msRTCSIP-UserPolicies",
              "msRTCSIP-UserRoutingGroupId",
              "msRTCSIP-PrimaryHomeServer");
   Cleaned $($_)
}

Wenn Sie dann einen DirSync forcieren, sollten die Objekte auch in der Cloud sehr zügig mit Skype für Business Online arbeiten können

SIP und Mailadresse

Skype für Business nutzt natürlich auch Exchange OnPremise oder Exchange Online, um dort nach Terminen und Einladungen zu schauen und z.B. nach verpassten Anrufen und Sprachnachrichten zu suchen. Der Client nutzt dazu die Information aus dem Feld "Mail", welches sie in der normalen MMC sehen:

Diese Feld ist aus AD-Sicht komplett unabhängig von dem Feld "ProxyAddresses", welches Exchange für die Zustellung von Mails verwendet. Die Verwaltung von Exchange sorgt aber dafür, dass der Inhalt des Feldes "mail" mit der primären SMTP-Adresse aus dem Feld "ProxyAddresses übereinstimmt. Insofern sollten Sie zumindest bei einem installierten Exchange Server das Feld Mail nicht manuell ändern, sondern über die Exchange Verwaltung die primäre Mailadresse anpassen.

Lync ses the WindowsEmailAddress or MAIL attribute to determine which Exchange server Outlook should connect to
Quelle: 2436962 "There was a problem connecting to Microsoft Office Outlook" error when you sign in to Skype für Business Online

it compares the SMTP (email) address in Outlook with the sign-in address that's used to connect to Skype für Business Online. If the SMTP and Lync sign-in addresses don't match, you may experience this error. 
Quelle: 2436962 "There was a problem connecting to Microsoft Office Outlook" error when you sign in to Skype für Business Online

SIP-Adressen ändern

Anwender haben durchaus die Eigenschaft, ihren Namen zu ändern. Meist ist dies durch Hochzeit oder Scheidung begründet und natürlich möchte die Person dann den alten Namen nicht mehr nutzen. Ein Objekt kann im Active Directory ziemlich problemlos aus technischer Sicht geändert werden. Die Auswirkungen auf andere Dienste sind aber nicht zu unterschätzen. Ich habe da eine gesonderte Seite auf

Mit Office 365 ist die SIP-Adresse natürlich komplett vom UPN abhängig. Sie können die SIP-Adresse nicht unabhängig davon ändern. Durch die Änderung des UPN "OnPremise" wird allerdings der UPN, und damit die SIP-Adresse, in der Cloud gerade nicht geändert. Der DirSync ist (Stand Okt 2015) dahingehend beschränkt. Er macht das nicht weil er es nicht könnte, sondern weil wohl eher die Auswirkung durchaus umfangreich sind und daher diese Aktion explizit in der Powershell in Office 365 umgesetzt werden müssen.

Interessant ist aber, dass die Änderung eines UPN OnPremise nur dann nicht in die Cloud repliziert wird, wenn der Anwender dort auch eine Lizenz zugewiesen bekommen hat.

Lync PowerShell

Leider kann man nicht mit den "normalen" Azure PowerShell Befehlen wie "Get-MSOLUser" die SIP-Adressen oder ProxyAddresses sehen. für Exchange muss man eine Remote PowerShell zu Exchange Online aufbauen und für Lync gib es eben die Lync PowerShell:

Windows PowerShell Module für Lync Online
http://www.microsoft.com/en-us/download/details.aspx?id=39366

Damit können Sie dann auch gegen Office 365 einen Blick in die SIP-Adressen werfen

Weitere Links