Microsoft Lync can now federate to Skype! This means that users can communicate between each system, which is awesome. This was launched 29th May 2013 as per this post http://blogs.skype.com/2013/05/29/skype-and-lync-connecting-the-living-room-to-the-board-room/#fbid=WXSmsIxTDGt
It’s a fairly easy process to request, assuming that you’ve already got standard federation up and running with edge servers. It doesn’t just magically work though, the Lync administrator needs to apply with Microsoft for the Skype to Lync federation to occur. I’d recommend starting with the “Provisioning Guide for Lync-Skype Connectivity: Lync Server 2013 and Lync Online” (which also works for Lync 2010) Microsoft have made available here: http://www.microsoft.com/en-sg/download/details.aspx?id=39071
This guide mentions that you need to go to https://pic.lync.com to sign up, which I did, but going through the process resulted in the error at the bottom of this post*. @ScottBreen on twitter directed me to send an email to email@example.com asking for Lync to Skype federation.
The information they require are your Enterprise Name, Agreement Number. Access Proxy, Domain, Public IM Networks, and Main Contact (Name, Email Address, Phone #).
After sending this off, overnight they had quoted 3-5 days to make it happen, but had set it up in less than 6 hours. There was nothing else at my end, I was able to immediately add my own Skype contact to my Lync contact, and communicate between the two.
I then tested with @nickstugr but couldn’t add him (no errors, just appeared as ‘presence unknown’ and he didn’t receive any request). After getting him to add my Lync email address it worked, I set out to find out why (i.e. I googled it).
I found this KB article http://support.microsoft.com/kb/2566829 which matched exactly. He was using a non Hotmail/Outlook/MSN email address for his Microsoft account which Microsft call an EASI (email as sign in)domain, and annoyingly you can’t just add those via Lync. You can add them by using this format: skypeguy(customdomain.com)@hotmail.com which is rather confusing for an end user, so my recommendation is to get the Skype user to add the Lync user.
After you’ve added a Skype user to Lync, you’ll see the little Skype logo next to their name in an active chat window. Skype users will see the word ‘Lync’ below the Lync contact’s name.
The last caveat is that you can’t add a pure skype user. Yes, this is a big one, the user at the Skype end needs to be signed in to Skype using their Microsoft account rather than their Skype account.
Apart from that, it does seem to work quite well. Functions such as pasting pictures into chat or video are currently not available, and the video part will be mid 2014, according to Microsoft http://www.zdnet.com/microsoft-delivers-first-phase-of-lync-skype-integration-7000016045/
*Here’s the error:
Server Error in '/Provision' Application. --------------------------------------------------------------------------------
Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Web.HttpException: Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.
Source Error: [No relevant source lines] Source File: c:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\provision\6590fbad\1c805db8\App_Web_kbmmr5ny.2.cs Line: 0
Stack Trace: [ViewStateException: Invalid viewstate.
Client IP: 22.214.171.124
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3; MS-RTC EA 2; .NET CLR 1.1.4322)
[HttpException (0x80004005): Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.]
System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError) +148
System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) +10977665
System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState) +59
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +11058199
System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +11057738
System.Web.UI.Page.ProcessRequest(HttpContext context) +240
ASP.agreementnumber_aspx.ProcessRequest(HttpContext context) in c:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\provision\6590fbad\1c805db8\App_Web_kbmmr5ny.2.cs:0
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +171
Version Information: Microsoft .NET Framework Version:2.0.50727.4984; ASP.NET Version:2.0.50727.4971 Here's the end of the error.