Follow-me calls with Skype for Business

18 months ago, I joined the team at risual – and I’ve been meaning to write this blog post since, well, since just about the time I joined the team at risual!

In previous roles, I’ve used a mish-mash of communications systems that, despite the claims of Cisco et al have been anything but unified. For example, using Lync for IM and presence, with a hokey-client bridge called CUCILync to pass through presence information etc. from the Cisco Call Manager PBX; then a separate WebEx system for conferencing – but with no ability to host PSTN and VoIP callers in the same conference (either set it up as VoIP or as PSTN). Quite simply, there was too much friction.

Working for a Microsoft-only consultancy means that I use tools from one vendor – Microsoft. That means Skype for Business (formerly Lync) is my one-stop-shop for instant messaging, presence, desktop sharing, web conferencing, etc. and that it’s integrated with the PSTN and with Exchange (for voicemail and missed call notifications).

The one fly in the ointment is that my company mobile phone is on the EE network. EE’s 4G coverage is fast in urban areas but the GPRS signal for calls can be pretty poor and the frequencies used mean that the signals don’t pass through walls very well for indoor coverage. One of the worst locations is my home, which is my primary work location when I’m not required to be consulting on a customer site.

Here, the flexibility of my Skype for Business setup helps out:

Example call path using Skype for Business

By setting a divert on my company mobile phone to a DDI that routes the call to work, I can let Skype for Business simultaneously call any Skype for Business applications running on my devices and the PSTN number for my personal phone (which, unsurprisingly, is on a network that works at home!). Then, I can answer as a PSTN call or as a VoIP call (depending on whether I have my headset connected!).  If I can’t take the call, then a missed call notification or voicemail ends up in my Inbox, including contact details if the caller was in the company directory.

Outlook missed call notification (redacted)
Ever-so-occasionally, the call is diverted to my personal voicemail, rather than transferring back to work and into Exchange, but that only seems to happen if I’m already engaged on the mobile. 90% of the time, my missed calls and voicemails end up in my Inbox – where they are processed in line with my email.

With new options for hosting Skype for Business Online (in the Microsoft cloud, as part of Office 365), it’s shaping up to be a credible alternative to more expensive systems from Cisco, Avaya, etc. and as an end user I’m impressed at the flexibility it offers me.  What’s more, based on the conversations I have with my clients, it seems that the “but is Lync really a serious PBX replacement?” stigma is wearing off…

Lync client does not retrieve conversation history and meeting information from Exchange

In addition to the challenges created by the unified contacts store, my recent Office 365 migration project saw some issues where a user’s Lync/Skype for Business client failed to pick up a change in Exchange Web Services (EWS) as part of the move to Skype for Business Online.

The reason for this is unclear but I’m not the only one who’s experienced it – Richard Brynteson describes exactly the same scenario where, after a migration from an on-premises Exchange mailbox to Exchange Online, the Lync 2013 client is unable to connect to the Exchange server and pull conversation history and meeting information.

If we looked at the configuration information for the Lync client (by Ctrl+right clicking on the Lync taskbar icon), we could see that the client was not autodiscovering the move to Exchange Online and still showed on-premises Exchange details, instead of a blank EWS Internal URL and an entry of https://outlook.office365.com/EWS/Exchange.asmx/WSSecurity for the EWS External URL.

One suggestion given to me to force a new autodiscovery search was to wipe the user’s cached client information (in %appdata%\Local\Microsoft\Office\15.0\Lync\sip_alias@domainname.tld). That sounded a little destructive but Richard’s post suggests removing a single registry key: HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Lync\username@domainname.tld\Autodiscovery.

Even better though is the solution from a comment on Richard’s blog post, from “Chad”:

We’ve resolved this by having users sign out of Lync and then choose “Delete my sign-in info”, then just sign back in and their Lync client now connects to 365. We provide this as post-migration steps to users once we move their mailboxes to 365. Hope that helps and is typically easier than deleting [registry] entries.

That’s a much more user-friendly fix (which worked for me) – and it’s one to add to the project FAQ list.

Unified Contact Store requires Lync user to be migrated to Office 365 before Exchange mailbox

In a recent Office 365 project, I came across an issue where, if we migrated a user’s Exchange 2013 mailbox to Exchange Online before we migrated their Lync 2013 user to Skype for Business Online, the Move-CsUser cmdlet generated an error:

Move-CsUser: Exception of type ‘Microsoft.Rtc.Management.AD.Helpers.RollbackException’ was thrown

This is described in Camille de Bay’s blog post and appears to be related to the Unified Contact Store, which is enabled by default with Lync 2013 and Exchange 2013.  There appear to be two options:

  1. Migrate Lync before Exchange
  2. Use the -force switch with the Move-CsUser cmdlet (which will result in a loss of contacts)

