Oct 08

Mobile Discovery and Authentication Communication Flow

There isn't a lot of detailed documentation about what happens with Lync/Skype for Business mobility during the autodiscover phase. This article will detail how the mobile client eventually gets connected to the correct pool, especially if you have Directors or multiple pools in your environment.

I won't dig into the autodiscover process from the DNS standpoint. Several other articles have been written about that:

  1. Jeff Schertz 1
  2. Jeff Schertz 2
  3. Rune Dyrhaug Stoknes

In a nutshell, the UCWA (mobility) URL is obtained by Lync Mobile client as below
1. Lync 2013 Mobile client sends HTTP GET request to obtain the UCWA URLs
2. Client receives 401 Unauthorized response
3. Client authenticates again with Web Ticket
4. Client receives response with the UCWA URL

In the below example, the mobile client is out on the Internet somewhere. The user testuser@flinchbot.com is trying to login via the mobile client. The testuser@flinchbot.com account is homed on the Lync pool in Europe. 

After performing the DNS lookup, the mobile client is given a URL to a Director Pool in the United States. The Director Pool belongs to a Lync Pool in the US. Therefore, the next steps are the Director forwarding the request to the US pool to assist in finding the users home pool. (If you don't have a Director, this step would be skipped and you would connect directly to the Front End pool in the US.) The US Front End pool determines that the user is homed on a pool in Europe. The client gets redirected to that pool. After an authentication cycle, the client is given the direct public URL to login to the mobility service on the pool in Europe.

Remember that the first step is Autodiscover. This must happen before you actually connect to the Mobility service. This is why the process gets repeated on the Europe Pool. You need to "autodiscover" the URL for the Mobility service in Europe. The below diagram shows how autodiscover and the mobility service work together.

 autodiscover mobility

Below is a Visio diagram showing the detailed negotiation that happens. The diagram is broken in to three sections to help show to which server the mobile client is communicating with in each step.

Further down are log files from a capture of this activity showing the specific details returned during each step of the process.


1. The client constructs the discover URL and sends an HTTP GET request

INFO APPLICATION CUcwaAutoDiscoveryService.cpp/1905:Successfully started the GetUserUrlOperation request for https://lyncdiscover.flinchbot.com/?sipuri=sip:testuser@flinchbot.com

2. The client receives URLs in response to the HTTP GET

INFO TRANSPORT TransportUtilityFunctions.cpp/1116:<ReceivedResponse>
GET https://lyncdiscover.flinchbot.com/?sipuri=sip:testuser@flinchbot.com
Request Id: 0515498C
HttpHeader:Cache-Control no-cache
HttpHeader:Content-Length 1137
HttpHeader:Content-Type application/vnd.microsoft.rtc.autodiscover+xml; v=1
HttpHeader:Date Tue, 18 Aug 2015 20:07:30 GMT
HttpHeader:Expires -1
HttpHeader:Pragma no-cache
HttpHeader:Server Microsoft-IIS/8.0
HttpHeader:StatusCode 200
HttpHeader:X-AspNet-Version 4.0.30319
HttpHeader:X-Content-Type-Options nosniff
HttpHeader:X-MS-Server-Fqdn Lync1.us.flinchbot.com
HttpHeader:X-Powered-By ASP.NET
<?xml version="1.0" encoding="utf-8"?><AutodiscoverResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" AccessLocation="External"><Root><Link token="Domain" href="https://webext.us.flinchbot.com/Autodiscover/AutodiscoverService.svc/root/domain?originalDomain=flinchbot.com" /><Link token="User" href="https://webext.us.flinchbot.com/Autodiscover/AutodiscoverService.svc/root/user?originalDomain=flinchbot.com" /><Link token="Self" href="https://webext.us.flinchbot.com/Autodiscover/AutodiscoverService.svc/root?originalDomain=flinchbot.com" /><Link token="OAuth" href="https://webext.us.flinchbot.com/Autodiscover/AutodiscoverService.svc/root/oauth/user?originalDomain=flinchbot.com" /><Link token="External/XFrame" href="https://webext.us.flinchbot.com/Autodiscover/XFrame/XFrame.html" /><Link token="Internal/XFrame" href="https://dirpoolweb.us.flinchbot.com/Autodiscover/XFrame/XFrame.html" /><Link token="XFrame" href="https://dirpoolwebext.us.flinchbot.com/Autodiscover/XFrame/XFrame.html" /></Root></AutodiscoverResponse>

3. The client uses that response to make a request to the discovered external web URL to retrieve the home pool information. 

INFO APPLICATION CUcwaAutoDiscoveryGetUserUrlOperation.cpp/224:UcwaAutoDiscoveryGetUserUrlOperation completed with url = https://lyncdiscover.flinchbot.com/?sipuri=sip:testuser@flinchbot.com, userUrl = https://webext.us.flinchbot.com/Autodiscover/AutodiscoverService.svc/root/user?originalDomain=flinchbot.com, status = S0-0-0)

4. The client receives a 401 Unauthorized response with Web Ticket Service location in the header

INFO TRANSPORT TransportUtilityFunctions.cpp/1116:<ReceivedResponse>
GET https://webext.us.flinchbot.com/Autodiscover/AutodiscoverService.svc/root/user?originalDomain=flinchbot.com
Request Id: 0507771C
HttpHeader:Cache-Control no-cache
HttpHeader:Content-Length 1293
HttpHeader:Content-Type text/html
HttpHeader:Date Tue, 18 Aug 2015 20:07:30 GMT
HttpHeader:Server Microsoft-IIS/8.0
HttpHeader:StatusCode 401
HttpHeader:Strict-Transport-Security max-age=31536000; includeSubDomains
HttpHeader:X-Content-Type-Options nosniff
HttpHeader:X-MS-Server-Fqdn Lync1.us.flinchbot.com
HttpHeader:X-MS-WebTicketSupported cwt,saml
HttpHeader:X-MS-WebTicketURL https://dirpoolwebext.us.flinchbot.com/WebTicket/WebTicketService.svc
HttpHeader:X-Powered-By ASP.NET
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>401 - Unauthorized: Access is denied due to invalid credentials.</title>
<style type="text/css">


5. The client submits a request to the Web Ticket Service to retrieve the metadata exchange document (MEX). The client submits a Request Security Token to Web Ticket Service and supplies credentials.

INFO TRANSPORT CMetaDataManager.cpp/488:Sending Mex request for endpoint (https://dirpoolwebext.us.flinchbot.com/WebTicket/WebTicketService.svc) w/ sign-in name (testuser@flinchbot.com)
INFO TRANSPORT CMetaDataRequest.cpp/90:MEX response received.
2015-08-18 16:07:18.071 Lync[4844:1844] INFO TRANSPORT CWebTicketSession.cpp/564:Received webticket resposne with status S0-0-0)
2015-08-18 16:07:18.076 Lync[4844:1844] INFO TRANSPORT CWebTicketSession.cpp/668:New web ticket obtained

6. The client makes a request again to the https://dirpoolwebext.us.flinchbot.com/Autodiscover/Autodiscover.svc/root/user to retrieve specific user home pool information and provides the web ticket.

INFO TRANSPORT CBindingTransformationFactory.cpp/259:Using endpoint address https://dirpoolwebext.us.flinchbot.com/Autodiscover/AutodiscoverService.svc/root/user?originalDomain=flinchbot.com as the server address
INFO TRANSPORT TransportUtilityFunctions.cpp/735:<SentRequest> GET https://dirpoolwebext.us.flinchbot.com/Autodiscover/AutodiscoverService.svc/root/user?originalDomain=flinchbot.com Request Id: 0515498C HttpHeader:Accept application/vnd.microsoft.rtc.autodiscover+xml;v=1 HttpHeader:X-MS-WebTicket XXXXXXX </SentRequest>

7. The client gets the home pool information  

INFO APPLICATION CUcwaAppSession.cpp/1235:Updating URLs. For Ucwa: discoveredFqdn=https://webext.eu.flinchbot.com, applicationsRelativeUrl=/ucwa/v1/applications, configuredInternal=, configuredExternal=, loc=1, auto-discovery=1   

8. Client sends a request to the discovered home pool to get the UCWA URLs  

INFO TRANSPORT TransportUtilityFunctions.cpp/735:<SentRequest> GET https://webext.eu.flinchbot.com/ucwa/v1/applications Request Id: 05143B44 HttpHeader:Accept   </SentRequest>

9 and 10. The client repeats authentication steps against their home server.

11. Lync Autodiscover responds with the internal and external Lync services URLs for the user's home pool.

INFO TRANSPORT TransportUtilityFunctions.cpp/1116:<ReceivedResponse>
GET https://dirpoolwebext.us.flinchbot.com/Autodiscover/AutodiscoverService.svc/root/user?originalDomain=flinchbot.com
Request Id: 0515498C
HttpHeader:Cache-Control no-cache
HttpHeader:Content-Length 2286
HttpHeader:Content-Type application/vnd.microsoft.rtc.autodiscover+xml; v=1
HttpHeader:Date Tue, 18 Aug 2015 20:07:31 GMT
HttpHeader:Expires -1
HttpHeader:Pragma no-cache
HttpHeader:Server Microsoft-IIS/8.0
HttpHeader:StatusCode 200
HttpHeader:Strict-Transport-Security max-age=31536000; includeSubDomains
HttpHeader:Via 1.1 Lync1.us.flinchbot.com RtcExt
HttpHeader:X-AspNet-Version 4.0.30319
HttpHeader:X-Content-Type-Options nosniff
HttpHeader:X-MS-Server-Fqdn LyncServ1.eu.flinchbot.com
HttpHeader:X-Powered-By ASP.NET

<?xml version="1.0" encoding="utf-8"?><AutodiscoverResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" AccessLocation="External"><User><SipServerInternalAccess fqdn="pool.eu.flinchbot.com" port="5061" /><SipClientInternalAccess fqdn="pool.ee.flinchbot.com" port="5061" /><SipServerExternalAccess fqdn="sip1.flinchbot.com" port="5061" /><SipClientExternalAccess fqdn="sip1.flinchbot.com" port="443" /><Link token="Internal/Autodiscover" href="https://poolweb.eu.flinchbot.com/Autodiscover/AutodiscoverService.svc/root" /><Link token="Internal/AuthBroker" href="https://poolweb.eu.flinchbot.com/Reach/sip.svc" /><Link token="Internal/WebScheduler" href="https://poolweb.eu.flinchbot.com/Scheduler" /><Link token="Internal/CertProvisioning" href="https://poolweb.eu.flinchbot.com/CertProv/CertProvisioningService.svc" /><Link token="External/Autodiscover" href="https://poolwebext.eu.flinchbot.com/Autodiscover/AutodiscoverService.svc/root" /><Link token="External/AuthBroker" href="https://poolwebext.eu.flinchbot.com/Reach/sip.svc" /><Link token="External/WebScheduler" href="https://poolwebext.eu.flinchbot.com/Scheduler" /><Link token="External/CertProvisioning" href="https://poolwebext.eu.flinchbot.com/CertProv/CertProvisioningService.svc" /><Link token="Internal/Mcx" href="https://poolwebext.eu.flinchbot.com/Mcx/McxService.svc" /><Link token="External/Mcx" href="https://poolwebext.eu.flinchbot.com/Mcx/McxService.svc" /><Link token="Ucwa" href="https://poolwebext.eu.flinchbot.com/ucwa/v1/applications" /><Link token="Internal/Ucwa" href="https://poolweb.eu.flinchbot.com/ucwa/v1/applications" /><Link token="External/Ucwa" href="https://poolwebext.eu.flinchbot.com/ucwa/v1/applications" /><Link token="External/XFrame" href="https://poolwebext.eu.flinchbot.com/Autodiscover/XFrame/XFrame.html" /><Link token="Internal/XFrame" href="https://poolweb.eu.flinchbot.com/Autodiscover/XFrame/XFrame.html" /><Link token="XFrame" href="https://poolwebext.eu.flinchbot.com/Autodiscover/XFrame/XFrame.html" /><Link token="Self" href="https://poolwebext.eu.flinchbot.com/Autodiscover/AutodiscoverService.svc/root/user" /></User></AutodiscoverResponse>
INFO APPLICATION CUcwaAppSession.cpp/1235:Updating URLs. For Ucwa: discoveredFqdn=https://poolwebext.eu.flinchbot.com, applicationsRelativeUrl=/ucwa/v1/applications, configuredInternal=, configuredExternal=, loc=1, auto-discovery=1

Oct 06

Jabra Evolve 65 Review

I got this headset free through work and not form Jabra.

Jabra Evolve 65I recently got my hands on a Jabra Evolve 65 Bluetooth headset. My employer has recently begun handing these out to those who want them. And I want one because I need all the toys!


This is one of the newer headsets from Jabra and the only wireless headset in their Evolve line. According to Jabra, this headset has the following features:

World-class speakers are built for both voice and music. Switch easily between conversations and listening to your favorite tracks.

Simply wear the headset to eliminate high-frequency noise, such as human voices – all thanks to the specially designed ear cushions. We call this “passive noise cancellation.”

In-line call controller gives you easy access with large buttons and LED indicators. Pick up or end calls, control volume, or simply mute the line.

The special “busy light” turns red to let people know when you’re on the phone. You can also turn it on manually when you don’t want to be disturbed.

When you’re not on a call, you can tuck the boom arm away into the headband to keep it out of the way.

Bluetooth® Class 1.5 lets you walk up to 30 meters (100 feet) away from a connected device. This gives you great freedom of movement.

Get up to 10 hours of talk time on a single charge. Use the charging cable when you run out of battery.

Connect the headset instantly to any NFC-enabled device. Simply tap the two together and you’re ready to talk and stream music.

So let me compare their claims with my reality and see how this thing comes out. 

I do want to say at the outset that I think these are fairly stylish. Jabra seems to have decided on a simple and understated look and I think it stands out from the competition.

Now, to the features:

Like the Jabra Evolve 30's, these have very underwhelming speakers with regards to music playback. However they do sound noticeably better than the Evolve 30's (I just did a test. Man do those 30's sound terrible with music!). The music is not nearly as muddled on the Evolve 65 65 and there is decent bass and treble separation. These could be used for music headphones if you are one of those who is not too picky about how good your music sounds. These don't hold up at all against the Jabra Evolve 80's or the Plantronics Voyager Focus UC headset.

Their statement "Switch easily between conversations and listening to your favorite tracks." is a touch misleading as you can't actually change music tracks using the headset. The headset does stop the music while you are on a call and starts it up again when the call ends. But skipping forward to a next song is a no-go. Same with play/pause features.

The speakers do a fine job with voice.

As with the Evolve 30's, their "Passive Noise Cancellation" is well exaggerated. Putting anything over your ears will cut out some background noise. And that's about all that these provide. If you want to really block out human voices with these things, play music at a decent volume. This "feature" seems like an attempt from Jabra to make their headsets more feature complete than they really are. If you work in a super noisy environment, get something with Active Noise Cancellation as these provide no more noise cancelation than any other decent headset on the market.

Evolve 65 ControlsThe call controls are on the outer shell of one of the speakers. They seem to be logically aligned. I've not accidentally hit a wrong button or anything like that. They are also pretty responsive and act exactly as you would want them too. One minor issue is that in their design of using as few buttons as possible, muting and unmuting has a bit of a delay. To mute, you press and hold the "volume down" button. According to the manual you are to hold this button for 2 seconds to mute or unmute. I don't know about you but 2 seconds is a very long delay for a mute operation. In reality it doesn't seem to take the full 2 seconds to take effect. However a co-worker who has been using this headset for quite some time lamented that the mute operation took longer than he'd like it to take.

One great feature of this headset is that there is a busylight feature. When you are on a call, a red ring appears on the outside of the headset. But it only shows up on one of the 2 speakers meaning there is a 50/50 chance that someone walking up to you form the side will see that you are actually on a call and not just listening to music. It also can't do anything else but light up red when you are on a call. So unlike the Blync or Kuando busylights, this won't show green if you are available or flash red if you are in a meeting. 

Charging the headset is easy enough by simply connecting the provided USB charging cable into the headset. Jabra avoids the mess Plantronics came up with and they skip a charging base entirely. All things equal I prefer not having a base to having the limited use port-waster that Plantronics ships with the Voyager Focus UC.

The USB dongle is also less obnoxious than what Plantronics ships but, like Plantronics, Jabra are super-impressed with lights on a dongle too. Fortunately the light on the dongle doesn't blink for no good reason like Plantronics does. But this one does change colors seemingly randomly and the light stays on the whole time. And like the Plantronics, there is no way to turn off this light. Hey guys, take a note form everyone else and stop with the lights. Or at least give us an option to turn it off. It's distracting.

The boom microphone work pretty well however, just like the Evolve 30, it sounds like your farting when pushing the microphone up or pulling it down. Don't believe me? Well listen to this recording of me pulling the boom microphone down from directly vertical to horizontal.

Why they released this headset with that "feature" is beyond me. People on the other end of the call absolutely hear this.

So how well does the microphone work? Jabra does claim active noise cancelling with the microphone. I'll let you be the judge how well it works. I've called the Skype for Business "Check Call Quality" feature. Behind me is a server in a closet spitting out white noise. The TV is on in another room and I can hear it with my headset on my ears. I am saying the nonsensical phrase "I would like a pear for supper".

Jabra says this about the boom arm:

When you’re not on a call, you can tuck the boom arm away into the headband to keep it out of the way.

Unless you have a very small head, this statement is absolute rubbish. Yes, there is a magnet in the head band. And yes, when the speakers are pushed all the way up into the headband then the boom arm attaches to the magnet. I've made a video showing this. All Jabra had to do was make the magnet longer. The groove is there for the headset but they put in too small of a magnet. Which then makes us at work wonder why they even bothered in the first place. 

Aside form the random lights on the dongle, Bluetooth range is pretty good. It may actually be better than the Plantronics Voyager Focus UC but I didn't do scientific testing. I walked to the water fountain at work and the Evolve 65 seemed to break up less than the Voyager Focus. I can walk to all corners of my apartment and there aren't any dropouts.

I also tested the NFC pairing feature with my Nokia Lumia 1020 Windows Phone. I enabled NFC in the phone settings. The NFC zone on the Evolve 65 is on the speaker with all of the controls. So I tapped the back of my phone randomly onto the back of the speaker because I'm not entirely sure where the NFC zone is on the back of my phone. After the third tap, My phone perked up and asked if I wanted to pair it with the headset. I clicked yes and presto! My phone was paired. This worked really well and is a lot easier than any other Bluetooth pairing I've done.

Fortuitously, my dad called my freshly-paired mobile phone. I asked him how I sounded and he said I sounded as good as ever. Keep in mind that I still had a server hissing out white noise behind me and the TV on (and audible) in the other room.

In short, this is a perfectly functional Bluetooth headset. My major gripe is that the speakers are still not good enough for listening to music, at least for my tastes. The Evolve 80 and Plantronics Voyager Focus easily exceed the music playback feature of this headset. And while there are some half-baked features in this headset (busylight, boom magnet) I find it a quality Bluetooth headset for those looking for something a bit more professional-grade than what they may be currently using. 

This headset currently retails on Amazon in the US for $179.99USD. That's about the same price that you can get the newer and much better Plantronics Voyager Focus UC. As such, I find it hard to recommend this one at this time. Should there be a nice price drop then I'd have to think that the Jabra would be worth a go. This headset is also approaching a year old. Jabra is definitely on the right path here and I'm eager to see what the next generation will bring. 



Oct 05

UC Now v 1.4

430x292UC Now version 1.4 has just been pushed to the Windows Store. This version will work on Windows 8.1 and WIndows 10 along with Windows Phone 8.1

New to this version:

  • Youtube channels for Exchange and Skype for Business/Lync
  • Virtual Academy links for Exchange and Skype for Business/Lync

The app can be downloaded here – https://www.microsoft.com/en-US/store/Apps/UC-Now/9NBLGGGXTXK1 (Please leave a review – or at least a rating)

The update won't be live for a few days but you can download the current version now and it will update when the time comes.

An Android app is also available here – https://play.google.com/store/apps/details?id=com.lync.news&hl=en

The Android app was also updated tonight with a new interface which maximizes the content view. That should be an available update within the next 24 hours.


UC Now is a completely free app for Windows, Windows Phone, and Android that aggregates news and links pertaining to Skyper for Business/Lync and Exchange. Get easy access to support, testing tools, documentation, and plenty of other related information.

Sep 16

Front End Service Crashed on SBA (Stupid SQL Server!)

This article is really about SQL.


We received a SCOM alert yesterday that the Lync Front End Service (RTCSRV.exe) stopped on one of our SBA’s. Sadly, this is a fairly routine occurrence as the combination of Windows + Lync + SCOM + SCCM (especially SCCM) can overwhelm the meager 4GB on our SBA’s.

So I RDP’ed to the SBA and tried to start the Front End service. It failed. Unusually, the Mediation service and Centralized Logging Service were also stopped.

So I did Step 1 in my troubleshooting routine and opened up Event Viewer and looked at the Lync logs. I saw a bunch of failed logins to the XDS database. “Got it”, I thought to myself. “The SQL Service must have stopped”. But when I returned to Services, the SQL Service was indeed running. Just for good measure I restarted it. After the restart, none of the services would start. So that didn’t fix it.

I dug deeper into the event logs and came across the following 2 entries in the Application log.


Operating system error 1117(The request could not be performed because of an I/O device error.) on file “c:\Program Files\Microsoft SQL Server\MSSQL11.RTCLOCAL\MSSQL\DATA\xds.ldf” during SQLServerLogMgr::CheckLogBlockReadComplete.


An error occurred during recovery, preventing the database ‘xds’ (5:0) from restarting. Diagnose the recovery errors and fix them, or restore from a known good backup. If errors are not corrected or expected, contact Technical Support.

That doesn’t sound good. It seems there might have been some corruption sneak in to the XDS database.

On an SBA, the XDS database holds the replicated copy of the CMS. If Lync can’t read this database on startup, it won’t know what its configuration is. So without this database, Lync won’t start.

The next step was to “look” at the database via SQL Server Management console. Except, due to firewalls, I couldn’t connect to SQL on the SBA from our main Lync pool SQL Servers. So I went about installing the SQL Server support tools on to the SBA.

Finding the download was a lot harder than it should be. But I eventually found it on this page. I downloaded the SQL Server 2012 Management Studio x64 version and got that installed.

I could now look at the status of the database. Can’t say I like what I saw.


As I am not at all skilled with SQL, I brought in one of our SQL Admins to help with this.

We went through the following:

Alter Database [xds] set emergency

DBCC did not report any errors. So we tried:

Alter Database [xds] set online

That didn’t work.

We tried a bunch of things, such as taking the DB offline and then back online.
Based on this error, I ran a chkdsk scan to see if there were bad sectors on the drive or any other disk errors.

Chkdsk reported no issues.


We ran the following but it didn’t help either.

Alter Database [xds] set single_user with rollback immediate

We ran this command too but it didn’t do anything:

EXEC sp_resetstatus 'xds'

Finally we ran the below which fixed the problem. The risk is that the below could lose data. As this is database is just a copy of the CMS, we went ahead with it. That and we didn’t have any other options 

Alter Database [xds] set emergency

That finally mounted the xds database.

Once that finally mounted, the Lync services on the SBA started successfully.

Sep 15

Jabra Evolve 30 MS Review

I was recently given this device for free from Jabra. Keep that in mind while reading the below review.


Evolve30The Jabra Evolve 30 is an entry level headset in the Evolve line that Jabra released in October 2014. The Evolve series of headsets “…Boosts Productivity in Noisy Work Environments…”. Jabra also says that this line of headsets features “…large ear cushions with specially designed foam adapting the padding to the individual, blocking office noise”. Finally, they say that these “Incorporate[s] high-end sound quality for both professional communication and entertainment.”

So does the entry level Evolve 30 match up to Jabra’s claims?

Let’s start with the first claim that the Evolve line has “large ear cushions with specially designed foam adapting the padding to the individual, blocking office noise”.

I can’t vouch for any special foam as the speakers are wrapped in some semblance of leather/plastic so I can’t see the foam. The ear cushions feel a bit stiff but not at all in a bad way. I actually like the feel on the ears. So I imagine some of that stiffness is due to the foam. This headset is light and comfortable to wear. It doesn’t press in on your head and rests nicely over your ear-holes.

I can’t say that the alleged foam actually does anything useful. In my home office where I have a HP ProLiant DL360 G6 in a closet behind me (with the doors closed), I can’t tell much of a difference in white noise levels with or without the headset covering my ears. The “technology” being used here is “Passive Noise Cancelling” as there are no electronics or anything to assist in muting the background noise. And that’s OK given the $76USD price point of this headset. However I can’t tell that it’s blocking much at all.

Simply wear the headset to eliminate high-frequency noise, such as human voices – all thanks to the specially designed ear cushions. We call this “passive noise cancellation.”

I have the TV on in the living room right now with the volume turned down to “barely audible”. I can’t make out a word being said but I can hear talking. With the headset in place, I can hear the same level of talking. So if this headset really was designed to “boost productivity in noisy work environments”  and to “eliminate…human voices” it sure isn’t due to the Passive Noise Cancelling.

Firing up a Lync call blocks out the TV noise in the background but only while I hear a voice in the speakers. When the voice stops, I can still hear the background noise just fine.

As for the “large ear cushions”…well…define “large”? Because I can still touch the tops and bottoms of my ears with these headsets situated in such a way as to cover as much ear as possible. But then I’m (6’7″)/(202cm) so my ears are probably larger than standard.

I can vouch that the top-of-the-line Evolve 80 has large ear cushions. That thing is a monster and wraps all the way around my ears. But the 30? Not so much.

Maybe they mean that the microphone is really good at blocking noise.

Here is a recording of me via the Skype for Business “Test Call Quality” feature. Keep in mind that there is a server about 10 feet behind me in a closet with the door closed and the TV is quietly talking to itself in the living room. The audio you here is exactly what my PC hears and is not recorded via the speakers on the headphones. I say the nonsensical phrase “I want a pair for supper”.


The audio has been normalized to -1.0 Db

The next claim is that the Evolve line of headsets are “Made For Music & Voice”. You can hear the voice above. As for music? I thought the Evolve 80’s had fantastic music play back so I was really excited to try these. I was hoping for above average quality – certainly not as good as the 80’s but better than the competition.

Sadly…these things are all midrange, some semblance of bass, moderate treble. There is no separation so it’s all muddled and it’s a huge disappointment.

On the Jabra web page, they actually say this:

World-class speakers are built for both voice and music. Switch easily between conversations and listening to your favorite tracks.

That first line is absolute malarkey. There is nothing “world-class” about these speakers unless “world-class” means “there’s a world of speakers out there that outclass these“.

And while I’m being a Negativa Nancy, now is as good a time as any to point out a major flaw with the design. The microphone boom can be adjusted up and down, so when you aren’t speaking you can push it up out of the way. If a call comes in, you can pull the headset down to be near your mouth.

This is nothing fancy. Pretty much every headset can do this.

Except no other headset I’ve some across has “gears” on the headset assembly. And there is a perfectly good reason for this. Below is a recording of me pulling the headset down and then back up.


The audio has been normalized to -1.0 Db

Do you really want to have someone hear that as you are pulling down the microphone at the start of a call? When I first tested with coworkers I asked if they could hear the ratcheting. One of them asked “Did you just rip one”? How did this make it through the design phase and into production?

On the upside, the cord on the Evolve 20 is plenty long so no issue there.

Evolve 20 in line controllerThe in-line controller is a rather large, round puck with easy to press buttons. It’s designed to sit on the desk and not be clipped to your lapel like some inline controllers. The back is covered in foam so that the puck doesn’t slide around. That works well enough but the weight of the puck is too light to effectively keep it from sliding around. A heavier puck would work better here but the tradeoff is that a heavy puck would be a negative if you are standing. I imagine a properly-weighted puck would start pulling your head to one side or bang into your stomach at times. While I think there can be some improvement here I do like the big controller. This puck would be perfect in a call center scenario where a busy agent can easily see the in-line controls and easily answer/hang up a call.

You can also turn the volume up/down on the puck. As seen in the picture, there are 2 LED’s, one turns green when you are in a call and the other lights red when the call is muted.

Unlike some of the other Evolve headsets, this one doesn’t have the “busylight” feature in the outside of the headset.


  • Comfortable
  • Easy to use inline controls
  • Long USB cable


  • Limp audio for music
  • Passive noise cancelling doesn’t do much
  • The price

For a suggested retail price of $76USD this just seems overpriced. Other than the comfort factor, I don’t see it as a drastic improvement over a $40-50USD headset. However, because of the inline control puck and the comfortable fit, I would recommend looking at the Jabra Evolve 30 in call-canter scenarios.


Sep 10

Sharing Whiteboard with Federated Contact Could Fail

a7fd7c98b199b8a395039a5a7d128de97393ceba711e583839ae2668cbf5d664Quick note –

Here is the scenario:

You are set up so that everyone gets dropped into a Lobby before they can join one of your meetings.

You have an IM conversation going with a Federated contact. You decide it’s time to add a whiteboard. So you add in a whiteboard but the remote federated contact basically gets dropped. In reality, they get bounced into the Lobby.

That isn’t supposed to happen. They should be able to see the Whiteboard and skip the Lobby.

Here is the Microsoft Technet article on the issue.


Except the fix in the article doesn’t work. This has not yet been patched on the client. The only real fix is to have the user disable the Lobby.


Sep 10

Plantronics Voyager Focus UC Review

I was recently given this headset for free from Plantronics. Keep that ivoyager-focus-uc-casen mind when reading the following review.


My main complaint with the UC headset market is that all of the focus seems to be on maximizing the resolution and playback of voice audio. Now that is all well and good but it doesn’t fit my use case. 90% of my work day is spent listening to music which inherently doesn’t use the microphone. What I’ve always wanted was a headset that sounds just as good with music as it does with voice.

Jabra recently released the Jabra Evolve line of headsets. I’ve only tried the Evolve 80 and that was the first headset that had really good music playback to go along with handling voice well. I have no problems whatsoever with the look or styling of the Evolve 80 I just hate how it smashes my giant egg head and feels really stiff. I could only use it for about an hour before I got a headache.

Last week Plantronics handed me their newest headset, the awkwardly named Plantronics Voyager Focus UC. Why the “Voyager” is stuck in there is beyond me. Brevity is clearly not part of Plantronics marketing angle.

Upon first use my thoughts were “Amazing” and after about 1 week of heavy use I have no reason to change my opinion.

In as normal a voice as possible, I have to say “This is the best headset I’ve ever used”.

The headset is fantastic but I have some issues with the rest of the kit – the dongle and the charging base, specifically. But I’ll get to those later.

This is a Bluetooth v4.1 headset. If you want to know what’s so fancy with Bluetooth 4.1, read this summary. I can confirm that Bluetooth works very well with this headset. I have used it with the supplied dongle, directly paired to a Surface Pro (version 1), a Nokia Lumia 1020 Windows Phone, and a LG GPad 8.3 running Android. In all cases it paired easily. And while I’m no Bluetooth wizard, I remember seeing specs on some headsets that they supported pairing up to 2 or 3 devices. Well, I have paired this to 4 different devices. Each device picks it up right away so there is no 2-device pairing limit here.

This also has fantastic range. While it won’t compete with a DECT headset, the claim is (150 feet)/(45 meters). In the office I was able to go much further away from my desk than with any other Bluetooth headset I’ve tried. It won’t make it into the bathroom at work which may or may not be a good thing (depending on how well the mute function works).

Talk time is up to 12 hours (10 with Active Noise Cancelling(ANC)) or up to 15 hours listening time (12 with ANC on). I have not tested the talk time limit. But for Listening the thing finally died after 2 days of heavy use. Was that nearing 12 to 15 hours? Not sure but regardless – I am pleased with the battery life.

WP_20150909_08_35_40_ProAs alluded to above, this device has Active Noise Cancelling. I used the Focus UC on a flight from Seattle to Detroit last Friday. I fired up the ANC feature while watching some shows on the Android tablet. It made a clear difference in minimizing the jet white noise. There was still a rumble to be heard but what I cared about was that the audio of the show I was watching was drastically improved with ANC turned on. I haven’t used one of those fancy Bose ANC headsets so I can’t compare. I did have a pair of ANC headphones when they first came out about 15 years ago. They were cheap but unlike those old headphones, the Plantronics did not in any perceptible way distort the audio while ANC was turned on.

As seen in the picture, the main control of the headset happens by pressing the outside of the speakers.

On the base of the microphone is a little button you can push to mute/unmute. One neat trick is that if you are muted and start to speak, this will alert you that you are muted. At least that’s what it’s supposed to do. It never worked with or without the Plantronics Spokes software installed. The closest I got is that I would mute myself on a call and it would immediately unmute me even though I wasn’t saying anything.

The spec sheet says this:

Dynamic Mute Alert feature senses and alerts you when you try to talk when muted

Pushing in on the outside of the speaker attached to the microphone is the answer/hang-up button.

On the top of this speaker is the power switch to turn the headset on/off. Pushing this button past “on” sets it to Bluetooth pairing mode which I found a very easy way to enable pairing on the headset. Pairing with all the devices I tested worked well.

There are also some lights on here which occasionally light up and mean absolutely nothing to me. The manual says they are “Headset LEDs for pairing, battery status, online indicator”. Whatever.


Headset LEDs  Battery status
 4–5 blue blinks  Battery high
 2–3 blue blinks  Battery medium
 1 red blink  Battery low
 flashing red  Battery critical; Recharge headset

When charging, blue lights crawl from 1 to 5.

The opposite speaker let’s you control the music. On the outer rim is a dial you can move clockwise or counter-clockwise to increase or decrease the volume. Pressing the middle pauses the music. Pressing the outer edge will skip forward or back a track depending on which edge you hit.

The ANC button is at the bottom of the speaker. You can see the little shiny metal in the picture above.

When listening to music, the bass is well separated from the mids and high end. I won’t pretend that I am an audiophile that can break all of this stuff down. The sound isn’t quite on par with a pair of good on-the-ear Sony headphones I own but it’s not so far off either. And as memory serves, they don’t sound quite as good as the Jabra Evolve 80.WP_20150909_08_35_03_Pro

But unlike the Evolve 80, these are very comfortable to wear. They are lighter in weight and don’t cause a headache-inducing squeeze on my giant head.

There are some tricks with the audio too. According to the specification sheet:

Hearing protection SoundGuard DIGITAL: protects against sound levels above 118dBA; Anti-startle (during calls) detects and eliminates any large sudden increase in signal level; Time-Weighted Average prevents average daily noise exposure from exceeding 85dBA

While I won’t say the headset is anywhere near feather light, at (5.4 ounces)/(155 grams) it sits comfortably on my head. Perhaps the only downside is that my ears started sweating after extended listening.

As for the microphone, it’s small and seems to work OK. One neat trick on this headset is that it will automatically flip the Left and Right channel depending on where you prefer to have the microphone.

Smart mic boom: wear on either side and maintain locations of R/L stereo and volume/track buttons

Precision tuned triple-mics with enhanced DSP for superior background noise canceling

Want to hear how the microphone sounds? I used the Skype for Business “Check Call Quality” feature.and then recorded the microphone. So this is what the computer hears. I am not recording what comes back via the speakers of the headphones. This is solely a test of the microphone and nothing else. The phrase I say is the nonsensical “I would like to eat pears for supper”


Like many of the new Plantronics headsets, you can answer a call just by picking up the headset and plopping it on your ears. Taking the headset off during a call is supposed to automatically mute the call, though I haven’t tested this feature.

I can verify that taking the headset off pauses the  music. When you put the headset back on, about .25 seconds later the music kicks in again. This is a neat trick and I imagine it also helps with extending the battery life.

So this headset is really great. It has a pile of features and – perhaps most importantly to me – music sounds great.

So what’s wrong with the Voyager Focus UC (beyond the long name)?

Let’s start with the manual, or the complete lack of one in the box. Instead, there is a piece of cardboard that says you should go to here to get the manual: http://www.plantronics.com/setup/voyager-focus-uc This isn’t too big of a problem if you are using a PC for initial setup. I wasn’t. I was using my Surface in tablet mode. Which means I had to type that long-assed URL in via the onscreen keyboard. Which sucked.

Plantronics: Please provide a shortened URL or – better yet – a QR code I can scan with my phone (or even the Surface). Typing URL’s is so 2012.


But that’s a minor complaint.Here’s a bigger one.

The dongle won’t shut the hell up.

Someone decided that the dongle should glow a nice blue. And sometimes for no apparent reason it should flash too. Now imagine you plug the dongle into a Surface and go to watch some Netflix before going to bed. The room is dark, you’re watching your show but out of the corner of your eye, this damn dongle is lit up like Times Square on New Years Eve. It’s distracting.

So distracting that I threw the dongle aside and paired the headset directly with the Surface. This blue light isn’t an issue as I am typing this as I have it plugged into a USB hub on the back of my monitor (I’m using a full PC here, not the Surface). I don’t see the thing at all.

But what I’d really like is to not see the thing…at all. Turn your light off, stupid dongle. I tried disabling it via the Plantronics Spokes software. But, as usual, that software proved generally worthless. There was no option to turn the light off.

And boy, does that thing like to give pointless light shows.


USB LEDs What they mean
 Red and blue flashes  Pairing
 Solid Blue  Pairing successful; Connected
 Blue flashes  On a call
 Solid red  Mute active
 Purple flashes  Streaming music/media from computer


Every one of those is useless and distracting.

But the biggest crime is the headset stand. Yes, the headset stand is nice and it’s easy to dock the headset for charging. But the stand doesn’t do anything else. It just charges the headset. Now imagine you are using a Surface with 1 USB port. You’re hosed. You either use the stand, or you use the dongle. You can’t use both.

But why not use a USB hub, especially on a laptop or a full PC? Sure, that’s fine, but how many more ports do I now have to use? A port for a keyboard and a mouse dongle and a webcam and a speakerphone and a Zune dock and a port for my phone. Now I have to waste 2 ports for 1 headset?

It blows my mind that the fine engineers at Plantronics completely missed the concept of plugging the dongle directly into the base and then using the cable out of the dock into a single USB port. The USB cable to the stand is only being used for power to charge the headset. Why can’t you pass the signal from the dongle down the same cable? I know I’m not the only person to provide this feedback within 24 hours of trying this thing out. If it’s so obvious to 2 end users in under 24 hours of use, how could Plantronics have slept on this? It’s so obvious!

Note that the headset does have a micro-USB port on it so you can charge it with the same cable you use to charge your phone (unless you use an iPhone at which point…yeah…good luck with that. Use the USB cable that comes in the box).

I’m indifferent as to my opinion of the voice that talks to you while using the Focus UC. When you turn it on it says “Power On”. Thanks Mr. Wizard. It also says “PC connected” or “Phone connected” as necessary. That’s OK. The worst is when turning the volume up it says “Volume maximized”. I’d much prefer a beep. “Volume Maximized” is too long a phrase, is hard to hear when listening to music, and when on a call I don’t need the headset talking over the conversation.

When turning it off…yeah, it says “Power off”. Thanks. You’re a real life saver.

There is an “OpenMic” setting which open the microphone so you can hear your surroundings. This is a cool idea. The problem with headsets like this and the Evolve 80 is that I can’t hear people calling my name at work. Turning on the microphone would let me hear that. Except when I turn on the microphone, it drastically decreases the volume of the music. I guess this feature is only useful if you are using the headphones with ANC enabled to cut out white noise and *not* listening to music. This is a potentially cool feature messed up by poor implementation logic – at least in my heavy-music-listening work day.

The other downside on this headset is the price. $299USD. That’s a stiff price. Amazon has it for $228.54USD right now. But if you compare it to the $329USD on Amazon for the Jabra Evolve 80, then this is a downright steal.



  • Great sound
  • Good Bluetooth support and range
  • Active Noise Cancelling
  • Ease of use


  • The dongle
  • The base/stand mess
  • The price

In summary, this is the best headset I’ve ever used and it is absolutely my go-to headset now. Too bad Plantronics didn’t take the same care for everything else beyond the headset. That prevents me from saying this whole package is perfect. But if you can work around the dongle and base issues, then buying this thing is absolutely recommended.

Aug 31

The meeting id to resolve has unneccessary padding…

door-knob-paddingYeah. That was the error I finally tracked down earlier this week.

The full error is this:

ms-diagnostics: 3169;reason=”The meeting id to resolve has unneccessary padding on the id component.”;meeting-id=”42666530″;source=”medserv1.flinchbot.com”

So where did that error come from?

We use a global ITSP to provide us with local dial in conferencing numbers. So while we don’t have a Lync installation in – let’s go with Latvia – we can still provide a local dial in conferencing number. It’s a pretty cool little feature we rolled out. The ITSP we use doesn’t actually have any lines in Latvia. They just contract with a local carrier, convert the call to IP, then ship it over to one of their location in London or New York where it then connects to our Mediation servers via a SIP trunk.

This all works really well. Except for the times when the carriers do updates and don’t inform the ITSP. And then some of our Dial In Conferencing features fail.

We got a ticket early this week that most users were unable to join Lync meetings by dialing into one of those global numbers and punching in their meeting ID. For sake of keeping this simple, let’s say it was calls to the number in Latvia. Lync answered the call just fine and prompted them to enter their meeting ID. But more often than not, it came back with the “I’m sorry. I can’t find a meeting with that ID” message.

But we were typing in the number correctly. I figured it had to be an issue local to Latvia as no one reported issues when calling the numbers in Slovenia or Hungary or Czech Republic, etc. I opened a ticket with the ITSP and began some Lync logging to see if I could narrow down the issue.

As part of logging, I came across the message above. There are two things that piqued my interest:

  1. I will bet a million dollars that I entered the Meeting ID correctly. But in the log message, the Meeting ID is wrong! It has an extra 6. The real meeting ID value is 4266530 and not 42666530.
  2. And that verbiage about “unnecessary padding”. What does that mean? That’s not an option in Lync that I know of. I can’t just type Set-CsVoiceRoute -UnnecessaryPadding $False to fix this.But it feels like a DTMF issue. And if there is one thing I’ve learned about IT and troubleshooting, it’s all about the feels.

Along with a few other things, this seemed to be a pretty obvious issue with the passing of DTMF tones (As a reminder, DTMF stands for dual tone multi frequency which I guarantee I forgot.) Google provides no value when Googling “DTMF Padding” and Bing isn’t any better (the first hit was for an iOS app.) So I have no idea what padding really means but to me it was confirmation that DTMF wasn’t being sent correctly to Lync.

After many hours (over night, actually) we got a response from the ITSP that the carrier had recently applied “an in-band DTMF patch conforming to RFC2833…The issue was the delay difference between receiving and re-transmitting the DTMF’s. Sot some calls the expected interval was smaller due to carrier interconnect timers…“.

So that “delay difference” is probably what Lync calls “unnecessary padding”.

Anyway, the carrier did something on their end and the problem was solved.

Aug 28

Speakerphone Audio Quality Comparison

While there are a lot of reviews for Skype for Business certified speakerphones, I have never come across a review that lets you hear what they sound like.

I took the three speaker phones I have (caveat: all given to me for free by the vendors) and made some recordings for you to hear.

Three speakerphones

Plantronics, Sennheiser, and Jabra

I used the “Check Call Quality” feature in the Skype for Business client to run the test. The back-end is also a Skype for Business server pool.

I used a Yeti Blue microphone to record me saying the same phrase each time. That phrase is:

I would like to have a pear for supper.

It doesn’t mean anything other than it has some “plosives” to add a little complexity. It’s also a short phrase that fits within the time window provided by the Call Quality test.

To record the dialog I used a Yeti Blue microphone which is a pretty good USB microphone I picked up recently. I placed it about (8 inches/20 cm) away from the center of the speakerphone.

You may hear some background white noise. That is my Hyper-V server which is running my Skype for Business lab. I also normalized all of the audio files to -1.0 db which may enhance some of the white noise.

Note that everything you hear is recorded via the Yeti Blue microphone. So when you hear the prompts, that is a very good example of how the speaker sounds. When you hear the recording of my voice played back, that should give you an idea of how good the microphone is.

First is the Plantronics Calisto.


Next is the Jabra Speak 510


And finally the Sennheiser SP20.

Sennheiser SP 20 ML

Sennheiser SP 20 ML


I won’t say which I liked better or worse. I don’t want to taint your opinion. Also keep in mind that sound quality is a very important factor when selecting a speaker phone but it isn’t necessarily the most important.

  • Some of these support Bluetooth,
  • Some have a built in battery
  • One has a portable microphone
  • One has a jack to to play music off your phone with
  • Plus other unique features


Aug 28

New AudioCodes Logging Tool: It’s Sexy

AudioCodes recently released a new syslog viewer named, creatively enough, “Syslog Viewer”. For those who have been working with AudioCodes gateways and SBC’s for a while, then you are probably aware of the previous syslog viewer that AudioCodes provided to assist with logging. This was the “acsyslog120.exe” application which was very bare bones and came with some really bad default settings. So before you could really use the things, most people changed the logging directory, the order in which entries were added to the log (newest on bottom, please) and a few other things.

And once acsyslog120.exe did its thing it was up to you to do all the fun troubleshooting which amounted to searching for a needle in the syslog haystack. About the only advanced feature of acsyslog120.exe was that you could go to the Help\About menu and play Space Invaders.

Sometime around July 2015, AudioCodes quietly released Syslog Viewer. You can download it from the downloads section of their website. Pick “Software/Survivable Branch Appliances/ Mediant 1000…” from the download section. Syslog Viewer will show up in the list of downloads. It’s a simple install.

So what does this new syslog app provide?

For one, it has sensible defaults. New entries to the viewer are added to the bottom and not to the top.
It also automatically colors and formats the logs similar to what acsyslog120.exe did but it looks much nicer.

The toolbar has some new icons.


From Left to right….

The first icon is used to clear out the entries form the viewer. In acsyslog120.exe this was the paint brush icon. And yes, when I first used Syslog Viewer I clicked the paintbrush icon in the middle. It didn’t do what I wanted it to.

The next button – the set of folders – is used to open an existing syslog file.

The blue diskette is used to save the incoming syslog stream to disk. If it’s blue, you’re not saving anything to disk. If it’s red, then the record-to-disk is enabled. By default, it will write the logs to c:\syslog.txt. If you click File\Write Log As… you can change the directory to somewhere not on the root of your drive.

Next is the Play icon. This is used to pause/resume the syslog listener. If you see the play icon (as in the image above) then the syslog listener is paused. If you click the play button, this icon turns to a “pause” icon.

This can be a bit confusing where you see play but it’s really paused and you see pause and it’s really playing.

To help minimize confusion, there is an area in the bottom right telling you the exact state of save-to-disk and play/pause icons.
While working with support it was always hard for them to see the syslog output when sharing my desktop due to high resolution on my laptop and remote desktop scaling issues. Syslog Viewer now includes Zoom in/Zoom Out button which smoothly increases the font size so the person at the remote end doesn’t need to squint to read the logs.
The paintbrush icon is for “external viewer” which means it opens the saved syslog in Notepad. Note that if you haven’t saved the syslog session to disk then you can’t open it in the external viewer. I’m not entirely sure why this opens in Notepad but you can go to Tools\Options and use a different app as your external viewer.

The picture frame icon disables auto scroll which might be useful if you are going through a live log and don’t want the screen constantly scrolling while you are looking at some entries.

The snow flake icon is used to freeze the display. Honestly not sure how this is different than disabling auto scroll.

Finally, we get to the sexiness. The “i” icon opens a ladder diagram or what they are calling the “SIP Flow Diagram”.


This is very similar to the ladder diagram found in Snooper. I can’t stress enough how useful this view is. No longer do you need to search for a needle in the syslog haystack. If you look at the ladder diagram, you can see exactly which devices are talking in this conversation. And if you look down towards the end, you can easily zero in on the error or issue which in this case is “403 forbidden”.
With acsyslog120.exe (or any other syslog viewer) you don’t get this view. The ability to see the conversation and quickly spot the error is a total time saver.

Now the example here is a bit silly as I dialed an invalid phone number from an analog phone that I was sending to Lync via an AudioCodes MP112. But this tool gets really powerful with more complex scenarios. If you happen to be logging and 3 or 4 (or 50) other sip conversations are happening, each SIP conversation gets its own entry making it very easy to find the call you are concerned about.

As you click on a rung on the ladder diagram, not only does it show the relevant entry in the bottom right of the SIP Flow Diagram window, but the Syslog Viewer running in the background also jumps to the same log entry so you can then see what other entries are near it.

Syslog Viewer takes AudioCodes’ primary support tool from mid-90’s era technology straight into this century.

Since this was released in mid-July, they have already updated it from version 1.0 to 1.5. So clearly AudioCodes is currently putting a lot of effort to improving this support tool.

If you manage or support AudioCodes gateways or SBC’s in any way, then I highly recommend you immediately go to the AudioCodes website and download this new tool.

Older posts «