Enabling E5 users on-cloud and calling from/to between IP/PBX users–Part 4

In hybrid scenario you might want to use PBX Online or/and use your existing on-premises PBX. Sometimes the regulation in your country is strict toward the VoIP traffic and that it can’t be used on-cloud and for this type of scenarios you’ll want to deploy the Hybrid topology and route all your VoIP traffic for online users toward your on-premises PBX ..

This can be easily managed with Skype for Business/Online and with few powershell commands you can control the call flow.

clip_image001
clip_image002
clip_image003
clip_image004
clip_image005
clip_image006
clip_image007

Moving users between Online and on-prem in Hybrid scenario–Part 3

When deploying Skype for business, you might want to deploy a Hybrid deployment where users are hosted on both on-premises servers and on Office 365 Skype for business.

In this case You’ll need to make sure that integration is working and that you can move users directly from the SfB Control panel without even needing the use of Powershell.

Although sometimes it’s easy but problems could rise anytime like the one below.

Error

HostedMigration fault: Error=(507), Description=(The user could not be moved because he or she has not been an assigned a Skype for Business Online license. Users must be licensed before they can be moved to Skype for Business Online.)

clip_image001

Cause:

In case you wanted to move a user from on-prem s4b to Online and you get this error … then most likely you didn’t assign the user a license after you have used DirSync or Azure AD connect to sync this user.

Resolution:

Login to your O365 Portal and assign the user a license or subscription that includes Office 365 Skype for Business Online … then try to move the user

clip_image002

I assigned a license

clip_image003

For changes to take effect, I will go to Dirsync and force the user to be synced..

clip_image004

clip_image005

clip_image006

clip_image007

If the moved user that was moved is logged on, it will log off and try to login with Skype for business Online

clip_image008

clip_image009

clip_image010

Moving users from cloud to on-prem.

Moving user at 4:05PM Exactly. The client disconnected automatically and kept on trying to connect again.

clip_image011

It took the client about 2.5 minutes to connect back to the user after he was successfully moved back to on-premises

clip_image012

clip_image013

UserAtHost,TenantId,RoutingGroupId,TargetPool,StartTime,TimeTaken,TimeTakenForMoveUserPrep,TimeTakenForResolveUserInterfaces,TimeTakenForUcsRollback,TimeTakenForBeginMoveAway,TimeTakenForMoveUserConferenceData,TimeTakenForSetMoveResourceData,TimeTakenForCompleteMoveAway,Status,ErrorMsg,PostMoveCleanupRequired,CleanupUserDB,RollBackStatus

sip:Adeo2@moh10ly.com,00000000-0000-0000-0000-000000000000,a7ba6e0a-bb11-5772-a075-fcc5f0adb0cc,s4bfe01.moh10ly.com,03/12/2016 14:04:41,31304.5612,15.3197,0,0,0,0,0,0,0,Success,0,0,0

clip_image014

