About Me

My photo
This is a blog for John Weber. One of my joys in life is helping others get ahead in life. Content here will be focused on that from this date forward. John was a Skype for Business MVP (2015-2018) - before that, a Lync Server MVP (2010-2014). I used to write a variety of articles (https://tsoorad.blogspot.com) on technical issues with a smattering of other interests. I have a variety of certifications dating back to Novell CNE and working up through the Microsoft MCP stack to MCITP multiple times. FWIW, I am on my third career - ex-USMC, retired US Army. I have a fancy MBA. The opinions expressed on this blog are mine and mine alone.


Office WAC (WAS) Server Update and Lync 2013

Microsoft has an update, if you can call it that, to the Office Web Apps Server that is used (amongst others) by Lync 2013.

This “update” is 584MB of download, and will require the following procedure to update your Lync 2013 WAS (WAC) server(s).  If you have a one server pool, no problem.

Open powershell on the host server as and administrator….


Do a Get-OfficeWebAppsFarm just to confirm the box thinks the farm is gone.  Then run the update.  It won’t take but about 10 minutes and wants a reboot.

Then recreate your Office Web Apps Farm with “new-OfficeWebAppsFarm”

If you have a pool of two or more servers, then you might think you can do one node at a time, right?!  Not so fast young Padiwan.  Remove the WebAppsFarm in its’ entirety.  As in take it completely down.  Go to each node in the farm, and run the Remove-OfficeWebsAppsMachine.  Once the last server is out of the farm, ensure the farm is really gone.  Then run the patch/update in, then reboot the entire mess. After that, recreate your Office Web Apps Farm.  You did record all those commands when you first put the farm together, right?

Enjoy taking the entire farm down for an update.



Lync 2013 WAS Handler Error 500.21

This whole thing started very simply.  Install a Office Web Apps Farm for a Lync 2013 deployment. 

We are using Server 2008R2 SP1, fully patched.  The Web Apps Server (WAS) installed correctly, or so it seemed.  But then the farm failed to create.  This was tracked down to MS KB 2670838 getting in the way of installing MS KB 2592525 – removing MS KB 2670838 solved that – with a weird side-note – removing 2670838 also removed IE10.  There is ample evidence on the web that 2670838 is dirty dirty dirty, bad bad bad.  Things are starting to go sideways here!

So we finally got the patches straight, MS KB2592525 goes in.  Now the farm created, but then we could not hit https://fqdn.domain.com/hosting/discovery with an error of 500.21, and a claim of “ http error 500.21 handler “discoveryservice” has a bad module managedpipelinehandler” …  El Yucko!

After some searching back and forth, it seemed that asp.net was either not installed or was not registered properly.  Looking at the installed set of programs and features on the IIS indicated that ASP.net was indeed installed….


What was needed was to reregister the ASP.

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i




Logitech USB Headset Stereo H650e (A-00057)

Wow, what a name.  Makes me think that I am back in the Army looking at the “nomenclature” for a “pin, retaining, bolt, rifle, M14” or some such.

I also have a Logitech USB Headset Mono H650e (A-00050) on hand.  Comments here will apply to that device also, with the understanding that the single-ear headset will never touch my sacred skull except for testing.  I don’t know how people do this one-ear thing.  I have a hard enough time with my cell phone Bluetooth for a short call, let alone something for all day use.

As a disclaimer, Logitech did send these units to me for evaluation purposes; however, there were no strings attached, nor any pressure to say anything good – or bad – about these units. Folks who know me are well aware that if something sucks, I will say so.


The headset itself is very comfortable.  I used it all day today – essentially non-stop.  I never got any feeling that I needed to take it off – not something I can about my other headset (also a Logitech) which is several years old and much heavier.  The microphone boom on these units is adjustable for both angle-of-dangle from the earpiece as well as actually adjusting the boom itself to be where you want it.

The wire/cable leading from the headset to the USB connector is flat – supposedly to be a non-tangle feature.  Well, it works out to be true.  There is also a handy-dandy clip you can attach to the headset lead to hold the lead to your clothing and keep the control module off the desk where I typically stick my arm on it leading to unpredictable button pushes.

The control module itself has a microphone mute button, volume up/down, and an answer button.  The nicest thing about this headset (other than it having excellent audio quality) is the interface with Lync.  The mute button toggles Lync itself – Lync reflects muted and not muted. 


The call answer button will answer a Lync call and also hang up a Lync call.  Nice.

Audio Quality is excellent.  The headset earpieces are all-day comfy and the headband has a nice cushion on it to keep your head from not getting a hot-spot and causing headaches.  The volume control worked well, and the definition was much better than my current (old) Logitech unit.  My one complaint about the unit is that the microphone is so good I had to go into Lync and turn the microphone sensitivity waaaaaay down to make it appear that I was not shouting.


As a final piece of niceness, the back of the microphone boom has a red light that lights up when you are on a call.  Someone walking up behind you has a visible indication of you being busy!  This worked twice already today when someone walking in could see I was active on a call.



Overall quality, IMHO, is most excellent.  Audio, fit, finish, comfort and controls are all at the top of the chart.  Installation onto my laptop consisted of plugging into a USB port, waiting about 10 seconds and starting to use it.  Painless, and very typical Logitech.  Nothing else required.

The stereo unit is now my daily device.



Lync 2013 RASK


Have you decided that you don’t have enough light reading in your life? 

Lync 2013 Rollout and Adoption Success Kit (RASK) Core Planning Resources


Lync 2013 Rollout and Adoption Success Kit (RASK) User Education and Training Resources


Lync 2013 Rollout and Adoption Success Kit (RASK) Resources




Lync 2013 User Quick Reference

Realizing that this is old news to you seasoned professionals out there, here is a great set of Lync 2013 User Guides – Quick Reference documents.  The imbedded links pull up PowerPoint documents that you can print and distribute to your users.




Jabra Supreme UC MS

Yet another short product review.  This time a Jabra Bluetooth headset.  The box is labeled “Jabra Supreme UC MS” and there is a label that says “optimized for Microsoft Lync.”  Let’s find out.

One of the problems I had writing this article was that there was nothing negative to report.  You can find the manufacturer brag sheet here.

This is what comes out of the box:  the USB key and the headset in a nice little case (not pictured), a USB charging cable, a car adapter, extra ear cushion and wire thingy, a 110 adapter, and the ubiquitous instruction booklet. Fit and finish appear to be first rate. The wire-thingy to fit your ear is bendable/adjustable to provide a custom fit.


I pulled it out of the box, gave it a charge, and then plugged in the included USB key thingy, and it just worked. I will note that I did not even read the little instruction manual other than to see what the buttons did. This is a folding device that turns on when you open the microphone boom.


When I pushed the USB dongle into the USB port, my laptop loaded some drivers and then the Lync 2013 client discovered the headset and started using it.  Painless and worked well.  I literally did nothing special and the Jabra Supreme UC lived up to its’ name right out of the box.


Audio was clear and crisp. Noise reduction was excellent. I made several test calls and asked the other end about the audio quality. In each case the other person assumed I was on a wired headset. Nice. 

I was able to pair to the Lync client as well as my cell phone at the same time. Pairing with my cell phone worked first time through with no hassles. Several times I had calls on both – it took a few fumbles to get the correct device answered, but that is just a learning curve on how to use the new piece of gear and not a hit on the Jabra usability or functionality. After pairing with my phone, I was alerted that there was a Jabra app that would enable better experience – I declined to install this. But, even without it, this device worked as expected. What the app does I do not know.

Overall, I think this proved out to be an excellent device.


Lync 2013 Archiving

Some organizations have a need for Archiving – be it for legal compliance or other reason.  But once you get the environment setup for archiving, you need to be able to view the contents.  Lync 2013 makes the first part extremely easy.  Lync 2010 changed how to see the content, and Lync 2013 continues with that same paradigm.  Additionally, there is an Office Communications Server 2007 R2 tool that will reveal the some of the hidden secrets in the archive database.

What we’ll do here is layout, at a high level, how to get archiving deployed with Lync 2013, and then review the various methods of seeing the Archive contents.

What is Needed

For this exercise, we’ll use Topology Builder, either an SE or and EE pool, a SQL server, and either PowerShell or the Lync Control Panel.  The viewing of archived material will also require a few other utilities.  You will also need to do a bit of planning on database sizing.   You can use this handy chart to swag the needs for your environment.  In general, you can predict archive database size with the following formula: 

days to keep data * KB * users. 

Here is an example (note that I have this in excel and it includes monitoring database size predictions as well.


In general, the planning instructions found here are pretty good; and the deployment instructions are here. If you follow those you should have no problem setting this up.

Setup and Installing Lync 2013 Archiving Role

If you have your SQL in place before you start, you can set this all up at the same time as you deploy your first Front End pool server.Assuming here that you already have either an SE or an EE pool deployed, you can simply go in and hit the Archive checkbox for the pool.  If you already have an EE pool, then you have the option of placing the Archiving database on that backend SQL. If not, you will have to have a SQL server in mind, and you will need to know the instance on that SQL server. Remember that an SE pool does not require the SQL backend, but the Archive role on an SE pool does. Using Topology Builder:


Fill in the SQL information –

If you have multiple pools, they can all point to the same Archive target.  Here is my SE pool, pointing at the same SQL for Archiving.


Once you have that done, remember to publish the new topology.  I always like to define my database locations ahead of time.  Then, when you publish the topology, choose the store server, and click on it…then hit the “Advanced…” button and specify your location.


OK, so you published the topology, the databases were deployed as expected – now what?  First you need to actually install the Archive role onto each SE pool or if you have an EE pool, each EE pool member.  This is done by opening the Lync Deployment Wizard on each affected server and choosing the “Install or Update Lync Server System.”


…now select step one…

…if you already have a server installed, you want step two…


Note that in my environment, the server is already deployed, but we need to run this again to put the Archiving role into place.

Configure Archiving

Once that is done, we need to configure Archiving. Out of the box, the system defaults to doing nothing.  You will have to enable the archiving process as well as configure archiving for “what,” for “how long,” and for what to do if the archiving service stops.  For that, we need to use either PowerShell or the Lync Control Panel.  For the PowerShell-challenged (like me) the Lync Control Panel is an easier option. 

Here we are in the Lync Control Panel:


Note that the Archiving Policy is zero.  You can have site or user archive policy.  For a quick read on that, see this.  So we’ll ignore the site and user options, and just configure the default global. 


Hopefully you read the above reference, and you know the difference between internal and external :). Commit that change, and let’s do the next tab over – Archiving Configuration.  Here we have the option for site or pool.  Again, the reference above explains that and why.  For now, modify the global.  There are several important options here – I think that the possible need for a pool being separate from a site are fairly clear.  For instance, you could have a pool dedicated just for large conferences and you would want to handle that differently than the regular pool.  You will also want to pay attention to the behavior if archiving fails.  If there is a compliance issue that requires all IM and Conferencing to be archived, then you will want to enable this.  It prevents activity unless the archiving is functioning.


The other important piece is the Exchange 2013 archiving.  If this is enabled, then the archive store becomes the users’ mailbox.  If this is the case, you will need to ensure you understand this.  At any rate, commit our changes and let’s go look at some data.  Before you can look at the results of archiving, you will need to either generate some data, or let your users do it for you.  If you want to see the output difference, you will want to have both.

The PowerShell cmdlets you need to modify the global archiving policy and global archiving configuration are set-csarchivingpolicy and set-csarchivingconfiguration. For your more complicated setups, you will also want to investigate new-csarchivingpolicy and perhaps new-csarchivingconfiguration.

Viewing Archive Contents

The basic toolset used to view archive contents is PowerShell and Outlook.  Here is the PowerShell cmdlet that you will need to know:  Export-CsArchivingData.  As a note, you must use valid data ranges.  For instance, if you did not turn on archiving prior to 1/1/2013, why would you ask for data from start date10/1/2012 to end date 12/15/2012?  Here is an example of a successful archive export.


Here in the target output folder, it looks like this – with one folder per day.


Inside one of those folders you will see this – note the file name differentiates between a peer to peer (P2P) and a conference archive.  Also note that the conference archive item(s) appear to be larger than just the P2P archive items. 


Let’s take a look at the inside of one of these.  The file type is “eml” which Outlook 2010 and higher will open directly.  Outlook 2007 with an SP might also, but don’t take my word for it.  You can also rename the files to *.mht, and open them in a browser (well, they open in IE at any rate).  Here is one of the P2P files when the eml is opened in Outlook.


Here is a conference archive result when opened in Outlook.  Note that there is attachments here, the data collaboration, a PNG attachment (somebody put a picture into the conference), and a whiteboard.


Here is the Data Collaboration:


Here is the pretty picture that was included – you can tell serious work was going on here!


And here is the raw whiteboard output – seeing as how it was 18K it goes on for a longish bit, this is just a few of the first lines.


If, like me, your brain does not decode XML on the fly, you will want to obtain the handy-dandy Lync Server 2013 Whiteboard Archiving Viewer.  I strongly suggest that you read the documentation available – the usage is not just point and click.  To install this tool on a workstation, you will need access to the “Microsoft Visual C++ 2012 x64 Minimum Runtime – 11.050727” – you can install this onto your workstation from the Lync Server 2013 iso – \setup\amd64\vcredist_x64.exe is what you are looking for.  You will find the installed wbviewer at C:\Program Files\Microsoft Lync Server 2013\Web Conferencing.  I copied the exported “whiteboard [1].xml file out of the EML to my c:\temp folder before running this command:


and we get to see this business critical content:


OCS IM Archive Viewer 1.0

Another (totally unsupported) option to view IM archive content is the Office Communications Server 2007 R2 IM Archive Viewer.  You can download the OCS R2 Archive IM Viewer v.10 here. This tool is only good for looking at IM content – it will not show you conferencing archive content.  However, for a quick look and not needing to run PowerShell export commands, this may be a useful tool.  Remember that this is UNSUPPORTED.  After a very quick setup on my Lync 2013 Front End pool server, I was able to view IM archive content directly.



Installation and setup of Lync Server 2013 Archiving is very straightforward – but it does require a separate SQL server or instance.  After installation, you will need to configure the Archiving Policy and Archiving Configuration settings to match the business needs of your organization.  Policy and configuration may need to expand past the default global settings.  After you have some content, PowerShell and Outlook will be your primary tools to export and view archive content.  Viewing exported whiteboard archive content requires a separate utility.



Lenovo Twist

OK, I like toys.  My toys tend to fall into three categories:  wood working, motorcycles, and (duh) computer-related stuff.  Recently, I gave into lust and desire and purchased a Lenovo Twist – similar to a Levovo Yoga.  The difference?  I have zero idea, really.  However, the Twist is on the “tablet” page, while the Yoga is on the “Ultrabook” page.  The Yoga is a “versatile multimode ultraportable,” while the Twist is touted as a “convertible Ultrabook.”  Huh?  Seriously, marketing spiel loses me most of the time.

Why did I buy one over the other?  Why this instead of a Surface or Surface Pro?  For why the Twist over the Yoga, that is easy.  When I walked into the store, the Twist they had was $300 less than the Yoga they had.  As to the Ultrabook style over a Surface or Surface Pro?  The Twist was an easy $350 less than a Surface Pro when the Pro has the keyboard cover.  And the Surface RT requires different software – and I like my software consistent.  And I already have an iPad, so the “pure” tablet need is already met.  Justification enough?  OK, I wanted it.


Typical Lenovo quality.  Keyboard (the zippy “chiclet” type feels good.  The function keys are friggin backwards!  If you want Shift-F3 in word to, you need to use Function-Shift-F3.  Otherwise the F3 key increases volume.  I get it in the end, but it took a few times around the block before I caught on. The screen is very nice.  Good, crisp resolution.  What I appreciate more than anything – especially when comparing this to the HP Envy or the Dell flippy floppy thing, is how solid the screen pivot and fold mechanism is.

If I have a complaint about that screen-twist-flip feature is the low-rent accelerometer (or whatever it is) that controls sending screen orientation to the video.  Several time I have gotten things upside down, and when I turned it the other way, the screen flipped and I was still upside down.  Nothing a seasoned professional such as myself can’t handle, but what a PITA.

While I am at it, when the Twist in folder over into pure tablet mode, the power button is in the very spot my hand holds the unit. And the power button is sensitive.  Several times I have turned the whole thing off just by picking it up.  Other than those items, overall all quality seems to be very good.


Not too bad!  Given the i5 is sort a slow, and the Twist operates in a paired SSD+HD configuration, not too bad!  Easily as fast in overall response as the iPad.  The screen is quite nice.

Coming out of sleep mode is a tad pokey, but once there, all is good.  File transfers (this is a full Win8 machine – Apple boy eat your heart out – zip right along.  Wireless has connected easily to everyplace I tried.  I wish the battery lasted longer; but the silly thing appears to charge from zero to full in about 2 hours.

Overall Microsoft Office 2013 performance – what I really bought this thing for in the first place is quite good.  I have full workloads:  Word, Excel, PowerPoint, Visio, Outlook, and Lync.


But let’s talk about Lync!  After all, what is more important than Lync?  The speakers are good, the microphone is sensitive, and the camera is flawless, with good contrast.  On the Twist, Lync never asked me to setup anything, it all just worked.  Plugging in my USB headset resulted in Lync simply starting to use it.  I also played with pairing with a variety of Lync-optimized devices such as external cameras, headsets, and a speaker phone device.  All flawless.



Stupid Lync Tricks

Anyone remember the infinity mirrors?  The ones where it looked like the image went repeating itself over and over into a perspective infinity point?

Here is Lync imitating art…


Lync 2013 Mobility Push Notifications Failing

In a recent deployment, my Apple mobility push notifications were not working.  The mobile client itself worked, but when the client was moved to the background, the push notifications from the Lync FE pool were not working – in this case, the iPad and iPhone clients never got notified. 


Greenfield install of Lync 2013 with an Edge (duh).  No O365, only dial-in conferencing for a PBX touch.  Only one SIP domain, split-DNS, all required SRV and A records are in place.  Remote logins are normal, full workloads across the edge and reverse proxy are fully functional.  All internal workloads are normal.  Just the mobility push via sipfed.online.lync.com were failing.  The actual iOS clients were able to send and receive IM (along with AB and contacts lists were good).  Just that when the client was not foreground the notifications did not work.


To start, I did a review of “how to” setup push notifications and how to test.  Needless to say, I ran around this process about 12 times to no avail. 

I had missed doing the allowed federation domain of push.lync.com (I had a typo – ooops!) – fixed that.  Nada.

The SIP Federated Providers tab already had a hosted provider of LyncOnline with edge server of sipfed.online.lync.com listed.  I enabled that, no joy.

Things I verified: 

Resolution of _sipfederationtls._tcp.push.lync.com to A record of sipfed.online.lync.com. 

> set type=srv
> _sipfederationtls._tcp.push.lync.com
Server:  wingdc301.wingspan.local

Non-authoritative answer:
_sipfederationtls._tcp.push.lync.com    SRV service location:
          priority       = 1
          weight         = 100
          port           = 5061
          svr hostname   = sipfed.online.lync.com

sipfed.online.lync.com  internet address =

Test-CSFederatedPartner –targetfqdn internalfqdnofedgepool.domain.com –domain push.lync.com


Test-CSMCXPushNotification –AccessEdgeFQDN internalfqdnofedgepool.domain.com – this failed with “Work flow failed validation” – I will observe that this message was less than helpful.  University of Google/Bing gave me nothing useful on this.

The Fix

So I went back through the entire mess again.  Followed the instructions line by line. Still failing.  OK.  On to OCSLogger (I know, I should have used Centralized Logging) and Snooper on the edge.  I picked the edge because the federatedPartner test was good (see above).  My reasoning was that if the first step of the testing process was good, something between me and sipfed.online.lync.com was wrong still wrong, and that connection was the edge, so look there first. What I got was this:


Lovely, eh wot?  Again, U of G/B did not help.  So I started casting about for those off-topic solutions that are so wonderful to stumble across.  I found this.  Not quite the exact problem and not quite the exact answer, but still, a nice clue.  What I got out of this was to recreate the CSHostingProvider “LyncOnline”

Why?  Because that provider was already deployed out of the box. I did not need it; yet there is was, disabled.  I had enabled it earlier (following instructions, remember?) – now I went through this KB and removed it entirely and remade it. 

And not being to patient, while I was at it, I threw February 2013 Cumulative Update into the FE layer and the Edge layer.  Rebooted the entire mess.

Success!  My problem, of course, is I don’t know if recreating the CSHostingProvider LyncOnline or the CU1 that actually solved the issue; but I do know that I did both, and now the situation is resolved. 


test 02 Feb

this is a test it’s only a test this should be a picture