Last week I was at a customer, which had problems with the Unified Messaging in Exchange 2013. The problem was that the voicemail was never delivered to the users mailbox, and the notification for missing call was also missing.
The voicemail policy and dialplan looks fine and so did the Lync configuration. I could connect to the users voicemail and was also redirected fine if a user didn’t answer the phone. But the messages was never delivered to the end user.
The eventlog didn’t show anything.
So to get some more information about what is happing inside the UM service I turned on logging and restarted the service.
Get-EventlogLevel “EXCH15\MSExchange Unified Messaging\UMCORE” | Set-EventlogLevel -Level high
After making a call to a user voicemail I received an error in the eventlog:
The Microsoft Exchange Unified Messaging service on the Mailbox server encountered an error while trying to process the message with header file “C:\Program Files\Microsoft Exchange Server\V15\UnifiedMessaging\voicemail\ffde2966-2114-49d0-8e18-6c13448d6c81.txt”. Error details: “Microsoft.Exchange.UM.UMCore.SmtpSubmissionException: Submission to the Hub Transport server failed. The operation will be retried. —> Microsoft.Exchange.Net.ExSmtpClient.UnexpectedSmtpServerResponseException: Unexpected SMTP server response. Expected: 220, actual: 500, whole response: 500 5.3.3 Unrecognized command
When I looked in that folder all the voicemail was there.
I also looked at the SMTP receive log and found the same 5.3.3 Unrecognized Command
So after a little bit of looking at the log files I found the problem:
The customer had a custom receive connector, which they where using for internal relay and that connector was missing Exchange Server Authentication
When this is missing, the UM Service cannot deliver the voicemail messages to the end users. So after correcting that and restarted the UM Service the queued voicemails was delivered and everything worked as expected.
That was a lesson leaned J
Remember to set back the logging to the default level with this command
Get-EventlogLevel “EXCH15\MSExchange Unified Messaging\UMCORE” | Set-EventlogLevel -Level Lowest