Monday, June 3, 2013

Lync 2013

Step by Step Installing Lync Server 2013 Standard Edition Front End on Windows 2012 – Part 1

NOTE: Remember Lync Server 2013 Preview is not meant for live/production environments.
Below are the step by step instructions to install Lync Server 2013 Standard Edition Front End on Windows Server 2012. Here is an outline of what we will do:
  1. Prepare Servers
  2. Install Lync Server 2013
  3. Prepare Active Directory
  4. Prepare First Server
  5. Configure DNS
  6. Build Topology
  7. Install Lync Server System
  8. Add & Enable AD Users
  9. Login to Lync 2013

Prepare Environment

Some prerequisites for you Lync system:
  • You will need 1 AD Server O/S and 1 Lync Server O/S
    • Lync requires 64bit O/S
  • This guide is Using Windows Server 2012 64bit
    • but Windows Server 2008 R2 SP1 should work fine as well.
  • Make Sure you have the below role running on your AD Server
    • AD-DS (Directory Services)
    • DNS
    • AD-CS (Certificate Authority)

tip1Tip: I suggest 2GB and 40GB hard drive for AD server and 4GB and 80GB for Lync Front End server for some quick guidance for a lab system.

Prepare Your Front End Server

  • Server Requirements
    • Front End server must be joined to domain
    • FE must have UI installed
  • Install Silverlight (will save time later)
  • Front End Must have these Features
    • Roles
      • Web Server (IIS)
    • Features
      • Message Queuing | Message Queuing Services
      • Remote Server Administration Tools | Role Administration Tools | AD DS and AD LDS Tools
      • User Interfaces and Infrastructure | Desktop Experience  
      • Windows Identity Foundation 3.5
      • .NET Framework 3.5 Features
        • .NET Framework 3.5
        • HTTP Activation (Important!)
        • Non-HTTP Activation
      • .NET Framework 4.5 (all options)
    • Roles
      • Web Server (IIS)
        • Role Services
          • Common Http Features Installed
            • Static
            • Default doc
            • Https errors
          • Health and Diagnostics
            • Http logging
            • Logging Tools
            • Tracing
          • Performance
            • Static  Content Compression
            • Dynamics Content Compression
          • Security
            • Request Filtering
            • Client Cert Mapping Authentication
            • Windows Authentication
          • Management Tools
            • IIS Mgt Console
            • IIS mgt Scripts and Tools
          • Application Development
            • ASP.NET 3.5
            • ASP.NET 4.5
            • .NET extensibility 3.5
            • .NET extensibility 4.5
            • ISAPI extensions
            • ISAPI Filters
Install using Windows Server 2012 “Add Roles and Features Wizard”
FE-Install-Features-Roles-RoleServices
Reboot Front End and login as Domain Administrator.
tip1Tip: You can also install these prerequisites using Powershell scripts:
http://www.ehloworld.com/1697
http://y0av.wordpress.com/2012/07/31/lync-2013-prerequisites/

Install Lync Server 2013

Insert CD and Run Setup.exe. You will be prompted to install Visual C++, click “Yes” (below)
install-c
You can accept default location and click Install (below)
install-core
Accept Terms and click “Ok” to install.
license agreement
When install is complete (3minute wait time) you will have below apps on your server and the Lync Server Deployment Wizard (below) will appear.
apps after initial install
  • Lync Server Manager
  • Lync Server Deployment Wizard
  • Lync Server Logging (Note: Logging tool is missing from Lync 2013 Preview)

CautionNote: Microsoft Lync Server 2013 has a new centralized logging mechanism. This is the reason for the logging tool not being installed with Lync Server 2013 Preview. Jens Trier Rassmussen has a complete article on this subject athttp://bit.ly/S3DL4Q. Also, Randy Wintle has written a Powershell UI for this new central logging at http://bit.ly/Pbbp8v.
deployment-wizard

Prepare Active Directory

Click “Prepare Active Directory”. (As noted in prerequisites, you will need AD DS and AD LDS Tools Feature installed on your Front End to complete this step.)
deploy wizard prepare ad
  • Step 1: Prepare Schema. (takes 1minute, and you may need to wait a couple minutes before this and step 2) 
  • Step 2: Verify Replication of Schema is not necessary if this is a Lab and there is only one AD server—you can safely keep moving to step 3.
  • Step 3: Prepare Forest | Next | select Local Domain  | Next (5sec)
  • Step 4: just keep moving
  • Step 5: Prepare Domain | Next (5sec)
  • Step 6: just keep moving
  • Step 7 below
prepare ad

Add Lync Administrative User To Admin Group
Add the Administrator to CSAdministrator  group (shownbelow)
  • CSAdministrator
NOTE: the user running setup needs to be Administrator of the Lync FE local machine.
add-lyncadmin-to-these-groups

Prepare First Standard Edition Server

Now lets go back to the Deployment Wizard and click “Prepare first Standard Edition server”.
deployment-wizard-prepare-first-server
You will see the below “Prepare single Standard Edition Server” wizard window and you can just click “Next”. During this process the below will be installed:
  • SQL Server 2008 Express Edition will be installed
  • RTC databases will be created and populated
  • Lync Server installation files will be put in place
  • Etc
