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: 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=””

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.

Jul 08

Have an AudioCodes SBA? Check for Temp spam.

If you have an AudioCodes SBA, it may be worth peeking into your c:\windows\Temp directory.

AudioCodes has a Windows service named “BoaService”. This service collects the status of Lync Services and helps drive the SBA management page. This is the page you use when you initially configure the SBA. It looks like this:


There is an issue with earlier versions where AudioCodes didn’t clean up it’s log files. As such, there can literally be hundreds of thousands of log files sitting in your c:\windows\temp directory. These logfiles are the output of Get-CsWindowsService which the BOAservice runs every 5 minutes or so.

To fix this, do 2 things:

1. Run the following command form PowerShell to delete all of the logfiles. With luck, you’ll only have maybe 100 files in there. If you aren’t lucky, this command will run for a long, long time:

remove-item C:\Windows\Temp\Get-CsWindows* -verbose

2. Contact AudioCodes to get the latest version of their SBA management software. This fixes the issue for those of you who just discovered thousands of files in your Windows temp directory. Alternately, stop and disable the service. If, like me, you never need this webpage outside of initial configuration go ahead and save a little CPU and memory. Just be warned that with this service stopped that the SBA Management page won’t open.

Jun 24

Skype for Business Debugging Tools

SnooperNote: Updated 28 August 2015 to reflect changes in newer version.


I’m surprised no one has written about this yet. If someone has, please let me know and I’ll give you props and a link right up top. Until then….

The Skype for Business debugging tools are a replacement for the Lync Server Debugging tools. First off, the Lync debugging tools will work on a Skype for Business server. However the new debugging tools leverage the Centralized Logging Service (CLS)  feature introduced in Lync 2013.  This makes it far easier to do logging across multiple servers at the same time. The Lync debugging tools have to be run independently on each server.

The primary change is that the OCSLogger.exe from Lync 2013 has been replaced with the CLSLogger.exe program. Snooper remains the same though it is a newer version. There has been the addition of a “Codepoint” menu which ….I’m guessing….is used to load external diagnostics…or something. But it’s new, and newer is always better.

Also, CLSLogger can be used against Lync 2013 servers as well as Skype for Business. No dice on Lync 2010 though.

There is nothing that the CLSLogger can do that you can’t do via PowerShell. If you are a CLS ninja, then you can probably skip the CLSLogger altogether and just go on about your business.

But for the rest of us…..

Before you even fire up the tool, run Get-CsClsConfiguration . This will let you know how you are set up. For the most part, ignore everything returned except for the “ETLFileFolder” and “CacheFileLocalFolders” values. By default this is set to %TEMP%\Tracing. And where exactly is that directory?


Or most likely, here:


These directories are important because this is where the log files are going to be created. You may want to edit this to get them off of your C: drive so you don’t accidentally fill it up.

And since I never like editing the Global configuration of anything (if it can be avoided), create a new CLS Configuration for your Skype for Business Site(s). This is done with the New-CsClsConfiguration cmdlet. Below is an example creating a new configuration for a Site named “Site 2” and changing the logging folders to e:\logging:

New-CsClsConfiguration -Identity "site:Site 2" -ETLFileFolder "d:\logging" -CacheFileLocalFolders "d:\logging"

Even if you only have a C: drive, you may want to change the directories to something you can find more easily than %WINDIR%\ServiceProfiles\NetworkService\AppData\Local

CLS will automatically create the directory you define, so that saves time connecting to every server in your site to create a directory.

So, now that the directories have been defined, it’s time to launch CLSLogger, right? Yeah well not quite.

CLSLogger is really a super elaborate PowerShell wrapper. And if there’s one thing you’ve learned about running PowerShell scripts it should be this: You need to set the Execution Policy before you can run somebody else’s script, even Microsoft scripts.

So open a PowerShell window with “Run as Administrator” and type the following to permit this to run:

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted

If you are super security conscious, you may want to use something other than Unrestricted. But that’s up to you to figure out the magic voodoo. I always use Unrestricted but then I don’t entirely know what I am doing with this. I just set it to Unrestricted because it tells PowerShell to never bother me again with this security nonsense.

So now, assuming you have installed the Debugging Tools already, you can finally go ahead and launch CLSLogger. Navigate to C:\Program Files\Skype for Business Server 2015\Debugging Tools and launch ClsLogger.exe

Now, even with the execution policy in PowerShell set correctly, you still get:

Error: Access to the registry key ‘HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell’ is denied. To change the execution policy for the default (LocalMachine) scope, start Windows PowerShell with the “Run as administrator” option. To change the execution policy for the current user, run “Set-ExecutionPolicy -Scope CurrentUser”.

