MUCUGL June 2015 - Skype for Business, a deeper dive

Preview:

Citation preview

MUCUGL: Skype for Business (a deeper dive)June 11th 2015

Skype for Business:In Place Upgrades, Call Quality Dashboard,Call Via WorkTom ArbuthnotPrincipal Solutions Architect, Modality SystemsSfB MCM/MVP

In Place UpgradesHat Tip: Scott Stubberfield, MSFT (@stubbeee)

In-Place UpgradeWhat is it?• Upgrade from Lync Server 2013 to Skype for Business Server using existing

hardware

Benefits• Preserves existing hardware/server investments• Smoother upgrade process without extensive planning• Reduces the overall cost for deployment• The goal of heading towards Smart Setup

Allows Skype for Business updates to be installed as part of Skype for Business Server setup process from Microsoft updatessetup will include an option:

• Check with Microsoft update for Skype for Business updates• Download the updates• Install them (prior to finishing the installation process)

Smart setup

Note: This doesn’t replace the Skype For Business Server update installer—that will still be useful for our customers who don’t have connection to access the internet

Upgrade Paths • Move users to another pool (Minimal User

Downtime)• Offline Mode

Original Topology New Topology In-Place Upgrade Supported ?

2013 Skype For Business Server

+ 2013

Yes. In-Place upgrade support from 2013 -> Skype For Business Server

2010 Skype For Business Server

+ 2010

No. Upgrade from 2010 -> Skype For Business Server is the same process as 2010 -> 2013

2013 + 2010 Skype For Business Server

+ 2013

Mandatory migration from 2010 -> 2013 before deploying Skype For Business Server

Then In-Place upgrade from 2013 to Skype For Business Server

• Migrate-users mode (no user downtime, PoolA. then PoolB)

• Offline mode (take pool down and upgrade)

Upgrade path

Upgrade PathRecommendations• No In-Place Upgrade with Disaster Recovery (Pool-Failover)• Don’t use the Invoke-CsPoolFailover cmdlets to failover the pool!• Don’t start services in Mixed Mode (half upgraded pool)• Don’t Un-Pair the Pools before Upgrade • Ensure minimal time when the Pools are paired with different versions• No Tri-Existence

Upgrade Order(Inside->Outside)User Pools first, then Shared components like:

Mediation Server, Director, Edge, CMS Pool

SQL Support with Lync / Skype For Business Server

In-Place UpgradeSeamlessly Upgrades SQL Express 2012 to SQL Express 2014Also upgrades all the local copies of the database

Step 1: Install Prerequisites

Step 2: Upgrade, publish topology and upgrade databases using Topology Builder

Step 3: Stop the services on all the servers in the pool to be upgraded

Step 4: Run Setup.exe which will launch In-Place Upgrade UI

Step 5: Start services on all the servers in the upgraded pool at the same-time (Use the Start-CsPool cmdlet)

Upgrade Process – 5 Steps!

Step 1 – Install PrerequisitesAlways Install Prerequisites! Install CU5+ latest hotfix to Lync 2013 TopologyPowerShell RTM version (6.2.9200.0) or laterHave at least SQL Server 2012 SP1 installed

You will also need one of the following:Kb2533623 - Windows Server 2008 R2 Kb2858668 - Windows Server 2012 KB2982006 – Windows Server 2012 R2

Step 2 – Upgrade, Publish Top, Upgrade DBs• Move users off the Pool you want to upgrade

• Don’t do a pool failover, just a regular move• Pool pairing can remain intact, but you should spend “minimal

time” in a Lync 2013/SfB Pairing• Don’t do the pool with CMS on first, needs to replicate during

upgrade process• You need a non 2013 Server to install the SfB Management Tools on• Download Topology, Publish Topology to update Topology and DBs• No AD Schema Change (Minor “forest prep” group change, Adding

RTCComponentUniversalServices Group to RTCUniversalReadOnlyAdmins)

• Wait for Topology Update to replicate around all pools, especially upgrade target pool

Publish