(Note: as noted in prereqs, Windows Identity Foundation 3.5 must be installed for this process to complete successfully)
Prepare-first-standard-edition-server
(Time: on new AD with no users, 6-10 minutes to Prepare first Server)

Configure DNS Records

Lets open DNS Manager on AD server. Right click on your domain (in our case lab.local) under Forward Lookup Zones, click “Other New Records…” and scroll down to “Service Location (SRV)” and click Create Record.
dns step one
Will will add a DNS SRV record pointing at our Lync FE Server FQDN (FE01.lab.local in our case)
  • Service = _sipinternaltls
  • Protocol = _tcp
  • Port number = 5061
  • Host Offering the service =  fqdn of Lync Std. FE server or Pool. (In our case FE01.lab.local)
DNS-srv-record
Note: a DNS A record should already be pointing to Lync Front End Server (FE01.lab.local)
We will also create 3 DNS A Records. Right click, “New Host (A or AAAA)…” Add a DNS A record for
  • meet
  • dialin
  • admin
as shown below
DNS-A-record
Repeat this for meet and admin DNS A Records.
Now lets go back to the Deployment Wizard and click “Install Administrative Tools”.
Deployment Wizard - Install Admin Tools
This takes just a second to run.

Build and Publish Topology

Next we will go to Start and run “Lync Server Topology Builder” (below).
start-topology-builder
Select New Topology (as shown below) and then give the topology some name (just any old name like “mylab.tbxml”)
new-topology
Now we will be define this topology.
Primary SIP domain: lab.local | Next
Create-a-new-topology-PRIMARY-DOMAIN
  • Specify additional supported domains: {nothing/none} | Next
create new topology-specify additional supported domains
  • Define the First site
    • Name: LabSite1
    • Description: Lab Site (not important, just something)
create new topology-define the first site
  • Specify site details
    • City
    • State
    • Country
Click “Finish”
topology-defined
Next we will define a new Front End pool. click Next
define new pool
Define Front End Pool
  • FQDN: FE01.lab.local 
    • Note: if this is a Standard Edition, this FQDN will be exactly the same FQDN as your FE server  (FE01.lab.local in our case)
  • Standard Edition Server
define-front-end-pool-fqdn
Next we will select Features for this Front End Pool
Check these features:
  • Conferencing
  • Enterprise Voice
  • CAC

tip1Tip: What works best for me is to NOT define ARCHIIVE and MONITOR servers till you are ready to actually install them. I suggest to NOT select Archiving and Monitoring now. We will do that after we have actually installed the SQL server and are ready to define those roles in topology builder.
define new front end pool select features

  • Select Collocated server roles
    • collocate Mediation Server: check
collocated roles
  • Associate server roles with this front End pool
    • Enable an Edge pool…: unchecked
Define SQL store
define new pool-define the SQL Server store
Define the file store: default, next (NOTE: You will need to manually create this network share and give rights to everyone. This wizard will not automatically create it for you)
file share
Let create the Lync file store share right now so we don’t forget.  You can create this folder where ever you want but for this lab we will create a folder called “Share” in C:\ of the Lync Server. Next go into the properties of the folder and give full access permissions to these groups:
  • RTCHS Universal Services
  • RTC Component Universal Services
  • RTC Universal Server Admins
  • RTC Universal Config Replicator
Click on the “Sharing” tab, click on “Share”.
share
In the “File Sharing” Wizard click the dropdown beside “Add” and select “Find People…” and in “Enter the object names to select” type RTC. Now press the CTRL key and select the above groups. Next you will need to change each group to “Read/Write” and click “Share” to finish the sharing Wizard.
share2
Specify the web services URL: Since this is a lab we can let the External Base URL the default.
define new pool-specify the web services URL
Specify where your Office Web App server is. (you probably don’t have one yet, just point to OWA.lab.local)
define owa
Now you are finished with the wizard.
topology
Edit properties of topology
Right click on “Lync Server 2013 (Preview) and then “Edit Properties”
topology-edit-properties
Scroll down to “Administrative access URL” (as shown below) and define the admin url ashttps://admin.lab.local and select Front End Server (FE01.lab.local in our lab)
edit-properties-off-topology-2

Publish Topology
Action | Publish | Next | Next
topology-publishing-wizard-complete
When finished you can “Click Here to open to-do list”. Since we are really good Winking smile we’ve already done these items. (if you took a shortcut, backup to see detailed step above)
Next-steps-after-topology-published

Install Lync Server System

Deployment Wizard | Install or Update Lync Server System
deployment-wizard-instll or update lync server system
Now we will install some Lync Server System components, put Certs in place and Start Services:
  1. Step1 Install RtcLocal database
  2. Step2 Install Speechfiles, etc.
  3. Setup Certs
  4. Start Lync Services
install or update lync server system

  • Step1 Install Local Configuration Store (will install RtcLocal)
    • Run
    • Retrieve Directly from the CMS…
    • Next (5 minutes on new lab system)
  • Step2 Setup Lync Server components (will install Speechfiles, etc)
    • Run |
    • Next (15 minutes on new lab systems)
    • (NOTE: if you designated the archive/monitoring server, this will fail because SQL for those stores is not there yet.)
  • Step3 Request Certs (Note: if this is a lab setup, and you have parallel installed AD and Lync FE OS’s, remember the FE needs to have “gpudate /force” run or be rebooted after you stand up the AD CA so the CA is authoritative)
