Problem with MS Teams that affects the display of online status when using pihole and unbound

Please follow the below template, it will help us to help you!

If you are Experiencing issues with a Pi-hole install that has non-standard elements (e.g you are using nginx instead of lighttpd, or there is some other aspect of your install that is customised) - please use the Community Help category.

Expected Behaviour:

_[MS Teams should always display online status correctly] _

Actual Behaviour:

_[There is a problem with MS Teams that affects the display of online status. It seems that MS Teams does not show the correct status.The temporary solution that I have found is to run the command "pihole restartdns" on the terminal, which refreshes the DNS cache and fixes the status display. However, this is not a permanent fix, as the problem reoccurs after a while.] _

Debug Token:

[https://tricorder.pi-hole.net/SP6Uamav/]

Your debug log all looks great, no issues. Is this only happening when using Pi-hole and Unbound for DNS?

Is anything being blocked which might contribute? You can disable all blocking temporarily (Disable Blocking > Indefinitely, and later Enable Blocking) and seeing if it behaves better then.

It would be worth temporarily trying it with another DNS server and seeing if the behaviour is consistent. You could start by switching from Unbound to different upsteam server and testing for a while, then try switching from Pi-hole to a different DNS, eg your router's, and testing further.

This should help determine if this behaviour is unique to using Pi-hole and/or Unbound. A search of Teams and status finds tons of articles and posts about dealing with inaccurate Teams status, so it seems to be an established behaviour for that product.

The issue occurs when using Pi-hole alongside Unbound. However, after changing my DNS to 8.8.8.8, the status is now correctly displayed. Currently, on my work PC, I’ve configured the DNS to 8.8.8.8 to avoid this problem. Is there anything specific I need to set up in Pi-hole with Unbound to ensure it works smoothly?

Restarting Pi-hole does not refresh the cache, it completely drops it.
In addition, Pi-hole's replies would be the same, regardless whether its answering from a fresh upstream reply or from its cache.
And Pi-hole's cache remembers IP addresses for domain names, i.e. it does not hold your MS Teams status information.

Pi-hole could only be involved here by blocking a domain that access to is needed in order to update or query the status.
However, if Pi-hole would do so, it would do so consistently, i.e. you would see the online status consistently failing as well.
Restarting Pi-hole would not change that.

If MS Teams would circle among different domains for status updates, then it may be possible that Pi-hole would block only one of them. Monitoring Pi-hole's Query Log would help you verify whether that's the case, and How do I determine what domain an ad is coming from? may also be helpful.

As applying chrislph's advice and changing Pi-hole's upstream to 8.8.8.8 seems to have improved your observation, that could suggest that unbound may be involved.

unbound would refuse to resolve a domain if DNSSEC validation fails (as it should), but it would also do so consistently, until the respective domain maintainer fixed a configuration error or third-party manipulation stops.
Also, it may sometimes encounter temporary issues when resolving a domain, but usually those should be cleared just by repeating a query.

But as chrislph mentioned, MS Teams seems prone to show wrong online status information intermittently, e.g. bug - Fix Microsoft Teams showing incorrect status: change Offline to Available - Super User or Microsoft Teams Status Not Updating? 10 Fixes to Try or Your actual presence status isn't displayed in Teams - Microsoft Teams | Microsoft Learn. I notice that none of those proposed fixes mention DNS.

This would suggest that an MS Teams incorrect online status would be specific to MS Teams.

I directly changed the DNS to 8.8.8.8 in the network settings on my work PC, not in the Pi-hole’s upstream DNS. However, all my other clients still use the Pi-hole + Unbound DNS configuration. To troubleshoot the issue, I’d like to temporarily disable Unbound without uninstalling it. I know we can temporarily disable Pi-hole blocking from the web interface, but is there a way to do the same for Unbound via the terminal?

Yes:

However, you probably should monitor your Query Log for blocked or failed DNS queries first.
If there are no such queries, then chances are slim that switching upstreams would change anything.

This (changing upstream) can be done just by modifying in web ui with unbound installed ?

Yes, via Settings|DNS.

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.