Step 3 – Stop the Target FE servicesDisable-CsComputer –ScorchStops and Disables Lync Services

Step 4 – Run setup on Serverssetup.exe /inplaceupgradeLync bits are removed and SfB Bits are installed

Install Process

Step 5 – Start SfB PoolStart-CsPool

Call Quality Dashboard (CQD)Hat Tip: Aaron Steele, MSFT (@skypesamurai)

• QoE Metrics

• LCS CDR

• SSRS – Canned Reports

• SQL Queries (Call Quality Methodology)

• Key Health Indicators

Monitoring Reports

• Rate My Call• Schema changes• Coexistence with 2013, 2013 CU5+ can write

into a SfB Mon DB• Call Quality Dashboard

Skype for Business QoE Improvements

Rate My Call UI and resulting data

Monitoring Database Schema Changes New Tables

CallQualityFeedback CallQualityFeedbackToken CallQualityFeedbackTokenDe

f SSID ConnectionName DNSSuffix

Updated Tables MediaLine AudioStream VideoStream AppSharingStream Session

A host of new Wi-Fi, detailed media stack and new app sharing statistics

Monitoring Database Upgrade/Coexistence When you upgrade a Lync 2013 pool to Skype

for Business the associated monitoring database can be upgraded

Excising data is preserved If you start with a new Skype for Business

pool you have to create a new monitoring database No migration of QoE or CDR data from Lync to Skype for Business

• Call Quality Dashboard• Web portal for quickly creating and organizing reports based on

Quality of Experience (QoE) data• CQD deploys a SSAS cube to aggregate the data in the QoEMetrics

database.

• The portal is optimized for several workflows involving QoE data• caching of report data for fast access• deep links to report pages for information sharing and

publishing• streamlined report editing and creation• and editable metadata for report descriptions

• CQD exposes web APIs that give users programmatic access to the cube data for use in custom dashboards

Call Quality Dashboard (CQD)

• QoE Archive• Cube-based reports based on SQL Server analysis

server• Web API access to cube data• HTML5 + JavaScript report portal• Report editing and design• <1s query return performance against SSAS• Support for Lync 2013 and Skype for Business

Call Quality Dashboard Features

ArchitectureSkype for Business Topology Call Quality Dashboard

Monitoring Server

Archive Database

SSASCube

Repository Database

Web Portal

• SQL Server 2008 R2+ Standard (1 dimensional) Or Enterprise (3 dimensional)

• Separate Download: https://www.microsoft.com/en-us/download/details.aspx?id=46916

Install Process• Setup SQL/IIS• Account Permissions• MSI Install• https://

technet.microsoft.com/en-us/library/mt126253.aspx

At a minimum, the following tables need to be populated to create these reports:

• CqdBuilding

• CqdNetwork

• These are not pulled from Lync/SfB

Supplying Subnet Information

CqdBuildingColumn Data Type Allow

NullsDetails

BuildingKey int No Primary key for the CqdBuilding table

BuildingName varchar(80) No Building name

BuildingShortName

varchar(10) No Shorter version of the Building name

OwnershipTypeId int No Foreign key, should match one of the entries in the CqdBuildingOwners table

BuildingTypeId Int No Foreign key, should match one of the entries in the CqdBuildingType table

Latitude float Yes Latitude of the building

Longitude float Yes Longitude of the building

CqdNetworkColumn Data Type Allow

NullsDetails

Network varchar(25)

No Subnet address

NetworkRange tinyint Yes Subnet mask

NetworkNameID int Yes Optionally maps to a row in CqdNetworkName table

BuildingKey int Yes Foreign key, should match one of the entries in the CqdBuilding table

UpdatedDate datetime No Datetime for when the entry was last updated

Using the Call Quality Dashboard

Investigation Model Reports

Measurement and Filters

Buildings

Volume/Percentage

Two sets of API are availableData APIs for accessing the CubeRepository API for accessing the Report Metadata

Data API is a REST API for working with the databaseProvides aggregated QoE metrics based on specified dimensions and filters