Run, select “Default Certificate” then click “Request”
cert wizard
Certificate Request: Next
Delayed or Immediate Request? Send the request immediately to an online cert authority
Choose a Certificate Authority (CA): Select a CA from the list
select a ca
Certification Authority Account: Next
Specify Alternative Certificate Template: Next
Name and Security Settings: some name
name and security settings
Organization Information: fill in Org and Org Unit
Geographical Information: fill in
Subject Name/Subject Alternative Names: Next
SIP Domain Setting on SAN: Select SIP Domain (example: lab.local) | Next
fe-cert-sip-domain-name
Configure Additional SAN: Next
Certificate Request Summary: Next
Executing Commands: Completed: Next
Online Certificate Request Status: Finish
Certificate Assignment: Next
Certificate Assignment Summary: Next
Executing Commands: Finish
Select “Default certificate” and click Assign certs
assing-certs
Now repeat the Certificate Wizard steps for the OAuthTokenIsuer.
Step 4: Start Services
After services are started you can open the Services to verify all the Lync Services are running.
lync services running
Goto Start | run Lync Control Panel
start-lync-control-panel
you will be asked to type in Administrator credentials. If this is new server you will also be asked to install Silverlight.
lscp

Add and Enable AD Users

Next, we will move to our AD server and add several users to Active Directory (I suggest for your first test users to NOT use the Administrator, but 3 other users). In our case I added:
Now back to Lync Server Control Panel. Click on User | Enable Users. Now click the “Add” button and Add the 3 users.
enable ad users
Click “Enable” and if you get no errors, you should have 3 Lync users ready to login. Let’s open Lync 2013 and login!
lync2013
Wow you have installed Lync Server 2013!
Please note some pieces in Lync that you have not configured yet:
  • Monitor and Archiving Roles
  • Persistent Chat Server
  • Sharing PowerPoint requires a Office Web Apps Server deployed

Step by Step Installing Lync Server 2013 Monitoring Role Collocated on Standard Edition Front End - Part 2

In Part 1 of Installing Lync Server 2013 Standard Edition we go our lab Lync 2013 server up and running. In this next step by step we will install the Monitoring role using SQL 2008. In Lync Server 2010 a Monitoring required an additional server. In Lync Server 2013 this has changed and Monitoring will be on your Front End.
This article presumes:
  • Server is Windows Server 2012
  • using SQL Server 2008
  • You have Lync Server 2013 Preview installed Using This Blog
So, to get started, lets prepare our Lync Server Front End (Windows Server 2012) by installing Queuing (you will/may not need this in RTM Lync Server). Do this by opening the “Add Roles and Features Wizard”
queuing
Monitoring role requires installing Full SQL 2008R2 or SQL 2012. (SQL EXPRESS will not cut it)
put SQL 2008 CD in place and run Setup.exe.
install-sql-marked
ok | next | next | next…
SQL-Server-Feature-Installation
Feature Selection. Below are the SQL features we need:
  • Database Engine Services
  • Reporting Services
  • SQL Server Books Online
  • Management Tools – Basic
  • Management Tools – Complete
sql-feature-select
Instance Configuration:
Check Named Instance.
NAMED INSTANCE: MONITOR
monitor named
Server Configuration:
NOTE:SQL should run as system account
NOTE: No password required.
SQL-SERVER-CONFIG
Database Engine Configuration:
SQL-database-engine-configuration
Reporting Services Configuration:
  • Native Mode
  • Now click Install (15minute install/wait time)
When done test SQL Reporting Services by running “Reporting Services Configuration Manager” (from Start menu)
Test-SRS
Sure enough, it running!
Test-SRS-2
Associate a Monitoring Store with a Front End Pool and Publish Topology
Open Lync topology builder. Drill down to your Standard Edition front (as shown below) then right click and Edit Properties.
edit topology to include monitoring role
Next we want to add a Monitoring role to this topology by going to General, scrolling down to and selecting “Monitoring (CDR and QoE metrics)” and then click New. We will type input our Front End as the FQDN (as shown), select “Named Instance” and give it the name “MONITOR” (we will later install a SQL instance with this name) and click OK, Ok.
config monitor in topology
Action | Topology | Publish.
publish monitoring topology
Next we will goto Start and open the Lync Server Management Shell (Powershell).
lync server managment shell
Run the below command:
Install-CsDatabase –LocalDatabases
Deploy Monitoring Reports
Run the Lync Deployment Wizard again and click “Deploy Monitor Reports”
deploy-reports-db
Specify credentials to access monitor SQL database. (for this lab I used domain Administrator)
deploy-reports-user
Now reports are being deployed…
deploy-reports-running
Once the reports are deployed you will be presented with URL for reports. You can copy and paste this into Internet Explorer. (grin)
reports-finished
When you click on the reports URL you be presented with:
reports-main
You have successfully installed Lync Monitoring role!


Step by Step Installing Lync Server 2013 Persistent Chat Collocated on Standard Edition Front End - Part 3

