Ran into a situation where I have Lync 2013 integrated with Exchange 2013 on premise and getting the following error messages popping up in the Lync Front End Server's event logs:
Log Name: Lync Server
Source: LS Exchange Unified Messaging Routing
Date: 4/24/2014 10:37:43 AM
Event ID: 44022
Task Category: (1040)
Level: Error
Keywords: Classic
User: N/A
Computer: BTFLS13FE.hq.biztechfusion.com
Description:
An attempt to route to an Exchange UM server failed.
The attempt failed with response code 504: BTFEX13.hq.biztechfusion.com.
Request Target: [HQ_AA.HQ@BTFEX13.hq.biztechfusion.com], Call Id: [ef6c57cc2badedfb293762c20486e0b7].
Failure occurrences: 4, since 4/24/2014 8:33:31 AM.
Cause: An attempt to route to an Exchange UM server failed because the UM server was unable to process the request or did not respond within the allotted time.
Resolution:
Check this server is correctly configured to point to the appropriate Exchange UM server. Also check whether the Exchange UM server is up and whether it in turn is also properly configured.
Log Name: Lync Server
Source: LS Exchange Unified Messaging Routing
Date: 4/24/2014 10:36:44 AM
Event ID: 44009
Task Category: (1040)
Level: Error
Keywords: Classic
User: N/A
Computer: BTFLS13FE.hq.biztechfusion.com
Description:
Attempts to route to servers in an Exchange UM Dialplan failed
No server in the dialplan [HQ.hq.biztechfusion.com] accepted the call with id [ef6c57cc2badedfb293762c20486e0b7].
Cause: Dialplan is not configured properly.
Resolution:
Check the configuration of the dialplan on Exchange UM Servers.
I found an article (http://blogs.technet.com/b/rischwen/archive/2013/10/01/series-exchange-2013-and-lync-2013-integration-with-asterisknow-pbx-pt-3.aspx) that pointed me to the resolution. The problem was that the Exchange 2013 feature called "Managed Availability" which, according to the article "has the power to disable different components of the Exchange Server", had disabled the UMCallRouter component.
Resolution:
Run the following command to check the status of the UM component:
Get-ServerComponentState -Identity ExchangeServerName
Discovered that the UMCallRouter component was set to "Inactive". Ran the following command to set the component to active:
Set-ServerComponentState -Identity ExchangeServerName -Component UMCallRouter -State Active -Requester HealthAPI
Voila! Exchange UM returned to proper functioning order.