Repository API is a REST API for working reportsRepository allows the contents to be organized in a tree or graph structure such that users can group them in the ways that make sense to the users

Programmatic Access to the Cube

Call Via Work

I have a PBX but want Click-To-Dial…CMPTCTB - “Call my phone, then Callee, then bridge”Integration with existing PBXNot CSTA (RCC)

Skype for Business ClientClick-2-CallContact Dialing

Skype calls me, then skype calls youDial back to PBX, Mom, etc.

Presenceon call presence information when making an outbound call via CVW

No Incoming PBX Call Support/Features

Call via Work

1

2

3

4

5

6

PBX

PSTNDestination

Skype for Business pool

Skype for Business client

PBX Station

Local call

Far-end call

1. User instantiates call from Skype for Business rich client

2. Skype for Business client places call to user’s PBX station set (or to any other PSTN phone number)

3. PBX routes call and local user answers

4. When Skype for Business client sees this call answered, places far-end call. Here Skype for Business will use PBX user’s DID as ANI

5. PBX routes call out to PSTN with user’s DID (or to any other local PBX endpoint)

6. Far-end call answers and call is established, with  Skype for Business acting as control channel

Setup

Behind the Scenes

Q&A

SfB VIS and RT100Adam JacobsPrincipal Microsoft Architect, PolycomLync MVP

Video Interoperability Server (VIS)DeploymentDemo

Skype for Business Room SystemsIntroducing RT100Demo

Agenda

Video Interop Server (VIS)Acts as an intermediary between Skype for Business Server and video teleconferencing systemsHat Tip: Jeff Schertz, Polycom (@jdscher)

What is a VTC?Video Teleconferencing (VTC)Traditional meeting room video conferencing systems

Often deployed with two monitors: one for video and another for content sharing

Can range from small fixed cameras and table microphones to multiple arrays of each

Support variety of standards-based protocols like SIP, H.323, ISDN, TIP…

Some may even support native registration directly to Lync/SfB, but most do not

Lync Room System is not categorized as a VTC

H.264 AVC CompatibilitySo why do we still need more stuff?

Session Initiation ProtocolSession Initiation Protocol Extensions [MS-SIP]

Supported: ms-dialog-route-set-updateSupported: ms-safe-transferSupported: ms-senderSupported: ms-conf-inviteMs-Conversation-ID:ms-keep-alive: UAC;hop-hop=yesms-subnet: 192.168.100.0

Real-time Transport ProtocolRTP Payload Format for H.264 Video Streams Extensions [MS-H264PF]

The Lync 2013 X-H264UC encoder will format the media stream using Network Abstraction Layer (NAL) units such that a standard H.264 AVC decoder can identify the AVC packets apart from SVC packets and then discard any unsupported SVC data.

Real-time Transport Control Protocol

RTCP packets should be sent on every RTP session. Failure to do so can result in loss of functionality and possibly termination of the session by time-out.

Real-time Transport Protocol Extensions - RTCP Details [MS-RTCP]

SIP

SDP

RTCP

RTP

Session Description Protocol

Legacy VTCa=rtpmap:109 H264/90000a=rtpmap:34 H263/90000

Lync 2010 Clienta=rtpmap:121 x-rtvc1/90000a=rtpmap:34 H263/90000

Session Description Protocol Extensions [MS-SDP]

Lync 2013 & Skype for Business 2015 Clientsa=rtpmap:122 X-H264UC/90000a=rtpmap:121 x-rtvc1/90000

What can VIS provide?Peer CallsA VTC user can call a Skype for Business 2015 or Lync 2013 client directlySingle video stream of a specific resolution and frame rate provided by each end

Conference CallsA VTC user can join meetings hosted on a Skype for Business 2015 or Lync 2013 AVMCUCall and conference control actions

What does VIS not provide?No PresenceThe VTC is not registered to SfB Server and VIS does not relay presence information in either direction

No Content SharingNo desktop, application or any other content sharing modality is supported through VIS

No Federated MeetingsA VTC can only join Skype Meetings hosted in the same topology as the trunked VIS pool

