LIS wireless access:

Packets float weightlessly through –

Abort, Retry, Fail?

 

As you know, the big story in the world these days revolves around Watson, IBM's new supercomputer, a computer currently taking on a pair of human champions in the game show Jeopardy. After the first round in the two-round competition, Watson has what appears to be an insurmountable lead; barring a power outage or bad sector on partition 1, the computer seems destined to triumph over its human counterparts.

 

Although it might be a bit premature, those of us here at the Lync Server PowerShell blog would like to congratulate Watson on its victory: a job well done. Still, our congratulations are tempered a bit by the fact that Jeopardy is actually pretty easy: for goodness sake, they give you all the answers. Because of that, we decided to put Watson to a real challenge, and asked it to write today's Lync Server PowerShell haiku. Watson agreed.

 

Note. Based on line 3 of the haiku, it appears that Watson runs on OS/2. Who would have guessed?

 

To be honest, we weren't all that impressed with Watson's efforts, at least not at first. Granted, the first two lines were pretty good, but then the thing blew up completely. On the other hand, though, the first two lines were pretty good; by comparison, we couldn't come up with any haikus we'd ever written that had two pretty good lines. Therefore, we have no choice but to concede: Watson is better at writing haikus than we are.

 

Although, then again, probably pretty much any computer could write haikus better than we can. As could most toaster ovens, for that matter.

 

Note. If you're keeping track of the race for world domination, the score is currently Computers 4, Humans 4. Computers are better at haikus, Jeopardy, chess, and calculating the digits of pi. However, humans are still superior at beer pong, Twister, miniature golf, and pie-eating contests.

 

Although we have heard rumors that Apple has spent years trying to perfect an iMac that can play beer pong.

 

We also asked Watson to explain today's haiku, and its relation to Microsoft Lync Server 2010. Here's what it came up with:

 

0101000000111100000111111100000011111100101010101111110000110100001100100

 

Which, come to think of it, is also better than the explanation we were going to write.

 

On the off-chance that your binary is a little rusty, Watson was simply pointing out that today's haiku deals with the CsLisWirelessAccessPoint cmdlets: Get-CsLisWirelessAccessPoint, Remove-CsLisWirelessAccessPoint, and Set-CsLisWirelessAccessPoint. The CsLisWirelessAccessPoint cmdlets are used as part of the Enhanced 911 (E911) service, a feature introduced in Lync Server 2010 that enables emergency responders to identify the location of a caller without having to ask the caller for that information. (Just like the standard 911 service does.) If a caller dials 9-1-1 over a Voice over Internet Protocol (VoIP) connection, location information must be extracted based on various connection factors. To do this, a VoIP administrator must configure a location map (also known as a wiremap) that helps determine a caller’s exact location. In turn, those physical locations must be mapped to the WAP through which the call was routed.

 

Obviously, it’s a little more complicated than that, but you get the basic idea; the wiremap you create must include all of your wireless access points. The CsLisWirelessAccessPoint cmdlets provide a way for you to include wireless access points in your organization's wiremap. What happens if you don't include WAPs in the wiremap? Well, then you're essentially telling anyone who connects wirelessly that they're on their own in case of an emergency.

 

And no, that wouldn't be a very nice thing to do, would it?

 

Fortunately, it's very easy to create a new wireless access point:

 

Set-CsLisWirelessAccessPoint -BSSID 99-99-99-99-99-99 -Location "30/1000" -HouseNumber 1234 -PreDirectional NE -StreetName First -StreetSuffix Avenue -City Redmond -State WA -Country US -PostalCode 99999

 

What we've done here is use Set-CsLisWirelessAccessPoint to create our new wireless access point. Why didn't we use New-CsLisWirelessAccessPoint to create that access point? Um, hold on a second …. OK, Watson says we did that because there's no such thing as the New-CsLisWirelessAccessPoint cmdlet. As it turns out, the E911 cmdlets are a bit unusual: they tend to use a Set cmdlet both to create new objects and to modify existing objects. In the command shown above, Set-CsLisWirelessAccessPoint first looks to see if a wireless access point with the BSSID 99-99-99-99-99-99 already exists in the locations database. If so, that access point will be updated with the new location information. If not, a brand-new access point with the BSSID 99-99-99-99-99-99 will be created.

 

Note. For you trivia buffs out there (and just in case this ever comes up on Jeopardy) that's actually the way all the Lync Server cmdlets used to work: in the early pre-beta days, the Set cmdlets were used to both modify existing objects and create new objects. Prior to the beta release this was changed so that Set cmdlets were used to modify existing objects and New cmdlets were used to create new objects. But for some reason, the E911 cmdlets weren't changed.

 

Oh, good point: what exactly is a BSSID? BSSID is short for Basic Service Set Identifier, and is simply a unique value that lets you identify a station in a wireless access point. The BSSID is typically based on the MAC address of that station.

 

If you'd like to review information about all your wireless access points, well, that's the job for Get-CsLisWirelessAccessPoint:

 

Get-CsLisWirelessAccessPoint

 

To view information for a particular wireless access point, retrieve all the access points and then pipe that data to the Where-Object cmdlet:

 

Get-CsLisWirelessAccessPoint | Where-Object {$_.BSSID -eq "99-99-99-99-99-99"}

 

And if you want to get fancy, you can even look for, say, all the wireless access points on First Street in Redmond:

 

Get-CsLisWirelessAccessPoint | Where-Object {$_.StreetName –eq "First" –and $_.City –eq "Redmond"}

 

We'd like to see Watson do that!

 

That's all we have for today. We'd like to encourage everyone to tune in tonight and watch the final round of the Computer vs. Humans challenge on Jeopardy. (And we'd also like to encourage the producers of Jeopardy to send us a token of their appreciation for having encouraging all our readers [both of you] to tune in tonight.)

 

By the way, if you do watch Jeopardy tonight, listen closely to Watson's voice. Does anyone else think he sounds like the HAL 9000's little brother? Is anyone else concerned about that?

 

Note. The HAL 9000 was voted the 13th best (worst?) movie villain of all time by the American Film Institute. Number 1 on the list? Hannibal Lecter, a human. In other words, Humans 5, Computers 4!

 

Editor’s note. Once again, it’s the editor’s job to keep the writers honest (or at least close enough to it to keep the lawyers away): No, Watson didn’t really write today’s haiku. This haiku is in no way affiliated with Watson or anyone – or anything – at IBM. E pluribus unum, habeus corpus, cogito ergo sum, etc.