Issue: Unable to leave Voice Mail on Skype for Business (Lync).
Skype for Business and Lync Monitoring report shows following diagnostic error.
1. 15030; reason="Failed to route to Exchange server"
2. 15032; reason="Re-directing request to the destination in 302"
3. 24019; reason="Remote participant mismatch"
4. 1041; reason="Peer server pool is out of service"
5. 1010; reason="Certificate trust with another server could not be established"
6. 15010; reason="Routing to UM for voice mail deposit"
7. Lync Server shows error event ID: 44022 (An attempt to route to an Exchange UM server failed) and 44009 (Attempts to route to servers in an Exchange UM Dialplan failed).
Most of the above errors tide with certificate. So first place to look is certificate see if certificate is assigned or not, If certificate is assigned then check if assigned certificate to UM and UMCallRouter services are valid or not.
Here are the more troubleshooting steps which you can follow to resolve UM issue:
Check on S4B or Lync Front Server and see if error event 44022 and 44009 are logged.
1. First step is to make sure, that your partner applications in Skype for Business Server or Lync server and Microsoft Exchange Server are correctly configured. Refer complete process.
Note: Exchange 2013 Client Access servers running the Microsoft Exchange UM Call Router service and Mailbox servers running the Microsoft Exchange UM service.
a. Log on to Skype for Business or Lync front Server and run below command on PowerShell and verify the exchange application. E.g. result shows like below.
c. Means Exchange is added as partner application on Skype for Business or on Lync server.
d. You can run same command to exchange server on PowerShell. E.g Get-PartnerApplication
e. Now test Lync-Exchange connectivity using S4B or Lync Server PowerShell. E.g. command let .
Test-CsExStorageConnectivity -SipUri "sip:email@example.com"
2. Second step to check security mode for the dialplan in Exchange Server, if it set to unsecured then change it to "SIP Secured" or “Secured”. It must resolve event ID: 44022 error.
Test Voice mail and check. If voice mail not working then follow below steps.
3. Check event log on exchange server and see if any specific error shows which causing voice mail issue on Exchange server.
4. Check S4B or Lync front Server error event log and see what exchange server name flag for error and check that server.
5. Check Exchange server has correct certificate. Do not use self-signed certificate when you’re integrating UM with S4B or Lync Server.
A. You can check assigned certificate, services name, thumbprint using below PowerShell command on Exchange server.
Login to exchange server and see what certificate assigned to UM and UMCallRouter services using below PowerShell command. If certificate is not assigned then assign the correct certificate to these services:
Get-ExchangeCertificate -server Exch-server1 | fl subject,services,thumbprint
B. Check assigned certificate thumbprint and see if this cert is self-signed or corporate CA issued certificate. E.g.
Certificate thumbprint: 139B785E5B63777C43F9BA7885CF7A2424694148 - assigned to UMCallRouter service. However this certificate is self-signed (Issued by name shows same server name instead of corporate CA). See the below image.
C. Assign new certificate which is issued by corporate CA (you can us public CA certificate as well.) to UMCallRouter and UM service and not self-signed certificate.
Assign certificate using PowerShell command:
-Services “UM, UMCallRouter”
6. In case if you are seeing diagnostic header error like below:
1010; reason="Certificate trust with another server could not be established"
Check assigned certificate to each Exchange services (UM and UMCallRouter) and install correct Root certificate.
You may see below error on certificate information.
7. Make sure the UMCallRouter component is in set to”Active” state. If UMCallRouter component is set to "Inactive” state then you need to change it to “Active” state.
You can check all components using below PowerShell command.
Get-ServerComponentState -Identity Exch-Server1
You can set UMCallRuoter to Active state using below PowerShell Command.
Set-ServerComponentState -Identity Exch-server1 -Component UMCallRouter -State Active -Requester HealthAPI
8. Make sure you exchange UM dial plan is set correct. To create UM dial plan Refer:
9. Now you can test UM.