Dave Stork goes on to describe some issues with a combination of the UCS, Lync on-premises and Exchange Online (and these appeared to apply to my Lync 2013/Skype for Business Online hybrid solution too).

Microsoft knowledge base article 2614614 has lots more information on integrating Exchange Online with Skype for Business Online, Lync Server 2013, or a Lync Server 2013 hybrid deployment

Configuring Lync hybrid (split domain) with Lync 2013 and Skype for Business Online

Lync (now Skype for Business) is a bit of a mystery to me. Occasionally I get close enough to mess around the edges, but never to truly understand how it works. And when it dives off into telephony well, that’s another world…

I did recently have to configure a Lync/Skype for Business Online hybrid (split domain) for a customer though, as part of their Office 365 project. It brought up a few challenges, but MVP Adam Jacobs has a really good step-by-step guide to enabling split-domain within Office 365 Lync Online.

I described Lync Hybrid (split-domain) in a post for TechNet UK earlier this year – and I’ll stress again here that it’s not to be confused with Hybrid Voice… although there is plenty happening about Skype for Business and voice…

Some people say ADFS is required but we had it working with Azure AD Sync (with password sync), so maybe not. The test system I was working on threw up its own set of challenges though so if you do follow what I found (with help from various colleagues including Martin Boam, Kevin Beacon and Mark Vale), your mileage may vary.

The basic steps for configuring Lync hybrid (split domain) are:

  1. Make sure Office 365 is working, your directory is syncing and users have licenses assigned.
  2. Also, make sure that Skype for Business Online and Lync have the same configuration – i.e.:
    • Domain matching (if partner discovery is enabled on the on-premises deployment, then open federation must be configured for the online tenant; if partner discovery is not enabled, then closed federation must be configured for the online tenant).
    • Blocked domains.
    • Allowed domains.
  3. On the Lync Front End server (I was using Lync 2013 but you can use 2010 with the March 2013 update or later and the Lync 2013 administration tools deployed), configure the Edge server Set-CsAccessEdgeConfiguration -UseDnsSrvRouting -AllowOutsideUsers $true -AllowFederatedUsers $true -EnablePartnerDiscovery $true (you may need to adjust the setting for partner discovery, based on the domain matching above).
  4. Set up the hosting provider with New-CSHostingProvider -Identity LyncOnline -ProxyFqdn "sipfed.online.lync.com" -Enabled $true -EnabledSharedAddressSpace $true -HostsOCSUsers $true -VerificationLevel UseSourceVerification -IsLocal $false -AutodiscoverUrl https://webdir.online.lync.com/Autodiscover/AutodiscoverService.svc/root.
  5. Make sure you have the Skype for Business Online Windows PowerShell Module and also the Microsoft Office Online Sign In Assistant (MOS SIA) installed.
  6. Connect to Skype for Business Online.
    • If prompted for a target server, the URL is the same as when you access the Skype for Business Online Admin Center from the Office 365 portal. For me that was admin1e.online.lync.com.
    • You may also need the -AllowClobber switch when importing the session.
    • You may also find that you need to Import-Module SkypeOnlineConnector.
  7. Set up the shared namespace with: Set-CsTenantFederationConfiguration -SharedSipAddressSpace $true.

To move users to Skype for Business Online, all that’s needed is a single PowerShell command:

Move-CsUser -Identity sip:alias@domainname.tld -Target sipfed.online.lync.com -Credential $creds -HostedMigrationOverrideUrl https://admin1e.online.lync.com/hostedmigration/hostedmigrationservice.svc -Confirm:$false

(again, admin1e.online.lync.com works for me but might not for all tenants).

To check for a successful move, either type Get-CsUser -Identity alias@domainname.tld or look in the Lync Control Panel. Office 365 users will show the home pool as LyncOnline and when you click though to the details, Lync will flag that the user is homed in Office 365:

Configuring Lync hybrid (split domain): user homed in Office 365

Further reading

Other posts I found useful include MVP Paul Robichaux’s post on fixing the “Cannot find registrar pool” error for sipfed.online.lync.com (one of the issues I had, although my problems seemed to run deeper than Paul’s – I had to delete my hosting provider from the Lync Control Panel, then recreate it in PowerShell).

Purple spot next to Skype for Business presence information

I noticed a couple of days ago that my Skype for Business presence information was accompanied by a purple dot/spot. I hadn’t seen this before and I wondered what it meant. Unfortunately, I couldn’t find anything on the ‘net.