Oh wait…Run ClsLogger as Administrator too. Otherwise it won’t have rights to read the key from the registry. So note to self: Run everything as Administrator….

When it starts, the Start/Stop Scenarios tab opens and there are three main sections.



Section 1 is where you can select a scenario. Remember with OCSLogger you had to semi-randomly pick what to log? So you always picked the same stuff (S4/SIPStack) and then randomly picked some options like Inbound Routing and Outbound Routing hoping to get what you wanted.

Scenarios take the guesswork out of your hands. Microsoft has created a whole pile of scenarios for you with all of the correct options already selected. So for example if you aren’t tracking an Enterprise Voice issue, S4 will be unselected for you thus minimizing the amount of “noise” in your logs.

To select a scenario, just hit the pull down and HOLY DUMBNESS WHAT IN SAM HILL!!!! YET ANOTHER UNSORTED LIST FROM THE LYNC/S4B TEAM. WHAT IS WRONG WITH YOU PEOPLE. SORTING IS LIKE THE EASIEST THING IN THE WORLD TO DO. %^&*(&*^%$#^&!@#!!!!!!!!! pick the desired scenario from the sorted list..

If you have multiple sites, you will also notice that the list contains duplicates…possibly a lot of them. If you type

Get-CsClsScenario | select Identity

in a PowerShell window you will see that the list in PowerShell matches the list in CLSLogger. Except the PowerShell version prepends the scenarios with the site name making the duplication easy to understand. Hopefully they will improve the naming in the scenario list to include the Site name in a future update.

Fortunately, all of the out-of-the-box scenarios are the same regardless of Site so you can pick any one of them. In my case, I selected AlwaysOn because I am lazy and that is the default option. After selecting one, the Scenario Information screen will list all of the logging options, logging levels, and logging Flags that are part of the scenario.

Scenario Information


After selecting the scenario, you have to tell the logger against which pools and servers (and trunks????) you want to run this scenario against. So pick a pool or two off the list. You can also drill down to pick a specific server too in case you suspect a subset of your pool is having issues. is an AudioCodes gateway. PBX1 and PBX 2 are Asterisk servers.... is an AudioCodes gateway. PBX1 and PBX 2 are Asterisk servers….


The 3rd section, at the bottom is a PowerShell window showing you which PowerShell cmdlets the tool is running. This is a nice touch.

There are three buttons above the Topology window (Section 2). Before running a new scenario, click the “Logging Status” button to see if you are already doing logging against the pool/server(s) you selected in the Topology window.

If everything looks ready, click the “Start Scenario” button and watch the magic happen.

Actually, replicate your issue as fast as you can and then click the “Stop Scenario” button. No one wants to deal with a 37GB log file because you couldn’t be bothered to stop the logging until hours after the issue has been tested.

If none of the pre-configured scenarios match what you want to log, you can create your own custom scenario. To do this, click on the “Edit Scenario” tab and the following screen appears.


In general you will be editing one of the existing scenarios because you need an additional component to be logged or you need more detail than what is provided. In the image above, the ACPMCU scenario is selected. You can see in section 1 that this scenario logs AcpMcu as verbose and Collaboration, S4, and SIPStack as Information-level. Let’s say we want to add logging of the Mediation service to this scenario.

Scroll down in section 3 to find the “MediationServer” Component. Section 2 will adjust to “Information” and Flags will go to “All”. Just for fun, let’s change the Level value from Information to All.

Now you click on the “Save Scenario” button underneath section 3. You will be prompted to verify the change. After saving the change, Section 1 will be updated. Note that MediationServer is now added to the list.



The Scenario name now also has a new name I gave it which is admittedly not terribly descriptive. I just added “Custom” to the default name.

To create a new scenario, click the “Create Scenario” button found underneath section 2 and 3 – right above the 4 in the image. You’ll be prompted to provide a name so give it something descriptive beyond just “Test Scenario” or “Flinchböt’s Scenario 1”. A better name would be something like “Inbound calls from SIP trunk”

Now if you flip back to the Start-Stop Scenarios tab, you should see your new scenario in the Scenarios list. Select this and start your logging.

So the next step….looking at all of this wonderful data. That’s where the “Search CLS Logs” tab comes into use.

Unfortunately….nothing is automated here. It would be nice if it carried over the settings from the “Start/Stop Scenario” tab to here. Maybe in a future update….



From my point of view, the point of this tab is to get a unified log file that you can open in Snooper. As such, I leave most of this stuff empty.

Make sure the Start and End Time fields are correct. To me it feels like this is a semi-random guess by CLSLogger to what window of time you want to review. So don’t trust it to be correct or your logs may be very empty.

The only setting in Section 1 you have to set is the Log File Folder setting. You can’t type anything here and have to navigate to a folder. If you aren’t running this on a server then….manually create the folder on your PC in the exact same location it is on your server. I hope your PC has a D: drive like your server does. If not… this from the server.

Remember when we set the logging directory at the very beginning? Navigate to there and click OK.

You do not have to pick anything in section 2. So unless you really want to narrow down your logs, leave this blank. If you are using the AlwaysOn scenario, then it’s a good idea to check the relevant boxes here. How do you know which boxes to select? Go back to the “Start/Stop Scenario” tab and pick a specific scenario off the list and manually replicate what’s pre-configured there into Section 2.

In Section 3, you have to select the pool you logged against. Automatically having this setting copied from the “Start/Stop Scenarios” tab would be a time saver.

Once you have at least a Log File Folder, a valid time range, and a Server/Pool selected, click “Search Logs”. This will go out to the servers, grab the logs and put them into one big file.

Curiously, once this is done it asks you if you want to open the log file. Say No. This just launches Notepad and opening really large log files in Notepad is painful and the whole point of Snooper is so that you don’t have to use Notepad. But do take notice of the file name for the log.

Open Logs

You are going to open the log file in Notepad? Then no, I don’t want to open this file at all!

You don’t have to memorize the log file path in the message. It is conveniently listed in the PowerShell monitor (Section 4).

So how do you get this log file opened in Snooper which by absolutely any logic should be the default? Go to the menu at the top of the Logging Tool and select the Logs pull down. Then select “Open Logs with Snooper”. Like magic, Snooper opens and pulls in the log file automatically.

This should be the default action.

This should be the default action.

Now that it’s in Snooper, go do your Snooper magic to track down your issues and whatever it is you do in there. I know we are all adults, but what happens in Snooper stays in Snooper.




Jun 18

Sennheiser SP 20 ML Speakerphone Review

Just so you know, I was given this free from Sennheiser. Keep that in mind while reading.

0401rcp_sennheiserI work from home about one day a week. When working from home I use a speakerphone instead of a headset. For the past year or so, that speakerphone was the Plantronics Calisto P825-M.

Yesterday I received the Sennheiser speakerphone just in time for my usual Thursday work-from-home day. So I was able to give it a good run through its paces today.

First off, here are the general features of the device.

It’s Lync certified so you can plug-and-play it to your PC. This worked perfectly.

The top of the device has 5 buttons. On the far left and right are volume down and volume up buttons. The center of the speakerphone has a few features. You can press it to mute/unmute the call. When doing so, the lights around the center button turn red when muted and green when unmuted. The lights are also a volume indicator. As you turn the volume up, more lights will get lit up in a clockwise direction. Hitting the volume down turns lights off in a counter-clockwise direction.

The lights in the middle are also a charge indicator. The charge is indicated by blue lights. The more blue lights you see, the more of a charge you have. Yes, this device has a battery in it so you can use it as a speaker for music or as a speaker for your mobile device. Sadly it does not have Bluetooth connectivity.

At the lower end of the device are the call answer and call hang-up buttons. Between the 2 buttons is a white light letting you know if the device is on or not.

Despite not having Bluetooth, you can easily connect a mobile device via an included 3.5 mm headset connector. Both this connector and the USB cable are ingeniously wrapped around the base of the unit and are pretty well hidden while stored. I was surprised how long the cables are. According to my ruler, the 3.5mm analog cable is 25.5 inches/64.77 cm in length. The USB cable is a bit more generous at 30 inches/76.2 cm.

Sennheiser SP 20 ML

Sennheiser SP 20 ML

But how does it sound? That’s the real test right?

I spent a fair amount of time this morning testing this device with a coworker. We would talk and I would switch the conversation between the Sennheiser and the Plantronics device.

From my point of view, that is, the side listening to the output of the speaker, the Sennheiser was a clear winner. No competition, actually. The Plantronics sounds a bit tinny and flat with absolutely no sense of bass. Certainly with the Plantronics my coworker was easy to understand but there was absolutely no nuance. But with the Sennheiser it was like switching from a narrow-band PSTN call to a wide-band Lync call. My coworker sounded much fuller and much more natural.

Also from the listening end, I plugged my Windows Phone into the Sennheiser to see how it sounded as a music speaker. While it is no competition to a home stereo, it is very serviceable. There is too much mid-range and the bass doesn’t stand out. But I imagine this is because the speaker is designed for voice with music being a secondary concern. They claim that they have a “profile” to enhance the music and it does seem to work. With the SP 20 connected via USB, set as the default PC audio, and playing music via the phone everything sounds great until a PC “noise” comes in. When the speaker has to play that noise, such as an incoming IM audio notification, the audio turns very flat and dull (and slightly distorted) while playing that notification over the top of the music. Once the notification is over, the music brightens up considerably.

Interestingly when you play music on the PC via the USB, the audio is fine….until I plug the 3.5mm jack into the phone. Then the PC audio goes to rubbish. I imagine this has to do with the circuitry inside only able to handle a single quality audio stream and they default to the 3.5mm jack getting that quality stream. The USB gets demoted to a much lower quality stream.

If you travel often and just need to use it for listening to music in a hotel room or to improve on the built-in speakers in a laptop then this will certainly perform admirably. Just keep in mind that this is nowhere near audiophile-level audio. And unlike the Plantronics, the Sennheiser comes with a protective case to provide some level of protection to the device while travelling with it.

So which one of the two were easier on the user at the far end? In other words, how did the microphones perform? In general, they were very similar to one another. When just speaking it took some concentration from my coworker to pick out the differences. Eventually he said that the Sennheiser sound less “echo-y”. Put another way, he said the Sennheiser sounds closer to sounding like a headset microphone than the Plantronics. I would hope this is the result of Sennheiser marketing slapping the term “echo cancellation” throughout their materials.

One other test we did was by me playing music in the background and then speaking. For good or bad, the Sennheiser passed it through very clearly. While the music was playing my coworker didn’t mention having trouble hearing me when I was speaking. He just said the background music was coming through very clearly. When switching to the Plantronics he said he thought the Plantronics might be trying to cancel out the music a little bit. The music was much more muddled than with the Sennheiser and he could still understand me just fine while talking over the music

We leaned towards thinking the Sennheiser was the better performer in this regard. Keeping in mind that this is a speaker phone and not a headset, the microphones on the SP 20 should be passing the music through. If this were in the middle of a conference room instead of my desk at home, you would want to be able to clearly hear everyone talking. But this was certainly no thorough or complete test. It’s very possible that the Plantronics “muddling” the music is it’s attempt to cancel out background noise and highlight the speakers voice in which that’s a very good thing to do. This would require different testing to determine which one is better in a conference room environment.

Overall the audio and microphone are much better on the Sennheiser than the Plantronics. Despite lacking Bluetooth, the addition of the 3.5mm jack is a nice touch. The Plantronics has both Bluetooth and the ability to plug in a 3.5mm cable. However it does not let you use it as a music speaker via Bluetooth or 3.5mm connections. At least I couldn’t figure it out. You can use it as a music speaker via USB but the quality is really miserable. The Plantronics was clearly designed solely for call-level quality.


Plantronics Calisto P825M

The Plantronics does have a screen which is always a positive. It also has a ton more buttons….none of which I’ve ever really used. Understandably this is because my use case is as a single-user speakerphone and not in a conference room. I could see that there is potentially some value to having a number pad and a built-in address book…or whatever all it is this can do. I’ve never used any of those features.

I have tried using the detachable microphone. In theory this is a great idea. This would let me walk around and even turn my back on the speakerphone yet the person on the other end would still hear me clearly. But there are two problem with this.

1. When you pick up the microphone it doesn’t automatically switch the input to the microphone. You have to manually press a button. This seems useless to me and quite honestly I had to refer to the manual a few times when I tested the detachable microphone before my thick head remembered there was a button to push. I know Plantronics knows how to do this as some of their other devices will automatically answer a call when you pick up the Bluetooth device to stick in your ear.

2. But the bigger problem is that the microphone doesn’t work well. Or at least mine doesn’t. When I tested the microphone a few months ago with some coworkers they both immediately reported that my voice was filled with static. And this was with the microphone no more than 6 feet/2 meters from the base station.

The Plantronics Calisto seems like it is full of good ideas that just didn’t get executed properly – at least for a single-user scenario like mine. I would think in a conference room scenario all of those buttons provide some value though I imagine I would be pushing all of those buttons via my Lync/Skype for Business client and not on the device itself.

The price difference between the two is only $7. According to Amazon, the Plantronics Calisto is US$120.99  and the Sennheiser SP 20 ML is US$127.97. I would find it very hard to justify saving the $7. I suppose the primary compelling reason to go with the Plantronics would be the Bluetooth connectivity and all of those buttons.

But if sound quality is your primary requirement then this one is a no-brainer. I’d buy the Sennheiser. Every time.

The final verdict is this: I’m packing up the Plantronics and taking it back to the office in case we ever need a speakerphone for a meeting. I’m keeping this Sennheiser at home and taking it with me when I travel (which I never did with the Plantronics).

BTW – I’ve never used a Jabra Speak and rumor is that they are about to release a new model. Anyone form Jabra want to send me one of the new ones when they are available :)

Older posts «