When calling into an Exchange Auto Attendant, dialling an extension number rings the user’s extension as expected, however, when using the dial-by-name feature the call is transferred straight to Exchange UM voicemail.
The first thing that struck me as weird was the fact the user wasn’t even enabled for UM (this is correct because the extension is on the end of another PABX which handles voicemail locally). So how was I getting to an Exchange UM voicemail box? The answer was found on Paul Robichaux’s blog, where I uncovered an unknown feature of Exchange UM that allows this to happen. The Dial Plan has a setting that enables this:
So that explains why I was getting to voicemail but doesn’t resolve my issue. Why is dial-by-name ending up in Exchange UM voicemail, whereas dialling the extensions gets me where I want to be. My assumption is that when using dial-by-name for a user that is not UM enabled, Exchange does not know what extension to transfer the call to, and falls back to voicemail. I am not sure if there is any other way to tell Exchange what extension to find a user on if they are not UM enabled; if you know of one please let me know in the comments!
To prove my assumption I enabled an affected user for UM, and voila dial-by-name magically started working!