August 25, 2016

We can’t connect to the server for presenting right now.


Issue: Unable to upload or Present PowerPoint presentation in Skype Meeting.
Error message:
We can’t connect to the server for presenting right now.
Network issues are keeping you from sharing notes and presenting whiteboards, polls, and uploaded PowerPoint file.


Resolution:
Recently I came across issue were multiple users complain that they are unable to upload PowerPoint presentation, access polls and whiteboard etc.
Verified OWA server and Front End server there was no error logged on any of server.

Also OWA and Front end server communicating correctly so there was no port blocked.

When checked UCCAPI log and found, error message “Connection to the Web Conferencing Server could be established, but the server terminated”. This was looking like server terminate the connection.  

diagHeader>54001;reason="Connection to the Web Conferencing Server could be established, but the server terminated immediately";ClientType=Lync;Build=15.0.4787.1002;ContentMCU="sip:abc@mydomain.com;gruu;opaque=app:conf:data-conf:id:VLD0PJ7W";ConferenceUri="sip:abc@mydomain.com;gruu;opaque=app:conf:focus:id:VLD0PJ7W";LocalFqdn="ABC-LCY9FG32.mydomain.com";ServerFQDN="ABC-fe1.mydomain.com";ServerPort

 When checked updates/patches installed on Lync Front End server found KB3142030

This was the security update for the .NET Framework 4.5.2 in Windows 8.1, Windows RT 8.1, and Windows Server 2012 R2: May 10, 2016.

Uninstalled this updates from Front End server and rebooted server. This resolved the PowerPoint presentation upload, poll and whiteboard issue.

So short story was this KB was affecting PowerPoint presentation upload, poll and whiteboard.

Thank you.

August 14, 2016

Skype for Business Hybrid deployment Lesson Learned Part: 5


Skype for Business Hybrid deployment Lesson Learned Part: 5 

If you are planning to deploy Skype for Business Hybrid deployment then refer below articles:




Below are the lesson learned while moving Skype for Business / Lync Server On-Premises user to Cloud (Skype for Business Online).

You may see below error when you have multiple federated Edge servers and you have not specified the proxy pool FQDN.
 


When you don’t specify the correct proxy pool name as your registrarpool (FE) instead of edgepool (Edge) then you will see below error. To resolve add correct front end pool name.  


You will see below error when you don’t have live Id module install on your FE server from where you are running command.  (Module called as “Microsoft Online Services Sign-In Assistant for IT Professionals RTW”)

 

You are seeing below warning message because when you move user from On-Prem to Cloud (tenant) your existing meetings and recurring meetings will get affected. Or your old meetings will not available in cloud because your registrarpool will be different where meeting hosted.

If user do not have cloud license assign and you are moving that user to cloud then you endup with below error.

So before moving user assign the appropriate cloud license to the user.
 

Issue: Move-CsUser: Unable to locate Windows Live ID token from the provided credentials, or from Active Directory Federation Services (AD FS) credential cache.

If you don’t put credential of Office365 Admin then you may see below error. Before moving user must put credential of Office365 Admin and then run move command.

You write credential which has Office365 tenant admin permission then move user to cloud.



All Cloud PBX users are assigned the same Voice Policy named BusinessVoice which defines the calling features allowed; for example, allow Simultaneous Ring.

 

Error: Call was not completed or has ended.



When you move user to cloud and assign required policy with cloud PBX license and make outbound call however call not complete and gives above error.

Then make sure you have assign the Voice Routing policy to user on on-premises to route call.

Cloud PBX users must have a Voice Routing Policy assigned to them for calls to route successfully.

You can grant voice routing policy using below power shell command:

Grant-CsVoiceRoutingPolicy -Identity "Balu Ilag" -PolicyName "US-CA-SanJose-Hybrid"

Thank you.

Skype for Business Hybrid deployment Lesson Learned Part: 4


Skype for Business Hybrid deployment Lesson Learned Part:4 

