VMware NSX Lab in a night = awesome

So… VMware’s NSX is super awesome! I’m one of those weird guys that find playing with networking and virtualization on a Monday night more fun and exciting than a weekend in Vegas. Ok, maybe not so much, but still somehow I managed to stay up past midnight deploying an NSX “Lab” just by messing with it. I say screw the guide, I learn better by just pressing buttons and breaking things… I’m not doing this for a client so what gives? Let’s poke…

After some fun I’ve gone from just knowing concepts of SDN to a fully usable network running on top of VMware NSX. It’s complete with:

  • Single 6.2 controller
  • VXLAN transport on a Force10 S60 with PIM and IGMP snooping enabled
    • Since I already had Distributed vSwitches, it was very easy to provision the transport
  • Multicast Transport Zone and segment ID
  • Single NSX Edge running OSPF connecting to the S60 core and redistributing connected networks
  • Single logical switch (for now)
  • Two VM’s on two different hosts to test connectivity
  • Smiles

Captured live flows while downloading a CentOS ISO from a mirror site just to test speeds.

Screen Shot 2016-02-23 at 12.35.01 AM

So far i’m very impressed with what NSX can do, and i’ve only scratched the surface. Think stretched networks over L3, per-VM firewall policies both at Layer 3 and Layer 2 levels, Logical routers between virtual switches, each with its own ACLs, HA edges, so many cool things!. Only 59 days left…

It’s almost 1am and I should really go to sleep now. Good night.

New Technical Diagrams for Skype for Business Server 2015

Released last week, new technical diagrams in Visio and PDF for Skype for Business workloads, Call Quality Methodology (CQM) and different hybrid scenarios.


SfB Protocol Workloads poster

Thumbnail for the CQM poster

Plan Voice Solution poster Thumbnail

Export UM Custom Prompts

My first attempt at a semi-useful PowerShell script. This script will export all UM prompts from all dial plans and auto attendants for Exchange 2010 and 2013. The output of the script is a collection of files with WAV extension on the running directory, matching the names of the custom prompts.

Future changes: Set a working folder, and organize the prompts into folders based on AA and DP name.

The output files are in WAV extension, but are actually MP3 files (Insert blame for Export-UMPrompt). There is another script coming that will convert these files from MP3 to 8Khz Mono PCM WAV files so they can be reused for other UM attendants.

Disclaimer: This is one of my first attempts at scripting, so the code may be completely unoptimized, slow, confusing or just plain ugly.

Hope this is useful!


Skype for Business for Android is now released

Skype for Business for Android is out of preview and finally released. Time to try it with the Grandstream GXV3275…


Skype for Business November Cumulative Update

Released 11/17 and fixes an issue with Windows 10 users over Edge not able to join meetings using the Skype Web App.

It also adds a new Shared Line Appearance (SLA). More details on that here: https://support.microsoft.com/en-us/kb/3092727

Get the CU here: https://www.microsoft.com/en-us/download/details.aspx?id=47690

Awesome Skype for Business Visio Stencils

Paul Bloem’s stencils blow anything else out of the water. Zeacom servers, AudioCodes SBC’s, and better looking Skype for Business roles, even the CQD! What else could I want?

Excellent job Paul. I’ve shared this with my colleagues so they better vote 5 stars!



Skype for Business preview for Android

A few hours ago I received an e-mail from Microsoft inviting me and some of my coworkers to the Skype for Business Mobile Preview program, with instructions on how to get the Android app installed.

So far the app is very well made, with a less “beta” sense than many other products. I dare to say this preview app feels more reliable than the Lync 2013 app. Some screenshots that give you an idea of what it’s like:

Screenshot_2015-10-07-19-07-09 Screenshot_2015-10-07-19-07-46 Screenshot_2015-10-07-21-58-22 Screenshot_2015-10-07-19-09-17 Screenshot_2015-10-07-21-59-11 Screenshot_2015-10-07-21-58-33 Screenshot_2015-10-07-21-58-39 Screenshot_2015-10-07-22-06-12

Some nice changes/additions:

  • Ability to manage your contact list from the app. Add, remove and move contacts within groups
    Screenshot_2015-10-07-22-05-51 Screenshot_2015-10-07-22-06-15
  • Shake your phone for feedback to the developers (can see this getting removed in GA, but it’s pretty nice)
  • Improved integration into the Android OS (missed calls, missed IM’s and active calls, but Lync 2013 had similar integration)
  • Call Forwarding settings now let you apply settings outside business hours (like the Desktop client)
    Screenshot_2015-10-07-22-08-08 Screenshot_2015-10-07-22-08-17

Tomorrow when the greater part of my colleagues are actually awake, it will be time to run conferences and view content. So far so good. Great job Microsoft!

Skype for Business Prerequisites one-liner

Technet has a PowerShell one-liner but it’s missing .NET 3.5 and the Windows Identity Foundation, which you need anyway. Here’s the one-liner that includes them (and assumes your media is on D:)

Install-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, Net-Framework-Core, Net-HTTP-Activation, Windows-Identity-Foundation -Source D:\Sources\SxS

Remote SfB PowerShell Administration

