Adventures with Import- and Update-CsUserData Pt.3

I’ve spent a lot of time in the past 12 months working with the <verb>-CsUserData commandlets in SfB, and it’s been an interesting time.

This is part 3 in a series where I document the traps I’ve fallen into with the Import-CsUserData and Update-CsUserData commands in particular.

Part 1 – Update-CsUserData fails on bad data.
Part 2 – Your Front-End won’t start after Import-CsUserData imports bad data.
Part 3 – Update-CsUserData throws false red and runs slow if your paired pool is offline
Part 4 – You can’t trust Import-CsUserData to tell you if it fails.

Part 3 – Update-CsUserData throws false red and runs slow if your paired pool is offline

TL;DR: If you have paired pools, Update-CsUserData will throw red – appearing to fail – and potentially take a LONG time to execute if your paired pool is offline / failed over. Even if it’s still responding, if that other PoolState is FailedOver, you’re in dangerous territory.

Continue reading ‘Adventures with Import- and Update-CsUserData Pt.3’ »

SfBS RGS lets you spoof a SIP Domain


 
A long-standing bug in Skype for Business’s Response Group Service (“RGS”) is that it doesn’t validate the line URI when you create a new Workflow. This means it won’t err out if you chose a number that’s already in use elsewhere, and the upshot is that neither the existing user nor the response group can be called. Tracing will reveal a “SIP/2.0 485 Ambiguous” error.

But did you know it doesn’t validate the SIP Domain either?

You can create a Workflow for ANY SIP domain, and not only will it save it without error – it will route!

Continue reading ‘SfBS RGS lets you spoof a SIP Domain’ »

Get-WeatherLinkData.ps1

We’ve had a Davis Instruments Vantage Vue weather station on the roof for some time now, and with the addition of the “WeatherLinkIP datalogger” its data is uploaded to the greater Davis WeatherLink platform automatically.

Their service is subscription-based, and we’ve not seen sufficient value in giving them ~AUD5/month to have access to the historical data, so we’re stuck on the quasi “real-time only” free tier.

We happen to use the free version of Paessler’s PRTG Network Monitor to monitor all we have here, and it recently occurred to Rocky to see if we could capture the weather station’s data as well. Turns out that’s a YES.

Continue reading ‘Get-WeatherLinkData.ps1’ »

2020 mugshot: an ivory 400-series handset

The phone in my ‘mugshot’ this year is, like me, quite a relic. It’s an ivory-coloured handset from a 400-series phone.

At the start of last century telephones were typically constructed of timber or metal. It wasn’t until the late 1920’s that the British Siemens company developed the first plastic phone, made of a “thermo setting phenolic material”.

Continue reading ‘2020 mugshot: an ivory 400-series handset’ »

Lync 2013 / SfB 2015 Client Update – August 2019

As per my previous post, I’ve just realised I’ve missed TWO client updates this year.

The second of these was from August. Kb 4475564 took us from 15.0.5153.1001 to 15.0.5159.1000 – although the KB lists it as 15.0.5163.1000.

What’s Fixed

  • Kb 4513494 HTML messages sent to Skype for Business display incorrect font in Export-CsArchivingData output

What’s New / Changed

Nothing documented.

Known Issues

Nothing documented.

Continue reading ‘Lync 2013 / SfB 2015 Client Update – August 2019’ »

Lync 2013 / SfB 2015 Client Security Update – July 2019

Here we are boldly staring down Christmas again for another year, and I’ve just realised not one but TWO updates to the Office 2013-based Skype for Business client have snuck past me in recent months. (Well, at least I have a handy New Year’s Resolution up my sleeve now…)

The previous update was June, and this security update (Kb 4475519) took us from 15.0.5145.1000 to 15.0.5153.1001.

What’s Fixed

“This security update resolves an information disclosure vulnerability that exists if Microsoft Exchange allows entities to be created even though they have Display Names that contain non-printable characters. To learn more about the vulnerability, see Microsoft Common Vulnerabilities and Exposures CVE-2019-1084“.

What’s New / Changed

Nothing documented.

Known Issues

Nothing documented.

Continue reading ‘Lync 2013 / SfB 2015 Client Security Update – July 2019’ »

Our annual housewarming – the DHMG

Rocky and I bought our first home together back in late 1995. It was a lovely 3-bedroom semi-detached house in one of the inner-western suburbs of Sydney.

We found ourselves holding a housewarming for it in January 1996, and for some reason lost to history we settled on a parody / lampooning of the poster for the annual Sydney Gay & Lesbian Mardi Gras, re-creating the organisation and re-convening its signature event a few suburbs to the west.

Original image credit: artsandculture.google.com. Original poster art: Glenn A Moffat.

Somehow the party became an annual celebration. Certainly the venue lent itself to a late-Summer party, with the airy internals complemented nicely by the small patch of green out the front, and the small backyard.
Continue reading ‘Our annual housewarming – the DHMG’ »

