Had a strange issue today, and looking into it, found even more strange issues, particular revolving around Teams finally providing the admin access to a user’s calling settings.
When Teams calling originally rolled out, I thought it was strange (but not surprising) that as an admin, I couldn’t access or change a user’s calling settings. It could be done in some ways via the Powershell module, but not in the Teams admin portal. (At the time only the user themselves could set the settings in the Teams application under Settings > Calls).
Fast forward to now, I’m not sure when it appeared as I mostly use Powershell now, but the admin portal gained the user’s calling setting screens, so I can set both calling settings as well as voicemail settings. You can find these settings by looking up a user in the Teams admin panel, and going to the Voice, or Voicemail tabs.
The strange part of this comes in where I had a user who couldn’t get calls when offline – Teams was replying 480 – Temporarily Unavailable (aka busy) back to the SBC.
Now this user is part time so I thought it might have something to do with her settings, maybe she fiddled with something. In looking at the new admin center GUI, I realize her “if unanswered” setting was set to “None”. Well that certainly explains why her calls aren’t answered!
So while I would easily set the settings right in the GUI, hit OK and move on, I figured I’d just see where these settings are using the Powershell module, so I can avoid this issue in the future. (I’m not sure why it was this way, but chalking it up to new user playing with settings).
That said, I couldn’t find these settings anywhere in get-csonlineuser. As it turned out, I had to use get-csusercallingsettings (so I guess the settings are now seperate from the account). Sure enough just about everything was blank.
So I went to set the isunansweredenabled to TRUE, it told me I couldn’t specify that setting WITHOUT specify the unanswereddelay setting as well (how long to ring before it becomes considered “unanswered”. Because of that, I know for sure this user’s settings were completely blank. I added that setting to the parameters (it has to be in the hh:mm:ss format), so -uansweredDelay 00:00:20 (for 20 seconds).
That seemed to do the trick, and now her calls were actually going to voicemail. So I figured, hey, since I know what settings need to be set, let me just verify the last few users I set up don’t have the same issue. After going through a few, I found most were actually blank! Then I ran a script against all users, and found many others were “mostly” blank. WTF.
So I tried calling a user who I knew was offline, and after 20 seconds, it did go to voicemail, despite the “blank” settings. Another WTF. Verified in the GUI (as you see above) that the user did not have an “if unanswered” setting specified.
HOWEVER, they DID have the unansweredDelay setting (which is labeled “ring for this many seconds…” in the GUI). So it seems that while some of these settings may be blank, as long as I user has the delay setting, it will default to voicemail.
Am I crazy?
So I’m not sure what’s going on with these settings, users who have been set up for quite a while have blanks for settings like unansweredTarget and isUnansweredEnabled, yet voicemail works fine, so I guess I can look for the delay setting to really see if anyone else’s voicemail is “broken”. I may use Powershell to fix these missing settings up, as I’m sure they’ll come back to bite me later on, but really, I’m not sure how they got that way.