We are on a journey installing the various Lync Server 2013 roles. Today we will install the Persistent Chat role collocated on our Lync Server 2013 Standard Edition Front End! I would like to give Elan Shudnow credit as I read over his excellent Persistent Chat with Enterprise Pool articles before launching on installing this collocated edition.
Prerequisites:
  • Presumes a Lync Server 2013 Std. FE called FE01.lab.local (see)
  • Since we are installing Chat on an existing Std. Front End, most things are taken care of already
  • Install full SQL (SQL 2008 R2 or SQL 2012) as a new instance called CHAT. You can follow the instructions here.
Next will define a Persistent Chat pool in our topology. Let’s Open Topology Builder
add chat pool
Define the new Chat Pool. Use the FQDN of our trusty Front End: FE01.lab.local and check Single computer pool.
define pool
Next. Now give this Chat pool a name. (just anything is fine)
name of chat pool
Next. Click new to define a new SQL Server Store. We will use the SQL instance we installed for our chat role, so SQL Server FQDN = FE01.lab.local and Named Instance = CHAT
sql store
Our next item is defining the file store. Since this is a lab we will just use the existing Front End share we already setup for the FE which is \\FE01.lab.local\share. Click Finish.
share
We are done with the topology and you are given a chance to review it—everything looks great!
finished topology
Let’s publish our topology by going Action | Topology | Publish…
publish
Click Next.
p1
Watch the publish Wizard complete. when done click Finish.
p2
The next thing we will do is open the Lync Deployement Wizard and Update the Lync Server System by clicking Install or Upgrade Lync Server System. (this will install the chat services and install the SQL database)
install or update lync server system
Click the Run button with Step 2.
install-update
Click Next.
updat2
Watch as install happens and click Finish when done.
update-done
Now we are ready to start our newly installed Chat services. Click Run.
start-services
We can checkup that Lync Server Persistent Chat is successfully running…sure enough, great!
is running
Next we need to login to the Lync Server Control Panel to configure our shiny new Persistent Chat server. Click on Persistent Chat | Persistent Chat Policy and check Enable Persistent Chat and click Commit.
lcp-enable
Next we will add a Category. Click Category and New.
chat category
Next we need to add our Administrator user (user we are using to run Lync Powershell further down) to the “RTC Local Administrators” group. This is a local group on the Lync Front End Server, so to do this Open the “Computer Management” and open “Local Users and Groups”.
add user to RTC local admins
After this, log out and back into Windows get the new rights.
Next we will add a new chat room. Let’s drop into Lync Powershell and run
New-CsPersistentChatRoom -Name “XXX” -Category “FE01.lab.local\rd
Next we will add a user to this new Chat room by running the below Powershell:
add member to chatroom
After this we can login to our Lync client and use the Chat!
lync client

Step by Step: Adding Your Second Lync Standard Edition Server 2013 & Creating an Associated Backup Pool for Resiliency Part 4

We are on a journey installing various Lync Server 2013 roles. In today’s step by step, we will setup our 2nd Lync Server Standard Edition pool and then set it up as a Backup Registrar so automatic failover can happen. We will also look at Lync Server 2013’s new failover capabilities that allow full client capability to be restored in the event of a disaster. To use this blog the only other lab you need to have done is Part 1.Previous Articles in this Series:

Prepare the 2nd Front End Server: Prerequisites

See Lync Server 2013 prerequisites here. Installing your 2nd Lync Pool is much like installing the first. We will go over the steps below briefly, with special notes. But for detailed notes on installing an FE server, just refer to the Part1 blog in this series.

Install Lync Server 2013

Insert Lync Server 2013 CD, and when you see popup below, click Yes
c-install-note_thumb
Once the Deployment Wizard appears we are done here for now.
deploy-fresh_thumb2

Open Topology Builder to Add Your 2nd Front End Server/Pool

Right Click on “Standard Edition Front End Servers” | New Front End Pool
NOTE: While the topology builder and this blog refer to a Standard Edition Front End Pool, just be aware that a Standard Edition Front End Pool really is just one Front End Server, because there only can be one server in a Standard Edition Pool.
topology-new-front-end_thumb2
Next | Enter our Backup Front End FQDN (FE02.lab.local) | Next
fqdn-pool_thumb2
Check Conferencing, Enterprise Voice. (Note: you will not be able to check CAC because only 1 per Site)
pool-options_thumb2
Now instead of screenshots for each screen, we’ll just note what we want to check.
  • Collocate Mediation = Yes | Next
  • Enable and Edge Pool = No | Next
  • let defaults | Next
  • let Defaults (Note: you need to create this share just like your original share) | Next
  • let defaults | Next
  • let defaults | Next
  • Action | Topology | Publish

Goto the Primary (FE01.lab.local) Standard Server and Open Lync Server 2013 Deployment Wizard

Click on “Install or Update Lync Server System”
step 2 and Run
After it completes, click Finish.

Now Goto the Backup (FE02.lab.local) Standard Server and Open Lync Server 2013 Deployment Wizard

Click on “Install or Update Lync Server System”
  • Step 1 Run (15-30minute wait) Finish
  • Step 2: Run | Next (10minutes wait)
  • Step 3
  • Step 4

We’ll Test Our 2nd Pool/Server By Moving Users to It