Skype 4 Business Edge and Hybrid Configuration–Part 2

    Configuring Edge Server

    Edge prerequisites

    Install Prerequisites

    • Microsoft .Net Framework 3.5, HTTP Activation, Windows Identity foundation, Telnet Client.

    Add-WindowsFeature NET-Framework-Core, NET-Framework-45-Core, NET-Framework-45-ASPNET,  Web-Net-Ext45, NET-WCF-HTTP-Activation45, Windows-Identity-Foundation, Telnet-Client -Source X:\sources\sxs

    Setup NETBIOS

    In order to configure Skype 4 Business Edge, we’ll have to change the Netbios to give it the name of our Domain but we won’t join it to the domain.

    clip_image001

    clip_image002

    Setup NICs

    Edge Server must have 2 NICs, one Local NIC will point out to the Front end server but must not have Default gateway so traffic can only flow through the DMZ out to the internet and back in. but still it must be able to ping to the FE from Edge and vice versa.

    DMZ network can have 1 DMZ address (Public Address to be NATTED to) or 3 DMZ addresses for public IP addresses with standard HTTPS ports.

    clip_image003

    clip_image004

    Configure Hostnames

    Edit the Edge server’s host file to include Lync FE and DC’s IP addresses and Hostname

    clip_image005

    clip_image006

    Now I will go back to Skype for Business FE server, I’ll launch the topology builder and add new Edge server

    I will add the first Edge pool which contains of a single Edge server

    clip_image007

    Next, you will have to choose if you want to enable federation with partners or other service providers …e.g. (Google)

    clip_image008

    I am intending to use a single Public IP address with a different ports (nonstandard) since this is a lab. For production it’s recommended to use 3 public IP addresses for Access Edge, AV and WebConf services.

    clip_image009

    Next I will choose the last option which says that the Edge pool is translated by NAT. I will configure my firewall to NAT ports to the Edge’s DMZ IP addresses from the Public so I am choosing this option.

    clip_image010

    clip_image011

    This is the FQDN’s the default configuration .. It’ll only use a single FQDN for all services if you’re going to use a single public IP address with a different ports.

    IMPORTANT NOTE

    When you use a single IP address with a different ports, the Access Edge port will normally change to 5061 (Not 443 like in the _sip._tls.domain.com) SRV record which will cause failure if you forgot to change this port to match the one in your Topology’s Access Edge settings.

    Next I’ll have to enter my Edge server’s Local IP address.

    clip_image012

    clip_image013

    Next I will be asked to enter the DMZ’s IP address which the wizard calls (Private External IP address)

    clip_image014

    Here I am going to place the NAT IP address which is my Public IP address.

    clip_image015

    Next I’ll have to choose which Lync FE pool will be used as the next hop to the Edge pool. In this case I’ll be choosing my main pool since the second is only for resilience purpose.

    clip_image016

    Then I’ll associate the mediation pool for Edge server for external media traffic. I can assign both in this case.

    clip_image017

    Now I’ll click on Finish and right click on the Site name’s properties to enable the SIP federation and XMPP federation then Publish the topology.

    clip_image018

    clip_image019

    clip_image020

    clip_image021

    Now I will setup Azure Active Directory Sync on my DC server in order to sync the required users for the test purpose.

    My domain is adeo.local so I want to change the UPN for users to match the synced domain. (Adeo-office365.ga) and moh10ly.com

    clip_image022

    Installing Azure Active Directory Sync

    Now I will install the prerequisites which consist of the following

    clip_image023

    Net framework 4.5.2 is required for AADS but it’s already installed on my server

    clip_image024

    Next I will install Microsoft Online Service Sign in assistant

    clip_image025

    Next I will install Azure AD Module

    clip_image026

    Finally Azure AD Sync

    clip_image027

    Before moving forward, I’ll have to go to the Office 365 portal and activate DirSync

    clip_image028

    Then use a global admin credentials from O365.

    clip_image029

    Adding the forest using an enterprise admin user account

    clip_image030

    clip_image031

    Due to the fact that my domain adeo-office365.ga’s public dns host doesn’t have SRV configuration because it’s hosted by the famous free domain service (Freenom) so I’ll have to add my original domain moh10ly.com as Lync (S4B) requires SRV records to point to the on-premises lync.

    clip_image032

    clip_image033

    clip_image034

    clip_image035

    clip_image036

    I will only sync one OU, so I will untick the Sync now box and click on Finish

    clip_image037

    I will go to the following path

    “C:\Program Files\Microsoft Azure AD Sync\UIShell” and create a shortcut for the GUI application of AADS on the desktop

    “C:\Program Files\Microsoft Azure AD Sync\UIShell\miisclient.exe”

    clip_image038

    To get this GUI app to work, you will have to sign out of your account and sign back in as your username will be added to the local administrators and have the authority to open it

    Log off, log back in

    clip_image039

    Next I will go to the connectors tab and double click on the ADDS connector (Adeo.local)

    clip_image040

    I will go to the Configure Directory Partitions and under Credentials I’ll choose “Alternate credentials for this directory partition” then enter my on-premises AD Enterprise admin credentials

    clip_image041

    I’ll click on Containers

    clip_image042

    I’ll untick the DC=Adeo,Dc=Local box and only choose Dirsync OU then click OK and apply

    clip_image043

    Before I start syncing my AD , I will go to Skype for Business Server and add my domain moh10ly.com as a SIP domain

    clip_image044

    Next I am going to change the FQDN of the SIP access edge for public domain to moh10ly.com and the default port for the Access Edge to 443 and publish the topology

    clip_image045

    clip_image046

    I needed to finally check if all my FE servers are replicating. So then I can move to Edge server to install Lync components

    clip_image047

    On the Edge server, I’ll use ISO for Skype 4 business to install the setup

    clip_image048

    clip_image049

    First thing I’ll install the local Configuration Store

    I’ll click on Run and then I’ll be asked to import the configuration file which I’ll must export from Lync FE (Skype 4 b FE) server

    clip_image050

    In this case, I’ll go to Lync FE and open Lync Management shell and enter the following Cmdlet

    Export-CsConfiguration -FileName c:\top.zip

    clip_image051

    This cmdlet will export a file to the root C drive . I’ll copy this file to the edge server.

    clip_image052

    I’ll click next to continue, this should start installing the local store

    clip_image053

    clip_image054

    clip_image055

    Next I’ll request a certificate for Internal NIC For edge server

    clip_image056

    clip_image057

    clip_image058

    I’ll take the CSR (Certificate sign request) code and get a certificate from my local CA

    clip_image059

    I’ll open MMC and add Certificates console and import the PKCS certificate

    clip_image060

    clip_image061

    After importing the certificate I’ll assign it to the internal NIC by clicking on Assign to the Edge Internal

    clip_image062

    clip_image063

    clip_image064

    clip_image065

    Once we assign the certfiicate to the internal edge. The replication service for Edge and FE will start working

    clip_image066

    Now I’ll import my Public Certificate to Edge Server’s DMZ NIC

    I already imported my public certificate, now I’ll go to the S4B wizard and assign it there

    clip_image067

    clip_image068

    Unlike IN lync 2013 when you Click on Start service in the Wizard all services start on their own but on Skype for business you ‘ll have to start the services manually by yourself.

    clip_image069

    So Instead I used the service console to start the services.

    Now I’ll go back to the FE And enable remote connectivity to Skype for Business from outside and make sure that replication works fine by checking the Topology or from cmdlet

    clip_image070

    clip_image071

    clip_image072

    clip_image073

    Setting up Hybrid integration with Skype online for Business (O365)

    NOTE:

    In order for Skype for Business Hybrid configuration to work successfully for users homed on cloud and on-prem .. Users must be created first on-premises, enabled on Skype for Business on-premises and from the Skype for Business on-prem Control panel moved to Office 365 Skype for Business online.

    Otherwise users will not be able to see each other’s presence information due to missing attributes if users were to be created directly online or on Active Directory and not enabled on-premises first.

    https://technet.microsoft.com/en-us/library/jj205126.aspx

    https://technet.microsoft.com/en-us/library/jj204669.aspx

    In order to allow Hybrid environment to function properly, we’ll have to federate our Skype for Business on-premises’s Edge server as microsoft says below

    Federation allows users in your on-premises deployment to communicate with Office 365 users in your organization. To configure federation, run the following cmdlets in the Skype for Business Server Management Shell:

    From <https://technet.microsoft.com/en-us/library/jj205126.aspx>

    On the front end server, we’ll run the following CMDlet

    Set-CSAccessEdgeConfiguration -AllowOutsideUsers 1 -AllowFederatedUsers 1 -UseDnsSrvRouting -EnablePartnerDiscovery $true

    clip_image074

    Next cmdlet will create a new public federated provider for skype for business online.. However it already exists so we must delete it from control panel or the cmdlet will fail with the following message

    New-CsHostingProvider -Identity SkypeforBusinessOnline -ProxyFqdn “sipfed.online.lync.com” -Enabled $true -EnabledSharedAddressSpace $True -HostsOCSUsers $True -VerificationLevel UseSourceVerification -IsLocal $false -AutodiscoverUrl https://webdir.online.lync.com/Autodiscover/Autodiscoverservice.svc/root

    clip_image075

    I’ll delete the hosted provider “Skype for Business Online”

    clip_image076

    I’ll try the cmdlet again after deleting the provider ..

    New-CSHostingProvider -Identity SkypeforBusinessOnline -ProxyFqdn “sipfed.online.lync.com” -Enabled $true -EnabledSharedAddressSpace $true -HostsOCSUsers $true -VerificationLevel UseSourceVerification -IsLocal $false -AutodiscoverUrl https://webdir.online.lync.com/Autodiscover/AutodiscoverService.svc/root

    clip_image077

    Since it worked already, I will go back to the control panel and make sure it is enabled

    clip_image078

    Next is : Configure your Skype for Business Online tenant for a shared SIP address space

    Note:

    To configure a shared SIP address space, establish a remote PowerShell session with Skype for Business Online, and then run the following cmdlet:

    We’ll have to download skype for business online powershell

    https://onedrive.live.com/redir?resid=82488EABA4ACDB15!38849&authkey=!AKW6Ln4Rkn6QuUI&ithint=file{308b10a016e19a1cd6a208cbc3961927e16fc6766a4020d3c4ef54ea17925f0f}2cexe

    After launching the PowerShell module as an administrator I’ll run the following cmdlet

    clip_image079 (Connect to Skype for Business online (Lync Online) Powershell)

    Import-Module SkypeOnlineConnector

    clip_image080

    Now I’ll connect to my Office 365 tenant

    clip_image081

    $cred = Get-Credential

    $CSSession = New-CsOnlineSession -Credential $cred

    Import-PSSession $CSSession -AllowClobber

    clip_image082

    Now I’ll configure the shared sip address

    Set-CsTenantFederationConfiguration -SharedSipAddressSpace $true

    From <https://technet.microsoft.com/en-us/library/jj205126.aspx>

    clip_image083

    To double check my configuration I will see if the SharedSipAddresSpace is enabled or not

    Get-CsTenantFederationConfiguration

    clip_image084

    To double check that the hybrid configuration is setup properly we can use the Skype for business on-premises Hybrid UI wizard from the Home Menu under “Connection to Skype for Business Online”

    clip_image085

    Using the Skype for Business 2015 User interface to setup Hybrid configuration:

    After you sign in it does automatically logs you in and configure the three following options

    1. Federation for the Edge server
    2. Federation with Office 365.
    3. Shared SIP address space.

    clip_image086

    clip_image087

    Now I will configure my DNS Settings as recommended by Microsoft for the Hybrid Integration scenario

    DNS Settings

    When creating DNS SRV records for hybrid deployments, the records, _sipfederationtls._tcp.<domain> and _sip._tls.<domain>, should point to the on-premises Access Proxy.

    From <https://technet.microsoft.com/en-us/library/jj205403.aspx>

    1. Update some DNS records to direct all SIP traffic to Skype for Business on-premises:
    • Update the lyncdiscover.contoso.com A record to point to the FQDN of the on-premises reverse proxy server.
    • Update the _sip._tls.contoso.com SRV record to resolve to the public IP or VIP address of the Access Edge service of Skype for Business on-premises.
    • Update the _sipfederationtls._tcp.contoso.com SRV record to resolve to the public IP or VIP address of the Access Edge service of Skype for Business on-premises.
    • If your organization uses split DNS (sometimes called “split-brain DNS”), make sure that users resolving names through the internal DNS zone are directed to the Front End Pool.

    From <https://support.office.com/en-us/article/Configure-Skype-for-Business-Server-2015-Hybrid-b06ee805-4349-4519-82fb-b06ed57c0bd0>

    According to Microsoft’s configuration of the Public DNS, you will have to configure only the SRV records to point to your edge server however, running a simple wireshark on your Skype for business client machine you can notice the following:

    clip_image088

    Microsoft Lync / Skype client first requires the Lyncdiscover / Lyncdiscoverinternal record in order to see where the user is located… then gets redirected to webdir.online.lync.com which is the Cname value to the Lyncdiscover Cname in the public DNS and tries to login the user through Login.microsoftonline.com then finds no user there and logs in using the SRV eventually in the end as in the below snapshot which I’ve used Wireshark for to monitor the DNS traffic that the Lync Client requests upon login request.

    clip_image089

    NOTE:

    What have me confused here is that Microsoft says only SRV records must be pointing to your On-premises Lync/Skype for Business Edge server.. So you must enter something else other than SIP.domain.com (Which in normal cases might be the common name of your Edge certificate) for the value of the SRV Record since the SIP.domain.com and Lyncdiscover.domain.com must be pointing to Office 365.

    I tried using the Public IP address of my Edge server just to check if my on-premises user will connect without any issue however I did have an issue with the Certificate saying “There was a problem verifying the certificate from the server”.

    clip_image090

    Luckily the Public certificate that I had on my edge server had multiple SANs (Subject Alternative Names) and one of them was WAC.moh10ly.com which I was intending to use for the WAC Server (Office Web Apps Server) and then I created an A record on my public DNS WAC.moh10ly.com that points to my Edge server’s Public IP address…. although the Wac.moh10ly.com is not a common name but it worked and I was able to federate with Office 365 users and was able to move users from on-premises to office 365 and back to on-premises as demonstrated later in the article.

    “When creating DNS SRV records for hybrid deployments, the records, _sipfederationtls._tcp.<domain> and _sip._tls.<domain>, should point to the on-premises Access Proxy.”

    From <https://support.office.com/en-us/article/Configure-Skype-for-Business-Server-2015-Hybrid-b06ee805-4349-4519-82fb-b06ed57c0bd0>

    clip_image091

    Now I have changed all the SRV records to direct to the new A record

    clip_image092

    And finally deleted the A sip record and created a new CNAME record that points to sipdir.online.lync.com

    clip_image093

    clip_image094

    I have already a user synced from my local AD to the cloud (office 365) that’s not enabled for Skype for business on-premises .. Once this user is synced and have been assigned a license it should be directly enabled for Skype for Business Online and I should be able to sign in to it without any issue.

    Note:

    In order for both users (homed online and On-premises) to see eachother’s presence the synced user must be enabled on the On-premises Server before moved to the cloud or else the presence and M will fail.

    Time to test, I was able to sign in to the Online homed user (admin) and now I’ll be adding the on-premises homed user to the list to check the presence, IM ..etc

    clip_image095

    Here I added the user admin to my other account Mohammed.hamada and vice versa.

    clip_image096

    The Presence appears to be working fine for user homed on-premises as it shows when I changed it to “busy, be right back..etc” on the cloud user’s Client however the Office 365 homed user’s presence takes time to change on the on-premises user’s list and the IM doesn’t seem to work properly as messages sometimes doesn’t go through and fail.

    Sending a message from the on-premises User (Mohammed Hamada) to (ADMIN)

    clip_image097

    Now sending an IM from Admin to Mohammed Hamada

    clip_image098

    To make sure that the issue is not within my on-premises server, I will use a different Skype for Business online account and see if IM work both ways.

    This is my other user.. The presence information seems to work properly and now I’ll test the IM

    clip_image099

    IM between my On-premises and another user on another Office 365 tenant seems to be working fine back and forth as in the below snapshots so the issue might be related to Office 365 tenant which I am using for this test (could be related to trial version)

    I am going to open a case with MS and see why this issue happens since my on-premises work fine with other tenants.

    clip_image100

    clip_image101

    Now It’s time to move users from and to cloud and on-premises to check how easy, flexible or hard this process is.

    I currently have 2 users, one on cloud and one synced and homed online (Office365)

    clip_image102

    In order to move users, you can go to Users tab after the hybrid config is finished and find the user you want to move then click on Actions and chose to move the users to the Skype for Business Online as in the below snapshot

    Note:

    Before you move the user to Office 365, you must assign license to the user or else the move will fail.

    clip_image103

    clip_image104

    clip_image105

    clip_image106

    clip_image107

    You can move the user back from Office 365 to your on-premises Skype for Business server with the same process exactly except that you’ll have to choose which pool you need to move the user to.

    Checking where the user is hosted from Skype for business Management shell

    The Hosting Provider will show you where the user is working from now.

    clip_image108

    clip_image109

    clip_image110

    Hope this has been helpful

    References:

    https://technet.microsoft.com/en-us/library/jj204967.aspx

    https://technet.microsoft.com/en-us/library/jj205403.aspx

    https://technet.microsoft.com/en-us/library/jj205126.aspx

    https://technet.microsoft.com/en-us/library/jj204669.aspx

    https://support.office.com/en-us/article/Configure-Skype-for-Business-Server-2015-Hybrid-b06ee805-4349-4519-82fb-b06ed57c0bd0

    https://channel9.msdn.com/Events/Ignite/2015/BRK4129

Install Frontend Skype for Business 2015–Part 1

Install prerequisites

Frontend/Standard edition as well

Add-WindowsFeature RSAT-ADDS, Web-Server, Web-Static-Content, Web-Default-Doc, Web-Http-Errors, Web-Asp-Net, Web-Net-Ext, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Http-Logging, Web-Log-Libraries, Web-Request-Monitor, Web-Http-Tracing, Web-Basic-Auth, Web-Windows-Auth, Web-Client-Auth, Web-Filtering, Web-Stat-Compression, Web-Dyn-Compression, NET-WCF-HTTP-Activation45, Web-Asp-Net45, Web-Mgmt-Tools, Web-Scripting-Tools, Web-Mgmt-Compat, Desktop-Experience, Telnet-Client, Windows-Identity-Foundation

Add-WindowsFeature NET-Framework-Core, RSAT-ADDS, Windows-Identity-Foundation, Web-Server, Web-Static-Content, Web-Default-Doc, Web-Http-Errors, Web-Dir-Browsing, Web-Asp-Net, Web-Net-Ext, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Http-Logging, Web-Log-Libraries, Web-Request-Monitor, Web-Http-Tracing, Web-Basic-Auth, Web-Windows-Auth, Web-Client-Auth, Web-Filtering, Web-Stat-Compression, Web-Dyn-Compression, NET-WCF-HTTP-Activation45, Web-Asp-Net45, Web-Mgmt-Tools, Web-Scripting-Tools, Web-Mgmt-Compat, Server-Media-Foundation, BITS

