Skype for Business | Issue Deploying Monitoring Reports

Whilst attempting to deploy Skype for Business Server Monitoring Reports I ran into an issue where the following error message was displayed –

Could not get objects from namespace root\Microsoft\SqlServer\ReportServer.
Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))Cannot get the ReportServerWebService URL. Verify that Reporting Services is deployed and configured properly on the target SQL instance:”sql”, and that WMI is included on the exception list of firewall setting on the server that is running Reporting Services.Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))  

A search of many blogs and other resources turned up a few results however they didn’t seem to answer the problem affecting this deployment.

The installation was part of a Skype for Business upgrade and the previous monitoring reports deployment for Lync 2013 was completed a number of years back without issue.   As I wanted to re-use many of the settings with the new deployment and to sanity check what I’d done previously I opened the documentation for the previous deployment and checked what I’d used for the SQL server, SSRS report server, service account, and the read only group for accessing the reports and everything looked in order however still the issue was occurring whenever the installation was attempting to return the SSRS web service url.

Working with an SQL admin we performed the usual checks to ensure connectivity such as ability to resolve DNS name, service account permissions, checked windows firewall settings to ensure appropriate ports were open, grabbed a capture from wireshark, etc.

Still no luck.

The error message was a clue so we realised we needed to confirm that WMI was indeed available for remote connections so I decided to use powershell to see what would happen when I ran the following command from a Lync front end server –

Get-WmiObject -namespace root\Microsoft\SqlServer\ReportServer  -class __Namespace -ComputerName SQL | select Name

The following error was returned

 Get-WmiObject : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
 At line:1 char:1
 + Get-WmiObject -namespace root\Microsoft\SqlServer\ReportServer -class __Namespa …
 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     + CategoryInfo : NotSpecified: (:) [Get-WmiObject], UnauthorizedAccessException
     + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.GetWmiObjectCommand

Next the SQL Admin ran the same command from the SSRS server and the result was a success

Get-WmiObject -namespace root\Microsoft\SqlServer\ReportServer  -class __Namespace -ComputerName SQL | select Name

Name
----
RS_MSSQLSERVER

From this we concluded there is either a remote connectivity or permissions issue.  Next the SQL administrator ran the command from an elevated powershell session from their desktop and the result was successful.  So now we definitely know the issue is permissions related, specifically with the account I am using to install the reports.

The fix! 

A quick and easy solution during the deployment stage was to assign my account local administrator permissions to the server hosting SSRS.  After assigning permissions I re-ran the powershell command from a front end server without any issue and could successfully query WMI for the SSRS URL.  I then re-ran the deployment wizard and the monitoring reports installed successfully.

Why was the previous Lync 2013 monitoring reports deployment a success and the new Skype for Business Server not?  It could be due to the fact that I am no longer a domain administrator therefore I don’t have the free reign over the environment I once had.  By targeting the SSRS server with additional permissions I was able to complete the deployment.

After completing the deployment my adminstrator permissions were removed from the server to ensure the environment was restored to the correct permission level prior to the change.

Skype for Business | How Delegates Work

A key feature of enterprise voice is the ability to assign delegates allowing multiple people to monitor, place, or answer calls on behalf of others.  This is extremely beneficial in scenarios where calls need to be monitored, and at times actioned, by someone other than who the call was intended, or if an outbound call is to be initiated by a delegate.

After assigning a delegate Skype for Business has the added benefit of providing additional information when a call is placed or answered and this includes

  • For those who have a single delegate assigned the inbound call notification indicates the delegates is also receiving the notification, the delegates name and presence state.  If multiple delegates then it will only display that delegates are also alerted to the inbound call
  • Delegates receive the inbound call notification and the presence state of the person whose phone they are monitoring.
  • Audio conversation window states if the call was answered by the delegate

This additional information can assist each person monitoring the inbound call to determine if they should action it.

Delegates or Team Call Groups?

Skype for Business has a couple of methods to group people that need to monitor inbound calls. Deciding whether to use delegates or team call groups is dependent on required functionality.  Both delegates and team call group members have the ability to monitor other peoples incoming calls however delegates are provided additional features including the ability to place calls, and schedule Skype for Business meetings on the behalf of someone else.

Features of both configurations include

  • Ability to delay call by 0 – 15 seconds (in 5 second increments).  When an incoming call rings the intended recipient this setting can introduce a delay prior to ringing any delegates or team call group members.
  • Staff who require their calls monitored can perform all configuration tasks from their own Skype for Business client and this means they can quickly and easily make changes without requiring IT assistance (a server side utility called SEFAUTIL can also perform this task if need be if IT need to be involved).
  • Separate ringtones depending on call type such as own or monitored calls.

Delegates are provided additional functionality

  • Schedule Skype for Business meetings on behalf of another
  • Place calls on behalf of another person
  • Ability to list multiple delegates and each can individually be configured to either allow or disallow monitoring of inbound calls.
  • Can be configured within a call forwarding rules.  This means call will only go to delegates.

Calls that go unanswered can have further call routing options put into place

  • Voicemail (Along with further call routing options provided by Exchange)
  • New Number or Contact (this can include a response group)

The remainder of this article will focus on delegates as it provides the functionality of team call groups plus more.

Simultaneous Ring vs Call Forwarding

Delegates can be assigned to either a call forwarding or simultaneous ring rule.  Call forwarding will route all inbound calls to the delegate(s) however simultaneous ring will notify the intended call recipient and delegate(s) at the same time.   Both Simultaneous Ring and Call Forwarding can route calls via

  • Mobile (when available this number may be auto populated from active directory)
  • New Number or Contact (Can search contacts, enter phone number, or response group)
  • My Delegates

In additional simultaneous ring also allows

  • My Team Call Group
  • New Number (Must input a phone number, there is no method to search contacts to select a number)

Further to this Skype for Business also provides additional call routing options if a call is unanswered

  • Send unanswered calls to
    • Voicemail
    • Mobile
    • New number or contact (this can include response groups)
  • Ring for this many seconds – 0 to 60 seconds (5 second increments)
  • These Settings will apply
    • All the time
    • During work hours set in Outlook.

Simultaneous Ring Client Behaviour & Workflow

Demonstrating how simultaneous ring works with delegates requires three Skype for Business accounts to be created.  The following (Caddy Shack inspired!) accounts will be used –

Ty Webb Inbound calls to Ty will also be monitored by Al who has been assigned his delegate.  As a delegate Al is also able to place calls on Ty’s behalf.
Al Czervik – Ty’s delegate.
Carl SpacklerCarl will make and receive calls to both Ty and Al.

Configuring Simultaneous Ring

Assigning delegates is performed via s few simple steps and is performed from the Skype for Business client for the person wanting to add the delegate(s).

  1. From Skype for Business select Tools > Options
  2. Select Call Forwarding
  3. Click on Edit my delegate members
  4. Select Add…
  5. Search for contact to add as a delegate.  Select OK.  A delegate must be an enterprise voice enable Skype for Business account
  6. Ensure Receive calls is ticked (should be by default), configure appropriate ring delay, then select OK.  If this is not enabled then the delegate can still place calls on behalf, and schedule Skype for Business meetings.
  7. Select Simultaneously Ring radio button, from drop down list select My Delegates, then select  OK

Adding or Removing a Delegate

Skype for Business alerts delegates when they are added or removed.  Additional groups are automatically created and populated for those who manage or have calls managed by other people.

  • The person who has added a delegate will have a new group called ‘Delegates’. This group lists all delegates for this person.  This group cannot be renamed, deleted, and is automatically populated.
  • Delegates will have an additional group called ‘People I manage calls for’.  This groups lists all people who have calls managed by this delegate.  This group cannot be renamed, deleted, and is automatically created.
  • Delegates also receive notifications when they are added or removed.   These alerts those affected when they may need to or no longer have to perform as a delegate. 

Inbound Call Notifications

Once a delegate has been assigned additional information is contained within the incoming call notification.  The notification itself is can be divided into 3 sections –

  1. Top Section – Displays delegate information or whom the call is intended
  2. Middle Section – Caller id of person who has placed the call
  3. Lower Section – Additional call options

If available then caller id information for the incoming call is displayed and If the call originates from within the same organisation, or caller details are contained in an Outlook contact, then additional information such as name, phone, and position title may be displayed.

The Options dropdown provides the ability to send the call direct to voicemail, reply via IM where available, or set Skype for Business to Do Not Disturb.  Clients with presence state of Do Not disturb are generally not contactable however can be interrupted by delegates or others that have assigned to the privacy group Workgroup.

Incoming Call Notification Examples

The following example shows an incoming call notification for Ty Webb from Carl Spackler.  Ty is also notified that Al Czervik, whose presence shows he is available, is also receiving an incoming call notification on his behalf as he is assigned as his delegate.

If Ty had multiple delegates assigned then the notification no longer contains the delegate name or delegate presence information and instead displays something similar to the following

For the same call Al Czervik receives a similar notification however he is made aware the call is intended for Ty Webb.  Note that in this example Ty’s presence state is set to away.

What happens if multiple incoming calls are receive at the same time?  For each call an additional call notification is displayed and each new inbound call is placed on top of the previous.

Be aware that if the call is answered using a headset then the newest call, the top notification, will be answered.  To select any other inbound call use the mouse (or if possible a touch screen) to answer via the call notification of the relevant call.

When a call is already in progress any further incoming calls will not play a ringtone.

Notification Scenarios

To whom calls route depend on whether delegates are assigned and who is logged in and on what device.  When logged in this means any Skype for Business endpoint including PC/laptop, mobile, deskphone, etc.  The following route scenarios exist

  • Ty and his delegate Al are both logged in.  Both shall receive an incoming call notifications
  • Ty is logged out however Al is logged in.  Only Al receives an incoming call notification
  • Ty is logged in however Al is logged out.  Only Ty receives an incoming call notification
  • Both Ty and Al are logged out.  If configured the call will route to voicemail.
  • If either Ty or Al have their presence set to Do No Disturb then they will not receive an incoming call notification.

Audio Conversation Window & Notifications

When a call is answered a standard audio conversation window is displayed and contains the following information

  • Number of participants.  This can be expanded to show list of participants, presence, and other information
  • Network quality and call duration.  If network quality changes during the call this will dynamically update
  • Caller id including photo, and other information when available.
  • Buttons to allow more participants to be invited, IM chats, video, desktop sharing, etc.

When a call is answered by either the intended recipient or a delegate the incoming call notification changes to advise of who answered the call.

Call Answered by Ty Webb

An incoming call was placed from Carl Spackler and answered by Ty Webb.  The standard audio conversation window for Ty is displayed.  When Ty answers the call then the inbound call notification window for Ty’s delegate Al will change to the following

If Ty had multiple delegates then they would all see this message.  The notification displays for a few seconds prior to disappearing.

Call Answered by Al Czervik (Ty’s Delegate)

If Al was to answer the call then the incoming call notification for Ty would change the the following

In addition to this the answered call audio conversation window contains additional information for Al stating the call was answered on Ty’s behalf and his presence state.

If the audio call conversation windows is minimised or hidden then a compact call control window is displayed with minimal options such as mute and hang up.

Call Transfer

When attempting to transfer a call the transfer call window automatically populates with additional contact details

  • For the person attempting to transfer the call any additional phone numbers assigned to their Active Directory accounts will be present

Depending if a person is a delegate or has assigned a delegate they will the following additional details

  • Delegates will also have the contact details for each person they have assigned as a delegate
  • For a person who has delegates assigned they will have the contact details for each of their delegates

This is done because there is a high likelihood that those configured in a delegate scenario will want to transfer calls between each other.  All phone details are stored in their respective Active Directory accounts.

Default Call Transfer Window

The default screen when an account is not a delegate or assigned delegates will default to showing their own additional contact information.  The example shows the mobile phone number of the person who is attempting to transfer the call.

Transfer Screen with Delegates Assigned

If delegates have been assigned the additional contact details auto populate the transfer call window.  In this example Ty Webb is attempting to transfer a call and Al’s details are automatically available as he has been assigned his delegate.  If Al attempts to transfer a call then his transfer call screen would automatically populate with Ty’s contact details.  The ability to search or type a phone number still exists via the search bar.

Place Calls On Behalf of Others

The ability to place calls on behalf of others becomes available after a delegate has been assigned.  The delegate is provided with additional options when placing a call whether it will be for themselves or any of the people they have been assigned as a delegate.