To test, log into Lync Server control panel. Notice you will now be asked which Lync pool you want to log in to. Let’s select FE01.lab.local.
lscp-which-fe-pool-login_thumb2
Once the LSCP is open well click Users | Find | Select u1@lab.local | Action | Move Selected Users to Pool… |
move-users_thumb2
Now lets select our new Pool/Server (FE02.lab.local) and click OK.
select-pool_thumb2
After you move a user there is no need to refresh the user list, this is automatically done for you. And, sure enough, the u1@lab.local is now on FE02.lab.local! Great.
user-moved-to-fe02_thumb3
Now lets open Lync 2013 client and login using user u1@lab.local that we just enabled on our 2nd Standard Edition Front End Pool/Server (FE02.lab.local). Good, our new pool works!

What Happens when we change Pools During an Active Conversation or Call?

Since we could easily move user(s) to our new Pool/Server with no sweat, now lets get dangerous. Call someone using u1@lab.local and CHANGE POOLS DURING THE CALL. Winking smileLet’s repeat the steps we just took above, but do it during a live call and see what happens.
Below is a screenshot of what happens if you change pools/servers during a peer to peer call:
  • The Lync 2013 client will momentarily logout and back in again
  • During this time (as you see below) the call continues
  • Sharing continues
  • Video continues
  • As noted in the conversation window, functionality is momentarily limited:
    • Video cannot be started during momentary logout/in
    • Sharing limited and below items will be interrupted
      • Polls
      • whiteboard
      • Powerpoint
audiocall-during-pool-change_thumb1
That’ pretty cool, right? Yeah.

Setup a Resilient Pool (aka Associated Backup Pool)

Now let’s setup our 2nd Front End Pool/Server as an Associated backup pool so that if our 1st Front End Pool goes down the clients can automatically failover to the 2nd Front End Pool.
Open Topology Builder and download the topology.
Next, we’ll edit the primary “Standard Edition Front End Servers” by right clicking and click “Edit Properties”
edit-fe01-backup-pool_thumb2
Now we can define our Resiliency settings
  • Associated backup pool = FE02.lab.local; (Note the warning about having both FE’s in the same site. For our lab, and in some production we can ignore this)
  • Automatic = Checked
  • Failover = 30secs (for lab purposes, this would be short for production…)
  • Failback = 30secs (for lab purposes)
  • Then click OK to finish.
resiliency-settings_thumb2
Let’s Publish the Topology by clicking: Action | Topology | Publish | Next |
Open text file to see what you should do next. In our case we are instructed to run Install or Update Setup/Update on FE01 and FE02. Now click Finish.
finished-topology-publish_thumb2
Based on our “next steps” instructions noted above, lets open Lync Server Deployment Wizard on FE01.lab.local and click on “Install or Update Lync Server System”
  • Step 2 Run | Next |Next
  • Step 4 Run | Next | (this will get our new Lync server Backup Service running)
Lets open Lync Server Deployment Wizard on FE02.lab.local and click on “Install or Update Lync Server System”
  • Step 2 Run | Next
    • NOTE: If Step 2 fails with “Can not update database XDS”  error then we need to manually install the rtc database using the PS command below:
    • install-csdatabase –centralmanagementdatabase –sqlserverfqdn FE02.lab.local –sqlinstancename rtc
    • Now run Step 2 again.
  • Step 3 (if necessary)
  • Step 4
Run the below Powershell commands on your FE01.lab.local to ensure conferencing data is replicated:
  • Invoke-CSBackupServiceSync –PoolFqdn FE01.lab.local
  • Invoke-CSBackupServiceSync –PoolFqdn FE02.lab.local

Add DNS SRV Record for Backup Pool/Server

Now lets go into DNS and add a record for our Backup Pool /Server. This SRV record is necessary so that if the first server (FE01.lab.local in our lab) goes down, the client can find the backup Pool/Server.
So let open the DNS server management and add the SRV record. The things that are important:
  • Service = _sipinternaltls
  • Protocol = _tcp
  • Priority = 10 (take note: this value is different than your initial SRV record)
  • Weight = 10 (take note: this value is different than your initial SRV record)
  • Port number = 5061
  • Host offering this server = FE02.lab.local
backup-sipinternaltls_srv_record_thu
After you have added this DNS record you might want to verify it has taken effect on the client PC by running NSLookup on the clients you will be testing.
  • NSLookup
  • set type=srv
  • _sipinternaltls._tcp.lab.local
test-that-srv-is-working_thumb3

You Might Need This Step, But Only do it if Needed: Remove The Cert Without the Backup Server Name in it

NOTE: Please, take a minute and thank Dustin Hannifin and Jason Lee for providing this crucial step in this blog postWinking smile
With both Primary and Backup Front End Server running do the following:
Exit Lync 20013 client on client machine.
On same client machine: Open MMC
File | Add/Remove Snap-in… | Certificates | My User Account | Ok
Navigate to: Personal | Certificates and delete the cert named same as your Lync username.
delete-certificate_thumb2
Now let log back into Lync 2013 client.

Now, Let’s Test Resiliency by Disabling NIC on Primary Front End (FE01.lab.local)