From <https://technet.microsoft.com/en-us/library/dn933900.aspx>

Check prerequisites for hotfix

NOTE: If KB2919355 is installed first then you need to Uninstall it and install Windows8.1-KB2982006-x64 first

clip_image001[5]

clip_image002[4]

get-hotfix KB3173424,KB2919355,KB2919442

clip_image003[4]

From <https://support.microsoft.com/en-us/help/3057448/-the-update-is-not-applicable-to-your-computer-error-when-you-install>

Download IIS hotfix

https://www.microsoft.com/en-us/download/details.aspx?id=44051

From <https://technet.microsoft.com/en-us/library/dn951388.aspx>

Installing Director Prerequesties

Add-WindowsFeature RSAT-ADDS, Web-Server, Web-Static-Content, Web-Default-Doc, Web-Http-Errors, Web-Asp-Net, Web-Net-Ext, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Http-Logging, Web-Log-Libraries, Web-Request-Monitor, Web-Http-Tracing, Web-Basic-Auth, Web-Windows-Auth, Web-Client-Auth, Web-Filtering, Web-Stat-Compression, NET-WCF-HTTP-Activation45, Web-Asp-Net45, Web-Scripting-Tools, Web-Mgmt-Compat, Desktop-Experience, Telnet-Client

From <https://technet.microsoft.com/en-us/library/dn951388.aspx>

