Special note for slide 20:
Multiple routes in the same usage
• Gateway selected based on matching pattern.If multiple routes match, do not rely on route ordering for enforcing preference.
So even if Voice route test in Lync Contorl panel indicates that route works, you may see that FrontEnd may decide differently. When you trace SIP session you may observe that PhoneRoute is not exactly what you expected:
TL_INFO(TF_PROTOCOL) [pool\fe6]1830.044C::11/08/2013-21:40:09.582.00000175 (SIPStack,SIPAdminLog::ProtocolRecord::Flush:ProtocolRecord.cpp(265)) 
Start-Line: SIP/2.0 101 Progress Report
CSeq: 1 INVITE
Via: SIP/2.0/TLS yyy:59325;branch=z9hG4bK69EC0823.DE3BF7E7D064C968;branched=FALSE;ms-received-port=59325;ms-received-cid=2E200
Via: SIP/2.0/TLS zzz:57226;branch=z9hG4bK2C19BD82.033C499B38802969;branched=FALSE;ms-received-port=57226;ms-received-cid=141A100
Via: SIP/2.0/TLS 192.168.100.114:58378;received=xxx;ms-received-port=58378;ms-received-cid=3449B00
ms-diagnostics: 12006;reason="Trying next hop";source="fe6.xxx";PhoneUsage="National numbers (0xx xxx xx xx)";PhoneRoute="National numbers (0xx xxx xx xx) (Pool UX1)";Gateway="gw1.corp";appName="OutboundRouting"
The solution is to make sure there is one route for a pattern in a PSTNUsage. For that you may need to create another voice policy + PSTNUsage for users and map to the correct route.
Here is another linc that talk about troubleshooting in general:
And banch of tools that help: