I recently had two issues at a customer that I would like to share with you:
The first one is about PSTN call looping and the second one is about Unassigned numbers which don’t work for external PSTN users:
PSTN Call is Looping
I had an issue where an PSTN user calls a phone number which belongs to the organization but is not assigned to any users or services in Lync.
In this case the customer was using a sip trunk from a Danish Vendor called Cirque, and we experience that when a call was made to an unassigned number, that call would cause a loop and in some cases causes the mediation server to fail.
With wireshark we saw the call came in to Lync, but was routed back to the sip trunk vendor again, which again sent the call back to Lync. So we ended up having a lot of concurrent calls between Lync and the sip trunk vendor.
The problem with this is that one call, can end up eating all the media ports and sip trunk channels which again can make the mediation server to fail or stop responding to “real” calls.
I created a support case with Microsoft and it turns out that this is a known issue in Lync 2013 – in the Inter-trunk routing in Lync.
Microsoft has described the problem here: http://support.microsoft.com/kb/2792707/en
The solution to the problem is according to Microsoft article to use unassigned numbers in Lync, however that did not work either (see issue 2). The Microsoft technician that I was assigned had another solution which is to “disable” the inter-trunk routing.
This is done by removing all PSTN usages from the Trunk Configuration
And bingo that worked. After removing the PSTN usage from the trunk configuration the call is stopped at the Lync Server.
Unassigned Numbers not working externally
When I was testing the above scenario to stop looped calls, I was looking at the Unassigned number feature in Lync.
To use Unassigned numbers in Lync you can configure it with these cmdlets:
First an Announcement and an action to what to do with the call (in my case I sent it to another number)
New-CsAnnouncement -Identity ApplicationServer:FRONTEND FQDN -Name “UnassignedNumbers” -TextToSpeechPrompt “You have called an unassigned number at Exchangepro.dk. You will now be redirected to the Headoffice Callcenter” -Language “en-US” -TargetUri sip:+firstname.lastname@example.org;user=phone
Next the numbers that are unassigned and link it to the announcement you create before
New-CsUnassignedNumber -Identity “UnassignedNumbers” -NumberRangeStart “+4511111111″ -NumberRangeEnd “+452222222″ -AnnouncementService ApplicationServer:FRONTEND FQDN -AnnouncementName “Unassigned Numbers”
This works great internally, but external PSTN users will newer reach the announcement service, which is also caused by the bug in the inter-trunk routing – so the solution to that problem is also to remove the PSTN usage from the Trunk Configuration.
As a side note to the unassigned feature: You can configure your entire range without that it conflicts with assigned numbers:
Have a Great Day J