If you are planning to deploy Skype for Business Hybrid deployment then refer below articles:




Below are the lesson learned while moving Skype for Business / Lync Server On-Premises user to Cloud (Skype for Business Online).

You may see below error when you have multiple federated Edge servers and you have not specified the proxy pool FQDN.
 


When you don’t specify the correct proxy pool name as your registrarpool (FE) instead of edgepool (Edge) then you will see below error. To resolve add correct front end pool name.  


You will see below error when you don’t have live Id module install on your FE server from where you are running command.  (Module called as “Microsoft Online Services Sign-In Assistant for IT Professionals RTW”)

 

You are seeing below warning message because when you move user from On-Prem to Cloud (tenant) your existing meetings and recurring meetings will get affected. Or your old meetings will not available in cloud because your registrarpool will be different where meeting hosted.

If user do not have cloud license assign and you are moving that user to cloud then you endup with below error.

So before moving user assign the appropriate cloud license to the user.
 

Issue: Move-CsUser: Unable to locate Windows Live ID token from the provided credentials, or from Active Directory Federation Services (AD FS) credential cache.

If you don’t put credential of Office365 Admin then you may see below error. Before moving user must put credential of Office365 Admin and then run move command.

You write credential which has Office365 tenant admin permission then move user to cloud.



All Cloud PBX users are assigned the same Voice Policy named BusinessVoice which defines the calling features allowed; for example, allow Simultaneous Ring.

 

Error: Call was not completed or has ended.



When you move user to cloud and assign required policy with cloud PBX license and make outbound call however call not complete and gives above error.

Then make sure you have assign the Voice Routing policy to user on on-premises to route call.

Cloud PBX users must have a Voice Routing Policy assigned to them for calls to route successfully.

You can grant voice routing policy using below power shell command:

Grant-CsVoiceRoutingPolicy -Identity "Balu Ilag" -PolicyName "US-CA-SanJose-Hybrid"

Thank you.

Configure Autodiscover service for Skype for Business Hybrid deployment. Part: 4


Configure Autodiscover service for Skype for Business Hybrid deployment. Part: 4 

If your Skype for Business / Lync Server On-Premise and Skype for Business online environments are not ready for Hybrid deployment then refer below article.


Hybrid deployments are configurations that use both the Skype for Business Online cloud service (Office 365) and the Skype for Business/ Lync on-premises deployment.

This document will talk about Hybrid deployment of Skype for Business online and Skype for Business / Lync Server on-premises, in this type of configuration, the Autodiscover service must be able to locate where the user is actually located. That is to say, Autodiscover aids in finding the user account and where the server that hosts the user’s account is, regardless if it is in the on premises deployment or in the Skype for Business Online deployment.

For example, if a user’s account is hosted on a server in Skype for Business Online, the attempt to locate the user will happen as follows, in a process known as discoverability:


a.     User initiates a connection attempt to the on premises deployment, using domain mydomain.com.

b.    The attempt is sent to lyncdiscover.mydomain.com, the DNS name associated with the Autodiscover service.

c.     Autodiscover refers to the assumed registrar pool at the mydomain.com on premises deployment and is given information on the user’s actual home server hosted in Skype for Bsuiness Online. Autodiscover then sends the user a referral to the lync.com online Autodiscover service.

The user initiates a connection attempt to the lync.com online Autodiscover service and is able to locate the user’s account and the user’s home server.

To enable mobile clients to discover the deployment where the user home server is located, you must configure the Autodiscover service with a new uniform resource locator (URL).

You use Get-CsHostingProvider to retrieve the value of the attribute ProxyFQDN.

From the Skype for Business / Lync Server Management Shell, type below command to setup Autodiscover URL.

Set-CsHostingProvider -Identity [identity] -AutodiscoverUrl https://webdir.online.lync.com/autodiscover/autodiscoverservice.svc/root

Where [identity] is replaced with the domain name of the shared SIP address space.

Get-CsHostingProvider


Now you are seeing correct AutodiscoverURL for user.

Reference articles:




Thank you.

Skype for Business Hybrid deployment with On-Premise PSTN using Cloud PBX. Part: 3


Skype for Business Hybrid deployment with On-Premise PSTN using Cloud PBX. Part: 3
How to use On-Premise PSTN for Skype for Business Online?
Simple answer yes, you can use cloud PBX as solution for Skype for Business online user to use your on-premises PSTN connectivity.

Details answer is here:
Microsoft offers a variety of options for enabling your users to call landlines and mobile phones through the Public Switched Telephone Network (PSTN) whether their accounts exist in Office 365 on Skype for Business Online or in your on-premises Skype for Business Server or Lync Server 2013 deployment.
If you want to move users to Skype for Business Online but your organization already invested On-Premises PSTN connectivity then still you can move users to Skype for Business Online with on-premises PSTN connectivity through Cloud PBX. Your users are actually homed in the cloud and are enabled for Cloud PBX, but their calling is processed through on-premises PSTN connectivity (either through a PBX, Gateway, Session Border Controller, or SIP Trunking connection) to source PSTN for the users who you move to the cloud).

There are two option:
1. Skype for Business Cloud Connector Edition (CCE) - Cloud Connector is a hybrid offering that consists of a set of packaged Virtual Machines (VMs) that implement on-premises PSTN connectivity. By deploying a minimal Skype for Business Server topology in a virtualized environment, users in your organization, whether homed in the cloud are on premises, will be able to send and receive calls with landlines and mobile phones through the existing on-premises voice infrastructure.


2. Skype for Business Server existing deployment -This is a hybrid offering that consists of a Skype for Business Server on-premises deployment modified for hybrid PSTN. Users in your organization, whether homed in the cloud or on-premises, will be able to send and receive calls with landlines and mobile phones through the existing on-premises voice infrastructure.

This document is focusing on Skype for Business online and Skype for Business / Lync Server On-premises hybrid deployment with On-premises PSTN connectivity through SIP trunk and PSTN Gateways).

Pre-requisite: You must have Office 365 Global Administrator role permission and Skype for Business / Lync Server on-premises CsAdministrator and CsServerAdministrator role permission in order to complete the configuration.

This is an optional step that is required only if you are moving on-premises users to Skype for Business Online. Before you begin to move users to Skype for Business Online, check that the Skype for Business Online Connector (Windows PowerShell module) is deployed on your Front End Servers. If it isn't, you can download it from the download center. Also, to prepare your AD, you'll need to configure Azure AD Connect. The version of AAD Connect you use must be version 1.0.9125.0 or later. If you are using an earlier version of AAD Connect tools or DirSync, please upgrade to the supported version. You can upgrade your current installation and maintain any custom rules you have defined in your environment.

Before moving user to Skype for Business online make sure below:

·       Enable user for Enterprise Voice before moving on-premises before moving to cloud.

·       Setup Line URI for user with E.164 format (e.g. tel:+1234567890;ext=67890) on-premises.

·       Assign Dial plan and Voice Routing policy in On-Premises.

·       User must have synced in Cloud and have to have cloud license assigned before moving to the cloud.

·       Before moving user to Skype for Business Online tenant, assign the E5 license which has cloud PBX feature or you can use Cloud PBX Add-on license if you have existing E3 license.

Refer: how to move Skype for Business / Lync server On-Premises user to Skype for Business Online section in this document.

Assumption: You already have Skype for Business Hybrid setup (Skype for Business Online and On-Premises setup).

How to enable users for Enterprise Voice online and Cloud PBX Voicemail?

The final step is to enable users for Cloud PBX and Voicemail, which includes. To enable these capabilities, you must be a user with the Office 365 Global Administrator role, and be able to run remote PowerShell.

1.    Open Windows PowerShell and import SkypeOnlineConnector module and get credential which has Office 365 Global Administrator role permission.

Import-module skypeonlineconnector

$cred = Get-Credential

2.    Open new online session with existing credential and import that session. Refer below PowerShell commands.

$session = New-CsOnlineSession -Credential $cred -OverrideAdminDomain "brcd.onmicrosoft.com" –Verbose

Import-PSSession $session



3.    Now enable online user for Enterprise voice and hosted voice mail. You must run this below command on online PowerShell to enable Enterprise voice and hosted voice mail even though you enabled on On-premises.

Command: Set-CsUser -Identity "" -EnterpriseVoiceEnabled $true -HostedVoiceMail $true

E.g.: Set-CsUser -Identity "strill-test-brm@mydomain.com" -EnterpriseVoiceEnabled $true -HostedVoiceMail $true


After enabling user for EnterpriseVoice and hosted Voice mail, run the Get-CsOnlineUser command to see users enabled for

Get-CsOnlineUser -Identity "stril-test-hq@mydomain.com" | fl *voice*,*line*,*dial*

Above Get-CsOnlineUser command result shows ‘HostedVoiceMail: True and EnterpriseVoiceEnabled: True means user is ready to use EV features.

In case you have not assigned Dial-plan and Voice Routing Policy to user before moving user to Cloud then assign appropriate voice routing policy (call authorization) and dial-plan (Phone number normalization) for user using on-premises Skype for Business/ Lync Server control Panel or Skype for Business/ Lync Power shell.

Login to any Skype for Business / Lync Server Front End Server and open Skype for Business Control Panel using account assigned member of CsAdministrator or CsUserAdministrator
Control Panel > Users > Type first name and last name > once user found, double click on it.
Then, enable Enterprise Voice, assign Dial plan and Voice Routing policy. Refer the below image.


Enable EV assign Dial plan and Voice Routing policy using Skype for Business or Lync Server Power Shell:

Grant Dial Plan:

Grant-CsDialPlan -Identity "stril-test-brm@mydomain.com" -PolicyName "US-CO-Broomfield "

Grant Voice Routing Policy:

Cloud PBX users must have a Voice Routing Policy assigned to them for calls to route successfully.

This is differs from on-premises Skype for Business voice users who require a Voice Policy to be assigned to them to allow calls to route successfully. The Voice Routing Policy should contain PSTN usages that define authorized calls and routes for Cloud PBX users.

If you don't have Voice Routing Policies created then then you can create new Voice Routing policy using existing PSTN usages coping from existing Voice Policies to new Voice Routing Policies.

New-CsVoiceRoutingPolicy -Identity "US-CA-SanJose-Hybrid" -Name "US-CA-SanJose-Hybrid" -PstnUsages "Long Distance", "Local", "Internal"

Now grant above created Voice Routing policy to User.

Grant-CsVoiceRoutingPolicy -Identity "stril-test-hq@mydomain.com" -PolicyName "US-CA-SanJose-Hybrid"

How to assign Voice routing policy to multiple users?

Get-CsUser -LdapFilter "l=SanJose" | Grant-CsVoiceRoutingPolicy -PolicyName "US-CA-SanJose-Hybrid"

How to unassigned or remove Voice Routing Policy?

Grant-CsDialVoiceRoutingPolicy -Identity "stril-test-hq@brocade.com" -PolicyName $Null

After you assigned voice routing policy and dial plan you can run Get-CsUser to see policy assigned correctly or not.

Now you can run Get-CsOnlineUser to see user if online user enabled for Enterprise Voice, Hosted Voice Mail and Voice Policy ‘HybridVoice’.

Note: You will not see Voice Routing policy name on online power shell command. You can only see Voice Routing Policy name on On-premises power shell command.
Testing:
Login to Skype for Business client using your, SIP address (User which moved to cloud) and password. Refer below Image.

Able to login to Skype for Business and able to make inbound and outbound calls. Refer the below Image.


Able to receive Voice Mail as well which is Awesome!. Refer the below Image.


Thank you.

Skype for Business / Lync Server On-premises User migration to Skype for Business Online (Cloud tenant) Part: 2


Skype for Business / Lync Server On-premises User migration to Skype for Business Online (Cloud tenant) Part: 2

If your Skype for Business / Lync Server On-Premise and Skype for Business online environments are not ready for Hybrid deployment then refer below article.

Requirement: You can move users using either Skype for Business Server Control Panel or Skype for Business Server Management Shell in your on-premises deployment, but you must have administrator credentials for your Office 365 deployment and Skype for Business.
Before actually moving the user to Skype for Business Online (O365 cloud), you should first confirm that the user accounts are synchronized to the cloud, and account has required license like E3, E5 etc.

Steps: To Move user using Skype for Business / Lync server On-Premises to Skype for Business Online /Cloud:
Open the Office 365 admin center for your tenant > click Users> Active Users> Click Search for a User, and type the name of the user.
Confirm that you see the user, and that their status is synched with Active Directory.

Note: If the user is not yet synchronized, then the next automatic synchronization should happen within three hours per by default schedule.

Assuming your users already synchronized and assign appropriate license. Below Image shows how to assign cloud E5 license to user:


Now you can move user to Skype for Business Online, there are two option to move user:

1.     Using Skype for Business Control Panel:
a.     Login to Skype for Business control panel user account that is part of CsUserAdministrator role or the CsAdministrator role.

b.    Users > Search Users > type First name, last name or SAM account, SIP address > Find

c.     Click on Users > Action > Move selected users to Skype for Business Online.

d.    On the Move users to Skype For Business Online page > Next > Sign in to Office 365 > OK >Next

e.     On Confirm page > Next > Close.
Note: I have not moved user using Skype for Business Control Panel to cloud so don’t know if option available or not above steps written based out of TechNet. Using Lync Server 2013 Control Panel there is no option to move user to cloud that I am sure for.
2.     Using Skype for Business /Lync Server Management Shell:
You can use this PowerShell command to move user:
Move-CsUser -Identity username@domain.com -Target sipfed.online.lync.com -Credential $cred -HostedMigrationOverrideUrl -ProxyPool

Format of the URL specified for the HostedMigrationOverrideUrl parameter must be the URL to the pool where the Hosted Migration service are running,
URL Format: Https:// online FQDN>/HostedMigration/hostedmigrationService.svc.
Note: The URL is case sensitive so type exactly same what you have.

To find Skype for Business online admin URL, you can login to https://portal.office.com/AdminPortal/ then expand 'Admin Centers' > Click on “Skype for Business” > Copy the URL. The SfB Admin URL will looks like below URL.


Copy the first part of URL till lync.com and add HostedMigration/hostedmigrationService.svc to Complete URL: https://admin0a.online.lync.com/HostedMigration/hostedmigrationService.svc

Below is correct command to move user with hosted migration override Url:

$cred = Get-Credential 

Move-CsUser -Identity "stril-test-brm@mydomain.com" -Target "sipfed.online.lync.com" -Credential $creds -HostedMigrationOverrideUrl “https://admin0a.online.lync.com/HostedMigration/hostedmigrationservice.svc" -ProxyPool "FEPool.mydomain.com.com"

Wait for 5 min and find user in Skype for Business / Lync Server on-premises and see the hosting provider show as “Sipfed.online.lync.com”.

Our mentioned users move to cloud. Now time to login on Skype for Business and test.

I was able to sign-in on Skype for Business client using moved account e.g. stril-test-hq@mydomain.com

Check Skype for Business client configuration information (Press Ctrl button + Right click on SfB icon and click on “Configuration Information”.

You can see there Skype for Business Server shows as Microsoft Online pool server “sippoolbl20a06.infra.lync.com” mean our users sign-in on Skype for Business Online pool. Refer the below screenshot.

 

Thank you.


ShareThis