Adventures with Import- and Update-CsUserData Pt.2

I’ve spent a lot of time this year working with the <verb>-CsUserData commandlets in SfB, and it’s been an interesting time.

This is part 2 in a series where I document the traps I’ve fallen into with the Import-CsUserData and Update-CsUserData commands in particular.

Part 1 – Update-CsUserData fails on bad data.
Part 2 – Your Front-End won’t start after Import-CsUserData imports bad data.
Part 3 – Update-CsUserData throws false red and runs slow if your paired pool is offline.
Part 4 – You can’t trust Import-CsUserData to tell you if it fails.

In Part 1 I showed how Update-CsUserData will throw an error if you try to import “bad data” – and in that example this boiled down to two occurrences of the same “buddy” in a contact file exported from Lync 2010.

What do you think happens if you try to import the same XML/ZIP file using Import-CsUserData? I’m glad you asked.

Part 2 – Your Front-End won’t start after Import-CsUserData imports bad data

TL;DR: It looks like there’s not a lot of validity checking in “Import-CsUserData”. Provided the file is valid XML, the DLL(?) that does the work just copies the Buddy data – as XML – directly into the back-end SQL database. The problems arise later when the Front-End SQL database parses that XML and tries to plug it into its own tables where each Buddy is a Primary Key and MUST be unique. Now you’re in strife.

I believe you’ll only be impacted if your source is formatted as Lync 2010 data.

Continue reading ‘Adventures with Import- and Update-CsUserData Pt.2’ »

SfBS 2019 CU2 December 2019

Just in time for an early Christmas we have CU2 for SfBS2019. This update builds upon September’s CU1 HF1, updating eleven components on my SE Front-End. It takes the build from 7.0.2046.143 to 7.0.2046.151.

What’s Fixed?

  • 4525498 Ability to add server roles in tri-existence mode will be blocked in Skype for Business Server 2019
  • 4525496 Skype for Business Server 2019 continues to write to CLS ETL even after CLS logging is stopped
  • 4507233 Enterprise users can’t request control of an anonymous user’s shared screen in Skype for Business Server 2019
  • 4507232 Resuming a PSTN call that was put on hold results in one-way audio in Skype for Business Server 2019
  • 4510851 SCOM SQL alerts are created every hour on SQL secondary replica server if “Always On” for Monitoring server is set in Skype for Business Server 2019
  • 4510844 Can’t find the response group agent that’s synced from an existing distribution list in Skype for Business Server 2019
  • 4510855 Can’t edit interactive RGS workflows via the web interface in Skype for Business Server 2019
  • 4526182 In-a-meeting and Presenting presence states are available for UCWA clients in Skype for Business Server 2019
  • 4510850 Skype for Business on Mac user’s latest photo can’t be seen until signing in to a Windows client in Skype for Business Server 2019
  • 4510846 “InstallDatabaseInternalFailure: An internal error has occurred…” error when you install new databases in Skype for Business Server 2019
  • 4525504 bootstrapper.exe doesn’t work in Skype for Business Server 2019
  • 4511313 “Too many outstanding requests for a single user” error occurs on Front-End servers in Skype for Business Server 2019
  • 4532748 New registry key “\SOFTWARE\Microsoft\ExchangeServer\v15\MSExchange OWA” for Skype for Business Server 2019
  • 4503584 “The Audio/Video Conferencing Server has failed to create a conference” error (ID 32005) occurs on Audio/Video Conferencing Server in Skype for Business Server 2019
  • 4525500 Users who’re not Enterprise Voice enabled can dial out when PreventPSTNTollBypass is true in Skype for Business Server 2019
  • 4525499 Call forwarding and voice mail not working for LBR users who’re signed out of all clients in Skype for Business Server 2019
  • 4518680 Can’t transfer external calls by using Polycom VVX phones in Skype for Business Server 2019
  • 4510847 Rate My Call on UCWA clients still shows in Skype for Business Server 2019
  • 4525503 Support Skype Meetings App loading the latest source from CDN if ECS request fails in Skype for Business Server 2019
  • 4487817 Conversation History time stamp in Outlook differs from the time stamp of UCWA clients in Skype for Business Server 2019

Continue reading ‘SfBS 2019 CU2 December 2019’ »

Get-RibbonSbcUptime.ps1

Inspired by a question from John Cook on Twitter, I’ve taken my “Update-RibbonADCache.ps1” script, and through the magic of “Save As” we now have Get-RibbonSbcUptime.ps1.

Get-RibbonSbcUptime.ps1 invokes a REST login to your Sonus/Ribbon SBC 1k/2k/SWe-Lite and reports how long it’s been running: the CpuUptime.

It outputs to the pipeline either a timespan object, or a literal string in the same format the SBC displays on its System/Overview tab.

 

Continue reading ‘Get-RibbonSbcUptime.ps1’ »