Purple spot next to Skype for Business presence information

My colleague Brian Cain (@BrianCainUC) clearly has better googling (ahem, Binging) skills than I, because he found Microsoft knowledge base article 3072756, describing a change that explains the phenomenon.

It seems that, since the 14 July 2015 update for the Microsoft (Lync 2013) Skype for Business client, when a calendar shows a user as Out of Office (i.e. the appointment status, not to be confused with an Automatic reply message from Exchange), the purple spot appears next to the Skype for Business presence information when they are online anyway…

I regularly add time into my Calendar for when I’m travelling (and mark it as Out of Office) but if my travel plans change (or I’m running late) I might still be online in Skype for Business and that’s what causes the purple spot to be displayed.

The article also describes some other changes in behaviour that might lead to a purple arrow being shown where the presence indicator normally is.

Incidentally, whilst researching this, I also found a useful FAQ about presence and pictures in Lync (Skype for Business) that may be worth a read.

Changing the default app used to open tel: links on Windows

Earlier this morning I had a missed call notification in Outlook. I clicked the number, Windows asked me which app I wanted to open that type of link (a tel: URI) and I clicked the wrong option. All of a sudden I had phone numbers opening in the Skype Windows 8 app rather than in my Skype for Business client (previously the Lync client).

It turns out that it’s a relatively simple change to make but it’s not necessarily obvious that the UI to do this is the one to change file type associations (this is a link, not a file…).

  1. In Control Panel go to Default Programs and then Set Default Programs (the quickest way is to hit the Windows key and type “Default Programs“).
  2. Scroll down to Lync (desktop). Despite the name, this is the Skype for Business desktop client.
  3. Select Lync (desktop) and click Chose defaults for this program:
  4. You’ll see that the URL:Tel Protocol entry is not checked, because it’s associated with Skype:
  5. Select the Checkbox next to TEL and click Save:
  6. If you look at the Skype program associations, TEL will now be showing as defaulting to Skype for Business (desktop):

There’s more information in Paul Thurrott’s Windows 8 Tip on Changing File Associations.

Short takes: Lync/Skype and browsers; Bitlocker without TPM; OS X Finder preferences; and MyFitnessPal streaks

A few more short mini-posts from the items that have been cluttering my browser tabs this week…

Lync/Skype for Business meetings start in the Web App

A few days ago, a colleague highlighted to me that, whenever she joined a Lync meeting from our company, it opened in Lync Web App, rather than using the full client. Yesterday I noticed the same – I tried to join a call hosted by Microsoft and the Skype for Business Web App launched, rather that the Lync client installed on my PC. It turns out that this behaviour is driven by the default browser: mine is Chrome and my colleague was also using something that’s not IE. Quite why I’d not seen this before, I don’t know (unless it’s related to a recent update) but for internal Lync meetings I do tend to use the Join Online button in the meeting reminder – that doesn’t seem to appear for external meetings. Of course, you can also control which client is used by editing the URL

Using Bitlocker on drives without TPM

When my wife asked me to encrypt the hard drive on her PC, I was pleased to be able to say “no need to buy anything, we can use Bitlocker – it’s built into Windows”. Unfortunately, when I tried to enable it, I found that her PC doesn’t have a trusted platform module (TPM) chip. I was pretty sure I’d worked around that in the past, with a netbook that I used to run Windows 7 on and, sure enough, found a How To Geek article on How To Use BitLocker on Drives without TPM. It’s been a while since I had to dive into the Local Computer Policy but a simple tweak to the “Require additional authentication at startup” item under Computer Configuration\Administrative Templates\Windows Components\Bit Locker Drive Encryption\Operating System Drives was all it took to let Windows encrypt the drive.

Finding my files in Finder

One of the challenges I have with the Mac I bought a few months ago, is that modern versions of OS X seem to want to hide things from me. I’m a “browse the hard drive to find my files” kind of guy, and it took a tweak to the Finder preferences to show my Hard Disk and bring back the shortcut to Pictures.

MyFitnessPal streak ends – counter reset

Last weekend some connectivity issues, combined with staying away with friends meant I missed the cut-off for logging my food/exercise with MyFitnessPal and my “streak” was reset (i.e. the login counter). Knowing that I’ve been logging activity for a certain number of days is a surprisingly motivational piece of information but it turns out you can get it reset using the counter reset tool (which even predicted how many days the value should be – 81 in my case).

Adding a pause when dialling a number from a softphone or mobile phone

Back in the days when Nokia phones had monochrome screens and batteries lasted for days, a colleague explained to me how to include a p in a number to make the phone pause before dialling the next few digits – for example when entering a PIN for voicemail (I think w also worked for a wait). More recently, another colleague was asking me how to do this with our CUCILync softphones when dialling into a conference call (as described for Microsoft Lync).