No External VTCsOnly VTCs with local network access to the video gateway and VIS are supportedExternal SfB and Lync clients are supported via the Edge Server

What does VIS not provide?No RTV or CCCP SupportVIS only supports transcoding H.264 video for Lync/SfB clientsNo interop with Lync 2010 and older clientsCannot drag-and-drop VTCs into Skype Meetings

No PSTN CallingA VTC can neither place nor receive calls to the PSTN

Limited Standards-Based Features and CompatibilityNo H.323, H.263, ISDN, TIP/ITP (multiscreen immersive rooms)Active Speaker only, no continuous presence or ‘gallery’ view

How does VIS work?A voice trunk, yet for video (and audio)The Video Interop Server acts very much like a Mediation Server

How does VIS work?Transcodes video in both directionsHandles conversion of SVC and AVC streams without the need for traditional transcodingUsed in Peer to Peer Calls and simple Skype Meetings

H.264 SVCH.264 AVC

How does VIS work?Can transcode additional video streamsTranscodes a single AVC stream into one or more SVC streams in conference callsCapability can be disabled to increase scale

12 3

720p 30fps

360p 30fps

180p 15fps

1

2

3

What can leverage VIS?Video GatewayA SIP trunk is established between VIS and a supported video gatewaySupported room systems must be registered to the video gateway

Room SystemsSIP compatible endpointsModels tested directly by Microsoft

VTC

Video Gateway

Skype for Business Front End Server

Skype for Business Client

Skype for Business Video Interop Server

Signaling

Signaling

Currently SupportedVideo GatewayCisco Unified Communications Manager (CUCM)• Release 10.5

Room SystemsCisco TelePresence Room Systems• Cisco TelePresence Codecs (C40, C60, C90)• Cisco TelePresence DX Series (DX80)• Cisco TelePresence EX Series (EX60, EX90)• Cisco TelePresence MX Series (MX200, MX300)• Cisco TelePresence SX Series (SX20)

Cisco TelePresence Software• Release TC 7.0.0 or newer

VIS Server PrerequisitesServer HardwareMinimum of two CPUs are requiredSingle CPU configuration will reduce video quality

Video Transmit Receive

Protocol H264 H264

Resolution 352x288 352x288

Frame rate 15 fps 15 fps

Channel rate 52 kbps 29 kbps

Total packet loss 0.0% 0.0%

Current packet loss 0.0% 0.0%

Jitter 0 ms 1 ms

VIS Pool ArchitectureStandalone PoolFront End collocation not allowed (unlike Mediation role)Defined in Topology Builder as single or multiple host pool

Multiple ServersLeverages DNS Load BalancingRoughly 1 server per 16 transcoded sessions

VIS Pool FailoverMultiple Video Gateways : Single VIS PoolSupported within Topology Builder

Get-CsService -VideoGateway | Select-Object Identity,VideoInteropServer |fl

Identity : VideoGateway:cucm1.contoso.comVideoInteropServer : VideoInteropServer:vispool.contoso.com

Identity : VideoGateway:cucm2.contoso.comVideoInteropServer : VideoInteropServer:vispool.contoso.com

cucm1.contoso.com

cucm1.contoso.com

vispool.contoso.com

Lync Server CoexistenceLync Server 2013 PoolSkype for Business Server 2015 pool required as next-hop target for VISLync Server 2013 CU5-HF9 required

Supported ClientsSkype for Business 2015Lync 2013 Desktop ClientLync 2013 Mobile ClientsLync 2013 Windows Store App

VTC

Video Gateway

Video Interop Server

Lync 2013 Client Lync 2013 Front End Server

Skype for Business Front End Server

VIS Deployment

Topology BuilderCreate VIS PoolAdd new Video Interop Server Pool

Topology BuilderEdit VIS PoolConfigure ports on new VIS pool to enable TCPOnly TCP is currently tested and supported with CUCM

Topology BuilderCreate Video GatewayAdd new Video Gateway New SIP Video Trunk automatically

created

Deploy ServerPrerequisitesAdd-WindowsFeature NET-Framework-Core

