BSSID Wildcards for Emergency Services in Microsoft Teams

When deploying Microsoft Teams Phone System, a critical piece is ensuring users can dial Emergency Services. How to do that is not the point of this post (though, look for a post on that soon).

The point of this post is to call out a few things around using a BSSID to determine where a user is located.

What is a BSSID

First, what is a BSSID? The BSSID is the Basic Service Set Identifier. This describes the section of a wireless network. It is typically made up of the MAC address combined with the SSID. For more details on it specifically you can go here: https://www.speedcheck.org/wiki/bssid/.

Since the BSSID is made up of the MAC address and the SSID, you can get a unique way to identify which AP a user is connected to when placing an emergency services call. By default, if you have an SSID that is operating on both the 2.4ghz and 5ghz ranges, you will have two different BSSID’s (one for each band).

To find out what your BSSID is, you can use “netsh wlan show interfaces” from your Windows 10 PC to see it: PowerShell BSSID

You can also find it out from your wireless network gear (specific instructions need to be determined based on manufacturer, i.e. Cisco, Ubiquit, etc.).

BSSID and Microsoft Teams

So, this is all well and good, but how does this play into Microsoft Teams you ask? Let’s dive in.

Per the documentation, when you want to identify a wireless network within Teams for emergency services, you need to identify the BSSID. We already covered that but if you have several SSID’s in your environment, you could end up with a long list of BSSID’s (since you will potentially have two BSSID’s per SSID if you are using both bands).

You can do that in the Teams Admin Center (TAC): Teams Admin Center - BSSID

Or you can do it via PowerShell using Set-CsOnlineLisWirelessAccessPoint: https://docs.microsoft.com/en-us/powershell/module/skype/set-csonlineliswirelessaccesspoint?view=skype-ps.

The twist

While working with a customer recently, we found out that with Cisco Aironet’s, that all this can come crashing down. When using the Aironet’s (and possibly other systems), if you add or remove an SSID from an AP, it re-generates the BSSID. For this customer, they had 250+ AP’s across their environment and all of them were in an AP group. That means if an SSID was added or removed, all 250 AP’s would regen their BSSID’s. This would require them to redo all the BSSID’s inside Microsoft Teams. Even if they had just one SSID, that would be 500 entries they had to redo (FYI, they had more SSID’s than that).

One answer was that any time the network team needed to make a change, they would have to alert the UC team but that is a solution that introduces a large potential for error and you don’t want that when dealing with Emergency Services.

BSSID Wildcards

I reached out to the Microsoft Teams product group and found that they had a solution coming, wait for it, BSSID Wildcards!

What’s great about this is it actually solves two problems. First, it solves the issue for the customer since with the Aironet’s, only the last one or two characters changes in the BSSID. The second is that we no longer need to do a BSSID for every BSSID on an AP since all of them will have a common beginning with only the last characters changing.

So, how do you implement this? Today (as of 7/15/2020), this is only available by entering the BSSID’s via PowerShell. Even the documentation hasn’t been updated to show this but you can do it by simply using a “*” for the last one or two characters.

Example:

Set-CsOnlineLisWirelessAccessPoint -BSSID 0B-23-CD-16-AA-C* -Description "LIS WAP with BSS ID 0B-23-CD-16-AA-C*" -LocationId d26a4935-5997-4bcf-b0db-6ae5a88805fd

I’m sure it should be available in the TAC in the near future as well.

Hopefully this helps you with using BSSID’s and Microsoft Teams!

comments powered by Disqus