Easier solution:

Prerequisite not satisfied: Before you install Skype for Business Server 2015, you must install an update for Windows Server 2012 R2. For details about the update, see Microsoft Knowledge Base article 2982006, “IIS crashes occasionally when a request is sent to a default document in Windows 8.1 or Windows Server 2012 R2” at http://go.microsoft.com/fwlink/?LinkId=519376

Solution:

Extract the .msu to cab

Expand -F:* C:\Windows8.1-KB2982006-x64.msu c:\

clip_image004[4]

Install CAB

dism /Online /Add-Package /PackagePath:C:\Windows8.1-KB2982006-x64.cab

clip_image005[4]

Check Powershell version = 3

$psversiontable

clip_image006[4]

Install prerequisites

clip_image007[4]

clip_image008[4]

Restart is required

clip_image009[4]

clip_image010[4]

clip_image011[4]

clip_image012[4]

Prepare Active Directory

clip_image013[4]

clip_image014[4]

clip_image015[4]

clip_image016[4]

clip_image017[4]

clip_image018[4]

clip_image019[4]

Install Administrative tools

clip_image020[4]

clip_image021[4]

clip_image022[4]

clip_image023[4]

Prepare First standard edition server

clip_image024[4]

clip_image025[4]

clip_image026[4]

clip_image027[4]

clip_image028[6]

clip_image029[6]

clip_image030[6]

clip_image031[6]

clip_image032[6]

clip_image033[6]

clip_image034[6]

clip_image035[6]

clip_image036[4]

I will create a shared folder

clip_image037[4]

clip_image038[4]

clip_image039[6]

clip_image040[6]

clip_image041[6]

clip_image042[4]

clip_image043[4]

It’s time to publish the topology

clip_image044[4]

clip_image045[4]

Publishing failed with an error that states the following

clip_image046[4]

So I will double check that I am member of the required groups

clip_image047[4]

It seems not, I will add Csadministrator and RTCUniversalServerAdmins

clip_image048[4]

Solution:

Still I get the same error every time I try to publish the topology. Apparently the way I solved this was by creating a new topology where the standard pool name must match the server’s hostname otherwise Topology won’t be able to access the SQL Express that’s installed by Lync setup.

So in this case I am going to re-create my topology as following

Moh10ly.com is my public domain which is going to be my sip domain in this case not my local one (Lab.com)

clip_image028[7]

clip_image029[7]

clip_image030[7]

clip_image031[7]

clip_image032[7]

Next I will put my server’s FQDN in the pool name, my FQDN Is

clip_image049[4]

clip_image050[4]

clip_image033[7]

clip_image034[7]