Deployment WizardInstall Local Configuration StoreInstall Skype for Business Server ComponentsRequest and Install Certificate

Start ServicesServices Control PanelPowerShellStart-CsWindowsService RTCCLSAGTStart-CsWindowsService REPLICAStart-CsWindowsService VISSVC

VIS Default ConfigurationGet-CsVideoTrunkConfigurationIdentity : GlobalGatewaySendsRtcpForActiveCalls : TrueGatewaySendsRtcpForCallsOnHold : FalseEnableMediaEncryptionForSipOverTls : TrueEnableSessionTimer : FalseForwardErrorCorrectionType : None | Cisco

Get-CsThirdPartyVideoSystemPolicyIdentity : GlobalSupportsSendingLowResolution : True

Get-CsVideoInteropServerConfigurationIdentity : GlobalEnableEnhancedVideoExperience : True

VIS ConfigurationTrunk ConfigurationNew-CsVideoTrunkConfiguration -Identity "Service:VideoGateway:cucm.contoso.com" -GatewaySendsRtcpForActiveCalls $false

Dial PlanNew-CsDialPlan -Identity "Service:VideoGateway:cucm.contoso.com" -SimpleName "VTCDialPlan“

New-CsVoiceNormalizationRule -Identity "Service:VideoGateway:cucm.contoso.com/SevenDigitRule" -Pattern '^(\d{7})$' -Translation '+1425$1'

Remove-CsVoiceNormalizationRule -Identity "Service:VideoGateway:cucm.contoso.com/Keep All"

VIS ConfigurationDial Plan (GUI-based)

Video Gateway ConfigurationCUCM Setuphttps://technet.microsoft.com/en-us/library/dn951430.aspxNote: There are a number of typos within the existing TechNet setup. Biggest gotcha is CUCM SIP Trunk port default is 6001 not 5060

VIS Demo

Skype for Business Room Systems Update

Skype for Business in all types of meeting spaces

The HuddleOn the Go My Stage

Next Gen Conference Room The Vibe

The Auditorium

A personal space where presenters can look and sound their best when engaging with remote audiences

A place for imprompturich collaboration and staying connected without leaving remote people behind

The meeting room that “just works” to help presenters perform confidently and participants interact naturally

The public space where anyone can share, discover ideas, and make timely connections—and just have some fun

Where information is broadcast or exchanged among a large group

Any place where remote or mobile workers need to connect, present, or conference with others

2015 – Skype Room Systems

SmallUnmanaged

LargeManaged

ROOM SIZE

FUN

CTIO

NA

LITY

Skype Room System (expanded spaces)

RoundTable 100

Surface Hub

Polycom RoundTable 100Affordable and easy to set up hardware to bring Skype to your meeting room• Meeting room appliance with audio and video• Connect to your existing display• Set it up and start using in less than 10 minutes• No IT help needed

Start meetings quickly.  Run meetings efficiently• Start the meeting confidently from your mobile phone• High-quality remote user experience

Powered by O365 and Skype for Business• Works just like Skype for Business• Content access and interaction• Capture meeting content and summary

HardwareComponentsIntel/Gigabyte NUCBroadwell i3 – 4GB RAM, 120 GB SSD

Logitech C930 Camera

Plantronics Speakerphone

RoundTable 100 – under the hoodLocked down applianceWindows Embedded 8.1Dedicated Skype for Business appAutomatically updated by MicrosoftCloud connected, unmanaged device

Companion appUsed for device setup device and meeting joinNative apps for Windows Phone, Android, iOSManages device controls

Device coordination serviceService managed by Microsoft for provisioning RoundTable 100Ensures authenticity of device being provisionedSends control messages from phone app to RoundTable 100

Identity ConceptAlternate Approach

RT100 Lync Room System or VTC

CX5x00

Room IdentityThe device represents the room not the person in it

Personal IdentityDevice takes on Users identity

Representative IdentityTechnically the device uses Lync’s Anonymous JoinIt’s not “Joe” but it’s representing Joe now

RT100 Demo

Q&A

Recommended