Friday, December 4, 2015

Configure Hybrid Skype for Business and Move Users (GUI)

In an earlier post, Configure Hybrid In Your Skype  for Business Environment, I discussed the pre-requisites for setting up a Hybrid environment, and then walked through the configuration via PowerShell. In this post I will be demonstrating the Hybrid configuration and moving of users between environments all from the GUI within the Skype for Business Control Panel. To view details about the environment and the needed pre-reqs, please visit the blog post referenced above.

Configure Hybrid


Assuming that you have already satisfied all the pre-requisites per the blog post mentioned above, it is now time to connect your environments using the provided wizard in the Skype for Business Control Panel (on-premises).

From the Skype for Business Control Panel, on the Home tab, click the Set up hybrid with Skype for Business Online link as shown below: 


The Set up Hybrid with Skype for Business Online wizard will open, and the first screen simply presents a list of pre-requisites that must be satisfied. Click Next.


The next screen will likely prompt you to sign in to Office 365. Click the Sign in to Office 365 button.


Enter your credentials, and then click Ok.


You will then see that the wizard is attempting to sign in to Office 365 with the provided credentials.

The next screen will show that you are successfully signed in to Office 365 if your credentials were correct, and you can click Close.

The next wizard screen seems a bit repetitive, but it confirms that you are now signed in to Office 365. Click Next.


Now the wizard will actually perform a check to see if the pre-requisites have been satisfied. 


If any checks come back with an "X" in a red circle, no problem. Just click Next, and the wizard will take care of the needed configuration. As you can see, all pre-requisites were taken care of. The image below reflects that the "Federation with Office 365 is not configured" error in the above image was automatically configured for you. Click Close.


Wasn't that easy? Hybrid is now configured!

Move Users From On-Prem to Online


Now navigate to the Users tab in the Skype for Business Control Panel. Select the user that you want to move to Skype for Business Online, and then click on the Actions drop-down from the top navigation menu. Select the option to Move selected users to Skype for Business Online....


The Move users to Skype for Business Online wizard opens, and you are presented with a warning to make sure that the user has a Skype for Business Online license assigned in Office 365, and with another warning to make sure that you are familiar with the feature differences between environments. (NOTE: if you need to assign a license to the user in Skype for Business Online at this point, stop and do so. Then go grab a coffee from Starbucks; I have seen provisioning take between 30 - 60 minutes for this license assignment to be recognized from the Control Panel.) Click Next.


Again, you may be prompted to sign in to Office 365. If so, enter your credentials, and click Ok. Once you are signed in, click Close.


Repetition. More confirmation that you are signed in to Office 365. Click Next.


You are now presented with another prompt asking if you are sure you want to move this user to Skype for Business Online. Click Next.


Next, a screen appears displaying the progress of the move operation.



Once the move completes successfully, you will see the below screen. This would show if the move was unsuccessful for any reason (like licensing not being recognized yet). This report can be more helpful in cases where you are moving multiple users. Click Close.



Now, if you look at your users in the Control Panel, you can see that Shaggy and Thelma are still homed in the on-prem pool, but Scooby is now in Skype for Business Online.



Again, Provisioning may take its sweet time for your Skype for Business Admin Center to reflect this new user as being homed Online, but once it has finished, you should see this on your Skype for Business Admin Center dashboard:



Clicking on the Users tab in the Skype for Business Admin Center further confirms that Scooby is now indeed Online.



Back in the on-prem Control Panel, if we open the Properties of Scooby, and read the message, it hits the point home just a bit further that he is definitely homed in Office 365.




Move Users from Online to On-Prem


Alright, so you have moved a user to Online. Before they get too comfy, let's move them back to on-prem!

From the on-prem Skype for Business Control Panel, navigate to the Users tab, search for your user, and with the user highlighted, click on the Actions drop-down menu. Select the option to Move selected users from Skype for Business Online...


In the Move users to Skype for Business Server on-premises wizard, you are prompted to select the pool that you want to move the user to. Make your selection from the drop-down box, and then click Next.


This operation requires you to connect to Office 365 once again, so click the Sign in to Office 365 button, enter your credentials, click Ok, and then once you are signed in, click Close


You will receive the expected confirmation window stating that you are now signed into Office 365 as was demonstrated above. Click Next. The next screen is asking you to confirm that you want to move this user to your on-prem pool. Click Next.


Again, you are presented with the progress of the move operation.


