Thursday, November 29, 2012

Lync Server 2013 for IT pros

Since is always an hassle finding the right Information on Microsoft Webpage about Lync 2013, there is an entry point where you are able to step into as portal.

Microsoft has listed all important Links, sorted and well documented, so it's easy to navigate to the necessary Information quickly.

Lync 2010:

Lync 2013:

As well as the Interoperability Program:

Wednesday, November 28, 2012

Lync Server 2010 on Windows Server 2012 (it works)

Windows Server 2012 (copied from Microsoft Support Webpage)

Lync Server 2010 server roles are compatible with Windows Server 2012. For this to be supported, you must install the October 2012 cumulative updates for Lync Server. For more information about these updates, click the following article number to view the article in the Microsoft Knowledge Base:
2493736 (      Updates for Lync Server 2010
Important After you install Lync 2010 Server on Windows Server 2012, the Lync Server 2010 application pools are configured to use the Microsoft .NET Framework 4.0. However, the Lync Server 2010 application pools use the .NET Framework 2.0. For information about how to change the version of the .NET Framework that is used by the Lync Server 2010 application pools, click the following article number to view the article in the Microsoft Knowledge Base:
2777747 ( )      "404.17 - Not Found" error message when you try to connect to a Lync Server 2010 web service:

Thursday, November 15, 2012

Lync Mobile Client 2013 VoIP

Now it's official

The new Mobile Client will be released first for WM7/8, than iPhone and at last for Android.

Regarding the question we all had was about VoIP, well 100% true Voice will be integrated.

Release date is expected around April 2013.

Good to hear this.

But don't think you can use VoIP features with Lync Server 2010 as backend. You have to have Lync Server 2013.

I have updated this article with more detailed information and new features, as well as client feature sets: please visit

Sunday, November 11, 2012

All Lync 2013 Client Version (comparision)

Microsoft has mutliple client version for Lync 2013 available.
Not only 32/64 bit versions, we differentiate here more regading the featuresets:

Available Verisons:

Full Version Client:
Part of Office 2013 Profession Plus (32/64bit)

Windows 8 App Store:
Lync 2013 App

Windows 7/8 Phone Edition Client:
Windows Phone App

Lync 2013 Basic Version:
downloadable in

VDI Client:

other Clients:
Lync Phone Edition, Lync for Mac 2011

If you see the huge comparision list of all features across all clients:

Lync 2013 VDI Plug-In

LYNC 2013 Virtual Desktop Infrastructure Plug-In

The following are requirements for the virtual machines running on the data center computer:
  • Virtual machines must be configured with Windows 8, Windows 7, or Windows Server 2008 R2 with the latest service packs.
The following are requirements for the user’s local computer:
  • The local computer must be running Windows Embedded Standard 7 with SP1, Windows 7 with SP1, or Windows 8.
  • If you are using Remote Desktop Services, the Lync VDI plug-in bitness (that is, whether the application is 32-bit or 64-bit) must match the local computer’s operating system bitness. The bitness of the operating system on the local computer and the operating system on the virtual machine do not need to match. If you are using another virtualization solution or platform, refer to guidance from your virtualization solution provider about bitness requirements.
  • The local computer must be running the latest version of the remote desktop client. Install the latest updates of Remote Desktop Services client from Microsoft or the latest remote desktop client software from your virtualization solution provider.
    For the latest Remote Desktop Services updates, see
  • On the local computer, the remote desktop client settings must be configured so that audio plays on the local computer and remote recording is disabled. To configure these settings for Remote Desktop Connection in Windows, see the next section, “To configure Remote Desktop Connection settings.”
To prepare the environment for the Lync VDI plug-in, you must perform the following steps.
  1. In Lync Server 2013, ensure that EnableMediaRedirection is set to TRUE for all VDI users.
  2. On the data center computer, install the Lync 2013 client on all virtual machines.
  3. On the local computers, install the Lync VDI plug-in.

VDI Plug-In download:


Lync 2013 Documentation

Lync 2013 Server documentation is available online.
Soon the download version will be released.

Getting Started

View online: Getting Started

View online: Supportability

Tuesday, November 6, 2012

Lync 2013 Server Prerequisit in Nutshell

Since I always had a problem finding my PreRequisit installation scripts, I decided posting it here. So, even I will from now on find my links and script.

If like to read the Technet Article:
Link to prerequisit Information

Have fun with it:

For Windows Server 2008 R2 and Windows Server 2012:
Silverlight (opt)
Windows Identity Foundation 3.5 (Server 2012 as Role, in W2k8 R2)

download for 2008 R2:

Windows 2008 R2 Server

PowerShell 3.0
PowerShell 3.0 is not a standalone product, it's part of the Windows Framework 3.0

.Net Framework 4.5

Windows Identity Foundation

Import-Module ServerManager
Add-WindowsFeature RSAT-ADDS

# if Persistent Chat is required install MSMQ on FE
Add-WindowsFeature MSMQ-Server, MSMQ-Directory

Add-WindowsFeature Web-Static-Content,Web-Default-Doc,Web-Http-Errors,Web-Asp-Net,Web-Net-Ext,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Http-Logging,Web-Log-Libraries,Web-Http-Tracing,Web-Windows-Auth,Web-Filtering,Web-Stat-Compression,Web-Dyn-Compression,Web-Mgmt-Console,Web-Scripting-Tools,Web-Client-Auth
Add-WindowsFeature Desktop-Experience

Windows Server 2012

# if Persistent Chat is required install MSMQ on FE
Add-WindowsFeature MSMQ-Server, MSMQ-Directory

import-module servermanager
Add-WindowsFeature telnet-client,RSAT-ADDS,net-framework-45-core, NET-WCF-HTTP-Activation45,windows-identity-foundation,Web-Static-Content,Web-Default-Doc,Web-Http-Errors,web-asp-net,web-asp-net45,Web-Net-Ext,Web-ISAPI-Ext,web-isapi-filter,Web-Http-Logging,Web-Log-Libraries,Web-Http-Tracing,Web-Windows-Auth,Web-Filtering,Web-Stat-Compression,Web-Dyn-Compression,Web-Mgmt-Console,Web-Scripting-Tools,Web-Client-Auth,server-media-foundation

Friday, November 2, 2012

Lync OAuth Protocol and Confgiuration

What is Server-to-Server/ OAuthentication Protocol?

OAuth2 is an open standard for authorization used by Microsoft Office 2013 Servers.
It allows users to access their private resources (e.g. Lync Contact List, IM Archiving) stored on Servers without having to hand out their credentials, typically supplying username and password tokens instead. Each token grants access to a specific service for specific resources and for a defined duration

OAuth2 standard-based server-to-server trust across all Office 2013 servers
Lync, Exchange, Microsoft Office SharePoint®, Active Directory

In Lync scenarios enabled for:
Unified Contacts, IM Archiving, OWA meeting scheduling

Hybrid Model:

On-Premise Model:

Certificate: token issuer certificate (OAuthTokenIssuer)
must be request able on PKI -

every Web Server Certificate that includes the name of the SIP Domain in the Subject Field can be used as OAuthTokenIssuer Certificate

Configuration Steps for On-Premise Setup:

Start and request a certificate from internal/ external PKI and import the certificate into the computers certificate store.

First Step:
Get-CsCertificate -Type OAuthTokenIssuer
Import-CsCertificate –Identity global –Type OAuthTokenIssuer –Path C:\Certificates\ServerToServerAuth.pfx  –Password "

If a Certificate exists for (e.g. the default certificate) it can be used:$x = (Get-CsCertificate -Type Default).Thumbprint
Set-CsCertificate –Identity global -Type OAuthTokenIssuer -Thumbprint $x

Next you need to activate the PartnerApplication and make the new OAuth Protrol work:
Therefor you copy this script and run save it as ConfigureOAuthScrip.PS1

Script Start---------------------------------------------------------------------------------------------
if ((Get-CsPartnerApplication app -ErrorAction SilentlyContinue) -ne $Null)
       Remove-CsPartnerApplication app

$exch = Get-CsPartnerApplication -ErrorAction SilentlyContinue
if ($exch -eq $null)
      New-CsPartnerApplication -Identity -MetadataUrl -ApplicationTrustLevel Full
       if ($exch.ApplicationIdentifier –ne “00000002-0000-0ff1-ce00-000000000000”)
New-CsPartnerApplication -Identity -MetadataUrl -ApplicationTrustLevel Full
             Set-CsPartnerApplication -Identity -ApplicationTrustLevel Full
$shp = Get-CsPartnerApplication microsoft.sharepoint -ErrorAction SilentlyContinue
if ($shp -eq $null)
      New-CsPartnerApplication -Identity microsoft.sharepoint -MetadataUrl -ApplicationTrustLevel Full
       if ($shp.ApplicationIdentifier –ne “00000003-0000-0ff1-ce00-000000000000”)
             Remove-CsPartnerApplication microsoft.sharepoint
             New-CsPartnerApplication -Identity microsoft.sharepoint -MetadataUrl -ApplicationTrustLevel Full
             Set-CsPartnerApplication -Identity microsoft.sharepoint -ApplicationTrustLevel Full

Set-CsOAuthConfiguration -ServiceName 00000004-0000-0ff1-ce00-000000000000

Script End---------------------------------------------------------------------------------------------------

If your REALM should be different from the Organization Name (EXCHANGE) you need to specify incl. the REALM Parameter:
Set-CsOAuthConfiguration -ServiceName 00000004-0000-0ff1-ce00-000000000000 –Realm ""

Next Step:
Define the MetadataURL:
Lync 2013 Preview:
Lync 2013 RTM:

When you run this script from above, you might receive an error message similar to the following:
New-CsPartnerApplication : Cannot bind parameter 'MetadataUrl' to the target. Exception setting "MetadataUrl": "The metadata document could not be downloaded from the URL in the MetadataUrl parameter or downloaded data is not a valid metadata document."

This error message typically means one of two things:
1) that one of the URLs specified in the script is invalid (that is, one of your metadata URLs is not actually a metadata URL); or,
2) that of the metadata URLs could not be contacted. If this happens, verify that the URLs are correct and are accessible, and the re-run the script

Last Step:
Verification of configured PartnerApplication settings and verifiy the correct configuration:

Identity              :
AuthToken             : Microsoft.Rtc.Management.WritableConfig.
Name                  :
Realm                 :
ApplicationTrustLevel : Full
Enabled               : True

If you have any questions, please let me know, I will do my best supporting you.