Well, it seems the modern equivalent of a p for a soft pause is inserting a comma (at least it is on a Lumiaon an iPhone and on Android) and a semi-colon is a hard pause/wait (on an iPhone). Unfortunately the CUCILync client we use strips out , and ; (and, even worse, it replaces p with 7). I guess it could be an error in the dial-plan but it’s inconvenient…

Lync becomes Skype for Business today – a quick round-up of what that means

There’s been a fair amount of panic in some quarters as a colleague heard that one of the “patch Tuesday” updates will update our Lync 2013 clients to Skype for Business (which became generally available today). That brings a new user experience and potentially confusion for our users (who are only just getting their heads around switching from OCS and WebEx!). Later on it seemed that the update only applied to Click-to-Run Office ProPlus subscriptions (we have perpetually-licensed MSI-based installations) and finally we got something that I could use to set my colleagues’ minds at rest in a blog post from Scott Stubberfield:

  1. “Patch Tuesday” implies security updates but the Skype for Business update is part of the April monthly update for Office 2013 (i.e. an optional update).
  2. Quoting Scott’s post, “If you are using Lync Online today with Office 365 ProPlus, Office 365 Business Premium or Office 2013, the updated Skype for Business client […] will be the default user experience and replace the Lync user experience.  If you are using Lync Server today, the Lync UI will be the default experience.”. That last sentence is the vital one [although I could have saved a lot of time and effort if I’d seem Martin Boam’s post earlier in the day!].
  3. It is possible to control the user experience (there’s a PowerPoint presentation linked in Scott’s post). We knew that anyway but some of the documentation suggested the registry change needed to be applied in advance of the update. Certainly on my preview client I can switch back and forth at will between the two UIs, using the [HKEY_CURRENT_USER\Software\Microsoft\Office\Lync] key, with a value name EnableSkypeUI, and the data 00 00 00 00. I haven’t got the update yet to test the final release.

Background information

There’s a whole load more information in some really useful posts that Tom Arbuthnot and Matt Landis have put out in the last few days (and an older post from Mark Vale):

More Skype for Business information

On the topic of Skype for Business, Microsoft is running some webinars in a two-part series (aimed at users, not techies). There’s also a stack of help topics available online and the following links might be useful:

Also, although it’s a bit late now for Office 365 users, Microsoft did publish some awareness and readiness planning guidance for the Skype for Business client running with Lync Online (which could be re-purposed for on premises updates).

A couple of Lync accessories that I find improve my user experience

The company where I work recently upgraded from Office Communications Server (OCS) to Lync. Whilst Skype for Business is just around the corner, bringing many more features, our upgrade to Lync is a massive improvement and has allowed me to stop using WebEx for most of my conference calls and even to stop using my Cisco softphone for many of the direct voice calls (unfortunately we don’t have PSTN breakout configured for anything other than Lync conference call dial-backs).

Related to Lync, I’ve recently acquired a couple of accessories which, as well as creating discussion in the office, I find really help my user experience:

  • First up is the Bluetooth headset I use: a Plantronics Voyager Legend (BT300-M). Freeing me from the shackles of my desk on endless conference calls, I can nearly make it to the kitchen to make a cup of tea but, even when it does lose the connection, it seamlessly reconnects when I’m back in range. Not only do I use this with Lync but it’s also useful for my Cisco CUCILync softphone and, I’m told, as a mobile phone headset in the car (I haven’t tried that yet as my current car has Bluetooth built in but that will change in a few weeks…). Now, having said I can make it to the kitchen on a call, I have also heard about a colleague with a DECT-based headset who made it to his local village post office without losing his connection!
  • The other tool, which creates a lot more discussion from interested colleagues, is my Kuando Busylight. This is a visual indicator of my Lync status and, whilst it can be ignored just as much as the virtual version (I find that “busy” is treated as if it’s just a different coloured version of “available”…), it does have potential in offices with large groups of workers on the phone and a reliance on presence information. It also has a visual and/or audible notification when I’m called or IMed and I can customise the colours, create hotkey combinations and re-route second calls using the supplied software. Unfortunately It’s Windows-only – but so is my work PC! I do hope that the manufacturer, Plenom (@plenom) will release a Mac version too, so I can use it with Lync and my personal Office 365 account.

Whilst on the subject of Lync, I’m not sure if I’ve blogged it before but there is a shortcut to force the use of Lync Web Access for a call, rather than the full client. Simply add ?sl=1 to the end of the Lync meeting URL to force use of the browser client.