Lastly, you will see the results screen. In our case, you can see that Scooby moved back successfully. Click Close.


Now, if we take another look at all of our users, we can see that they are all back nice and snug in our on-prem pool. 


And that's it! Once your pre-reqs are in place and Directory Synchronization is working, configuring Hybrid and moving users between environments is very simple and straightforward from the Skype for Business Control Panel.

Stay techy, my friends!

Tuesday, December 1, 2015

New eBook Annoucement: Skype for Business Hybrid Handbook

Good morning, everyone, and Happy December! Today is a big day, both for me, and for Skype for Business and Office 365. Today, Office 365 begins selling their brand new premium license: E5, making Cloud PBX with PSTN Calling Generally Available. On my side of things, I am launching a new, free, e-book titled, Skype for Business Hybrid Handbook!



I planned the launch of this book to fall closely in line with the arrival of E5 and Cloud PBX, as I feel that this new subscription option will really bolster the implementation of Hybrid models across many organizations. The fact that I finished in time to actually launch on the same day is just icing on the cake to me!

For now, this ebook is available exclusively in the Technet Gallery. It is 100% FREE, and will remain so, at least for this first edition. To download your own copy, whether for educational purposes or for a handy resource to guide you in your own Hybrid Skype for Business efforts, visit the Technet Gallery: https://gallery.technet.microsoft.com/Skype-for-Business-Hybrid-9218205e.

As with all my community contributions, I am one of the most open individuals to thoughts and feedback that there is. So, with that in mind, I would GREATLY appreciate your thoughts. Accolades, constructive criticism, and outright sarcasm are all welcome!

For a preview of the structure of the book, below are the included chapters and sub-sections:


Terminology Review.. 6
Chapter 1: Introduction to Skype for Business Environments. 7
     - Skype for Business Server 2015 (On-Premises)
     - Skype for Business Online. 9
Chapter 2: On-Premises vs. Online: Feature Comparison. 11
Chapter 3: Supported Hybrid Configurations and Available Features. 13
     - Exchange Server On-Premises Integration
     - Exchange Online Integration
     - SharePoint ServerOnPremises Integration
     - SharePoint Online Integration. 16
Chapter 4: Hybrid Prerequisites and Requirements. 18
     - Skype for Business Online Management with PowerShell 18
     - On-Prem Infrastructure Requirements. 19
     - Supported (Required) Topologies. 19
     - Federation in a Hybrid Environment. 20
     - DNS and Port Requirements. 20
Chapter 5: User Data, Features, and Policy Limitations. 21
     - Notes About User Data. 21
     - Notes About Policies. 21
Chapter 6: Configure Directory Synchronization with Azure AD Connect. 23
Chapter 7: Set Up Federation with Skype for Business Online Tenant. 33
     - GUI-Based: Set up Hybrid with Skype for Business Online Wizard. 33
     - PowerShell-Based: Configure Federation with the Management Shell 34
     - Federating with an Audio Conferencing Provider. 39
Chapter 8: Move Users from On-Prem to Skype for Business Online. 40
     - Pilot Users First. 42
     - Move Users in the Control Panel 42
     - Move Users in the Management Shell (PowerShell). 43
Chapter 9: User Management in a Hybrid Environment. 49
Chapter 10: Deploy Hybrid in a Multi-Forest Environment. 52
     - Forest Topology. 52
     - Forest Trusts. 54
     - Hybrid User Placement Considerations. 54
     - Notes on AD FS Configuration. 54
     - Notes on Azure Active Directory Connect. 57
Chapter 11: Configure Hybrid in Reverse: Online-to-On-Prem.. 60
Chapter 12: Cloud PBX with PSTN Connectivity via On-Premises Environment. 64
     - Feature Comparison. 64
     - Enabling a User for Cloud PBX with PSTN Connectivity. 65
     - Configure & Assign Voice Routing Policy. 65
     - Assign Licensing in Office 365. 66
     - Move the User to Skype for Business Online. 68
     - Enable for Enterprise Voice and Cloud PBX Voicemail

I hope you have a chance to download a copy for yourself, and more importantly, I hope it is useful in your pursuit of a Hybrid environment!

Stay techy, my friends!

Saturday, November 28, 2015

#Skype4BRecap Episode 7 - Plantronics Headset Review, A S4B DHCPUtil Replacement, Mac Client & More

