Microsoft releases July 2015 update for Lync for Mac 2011 14.1.1 (KB3074981)

Source:

Download:

Fixes:

How to find all Lync/SfB Subnets which doesn’t match to a relevant site

Background

In Lync and Skype for Business, there is an option to configure sites/subnets under the Network Configuration tab:

image

The reason for creating those setting is based on 3 major components:

  1. Call Admission Control
  2. Media By Pass
  3. 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)

Query

DECLARE @beginTime AS DateTime = '7/6/2015';
DECLARE @endTime   AS DateTime = '7/13/2015';  

SELECT DISTINCT 
      [CallerIPAddr]
      ,[CallerUserSite]
      ,[CallerRegion]
      ,[CalleeIPAddr]
      ,[CalleeUserSite]
      ,[CalleeRegion]

  FROM [qoemetrics].[dbo].[AudioStreamDetailView]
  WHERE
  [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:

image

The result will be a list of all calls matching the assumptions above and their details:

image

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.

Source and Links:

Weekly IT Newsletter – July 13-17, 2015

Read the rest of this entry

Microsoft Releases July 2015 update for Lync 2013 (Skype for Business) (KB3054946)

Source:

Issues this update fix:

Known Issues:

Download:

Notes

  • The download page will display this update as for Lync 2013.
  • After you apply this July 14, 2015, update, Lync 2013 will be upgraded to Skype for Business.
    Get the general information about the new experience in Skype for Business.
  • You can still use the Lync client user interface after you apply this update for Lync 2013 (Skype for Business).
    Get the general information about how to switch between the Skype for Business and the Lync client user interfaces for Microsoft Office 365 users and Lync Server 2013 users.

Lync client call Ignore option result in fast-busy signal for incoming calls coming from Cisco

One of our customers had established recently a direct SIP connection between its Lync 2013 environment and Cisco UCS for VoIP call.

The integration itself worked well and Lync clients were able to make outbound calls and receive incoming calls from Cisco and vice versa.

With that said, there was one scenario in which if a Lync client received an incoming call from Cisco, if the Lync user click on the IGNORE option as shown below, the call will result in Fast-Busy signal if the default voice mail system is not Exchange Unified Messaging.

clip_image001 

The default behavior for those type of calls it is to go to the destination user Voice Mail, but that only happens if the its voice mail system is Exchange Unified Messaging.

For customers who are not using Exchange Unified Messaging and decided to continue working with their existing Voice Mail System (Unity or Asterisk for instance), the caller will result in having a Fast-Busy signal instead of redirect to the user Voice mail which is not the expected behavior.

MSPL for Help

In order to change that behavior, we’ve developed a MSPL Service script which reside on the Front-End server and listen for any incoming calls which include SIP 603 Decline in the header, which is the result of a user clicking on the IGNORE button.

603 Decline – The callee’s machine was successfully contacted but the user explicitly does not wish to or cannot participate.  The response MAY indicate a better time to call in the Retry-After header field.  This status response is returned only if the client knows that no other end point will answer the request.

With the help of the MSPL service, we’ve set our script to change any SIP 603 Decline and return 480 Temporary Unavailable instead, meaning that when a Lync user click on the IGNORE option on his side, the Front-End service will return the Cisco GW with a 480 Temporary Unavailable instead of 603 Decline which will result in continuous ringing on the Cisco side which will lead to the Cisco Voice Mail system and the expected behavior by the user.

clip_image001[7]

How to pull Exchange Online Unified Messaging Reports

One of the options exists within Exchange Online is the ability to pull out unified messaging reports and statistics on Voice Mails, Auto Attendant and other usages of Unified Messaging.

The information provided by the Exchange Online can be very useful for trending analysis, user adoption, usage and troubleshooting quality issues between the On-Premises networks and Exchange Online, especially as there is not a lot of information we can gather from the Exchange Online side which makes it very difficult to troubleshooting issues with failing or dropped UM calls.

Type of Reports:

Exchange Online provide two types of Unified Messaging Statistics reports:

  • Calls Statistics – This report provides statistical information about the calls forwarded to or placed by Mailbox servers for your organization.
  • User Calls Logs – This report provides call logs for a selected user for the last 90 days.

Pulling the information:

1. Log-in into the Office 365 Admin Portal using a Global Administrator Credentials.

2. Enter the Exchange Online Control Panel

image

3. Enter the Unified Messaging Section

image

4. Within the UM dial plans page, click the three dots icon image on the action tab in order to present the menu of the Unified Messaging Statistics:

image

Calls Statistics

The Calls Statistics report will present a list of amount of calls on a daily basis, including Amount of Calls, Types of calls (Voice Mail / Auto Attendant / Faxes etc.) as well as audio quality graph.

image

There are also two additional options to look into the Audio Quality Details and export the daily information into CSV which provide further details on the specific calls including Origin, destination, Menu selection etc.

image

image

User Call Log

The User Call Log report will allow you to list all the calls details per user and provide Voice Quality summary which contain network statistics:

image

image

Weekly IT Newsletter – July 6-10, 2015

Read the rest of this entry

Microsoft releases Lync Server 2013 July 2015 cumulative update (5.0.8308.920)

Updates:

Download:

Fixes:

Polycom Releases UC Software 5.4.0 for VVX and SoundStructure (July, 2015) and introduce VVX 101 and 201 series

Polycom Unified Communications (UC) Software 5.4.0 is a release for all open SIP platforms in addition to Alcatel-Lucent CTS Server and Microsoft® Lync® Server. UC Software 5.4.0 is the first release to support the new VVX 101 and VVX 201 business media phones.

Please note that UCS v5.4.0 (or higher) is the minimum software version needed for VVX® 101 / VVX® 201 Business Media Phones.

P VVX phones registered to or should be running UCS 5.3.1. The 5.4.x build is not for Lync/SfB.

Links:

Support:

Polycom UC Software 5.4.0 supports the following Polycom endpoints and accessories:

  • VVX 101/201 business media phones (new phones supported in this release)
  • VVX 300/310 business media phones
  • VVX 400/410 business media phones
  • VVX 500 business media phones
  • VVX 600 business media phones
  • VVX 1500 business media phones
  • SoundStructure VoIP Interface
  • VVX Camera
  • VVX Expansion Module

New Features:

Please note that is seems that there aren’t any new feature introduce for Lync/SfB and most of the feature are for supporting Alcatel Lucent CTS and other Polycom SIP features.

Polycom UC Software 5.4.0 includes the features and functionality of previous releases and includes the following new features.

  • Advanced Conference (Alcatel-Lucent CTS)
  • Barge In for Busy Lamp Field Lines (Alcatel-Lucent CTS)
  • Bridge In for Shared Call Appearance (Alcatel-Lucent CTS)
  • Dual-Tone Multi-Frequency (DTMF) Relay (Alcatel-Lucent CTS)
  • Shared Call Appearance (Alcatel-Lucent CTS)
  • Visitor Desk Phone (Alcatel-Lucent CTS)
  • SIP Instance Support – The SIP Instance Support feature provides support for using +sip.instance, a parameter used in the contact header, to identify individual phones instead of using IP addresses.
  • Comfort Noise – Previously, when Voice Activity Detection was enabled, Comfort Noise was sent using the default payload type of 13, which was not advertised in SDP. Now, when enabled, the Comfort Noise payload type is negotiated in SDP with the default of 13 for 8 KHz codecs and a configurable value between 96 and 127 for 16 KHz codecs
  • Opus Codec Support (supported on VVX 500 and 600 phones only) – Opus is an adaptive, lossy audio coding format that is suitable for interactive real-time applications over the Internet. This feature also simplifies internetworking between mobile and fixed line networks.
  • DNS Server Address Override – Previously, any DNS server address provided by DHCP is given the highest precedence even if an administrator manually enters a DNS server address.
  • Global Directory Synchronization – The Polycom Contact Directory available on Polycom phones uses two files to generate and maintain a directory
  • Basic Menu Lock – This feature enables administrators to lock the Basic menu under Settings and prevent users from customizing the phones on the network.
  • Additional Features in This Release

Weekly IT Newsletter – June 22-26, 2015

Read the rest of this entry

Microsoft releases Skype for Business Server 2015 Cumulative Update (KB3061064)

This download includes all available updates for Skype for Business Server 2015:

Sources:

Fixes:

Download:

Script: Get Lync/Skype4B users which reported having Poor Calls

Recently I’ve been asked by a customer to check if there is a way to get a list of users which been reported as having poor calls within the last week or so. The request came from their management as they want to try and be proactive with those users and approach the user before those users contacting the help desk and try to identify why they are having poor calls (network, devices, clients etc.).

At first, I thought there must be an existing report for that already, after all the User Diagnostic report show all the calls for a user and it contains all the parameters identifies a call as a Poor Call. Unfortunately, there wasn’t, so I find myself digging into the existing CQM queries and modifying some parameters in order to get the query that will be able to pull all the users that reported having Poor Calls within a given time range.

With the help of Yoav Barzilay we also created a script out of that that can generated that report and also send an email if needed.

Description:

  • This script will query the reporting services database for users that were reported having poor calls within the last week (more than one instance)
  • The script automatically pulls the QoEMetrics instance name from the topology and query the database for all reported calls within the last week.
  • The script can also be used as a scheduled tasks and send an email with the results instead of creating a temp html file
  • The script is automatically pulls the last week, but that’s can be modified via the Script/Query
  • The script filter automatically all users that have more than 1 poor call

Download:

TechNet Gallery | OneDrive

Poor Call Definition by Microsoft:

  • PacketLossRate > 0.1
  • DegradationAvg > 1.0
  • RoundTrip > 500
  • JitterInterArrival > 30
  • RatioConcealedSamplesAvg > 0.07

Prerequisites:

  • Reporting Services Database
  • User with access to the QoEMetrics Database (Read Permissions)
  • PowerShell 3.0 and above

Usage:

Running from a Lync / Skype for Business Server:

  • ./UsersReportedWithPoorCalls-v0.5

Running from a Lync / Skype for Business Server and sending email with the results:

  • ./UsersReportedWithPoorCalls-v0.5 -From -To -SmtpServer

Running from any client and connect remotely to the Front End Services:

  • ./UsersReportedWithPoorCalls-v0.5 -RemoteConnection

Example Report:

The Queries:

Query 1: The Query that pulls the SQL information and group it into # of poor calls per user

USE QoEMetrics;

DECLARE @beginTime AS DateTime = 'MM/DD/YYYY';
DECLARE @endTime   AS DateTime = 'MM/DD/YYYY';  
DECLARE @lyncUser1 as nvarchar(450) = 'sip:USERSIP@DOMAIN.COM';
SELECT
    CallerUser.URI AS CallerUri
    ,COUNT(DISTINCT s.StartTime) AS NumberOfPoorCalls

FROM [Session] s WITH (NOLOCK)
    INNER JOIN [MediaLine] AS m WITH (NOLOCK) ON 
        m.ConferenceDateTime = s.ConferenceDateTime
        AND m.SessionSeq = s.SessionSeq            
    INNER JOIN [AudioStream] AS a WITH (NOLOCK) ON
        a.MediaLineLabel = m.MediaLineLabel    
        and a.ConferenceDateTime = m.ConferenceDateTime 
        and a.SessionSeq = m.SessionSeq
    INNER JOIN [User] AS CallerUser WITH (NOLOCK) ON
        CallerUser.UserKey = s.CallerURI
    INNER JOIN [User] AS CalleeUser WITH (NOLOCK) ON
        CalleeUser.UserKey = s.CalleeURI
    LEFT JOIN [NetworkConnectionDetail] AS CallerNcd WITH (NOLOCK) ON 
        CallerNcd.NetworkConnectionDetailKey = m.CallerNetworkConnectionType 
    LEFT JOIN [NetworkConnectionDetail] AS CalleeNcd WITH (NOLOCK) ON 
        CalleeNcd.NetworkConnectionDetailKey = m.CalleeNetworkConnectionType
    LEFT JOIN [Endpoint] AS CallerEndpoint 
                  ON s.CallerEndpoint = CallerEndpoint.EndpointKey 
    LEFT JOIN [Endpoint] AS CalleeEndpoint 
              ON s.CalleeEndpoint = CalleeEndpoint.EndpointKey 
    LEFT JOIN [Device] AS CallerCaptureDevice 
              ON m.CallerCaptureDev = CallerCaptureDevice.DeviceKey 
    LEFT JOIN [Device] AS CallerRenderDevice 
              ON m.CallerRenderDev = CallerRenderDevice.DeviceKey 
    LEFT JOIN [Device] AS CalleeCaptureDevice 
              ON m.CalleeCaptureDev = CalleeCaptureDevice.DeviceKey 
    LEFT JOIN [Device] AS CalleeRenderDevice 
              ON m.CalleeRenderDev = CalleeRenderDevice.DeviceKey 
WHERE
    s.StartTime >= (@beginTime) and s.StartTime < (@endTime)
    and CallerUser.URI = (@lyncUser1)
    and ((PacketLossRate > 0.1 OR DegradationAvg > 1.0 OR RoundTrip > 500 
OR JitterInterArrival > 30 OR RatioConcealedSamplesAvg > 0.07))

GROUP BY CallerUser.URI, CONVERT (date,s.StartTime)
HAVING (COUNT(DISTINCT s.StartTime) > 1)
ORDER  BY NumberOfPoorCalls DESC

Query 2: This query pulls detailed report per each poor call per user on a given date. that will help determine the reasons for defining this call as poor as well as information on the machine, user agent and additional devices.

USE QoEMetrics;

DECLARE @beginTime AS DateTime = 'MM/DD/YYYY';
DECLARE @endTime   AS DateTime = 'MM/DD/YYYY';  
DECLARE @lyncUser1 as nvarchar(450) = 'sip:USERSIP@DOMAIN.COM';

SELECT
       s.ConferenceDateTime
       ,s.StartTime  
       ,s.EndTime
       ,CONVERT(date,s.StartTime) AS CallDate
       ,CallerUser.URI as CallerUri
       ,CalleeUser.URI as CalleeUri
       ,CallerEndpoint.Name AS CallerEndpoint
       ,CalleeEndpoint.Name AS CalleeEndpoint 
       ,CallerNcd.NetworkConnectionDetail  AS CallerNetworkConnectionType
       ,CalleeNcd.NetworkConnectionDetail AS CalleeNetworkConnectionType
       ,CallerCaptureDevice.DeviceName AS CallerCaptureDevice
       ,CallerRenderDevice.DeviceName AS CallerRenderDevice
       ,CalleeCaptureDevice.DeviceName AS CalleeCaptureDevice
       ,CalleeRenderDevice.DeviceName AS CalleeRenderDevice
       ,m.ClassifiedPoorCall
       ,a.PacketLossRate 
       ,a.PacketLossRateMax 
       ,a.JitterInterArrival
       ,a.JitterInterArrivalMax 
       ,a.RoundTrip
       ,a.RoundTripMax
       ,a.DegradationAvg
       ,a.RatioConcealedSamplesAvg
       ,a.OverallAvgNetworkMOS
       ,a.OverallMinNetworkMOS
       ,a.SendListenMOS
       ,a.PacketUtilization
       ,a.BurstDensity
       ,a.BurstDuration
       ,a.DelayCongestionPercent
       ,a.RelativeOneWayTotal
       ,a.RelativeOneWayAverage
       ,a.RelativeOneWayMax
       ,a.SenderIsCallerPAI
FROM [Session] s WITH (NOLOCK)
       INNER JOIN [MediaLine] AS m WITH (NOLOCK) ON 
              m.ConferenceDateTime = s.ConferenceDateTime
              AND m.SessionSeq = s.SessionSeq                 
       INNER JOIN [AudioStream] AS a WITH (NOLOCK) ON
              a.MediaLineLabel = m.MediaLineLabel    
              and a.ConferenceDateTime = m.ConferenceDateTime 
              and a.SessionSeq = m.SessionSeq
       INNER JOIN [User] AS CallerUser WITH (NOLOCK) ON
              CallerUser.UserKey = s.CallerURI
       INNER JOIN [User] AS CalleeUser WITH (NOLOCK) ON
              CalleeUser.UserKey = s.CalleeURI
       LEFT JOIN [NetworkConnectionDetail] AS CallerNcd WITH (NOLOCK) ON 
              CallerNcd.NetworkConnectionDetailKey = m.CallerNetworkConnectionType 
       LEFT JOIN [NetworkConnectionDetail] AS CalleeNcd WITH (NOLOCK) ON 
              CalleeNcd.NetworkConnectionDetailKey = m.CalleeNetworkConnectionType
       LEFT JOIN [Endpoint] AS CallerEndpoint 
                     ON s.CallerEndpoint = CallerEndpoint.EndpointKey 
       LEFT JOIN [Endpoint] AS CalleeEndpoint 
              ON s.CalleeEndpoint = CalleeEndpoint.EndpointKey 
       LEFT JOIN [Device] AS CallerCaptureDevice 
              ON m.CallerCaptureDev = CallerCaptureDevice.DeviceKey 
       LEFT JOIN [Device] AS CallerRenderDevice 
              ON m.CallerRenderDev = CallerRenderDevice.DeviceKey 
       LEFT JOIN [Device] AS CalleeCaptureDevice 
              ON m.CalleeCaptureDev = CalleeCaptureDevice.DeviceKey 
       LEFT JOIN [Device] AS CalleeRenderDevice 
              ON m.CalleeRenderDev = CalleeRenderDevice.DeviceKey 
WHERE
       s.StartTime >= (@beginTime) and s.StartTime < (@endTime)
       and CallerUser.URI = (@lyncUser1)
       and ((PacketLossRate > 0.1 OR DegradationAvg > 1.0 OR RoundTrip > 500 
OR JitterInterArrival > 30 OR RatioConcealedSamplesAvg > 0.07))

ORDER  BY ConferenceDateTime

Microsoft releases June 2015 update for Lync 2013 (Skype for Business) (KB3054791)

Source:

Issues this update fix:

Known Issues:

Download:

Prerequisites:

Update

Download Links

April 14, 2015, update for Skype for Business (KB2889853)

Download the 32-bit Lynchelploc update package now.

Download the 64-bit Lynchelploc update package now.

June 9, 2015, update for Office 2013 (KB3054853)

Download the 32-bit mso update package now.

Download the 64-bit mso update package now.

Microsoft Office 2013 Language Pack Service Pack 1 (KB2817427)

Download the 32-bit Office 2013 Language Pack now

Download the 64-bit Office 2013 Language Pack now

   
Mandie's Memos

Learning about Lync and other technologies the hard way... so you don't have to.

Mastering Lync

Yet another Lync blog but this one by Masters & MVP's

UC Geek

Guy Bachar's IT blog

Jeff Schertz's Blog

Guy Bachar's IT blog

UC Sorted

Skype for Business Blog

Mark Vale's Blog

My Experiences with Lync 2013, Skype for Business and more

ODDYTEE

All about messaging (and maybe some other stuff too).

Rune's blog about things I see and UC

Mainly technical stuff from my job as a UC consultant

Jaap Wesselius

Microsoft UC Specialist

Skype Blogs

Product News, Customer Stories and updates from Skype

Thoughts From a Bot Named Flinch

..state of the art destructive technology as applied to myself..

UC Lobby

Unified Communications for all

Operating-Quadrant

System Center and IT Operations

Things about System Center and Cloud...

Michael S. Collier's Blog

Microsoft development, Azure and more fun stuff!

IT based Communications

a different Unified Communications site

Universal Communications, My experiences.

Skype4B, Lync & Exchange Technical

LyncNumbers.net

Enterprse Voice tips and scrips

Steve Goodman's Exchange & Office 365 Blog

The weblog of an Microsoft MVP and IT Pro specialising in Exchange, Lync, Office 365. Guides, Tutorials, How-Tos and commentary.

The Little Things

It's always the little things that get you in IT

Follow

Get every new post delivered to your Inbox.

Join 269 other followers