clip_image035[7]

clip_image051[4]

clip_image052[4]

clip_image039[7]

clip_image040[7]

clip_image041[7]

clip_image053[4]

clip_image054[4]

Now it’s time to publish the topology once again

clip_image055[4]

clip_image056[4]

clip_image057[4]

Seems we have passed the permission issue as soon as the Standard edition FE server matches the FQDN of the server

clip_image058[4]

clip_image059[4]

We’ll look up at the open to-do list now

The to do list seems a bit different from Lync 2013 as it requires the part about the certificate

clip_image060[4]

I will run the Local setup for the server since I only have one server now.

clip_image061[4]

Before we run the local setup we need to make sure that our account has the required privileges which is shown under the Install local CS below. Since I already have configured the account’s privileges I will continue my setup.

clip_image062[4]

clip_image063[4]

clip_image064[4]

clip_image065[4]

There’s nothing new about the local store installation on S4B except that it checks and downloads updates during this process as the report shows below.

clip_image066[4]

Detailed steps for the local store installation can be found in the sub page.

clip_image067[4]

Now it’s time to move to the next step and check for the prerequisites

clip_image068[4]

clip_image069[4]

clip_image070[4]

S4B says that a prerequisite is not meet, checking the link posted in the error information it seems that it needs a hotfix to be installed on the server

http://go.microsoft.com/fwlink/?LinkId=519376

clip_image071[4]

I am attaching the hotfix after requesting and Installing as requested

<<478232_intl_x64_zip.rar>>

clip_image072[4]

clip_image073[4]

After finishing we’ll double check if the prerequisites are meet or not

Running the setup again it seems that the prerequisite has been satisfied.

clip_image074[4]

The setup and in particular the next step could take approximately about 5-10 minutes depending on the resources you have assigned to the Skype for business server.

clip_image075[4]

clip_image076[4]

I will navigate to the MSI file location and try to install it without using the wizard.

clip_image077[4]

The file path is as showed in the previous path:

C:\Programdata\Microsoft\Skype for Business Server\Deployment\cache\6.0.9319.0\

clip_image078[4]

So the problem is that Windows Identity foundation is not installed. Although I have copied the prerequisite cmdlet from the official Microsoft Skype for business’s technet article but it seems they have missed out there so I will adjust the powershell cmdlet to include it which means you won’t face this issue.

clip_image079[4]

clip_image080[4]

Now I’ll re-run the setup again

clip_image081[4]

We have passed the error already and now in the process of assigning accounts to SQL services.

The setup might take approximately 30-60 minutes installing all the required components.

clip_image082[4]

clip_image083[4]

In order to continue to the next step we must deploy CA (Certification Authority) to issue a certificate for Skype for Business Front end web services.

I already have one CA deployed on my CA so I will just go ahead and click run on the step 3

This process will be easy as it’s automated if you have configured your CA properly. First click on Request

clip_image084[4]

Now S4B certificate request wizard provides new user interface that’s easier and faster to fill, I will fill it and go ahead with issuing the certificate.

clip_image085[4]

clip_image086[4]

clip_image087[4]

clip_image088[4]

clip_image089[4]

clip_image090[4]

clip_image091[4]

And it’s done

clip_image092[4]

I will do the same steps for the OAuthTokenIssuer

clip_image093[4]

clip_image094[4]

Now it’s time to start the Services and check eventviewer

Trying to start the services from the wizard fails with event ID 20002 so instead I am going to try Lync Management shell instead

clip_image095[4]

Trying Management shell with the cmdlet start-cswindowsservices seems to work

clip_image096[4]

clip_image097[4]

All the services are running now

clip_image098[5]

See you later at Part 2