Happy Thanksgiving (belated)! The community has kept me on my toes this week. My tardiness in getting Episode 7 out on Friday was called out twice! As Mark Vale (@UnifiedVale) pointed out, Thanksgiving is no excuse! ;-) Good to be kept on your toes, and to know someone is watching!

I started this week's episode out by doing a review of the Plantronics Voyager Focus UC headset that I won at the Charlotte Lync Users Group raffle. Let me just say, the headset is AMAZING! If you want to know how amazing, check out the episode below, or listen to the audio-only version (link also below). I followed that up by calling out the Skype for Business DHCPUtil tool replacement that James Cussen announced he was working on on Twitter.

Next, I gave my two cents about the preview of information that we received last Friday about the upcoming Skype for Business Mac client (coming Summer of 2016). Finally, I briefly mentioned a few smaller items that I thought were interesting nuggets of gold shared on Twitter and LinkedIn throughout the week. Man, it was busy for a holiday week!

You can check out the video for the rest, but I will briefly touch on the preliminary pricing details that have been making their way through the grape vine:

Enjoy the episode, and don't forget to Subscribe to my YouTube channel if you find the weekly show at all helpful (or amusing)!

Audio-Only Link


Video Content Links

Honorable Mentions 


Stay techy, my friends!

Friday, November 20, 2015

Mac for Skype for Business Client News

The "Mac for Skype for Business" (what a mouth-full!) client is around the corner, sort of, and we finally got some details today. The Skype for Business Video Cast shared many details about what is on the horizon in today's episode. In the presentation, we got some screenshots of the client's look and feel, and a few details around timelines. Let's break this down below:

What We Know Now


So, the details that we have now that we did not have before seem to be centered around the aesthetics of the client, and timelines, vague as they may be. For the look and feel of the client, Matthew Landis (@matthewlandis) did a great job capturing some screenshots during the video cast, and you can take a look on his blog: http://windowspbx.blogspot.com/2015/11/take-look-at-totally-new-skype-for.html?showComment=1448046343744#c7496842788115337775

One of the cool things that stood out to me is having the control buttons float over the video feed itself, giving more of the screen real estate to the video, without fumbling for the controls. This is an improvement from even the latest and greatest PC client. It seems that Microsoft is really trying to establish that they are making Mac users 1st-class citizens in the Skype for Business arena. This is wise, as they have really begun to alienate many Mac users, and even entire organizations because of subsets of Mac users, simply because this client has been neglected for so long.

Now, for timelines, we have estimates as specific as Quarters, but no more granular than that. The part that I am really disappointed about is that from the rumors I had previously heard, we should have been getting a new Mac client in Q4 2015. It looks like we are looking at next year, though. Check out the below schedule:

  • Q1 2016 - Nominations for Preview Program
  • Q2 2016 - Technical Preview Program
  • Summer 2016 - General Availability. 
So, yeah...it would appear that the general public will not have an updated Mac client for nearly 6 more months. Not the best news ever. Yeah, the client looks like it will be pretty, and it also sounds like a lot of effort is being put into it being very stable, but 6 months is a long time in technology. That also puts on a lot of pressure to make sure they get this right, and that it truly is extremely stable once it is in GA.

What We Still Don't Know

Ok, there is one thing I am going to focus on for this section, and they even touched on it in the episode: Mac client support for PERSISTENT CHAT. Now, to be fair, they did fess up about the fact that this first release of the product will likely NOT provide support for Persistent Chat capabilities. I repeat, do NOT hold your breath hoping for Persistent Chat support in the first release of the Skype for Business Mac client. So, that begs the question, are there at least plans to add it in as an update, much the way they mentioned plans to update the client with Video-Based Screen Sharing at a later date? Of course, there was no comment on that, and so we are still left in the dark about whether that functionality will ever become a reality for Mac users. *SIGH* And this has left a lot of room for the rise of tools like Slack within larger organizations, or other competing products like IRC.

In Conclusion...


At any rate, at least we have some real details on the upcoming client, and it is really slick. Sadly, it is still a ways off, and will not likely deliver on missing features at GA. My thoughts? If Microsoft really wants to prove that Mac users are 1st-Class citizens in the Skype for Business arena, a more feature-consistent experience needs to be delivered across the enterprise, for ALL mainstream OS types. Yes, even a solution for Linux users, even if it is 100% WebRTC-based. Your thoughts?

Stay techy, my friends!

Monday, November 16, 2015