Make sure all your users (that you want to test resiliency for) are homed on FE01.lab.local. Next, we’ll simulate our FE01.lab.local machine being down by disabling the NIC.
diable-nic_thumb2
Now around 30 seconds, our client(s) should log out. Sure enough!
logout-at-30seconds_thumb1
Now they will try to login to the backup pool (in this case FE02.lab.local)…
NOTE: We setup our failover to happen in 30seconds. I’ve noticed in my lab the failing Lync clients will logout very near 30 seconds, but it could take several minutes till the clients are able to log back into the Associated Backup Pool/Server (FE02.lab.local). (ie: be fully failed over) I haven’t taken the time to investigate if this is my lowly lab’s performance Winking smile, or something built into Lync. (if someone knows, please post a comment)
But sure enough, it logged into backup pool! You will notice the Lync 2013 client let’s you know you have some limitations:
  • Contact List is unavailable
  • Call Forwarding may not be working
  • Delegates and Team-Call may not be receiving calls
  • Limited chat room access
  • Etc.
logged-into-backup-pool_thumb3
Now if we enable the NIC on FE01.lab.local the clients should Failback to FE01.lab.local in 30 seconds. (NOTE: on my lab some clients would failback as soon as 10 seconds.)

Next We Will Take a Look at New Lync Server 2013 Failover Options

Much of what we have discussed in this blog so far is largely the functionality you will find in Lync Server 2010. (I suspect you could use most of the above steps in Lync 2010.) But with Lync Server 2013, the Lync Server administrator can now failover the CMS and the failed pool so that the “Limited Functionality due to outage” is removed. Let’s get started with our failover.
Our first step is to find out where the Active Central Management Database is hosted. To do this we run the PowerShell:
  • Get-CsService –CentralManagement
As shown below, FE01.lab.local is the PoolFqdn (we will refer to this as $CMS_Pool) of the currently Active CMS.
get-csservice-active-cms
The next step is to check if the the $CMS_Pool is running Lync Server 2013. You can do this in Topology Builder (in our lab we know it is, but in a live environment we might not) If the $CMS_Pool is running Lync 2013 we can use this PowerShell to see who it’s backup pool is:
Get-CsPoolBackupRelationship –PoolFQDN $CMS_Pool
As shown below we can see the $Backup_Pool is FE02.lab.local
get-cspoolbackuprelationship
Next we will see if the $CMS_Pool is available right now:
Get-CsManagementStoreReplicationStatus –CentralManagementStoreStatus
Below we have an example how this command will look with the $CMS_Pool available.
replication-status-with-cms-available
Now lets disable the NIC on $CMS_Pool (ie FE01.lab.local) to simulate server down. Our primary Lync FE is now down! (shown below)
smoking_drive
Now run the Get-CsManagementStoreReplicationStatus –CentralManagementStoreStatus  command again. Note that the command will fail/error out if the $CMS_Pool/FE01.lab.local is not available.
(NOTE: If this is a Ent. Edition server you will need to check which Back End holds the primary CMS using: Get-CsDatabaseMirrorState -DatabaseType CMS -PoolFqdn <Backup_Pool Fqdn> . Read more about this command by Clicking Here. Running this command on Std. Edition will fail. On a Std. Edition server there is only one server so we know which it is. )
Next we will run the command to failover the Central Management Server to our Backup Server:
  • Invoke-CsManagementServerFailover -BackupSqlServerFqdn FE02.lab.local BackupSqlInstanceName RTC –Force
invoke-cmsfailover
Now lets verify the move happened by running:
  • Get-CsManagementStoreReplicationStatus –CentralManagementStoreStatus
Sure enough! the new ActiveMasterFQDN is now FE02.lab.local (as shown below). Great!
verify-that-cms-moved-to-backup
Now we can fail over the Pool by running:
  • Invoke-CsPoolFailOver –PoolFqdn FE01.lab.local –Disastermode –Verbose
After running…Voila! The Lync Client services are automatically restored to Lync 2013and the “Limited Functionality” notice disappears with no user interaction!
full-lync-services-restored
Notes:
  • On my 3 user lab this script took about 50 seconds to complete. After it completed I waited a little over a minute until full capability was restored to the Lync client!
  • The Chat service was not restored because resiliency was not setup in our lab for this service.

Conclusion

Well--yahoo! We have successfully setup a Lync Standard Edition Associated Backup Pool and we have demonstrated Lync Server 2013’s very improved complete Failover resiliency.

Step by Step Enabling Lync Server 2013 Enterprise Voice Features, Response Groups and Managers – Part 5

In this step by step we will look at enabling Enterprise Voice  features in Lync Server 2013. If you are interested in the new Response Group Manager feature in Lync 2013 click here .
To get by in Part 5 you need to have done at least Part 1 of Our Lync 2013 Lab.

Enable Users for Enterprise Voice

To enable our users for Ent. Voice lets open the Lync Server Control Panel. Now click on Users. To save on CPU no users are shown by default so just click on Find to show all your currently enabled Lync users.
find-users
Now We will see a list of Lync enabled users. Note in the Telephony column that our users are enabled for “PC-to-PC only”. Let’s changed that by double clicking on a user to edit.
note-users-have-pc2pc-only
Now we can change a few setting
  • Telephony:Enterprise Voice
  • Line User: tel:+18005551003;ext=1003
Now click “Commit”.
enable-user-for-enterprise-voice
Now you can repeat this step for each user. (or use powershell). Now if we give our Lync clients a few minutes a new “Phone” tab will show up inside our Lync 2013 client! (NOTE: there is no need to log out or do anything on the Lync client side. This will automatically show up.)
ent-voice-tab
Alright, now your users should be enabled for Enterprise Voice.