No time to install Management Tools? Or just want to test your scripts locally without having to copy/paste on the Front Ends or management nodes? This is what i do:

 [string]$pool = $(Read-Host "Lync/SfB Pool")
$Credential = Get-Credential
 $PSSessionOption = New-PSSessionOption -SkipCACheck:$true -SkipCNCheck:$true -SkipRevocationCheck:$true
 $PSSession = New-PSSession -ConnectionUri https://$pool/ocspowershell -Credential $Credential -SessionOption $PSSessionOption
 Import-PSSession $PSSession

Lync Server 2013 to Skype for Business Server 2015 In-Place Upgrade

Skype for Business 2015 was released today, and I get to try an upgrade in my lab before trying a greenfield rollout on a fresh domain. Here is what I have running right now:

  • Lync 2013 Enterprise Pool with 3 Front-End servers (DNS load balanced)
  • Lync 2013 Enterprise Edge server in a single pool with two perimeter networks
  • Mediation Server dual-homed in Server and Voice VLANs
  • Sophos UTM for networking and Reverse Proxy

First run of the setup.exe, we are asked to install a hotfix:

2015-05-01 12_29_47

Tried installing the December 2014 Rollup referenced by the hotfix and running setup again, but would not go, I had to actually request and install the hotfix.

After installing, it still failed, saying the following:

You cannot perform this upgrade until you have used Skype for Business Server 2015, Topology Builder to upgrade the Lync Server 2013 Pools and then publish the upgraded topology. If you have already published an updated topology those changes might not have replicated to this computer. You can force an immediate replication by running the Invoke-CsManagementStoreReplication cmdlet. You can also use the Export-CsConfiguration and Import-CsConfiguration -LocalStore cmdlets to copy the updated topology to this computer. For more information, see the appropriate cmdlet help topic.

Guh… but this makes more sense and right along the guidelines from Microsoft. However, at no point did Setup install any core components or give me the option to install the Administrative Tools.

What’s worse, I tried doing this myself by running admintools.msi and got denied since Lync 2013 components were already installed on the server.

2015-05-01 16_42_16

So I installed the Core Components (ocscore.msi), SQL 2014 Shared Management Objects (SharedManagementObjects.msi) and Administrative Tools (admintools.msi) manually on a VM dedicated for admin purposes, and then I was able to go about the topology modifications. PROGRESS!

After downloading the existing topology, we get our topology much like 2010/2013 was, separated in a tree format:

2015-05-01 16_53_44

And we see the new VIS-related nodes in Skype for Business 2015 topology and shared components:

2015-05-01 16_54_30

As part of the upgrade, we right click on the pool, and select Upgrade to Skype for Business Server 2015.

2015-05-01 16_56_20

We get a prompt and click Yes.

2015-05-01 18_33_46

And now our pool has been moved to the Skype for Business 2015 node.

2015-05-01 18_35_01


We then publish the topology like we normally would, and get a Select Databases prompt. This will in essence upgrade our back-end databases. Since this is an Enterprise Edition pool, we can upgrade the database without installing the Skype for Business 2015 components on the SQL server. If it were Standard Edition, the upgrade would take a different path.

2015-05-01 18_36_15

The topology is now published and database installed. The warnings are related to File Store permissions because it’s DFS-backed and thus this is expected.

2015-05-01 18_39_29

On the to-do list, we can see the following instructions:

To perform an in-place upgrade of your Skype for Business Server, you’ll need to do the following, in order:
(1) Stop the Skype for Business services on all of the servers that you are upgrading;
(2) Run Skype for Business Server setup (Setup.exe) on all of the servers you are upgrading;
(3) Start the Skype for Business services on all of the servers you upgraded. To start the services in a Front End pool, connect to one of the servers in the pool and run the Start-CsPool cmdlet. All the servers in the pool should be running Skype for Business Server before you use the Start-CsPool cmdlet. To start the services in all other pools (e.g. Edge pool, Mediation pool), run the Start-CsWindowsService cmdlet on every server in the pool;

And so the actual process begins. I will start by issuing Stop-CsWindowsService on all Front-Ends, then running setup. Note: If you don’t stop all services, Setup will check and won’t continue.

2015-05-01 18_47_56

Once all services are stopped in the pool, the upgrade can move forward.

2015-05-01 18_52_49

Once the Front-End is all done I get an Upgrade Completed with Warnings

2015-05-01 22_24_19

2015-05-01 22_27_30

Turns out the warning is simply that the installer can’t access the other Front-Ends, and can’t fully match the version. It should be safe to ignore. After clicking OK I get a final list of steps to be followed once all Front-Ends in the pool are updated:

2015-05-01 22_28_20

New Skype for Business Server icons! Fancy…

2015-05-01 22_33_19

After upgrading the other two Front-Ends we can issue Start-CsPool. Progress:

2015-05-01 23_04_47

And after about 3 minutes all services started and… POOF!

2015-05-01 23_07_34

We have liftoff! Client signs in quicker than Lync 2013 ever did… Maybe it’s all in my head…

2015-05-01 23_10_02

We can see the Control Panel GUI has changed quite a bit…

2015-05-01 23_36_01

Last to update are the Mediation and Edge, which should just be a matter of upgrading the pool from Topology Builder and then running Setup and letting the update wizard take care of everything…

Done for today…