Skype for Business Online Voice Refresher and E5 Licensing Explained

"I'm getting that Cloud Voice Whatchamacallit!"

I have had several conversations lately where it has become clear that there is definitely excitement around the emergence of calling (PSTN) capabilities in Office 365, but that there is also a bit of confusion about the various terms that are related to this functionality. This confusion can become compounded with the different hybrid options that are also available, and still in Preview (and thus, still subject to some change). The distinctions are becoming more important to make, however, as the time is right around the corner to start paying for these services!

With the arrival of the Office 365 E5 sku on Dec. 1, I figured now was as good a time as any to throw a few of the terms out there, and chat about what is what. For starters, lets talk about the "Cloud PBX with PSTN Calling" preview.

Cloud PBX

Alright, so when the preview came out, it was called "Cloud PBX with PSTN Calling", and it was a single preview. This made it feel like the new functionality that you were previewing was a single feature or billable product. However, that is not quite the case. That "with" is really a bridge that allowed you to preview two separately billable items. "Cloud PBX" refers to the call control features and abilities that are present for a user that is licensed for Cloud PBX in Office 365. Essentially, a properly licensed user for Cloud PBX has similar features available that they would have over their phone via an on-premise PBX. This sets them up for being able to make/manage calls and have voice connectivity to the PSTN, BUT, it does not actually provide them with that connectivity, a phone number, or dial plan with minutes. Much the same way that you can enable a user for Enterprise Voice in Skype for Business Server 2015, which brings with it additional licensing costs, that user still cannot call a phone number unless you have also paid a provider for service and phone numbers.

So, why would you even have Cloud PBX if it doesn't allow you to make calls to/from the PSTN? Well, you would not have Cloud PBX by itself, plain and simple, unless you enjoy flushing money down the drain. This will always be paired with a voice plan of some sort, whether it be directly through Microsoft's cloud, or through your existing voice provider on-prem. The E5 base plan will include Cloud PBX, but unless you bring your own voice services to the table, the PSTN Calling is an additional cost to the base E5 plan.

PSTN Calling

Alright, so now that we have sort of established "Cloud PBX" as a needed base license for PSTN capabilities in Skype for Business Online, what do we need to actually get a phone number assigned to a user, and to allow that user to place and  receive phone calls on the PSTN? That would be the piece that we refer to as "PSTN Calling"! While this will not be included in the base E5 plan, you can add this service on for about an extra $12/month/user, and this will  provide you with the needed phone number and a dial plan to start making calls, all packaged within Microsoft's cloud. According to this article, that total package will  run you about $47/month/user, and will give you about 3,000 minutes of talk time (U.S. talk time; International is extra). Not too shabby!

Cloud PBX with On-Prem PSTN Calling

So that is a bit more of a mouth-full. As the very descriptive name implies, however, this gives you the above PSTN Calling functionality for your Cloud PBX licensed users by connecting your existing on-prem Skype for Business Enterprise Voice environment to your Skype for Business Online environment. Yes, we are talking about Hybrid here, with Directory Synchronization and the whole nine yards! Not only does this approach allow you to extend your existing Enterprise Voice functionality to your Office 365 users, but it also provides you with a gradual approach for slowly migrating an increasing base of users to Skype for Business Online. A lot of flexibility is introduced with this! However, before suddenly migrating all your users to the Cloud while maintaining your on-prem Enterprise Voice environment, keep in mind that not all features will be able to port over with your Online users. For example, Response Groups will only work on-prem. Check out this article for a complete list of which features will or won't work for Online voice users: https://technet.microsoft.com/EN-US/library/mt455212.aspx.

PSTN Conferencing

Alright, I feel like this one is pretty self-explanatory, but for the sake of being thorough, I'll glaze over it as well. Unlike the PSTN Calling add-on for the E5 plan, PSTN Conferencing is included in the E5 license, and does NOT come with a cap on minutes. This of course provides users with access to a conferencing phone number so that they can schedule Skype for Business meetings, and allow outside or anonymous users to join these meetings via PSTN dialin. Again, this would be packaged through services available in Microsoft's cloud, so you don't have to do the leg work of finding a provider and signing another contract.

In Conclusion...

So, for those of you that were starting to confuse any of these terms, blending any of them together, looking for a better high-level understanding of how all these new features relate to the upcoming E5 release, or just wanted to find out some preliminary E5 pricing details, I hope this helped prepare a bit better for what's coming. It's a bright and crazy new world out there, folks, and piece by piece, it's moving to the cloud!