Trying Out the Audio Test Service

If we click on the Phone Tab/Button we will see our phone dial pad. From here we can make our first “Voice” call. If we click the “Check” button Lync will call the Lync Audio Test Service. Go ahead.
phone-dialpad-and-testvoice
test

Enabling and Using Call Park

To enable the call Park feature go to Voice Features | Call Park | New
add-call-park
Configure a  Park using the below example. In our example we are making 5 parking “slots” or spaces so we can park up to 5 calls. We could make this the amount we want to, but for this lab we’ll make it 5.
  • Name: Call Park Orbit
  • Number Range: #500
  • Number Range: #505
  • FQDN of destination server: FE01.lab.local
Now click “Commit”
setup-park
Now let’s call another rLync user and test our new Park feature. After we are connected, hover over “Call” then click “Transfer Call” and then “Parking Lot”park-a-call
Once the call is Parked, you will be notified which of the “slot” the call is in. In the below case it is in #500. Anyone on Lync with Ent. Voice enabled can pick up this call Parked by dialing #500. You can  click “COPY” to IM this to someone or verbally.
call-is-parked-notice
Some Quick notes about Call Park
  • By default, if no one picks up the park xx minutes, the call will ring back to the person who parked the call.
  • You can only have 1 call park orbit per user/deskphone. So, for example, you can not have a Park for Sales and a Park for Service.
  • Unlike some PBX systems, you will not be able to see if someone is currently in Park via a light/button on a phone

Setting Up Normalization

Since we probably don’t want to be walking around dialing things like “tel:+18005551003;ext=1003” to reach another extension, (I suspect our users would suspect us of being insane? ;-) we need to make a Normalization rule that turns “1003” into “tel:+18005551003;ext=1003” for us automatically.
In the Lync Control Panel we’ll make this new Normalization Rule under “Dial Plan”. To do this Click “Voice Routing” | “Dial Plan” | select the “Global” dial plan | “Edit” | “Show Details” as shown below.
voice-routing-dialplan
Now under “Associate Normalization Rules” click “New”.
new-normalization-rule
Now define the New “Normalization Rule” like below.
  • Name: Extensions
  • Length: Exactly 4
  • Pattern to match: ^(1\d(3))$
  • Translation rule: +1800555$1;ext=$1
  • Internal extension = checked
To save this “Normalization Rule” click “OK” | “Commit” | “Commit All”.
Note: The normalization rule we just setup will only take care of extensions in the 1000-1999 range. In our lab exercises we’ll make sure we stay in that range, but if you to a little “exploring” just be aware.

Update Address Book

Because of the way Lync Server is designed the changes we made above will take some time to propagate out to all the clients if we just let the process happen normally. We can “push” this process by taking the below steps on each client we want to test “right now”.
  • Run Update-CSAddressBook from the Lync PowerShell and wait about 5 minutes
    • you can check Lync Server event log to see when this happens
  • Signed out of the Lync 2013 Client and delete everything under:
    • C:\Users\%username%\AppData\Local\Microsoft\Office\15.0\Lync
    • Lync 2010 = C:\Users\%username%\AppData\Local\Microsoft\Communicator
Now you should be able to dial Lync user’s by their Ent. Voice 4 digit extension number.

Unassigned Number

The first thing we need to do to create a “Unassigned Number” is to create an announcement. This requires Powershell New-CsAnnouncement command. Here is an example:
  • New-CsAnnouncement –Identity ApplicationServer:FE01.lab.local –Name “Welcome to Lab 001” –TexttoSpeechPrompt “Welcome to Lab Announcement” –Language “en-US”
new-csannouncement-pw
New we will define the new Unassigned Number in LSCP. After filling the form below click OK. Then “Commit all”
ERRATA NOTE: the 2nd number in the number range below should be exactly the same as the first. If you are using the ext=xxxx suffix you can have only 1 extension per range. If using plain jane DID number  you can have a range.
anouncement-lscp
http://technet.microsoft.com/en-us/library/gg398522
Quick Notes About Unassigned Number
  • If you have an “ext” LineURI you can only have 1 number in Unassigned Number range. If a normal DID you can have a range.
  • If you have a legit number that falls inside an unassigned range you will still be able to call it

Response Group

Response Groups…
The overview to setting up a RGS is
  • Assign specific Lync users to a Group
  • Assign Group(s) to a Queue
  • Define a Workflow and assign the Queue to the Workflow.
Group | New | Select a pool (FE01.lab.local)
Commit
rgs-group
Next we’ll setup a Queue.  Queue | New | Select a Service (Front end Pool. In our case FE01.lab.local) |
new-rgs-queue
Create or Edit a Workflow | select a Service (or FE pool)
Lync will now pop out a browser window will pop up. From here you can create a new workflow/response group. Let click on “Create” beside “Hunt Group”.
rgs-configuration-tool-main-menu
Now configure your Hunt Group as shown below:
rgs-huntgroup-setup-part1
next
rgs-huntgroup-setup-part2
next
rgs-huntgroup-setup-part3
next
rgs-huntgroup-setup-part4
rgs-huntgroup-setup-part5
Now your response group will be deployed and you will see the below when it is. NOTE: I’ve you may need to wait several minutes after the RGS is deployed till you can actually dial it. So, don’t get too worried if you get “Your organization does not support calling this number.”
rgs-deployed
Now we can call this response group.
RGSManager

