Forum Discussion
Emergency Locations, Port Data, and physical phones
- May 22, 2021
From my the last update from Microsoft, the next update will be in June should have fixes for the phones.
As for the MS Teams client itself, that should work assuming you have the correct information in Teams. I'd double check the values being sent in the LLDP packets to make sure you're using the right values for chassis ID and port ID. Some switches will send extra information (TLVs) so it's important to grab the right fields.
If you connect a computer with Win10 and the Teams client on, give it some time to verify the networks. Go to Settings > Calling and see what location is showing up. If you see a location, close the settings window, and hit ctrl+alt+shift+1. It'll dump a bunch of log files into your Downloads\ folder. If you look at the file named "MSTeams Diagnostics <datetime>.txt" and search for chassisId, you should see what the Teams client is sending to Microsoft. You could confirm this is what you have configured.
I have got it working using subnet so I know the trusted IPs and locations etc are all set up, but I cannot get it working with switch/port.
I have done a Wireshark capture and can see the LLDP information from the phone which I have put into TAC (using the xx-xx- format for switch MAC) but it does not give me the location.
I am also trying to do this with a Windows 10 client but I cannot get this working either.
I have a Cisco and UniFi switch and they both have LLDP enabled.
Does anyone have any tips please?
Thanks!
- janglissMay 22, 2021Iron Contributor
From my the last update from Microsoft, the next update will be in June should have fixes for the phones.
As for the MS Teams client itself, that should work assuming you have the correct information in Teams. I'd double check the values being sent in the LLDP packets to make sure you're using the right values for chassis ID and port ID. Some switches will send extra information (TLVs) so it's important to grab the right fields.
If you connect a computer with Win10 and the Teams client on, give it some time to verify the networks. Go to Settings > Calling and see what location is showing up. If you see a location, close the settings window, and hit ctrl+alt+shift+1. It'll dump a bunch of log files into your Downloads\ folder. If you look at the file named "MSTeams Diagnostics <datetime>.txt" and search for chassisId, you should see what the Teams client is sending to Microsoft. You could confirm this is what you have configured.
- JakeReedMay 22, 2021Copper Contributor
Thank you jangliss this is really helpful.
I didn't see your update but I have seen it now. I assume this bug is regarding the native Teams phones getting location information at a port level? Did you ever get it working at just a switch level or didn't you try this?
I have done a Wireshark trace from my laptop Windows 10 client and my Yealink phone.
Both traces give me the PortID as "Port 2" / "Port 8" and the chassisID as my switch MAC address in the format xx:xx:xx etc. The Microsoft documentation says to enter the MAC in their format xx-xx-xx which is what I did and it looks like you did the same format.
I still don't have any location information in my Teams client unfortunately. I added the locations into TAC a couple of weeks ago.I do have this logged with MS at the moment and after a couple of initial looks they said everything looks fine but so far there hasn't been a lot of traction with the case.
Cheers.
- janglissMay 27, 2021Iron Contributor
No LLDP location information (switch or port) is working on the Teams Phone devices, this should be fixed/released in June per support/PG. Fingers crossed there.
For your issue, there's a couple of things you can probably check.
- Ensure you setup the trusted IPs for your network. This is the public IP address(es) that Teams will see clients appear from. In the Teams Admin Center (TAC), you'll find this under Locations > Network Topology, or Get/Set-CsTentantTrustedIPAddress.
- I'm assuming this is already done as Teams doesn't let you add a switch/port/bssid to a location unless it is already set, but the location must have lat/long defined. You cannot edit a location address once it has been verified, so when creating civic addresses/locations, remember to set the lat/long
- Verify if you get location data based on IP subnet. Annoyingly you cannot use a supernet if you have locations broken down, so you have to define the subnet for each location. For example if you have an IP subnet of 10.10.0.0/16 for building A, and 10.10.1.0/24 for building A floor 1, you must define the subnet for the emergency location as 10.10.1.0.
- Teams client updates the location information on two conditions, that I'm aware of.
- On network change (ie connecting to a new switch)
- Every 4 hours (I think that's the timing)
If you're still seeing issues resolving the location, you might take a look at the logs on the Teams client. With the Teams client in focus, use ctrl+alt+shift+1. It should dump a bunch of log files into your Downloads folder. Depending on your client version, it might put it in a sub folder, it might not. You'll want to look at the file named "MSTeams Diagnostics Log <datetime>.txt". Search for getLocation, LocationCache, and LocationService. Those will often give you a hint as to what is in the information being sent to Teams for the location. My LocationCache entry in one of my logs looked something like this:
LocationCache: [e911][setLocationResponseInCache][key={"bssid":"ac-4a-56-XX-XX-XX","ipv4":"xx.xx.xx.xx","mac":"84:1b:77:xx:xx:xx","ssid":"XXXXXX","subnetLengthIpv4":"16","isCallingPlanUser":false}][value={"locationResponse":{"emergencyCallingPolicy":{"notificationGroup":"XXXXXXX","notificationMode":"NotificationOnly","policyDocument":"TeamsEmergencyCallingPolicy=Tenant:XXXXXX"},"emergencyCallRoutingPolicy":{...
In this case you can see it's showing BSSID, so I was on the wireless when this one was captured.
One last thing that might be worth an attempt, sometimes Teams caches data, and doesn't refresh when you think it might. Ensure Teams is really closed (no running tasks), go into your %AppData%\Microsoft\ directory and rename Teams to Teams.Old, reopen Teams and test again.
Hope that helps.