Stay techy, my friends!

Friday, November 6, 2015

#Skype4BRecap Episode 4 - Call Recording Pro, Cloud PBX E5, and MVP Summit

Happy Friday, everyone! This week, we jumped into a number of awesome topics. First, we started out with a shameless ask on my part for feedback on your experiences with Server-Side Conversation History with Android Lync 2013 app in a Skype for Business Server environment. From there, we dove into the MVP Summit in Seattle, Matthew Landis' announcement for the new Call Recording Pro, new details on the Cloud PBX E5 license that hits on December 1st, and the introduction of Number Porting to the Cloud PBX Preview.

You can check out the video for the rest, but I will briefly touch on the preliminary pricing details that have been making their way through the grape vine:


  1. E5 is pegged at $35/month, currently.
    • This includes PSTN Conferencing
    • This includes Cloud PBX functionality
  2. DID and national PSTN Calling functionality comes at an additional $12/month.
  3. International PSTN Calling will be another $12/month.
  4. For all Cloud PBX functionality (as mentioned above), the grand total for a user per month is $59.

Video Content Links

Honorable Mentions 


**CORRECTION** A quick correction. I made the mistake off of a post that I must have half-read that SEFAUtil Done Right and Call Recording Pro were one and the same product. They are indeed separate products. Call Recording Pro was making a debut, while SEFAUtil Done Right is a codename for a project that is still in progress. I apologize, and will do a much better job of thoroughly researching topics that I speak about in the future. Matt was a stand up guy, and even re-tweeted my video post, without calling me out! Another great soul had pity on me, and showed me the error of my ways. Finishing up a Friday strong!


Stay techy, my friends!

Thursday, October 29, 2015

Configure Hybrid In Your Skype for Business Environment

Hybrid is becoming a huge buzzword. Hybrid Cloud. Hybrid Cars. Hybrid everything! And each is "hybrid" in a different context. Today, I want to discuss implementing Hybrid in a Skype for Business environment.

In addition to seeking guidance on configuring your hybrid deployment with the content from this blog post, be sure to also download a FREE copy of my Hybrid Handbook eBook on the TechNet Gallery: https://gallery.technet.microsoft.com/Skype-for-Business-Hybrid-9218205e. It will provide guidance on various Skype for Business "Hybrid" topics.

What exactly does Skype for Business Hybrid mean? Well, simply put, Hybrid within your Skype for Business deployment is when you have an On-Prem Skype for Business Server 2015 (or Lync Server 2013) deployment, AND Skype for Business Online (Office 365), and you want to connect the two environments. This way you can have some users in your On-Prem environment and others in your Online environment, while they are all part of the same SIP domain, and communicate freely as if they were all in the same physical deployment.

Why Skype for Business Hybrid?


This is a fair question. Why add the complexity to an already deployed Skype for Business Server 2015 deployment? Or the reverse: why complicate your simple Skype for Business Online environment with a whole new On-Prem deployment? Here are a few key reasons:
  1. Flexibility. In today's work environment, users are scattered geographically, and also have varying functionality needs. While some can operate fully within the available feature set of Skype for Business Online, others may need more enterprise-level features that are only found in On-Prem, such as advanced Enterprise Voice functionality.
  2. Cost Savings. By having some Skype for Business users remain cloud-based, you save significantly on licensing costs compared to those users that are on-prem.
  3. Leaner On-Prem Environment. This is kind of tied in with the previous two comments, but the more users you have in Office 365, the less beefy your on-Prem deployment has to be. This goes beyond Skype for Business, as well. If those Office 365 users are also using Exchange Online, or SharePoint Online, those On-Prem deployments can also likely be scaled down over time.
Again, the above points are just a few obvious reasons why a company might want a Hybrid environment. Now that we have taken a quick look at why, let's explore our existing lab environment, and discuss the leg work that was done before we made the actual connection between environments and moved a user to Online.

The Lab Environment