Setup a Response Group Manager

Now that we have tested our response group, let’s circle back and look at a new feature in Lync Server 2013: Response Group Managers. RGS managers allows us to configure otherwise normal Lync users as RGS managers that can login to Lync Server Control Panel, Response Group Config web page or PowerShell and only have access to appropriate response group(s) and configuration.
Response Groups in 2013 can be Managed by a manager or UnManaged, which means they are administrated by the Lync Admin.
To setup a Response Group Manager is to add our Response Group manager user to the CSResponseGroupManager AD Group. We’ll ad u1@lab.local.
Note: this user needs to be enabled in Lync
assign-user-to-csresponsegroupmanager
Next, lets edit our Response Group/Workflow and add our user as a Response Group Manager.
Remember several things:
  • The Queues and Groups cannot be used in another Response Group if we are going to make this a managed RGS
After we add our user, scroll to the bottom and click Save.
add-a-manager-to-response-group
Now lets move to the Manager user’s machine (or log onto a machine with the manager credentials). The manager will be able to login to these Admin tools, but they will ONLY see RGS info they can manage:
Lync Control Panel: Only Manager related items are enabled.
  • In Users tab, Manager can see users, but not edit them
  • In Response Group tab Manager can see only their own Response Groups, Queues and Groups.
  • They can not add new RGS, but can add new Queues and Groups.
lync-control-panel-from-manager-perspective
Response Group Config: Note the manager can’t add a new RGS.
logged-in-as-rgs-manager
To read more about RGS Managers, see below:
http://technet.microsoft.com/en-us/library/gg398513(v=ocs.15).aspx
Some General Notes:
  • Lync Attendant 2010 Seems to crash on Windows Server 2012 RC
  • Lync Attendant 2010 seem to run fine on Windows 8 Release Preview

Lync 2013 What’s New #2: Lync 2013 and OneNote 2013 Integration

Microsoft Lync 2013 Now integrates more tightly with OneNote 2013 and in this blog we’ll go over how this functionality works. There are basically 2 OneNote integration modes:
  • My Notes
  • Shared Notes

My Notes

My Notes in Lync 2013 is a quick way to start your own personal notes about this Lync Meeting. Not a super exotic feature, but handy. Hover Over/ClickOn Share | OneNote | My Notes (or CTRL+N)
mynotes
A OneNote page will be opened with Date/Time and Meeting Participants inserted already. The participants are live Contact Cards to the Lync users.
OneNote-Lync-MyNotes

Shared Notes

NOTE: With Shared Notes, The first thing to note (no pun intended) is that you will need to share your OneNote and give access to this this OneNote Notebook apart from Lync. In other words, you are sharing OneNote largely like you do if there is no Lync 2013 involved, and Lync just distributes the link to the meeting participants.
Before you do anything in Lync 2013, I suggest you open Open OneNote and Login to your Skydrive (or other online account) In OneNote click File | Share. Now click on Invite People and type in the people you want to have access to this OneNote and when done click Share.
shareOneNote-andgiverights

Then in Lync conversation click Share | Share Notes.
shared-notes
Select the shared notebook (below)
select-notebook
Now on a conversation Participant, you need to log OneNote into the Skydrive (or other) account you just shared this OneNote With.
Participants in this will get a Sharing Request. They can Accept. Next they can click Share | OneNote and click on the shared OneNote. (click Yes, to the Security Notice)
someone is sharing
Now you will see a glyph on the Share button and a note that you can Open notes.
somone-shared-onenote
Now OneNote will open the Notebook and go to the Meeting Notes page shared by the Presenter. Everyone can edit the page at the same time and the changes will flow to everyone (albeit not instantly. pressing SHIFT+9 pushes/pulls updates right now)
opened on the participant
If a meeting/conversation participant has not been given access to this OneNote notebook they will get a “we couldn’t open…” error as shown below:
error-if-user-doesn't-have-access
(Notes: One Lync Meeting can actually have more than one Meeting Notes PAGE shared. Actually one person can share more than one page in one meeting! Also, note that the last shared meeting is at the top of this list of meetings)
To remove Notes from a conversation or meeting, click on Share | Manage Notes
remove-notes-first
Then click Remove. (NOTE: If you are an Attendee, you cannot Share Notes, nor can you remove)
remove-notes
Some Notes:
  • If there is a participant in the meeting who doesn’t have access to the shared notebook, they will get a Lync notification that a notebook has been shared with them, but they will get an error if they try to open it.
  • If you share a notebook, those you shared it with can see the WHOLE OneNote Notebook.
  • If you are an Attendee, you cannot Share OneNotes, nor can you remove
  • Note that SHIFT+F9 pushes/pulls updates right now. If they press SHIFT+9 they will get the changes quicker as well.
  • If the presenter changes pages in the notebook, this does NOT change the page for other participants.
  • if the participants open the OneNote too soon after the presenter made it, they may not land on today’s meeting page if there is more than one meeting/page in the notebook
  • If you rejoin a meeting from conversation history, the link to OneNote will be available.

No comments:

Post a Comment