For internal calls additional information is also provided for inbound call notifications and audio conversation windows to alert others the call has been placed by a delegate.

Call placed on behalf of Ty Webb by Al Czervik to Carl Spackler

Al, who is Ty’s delegate, either enters a phone number or searches for a contact.  When placing a call Al would select who they’d like to place the call on behalf of.  In this example it will be Ty Webb

Inbound call notifications are slightly different when placed on behalf of by a delegate.  The top section provides information on who the call is on behalf of whilst the caller id section states who has actually placed the call.

The following example shows an incoming call notification for Carl Spackler placed by Al Czervik on behalf of Ty Webb.

If the call is answered then the audio conversation window for Al contains the caller id information for Carl along with additional information in the top right corner stating the call was placed on behalf of Ty Webb along with his presence.

Carl’s audio conversation window displays the caller id information for Al.  Additional information in the top right corner states the call was placed on behalf of Ty Webb.

If the audio call conversation windows is minimised or hidden then a compact call control window is displayed with minimal options such as mute and hang up.  It will not show that the call was placed on behalf of someone else.

If the call is placed to an external contact or number then the caller id will display the details of the person who the call was placed on behalf of and not show any of the delegate’s information.

Email Notifications

Additional call logs are generated when a delegate has been assigned and the purpose of these logs is to inform someone if a call is

  • Placed on their behalf
  • Answered by a delegate

The following was generated after Al Czervik placed a call to Carl Spackler on behalf of Ty Webb.  In this example the call was answered and both Carl and Al receive this notification.

If the same call was not answered then the following call log for Al and Carl would be available

If a delegate answers an incoming call on behalf of another then the person who assigned the delegate receives an answered call notification.  In this example an incoming call from Carl Spackler for Ty Webb was answered by Al Czervik. The notification is delivered to Ty.

Do Not Disturb & Presenting

In some scenarios it is preferable to block incoming notifications including instant messages and audio calls.   How this functionality works is dependent on a number of triggers

  • Is presence set to Do Not Disturb or Presenting?
  • What privacy groups are in use
  • Is the person attempting to communicate a delegate?

By default other Skype for Business enabled accounts within the same organisation will be assigned to privacy group Colleagues and will be unable to contact those set to Do Not Disturb or Presenting.

However delegates are automatically assigned to a privacy relationship group called Workgroup and have the ability to initiate conversations with those who have assigned them as a delegate even if their presence is set to Do Not Disturb.

The following example shows the presence information for Ty Webb from the perspective of Al Czervik who has been assigned as his delegate. Ty’s presence is actually set to Do Not Disturb however because Al is his delegate and has automatically been placed in the privacy relationship group Workgroup the status he sees is Urgent interruptions only and he can initiate a conversation.

Others who are part of the privacy workgroup Colleagues will see the following example and be unable to initiate any new communications with Ty.

The Skype for Business client will advise when communicating due to presence is not allowed. An example of a rejected instant message is shown below

If presence is set to Presenting then not even delegates can interrupt.

However if the presenter has dual monitors and notifications are configured to display on the screen that is not presenting then they may still receive inbound communications.

Ringtones

Separate ringtones can be configured for different types of inbound calls

  • My work number – calls to own number
  • My team – calls received as part of a team call group
  • People I manage calls for – calls received when configured as a delegate
  • My Response Group calls – calls received when part of a response group

Assigning unique ringtones allows a person to differentiate between different inbound call types.

Modify ringtone

  1. From Skype for Business select Tools > Options
  2. Select Ringtones and Sounds
  3. Select People I Manage Calls for (delegate calls) and then select ring tone to use

Removing Delegates

If an operative is removing their last delegate they must pre configure their call forwarding settings to ‘Turn off call forwarding’ or selecting a configuration other than Simultaneous ring to My Delegates.  For example –

If attempting to remove the last delegate and simultaneous ring is still configured to My Delegates then the following error will display –

Mobile Clients

Operatives and delegates receiving incoming call notifications when logged into the Skype for Business mobile client. However inbound call notifications and conversation windows do not contain additional information as seen on the desktop such as who the call is intended or if also ringing delegates.  When not required it would be beneficial for delegates and operatives to log out of the mobile client.