The On-Prem lab environment was built in the Rackspace public cloud, which was very easy to deploy and manage (Disclaimer: for those that don't know, I am a Rackspace employee). It consists of the following servers:


  • 1 Active Directory Domain Controller
  • 1 Azure AD Connect Server for Directory Synchronization
  • 1 Active Directory Federation Services Server
  • 1 AD FS Web Proxy
  • 1 Skype for Business Server 2015 Standard Edition Front End
  • 1 Skype for Business Server 2015 Edge Server
  • 1 Reverse Proxy (IIS w/ ARR)


For the certificates on the Skype for Business components, I installed an internal Root CA on the DC, and have used that on both the public and private-facing certificates, which works fine for the lab. For the AD FS and AD Connect pieces, I set them up according to this previous blog post: http://blog.msucguy.com/2015/07/configuring-azure-ad-connect-with-sso.html.

The Skype for Business On-Prem deployment is just a run-of-the-mill Standard Edition deployment, with three users enabled, nothing special:



As you can see, we are going with a Scooby Doo theme, here!

The Office 365 Environment


My tenant for this lab is using the SIP domain 's4blab.org', which is of course the same SIP domain that I used in my On-Prem lab. As you can see, to begin, I had only my 'admin' user, and no SSO or directory synchronization setup. I am not going to walk through those steps, as they are out of scope for this post, but you can find those steps in the blog post I linked to above. 


In the Azure AD portal, you can see that my domain is already verified, but SSO is not yet impletementd:


Next, in our Licenses section, we can see that I have a single valid Skype for Business Online (Plan 2) license, but that it is not yet assigned:



After I activated my domain for Directory Synchronization, we see this for Step 3:



Then, once I got directory synchronization in place with SSO, we can see that Scooby, Shaggy, and Thelma, as well as my AD FS service account, are now synced to the cloud, but their Status shows "Synced with Active Directory". Good times.


When I go back into Azure AD Portal, I can now see that my one verified domain is also configured for SSO:


Alright, for a last look at the Office 365 environment before we move on to actually connecting the Hybrid piece, we can see that there are still no Skype for Business Online users enabled in the Skype for Business Admin Center after our Directory Synchronization:

Prerequisites for Hybrid Skype for Business


Let's first discuss a few key requirements that must be in place before Hybrid can be successfully implemented.
  • Directory Synchronization. A mechanism for directory synchronization between your on-prem Active Directory and Azure AD instance is required. This does not have to be Azure AD Connect, but I would highly recommend it. Also, if SSO is required, you will need to have AD FS with the AD FS Web Proxy configured. As mentioned above, this is already in place in our lab environment.
  • On-Prem Topology. In order to set this up, you cannot have a mix-and-match topology. For a Skype for Business Server 2015 deployment, all servers must be running Skype for Business Server 2015. Likewise, if you have a Lync Server 2013 deployment, all servers must be running Lync Server 2013. 
  • Federation Requirements. The Federation configuration that is in place in your on-prem deployment must be mirrored in your Online environment. For example, if you have Open Federation set up on-Prem, but lock down federation to only certain domains Online, you will have to change one or the other to match the other exactly.
  • DNS. The SRV records for your SIP domain, both _sipfederationtls._tcp and _sip._tls, need to be configured to point to the on-prem Reverse Proxy, NOT the Office 365 addresses.
  • Other Considerations. There are also various requirements for ports and protocols that need to be allowed through your firewall. In addition, there are a few more things that you need to consider, but are not necessarily requirements, regarding user accounts and data, and policies and features. Read up on each of these pieces in detail here: https://technet.microsoft.com/en-us/library/jj205403.aspx.



Configure Hybrid


Edit (12/4/2015): The next two sections describe how to configure hybrid and move users via Powershell cmdlets, so that you have a base to work off for putting scripts together and further automating your environment. For a great How-To on completing these tasks within the Skype for Business Control Panel, check out my other post: Configure Hybrid Skype for Business and Move Users (GUI).

Alright, with our environment fully prepped, and ready for connecting, let's jump into the meat of actually making the Hybrid connection, and then move on to moving users.

  1. So, first, we need to run the following cmdlet in our Skype for Business Management Shell on the on-prem Front End: Set-CSAccessEdgeConfiguration -AllowOutsideUsers 1 -AllowFederatedUsers 1 -UseDnsSrvRouting -EnablePartnerDiscovery $true. 
    As you can see, I first tried running it without -EnablePartnerDiscovery, as that is what was instructed in official documentation, but this parameter is apparently required when using -UseDnsSrvRouting. Note: You can also set the value as $false, but I chose $true to keep things simplified across both environments.
  2. Now, in the Federation and External Access tab within the Skype for Business Server Control Panel, go to the section titled SIP FEDERATED PROVIDERS, and remove the default entry that shows up for Skype for Business Online. You will then only have one default entry. 
  3. Back in the Skype for Business Management Shell, run the following cmdlet: 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/AutodiscoverService.svc/root. The -EnabledSharedAddressSpace is important because this tells the on-prem deployment that we will be sharing the SIP domain that is in use with an Online tenant. 
  4. Going back to the Control Panel, we can see our new hosting provider if we refresh the screen: 
  5. Next, if we don't already have the Skype for Business Online connector module installed, you must obtain that and install in on your server. If you are using your Skype for Business Front End server to run these commands, however, this module should have been installed by default when installing Skype for Business Server 2015.
  6. Import the module (Import-Module SkypeOnlineConnector), and then set your credentials in the $cred variable ($cred = Get-Credential): 
  7. Next, run this cmdlet to set a new $CSSession variable: $CSSession = New-CsOnlineSession -Credential $cred; follow that cmdlet up with Import-PSSession $CSSession -AllowClobber
  8. Now, just like we configured our Hosting Provider to Share Address Space, we need to set this on our actual tenant in Office 365: Set-CsTenantFederationConfiguration -SharedSipAddressSpace $true

Alright, we are ready to move a user from our on-prem Skype for Business deployment to our Skype for Business Online tenant!

Move Users From On-Prem to Online


Alright, the documentation has us move on to running the cmdlet for move the user. However, if we do this before we set the Skype for Business Online (Plan 2) license on the user within Office 365, we will see the below error: 



The error tells us: "The user could not be moved because he or she has not been assigned a Skype for Business Online license. Users must be licensed before they can be moved to Skype for Business Online." Pretty straightforward, right!

So, we go to the user in Office 365 Admin Center, under the Active Users section, and selecting Scooby (you will notice we tried to move Scooby in the above screenshot) shows us that he has no license assigned:

So, we click on the Edit link next to the text "No license" under Assigned License, and in the Assign License box, we select "United States" in the Set user location dropdown box, and then check the box for Skype for Business Online (Plan 2). Click Save.


We can now see that the user Scooby has a Skype for Business Online (Plan 2) license assigned. 


However, if you attempt to run the Move-CsUser command again immediately, you may still see the same error, which doesn't make sense, right?! Well, you may need to wait 15 - 30 minutes after assigning this license, as the provisioning process is not exactly what you might call...quick.

SO, after waiting all this time, you can now run this again: Move-CsUser -Identity scooby@s4blab.org -Target sipfed.online.lync.com -Credential $cred -HostedMigrationOverrideUrl https://admin1a.online.lync.com/HostedMigration/hostedmigrationservice.svc.

**IMPORTANT** In the above command, you first need to make sure you change -Identity to the user that you are attempting to move. Second, in order to get the proper HostedMigrationOverrideUrl, log into your Skype for Business Admin Center, and copy the URL up through ".lync.com", and then append "/HostedMigration/hostedmigrationservice.svc" to the end of that URL. This may be different for different tenants.

You will then be prompted to Confirm. Type "y" and hit Enter. You should then see the below if it was successful:


Again, provisioning is involved at this point, so after you run Move-CsUser, you may need to wait a while before you see the below stats get updated in your Skype for Business Admin Center:



Then, if you click on the Users tab in the Skype for Business Admin Center, you should now see good ol' Scooby in there!


Let's go take a quick look back at the Active Users in our on-prem Skype for Business Control Panel. Doing so shows us that Scooby is no longer there, as he now lives in the Cloud!


Lastly, let's now log in to a Skype for Business Basic client with Scooby. BOOM! Not only did Scooby log in, but his contacts migrated with him (up to 250 contacts can be migrated). Also, Scooby's last status  of "Yipes!" is still up top. Nice!


Now, if you are wondering why Shaggy and Thelma's Presence shows as Updating, it is because of that private Root CA that I mentioned earlier. Since I am not using trusted public certificates in my lab, Skype for Business Online does not trust the certs, and thus the federation relationship for communication and presence does not work. For a lab, this is no big deal, but in Production, with publicly-issued SSL certificates, you will be able to communicate and see Presence.

Well, I hope this helps to clear up the process for some of you that ran into similar errors as I saw above, and I hope this lays a foundation for you to begin planning your Hybrid environments! As always, I welcome feedback, thoughts, and suggestions!

Stay techy, my friends!