No T-Rex love in Skype for Business (sadface)

Today the Skype for Consumer blog posted that a funky new emoticon was available to celebrate the launch of Windows 10 (and related to Ninja Cat of course).

Unfortunately its not available in the stuffy Skype for Business client :-(


Lync Server 2013 Updates - July 2015 (CU13)

July's updates have the following new items in them:

Participants cannot see your video when you join an online meeting through B2BUA in a Lync Server 2013 environment
Response group usage report takes longer time to run or cannot complete in a Lync Server 2013 environment
Call park orbit number is not displayed when you park a call in a Lync Server 2013-based environment
Lync Mobile Client call is dropped immediately when you dial 0 for an operator
Lost data when Lync Server 2013 directories move to Skype for Business
Event ID 1000 is logged and RTCSrv.exe crashes when the process is selected in Resource Monitor tool in Lync Server 2013
CPU usage percentage of the RTCSrv.exe process is high on a Lync Server 2013 front-end server



Changing SQL Database Owner for Lync 2013

When you install SQL back end the mirroring endpoint is set to the person who ran the installer (so in our case Domain\XXXXRichXXXX)

If you use the following SQL:
SELECT [PrincipalName] = sp.name, [PrincipalId] = sp.principal_id, me.*
FROM sys.database_mirroring_endpoints me with(nolock)
inner join sys.server_principals sp with(nolock)
on me.principal_id = sp.principal_id

SELECT EPS.name, SPS.STATE,
CONVERT(nvarchar(38),
SUSER_NAME(SPS.grantor_principal_id))AS [GRANTED BY],
SPS.TYPE AS PERMISSION,
CONVERT(nvarchar(46),SUSER_NAME(SPS.grantee_principal_id))AS [GRANTED TO]
FROM sys.server_permissions SPS , sys.endpoints EPS
WHERE SPS.major_id = EPS.endpoint_id

ORDER BY Permission,[GRANTED BY], [GRANTED TO]


You will get back the current endpoint owner (PrincipalName), what other endpoints can interact with the mirror (GRANTED TO) and who granted those rights (GRANTED BY)
This example is from XXX-SQL01 Principal, its partners are XXX-SQL02 mirror and XXX-SQL03 Witness:


As the Domain\XXXXRichXXXXX account is being removed we created a new Service Account called “DOMAIN\svc-lync-sqlmirror” (standard windows user).

Then on each endpoint in the SQL mirror (Principal, Mirror, Witness) ran the following (changing the server names as appropriate in the final SQL block):

USE [master]
GO
CREATE LOGIN [DOMAIN\svc-lync-sqlmirror] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
GO
ALTER SERVER ROLE [sysadmin] ADD MEMBER [DOMAIN\svc-lync-sqlmirror]
GO

ALTER AUTHORIZATION ON ENDPOINT::mirroring_endpoint TO [DOMAIN\svc-lync-sqlmirror]

GRANT CONNECT ON ENDPOINT::mirroring_endpoint TO [DOMAIN\XXX-SQL02$]

GRANT CONNECT ON ENDPOINT::mirroring_endpoint TO [DOMAIN\XXX-SQL03$]


  1. The first block adds the Service Account in as a SysAdmin
  2. Next block changes the owner to be the Service Account
  3. Last block grants permissions back to the other two SQL servers to be part of the mirror again (running the second block wipes this out - http://blogs.perficient.com/microsoft/2014/03/changing-the-sql-mirror-endpoint-owner-breaks-mirror-in-lync-2013/)


After running the above the owner has now changed:


Once all three mirror partners changed rebooted the servers in the following order:

  1. Witness  -  (XXX-SQL03)
  2. Mirror  -  (XXX-SQL02)
  3. Principal  -  (XXX-SQL01)
(note that your DB's will be on the Mirror at the end of this procedure so use Invoke-CsDatabaseFailover to fail back - https://technet.microsoft.com/en-us/library/jj204991(v=ocs.15).aspx or reboot the mirror again!)

Ensure you wait between each reboot to allow the mirror state to become stable again (all green ticks):


(to run this, Open SQL Server Management Studio > Right click a mirrored database > Tasks > Launch database Mirroring Monitor

Edited 12/07/2015 to note that the db's will be on the mirror server after performing this procedure

Remote Code Execution or Skype for Business 2015 client, you choose!

Microsoft today released a patch that builds on the April 2015 client side patch. As such this means you need to have already taken the steps shown in my previous post if you want to block the new Skype for Business UI. After applying this patch there are some parts that will all reflect the new Skype branding even if you do make the previously advised changes:


  • the menu item in Windows






In addition the sounds will change.

Having run the new Skype UI for a while now I much prefer it to the Lync 2013 UI, my call out features are the Call Hover window when you are in a call and pass focus to another application, this stops your scrambling about trying to find the active call to mute/unmute, hangup!


and the new emoticons :-D



Performing a Consultative Transfer using Skype for Business 2015

A consultative transfer is a common scenario where before transferring a call to someone you want to contact the person you’re transferring to first to ensure they are able to take the call. Let’s walk through this scenario to show how this is accomplished using Skype for Business 2015.



Emma Fysh has called me and is inquiring about the project we are working on.


As I don’t have the experience in this specific project, I start a new phone call with Jade Saunders from the Contact List, the project manager for this specific project.


When I start the new call to Jade, Emma’s call is automatically put on hold.



Jade has indicated that she is free to take the call, so from either call window I click the call controls button......


.......and then transfer.


The transfer menu automatically includes people I’m currently talking to, so I’m able to select Emma from here. 


While the call is transferring I can see the status from both Jade’s and Emma’s conversation window. After the transfer has completed both windows are closed :)



The beautiful part about Lync Skype for Business is that you are not just limited to consulting using a phone call. Next time you want to consult someone before transferring, try using an IM (for this you do need to go back to the original caller as the IM window does not have the Call Controls button).



As you can see from this simple scenario, the ability to consult with someone before sending a phone call to them can be quite useful in ensuring that the person is available, and has the background required to help the caller.


This blog post is an update of my previous one which I posted for the Lync 2010 client:
http://tobiefysh.blogspot.co.uk/2011/06/performing-consultative-transfer-using.html

which used the the text from
http://blogs.technet.com/b/lync/archive/2009/10/21/using-consultative-transfer.aspx

Skype for Business 2015 Emoticons

Just a quick post to show the dialog for emoticons in Skype for Business 2015:


One thing I really like is that on the bottom left of the screen as you hover over a emoticon it shows what the "Official" name is and then on the bottom right is the key presses that are needed.

I would like to know why the footballer (soccer for the Americans ;-) ) is called "Bartlett" and why the squirrel is "Heidy" :


Update: Bartlett appears to be a tribute to Michael Bartlett, an ex-Skyper:



And Heidy can now be found looking after the Microsoft Real Estate! For bonus points her Google Profile also has a member of the Sciuridae family as a profile picture:


Mystery solved!



Do you have the Lync 2013 client deployed? If so - DO THIS NOW!

Today "Patch Tuesday" (14th April) Microsoft are pushing out an update(s) for the Lync 2013 client (KB2889853 and KB2889923).



This will change the look and feel of the client from standard Lync 2013:


To the Skype for Business 2015 client:



In addition the sounds will change.

There are three things you need to do in order of importance:
  1. Get a registry entry onto *EVERY* PC in your organisation so that your users do not see the new interface, this can best be configured with a GPO which sets the following reg key:

    In the [HKEY_CURRENT_USER\Software\Microsoft\Office\Lync] key, create a new Binary value.
    The Value name must be EnableSkypeUI, and the Value data must be set to 00000000.



    This will make sure that the first time that the new client runs (prior to getting the in-band policy we are going to look at in step 3 - but don't skip ahead, read this all!) then it loads in the familiar Lync 2013 interface.
  2. Ensure your Lync Servers are patched to:
    1. 2010 - Feb 2015 CU (4.0.7577.710)
    2. 2013 - Dec 2014 CU (5.0. 8308.857)
  3. Set the following policy on your Lync Servers:

    Get-CsClientPolicy | Set-CsClientPolicy -EnableSkypeUI $False

    This will set the in-band policy to also write the registry value as specified in point 1 above but in-band polices only apply after the end user has logged in, so if you do not set the registry value your end users will see the following:



    Which means end users can decide to run with the Skype for Business UI for as long as they are logged in (with the associated ServiceDesk calls "why does this look different?" et al.)
One important note - if you have users who are on un-managed machines (Home Use Program, purchased the DVD from PC World, et al) then you cannot manage the first run experience. Those users can see the new Skype for Business until the registry key gets set by the in-band policy.

Additional reading: