In Lync and Skype for Business, there is an option to configure sites/subnets under the Network Configuration tab:
The reason for creating those setting is based on 3 major components:
- Call Admission Control
- Media By Pass
- Location Report and Sites Association
As mentioned in Microsoft TechNet Network settings for the advanced Enterprise Voice features in Skype for Business Server, it is very important to configure all the IP subnets properly in order for those 3 features to work as expected:
The IP subnets specified during network configuration on the server must match the format provided by client computers in order to be properly used for media bypass. A Skype for Business client takes its local IP address and masks the IP address with the associated subnet mask. When determining the bypass ID associated with each client, the Registrar will compare the list of IP subnets associated with each network site against the subnet provided by the client for an exact match. For this reason, it is important that subnets entered during network configuration on the server are actual subnets instead of virtual subnets. (If you deploy call admission control, but not media bypass, call admission control will function properly even if you configure virtual subnets.)
For example, if a client signs in on a computer with an IP address of 172.29.81.57 with an IP subnet mask of 255.255.255.0, Skype for Business will request the bypass ID associated with subnet 172.29.81.0. If the subnet is defined as 172.29.0.0/16, although the client belongs to the virtual subnet, the Registrar will not consider this a match because the Registrar is specifically looking for subnet 172.29.81.0. Therefore, it is important that the administrator enters subnets exactly as provided by Skype for Business clients (which are provisioned with subnets during network configuration either statically or by DHCP.)
What does it actually means?
The result of misconfigured subnets can result in CAC rules which does not applies as expected, Media Bypass which does not work for specific sites Per Site Media Bypass was enabled and missing entries from the Location Report which can result in incorrect information or usage stats.
How to find those subnets?
In order to find the subnets which are not related to any sites but do report active calls, I’ve created the following SQL query which uses the QoEMetric database and an existing view which display all relevant data.
The Query pulls all the the calls within the last week (which can be configured) and uses the following assumptions:
- The Caller Site is reported as NULL (Empty) and there is no association to existing sites/regions
- The User Agent is a number between 4 and 255 which means it filter out any irrelevant servers or services
- The Caller is within the Internal network and not using External subnets such as 192.168.x.x or not using EDGE services
- The Call is an Audio Call (Video and Conferencing is not taking under consideration)
DECLARE @beginTime AS DateTime = '7/6/2015';
DECLARE @endTime AS DateTime = '7/13/2015';
[qoemetrics].[dbo].[AudioStreamDetailView].StartTime >= (@beginTime)
AND [qoemetrics].[dbo].[AudioStreamDetailView].StartTime < (@endTime)
AND ([qoemetrics].[dbo].[AudioStreamDetailView].CallerUserSite is NULL)
AND [qoemetrics].[dbo].[AudioStreamDetailView].CallerUserAgentType between '4' and '255'
AND ([qoemetrics].[dbo].[AudioStreamDetailView].CallerInside = 1)
The query needs to run against a specific view which is the AudioStreamDetailView under the QoeMetrics database:
The result will be a list of all calls matching the assumptions above and their details:
Once you have the list of all IP/Subnets which calls are being reported from, you can add those specific subnets to the Lync/SfB control panel and see it changes it the location report.
Based on my experience, most of those subnets are usually VPN or Wireless relayed and those can be added once the specific mask is known.
Please note that you can also run the AudioStreamDetailView and get a list of a lot of relevant information that can be used for troubleshooting other scenarios as well.