RSS Subscription 168 Posts and 2,769 Comments

Archive for July, 2012

Lync Server 2013 Release Preview Persistent Chat with Enterprise Pool – Part 3

This article series is to guide you through the entire Lync Server 2013 Persistent Chat deployment process from scratch.  In Part 1, we took a look at preparing the environment for the Persistent Chat Pool.  In Part 2, we’ll take a look at the installation process in the Lync 2013 Persistent Chat Pool.  We’ll then finish up the article series with Part 3 by taking a look at the client capabilities utilizing the Persistent Chat features.

Part 1

Part 2

Part 3

Persistent Chat Configuration

At this point, we have Persistent Chat installed but no configuration has been done.  Therefore, our client will show no Persistent Chat capabilities.  The first icon highlighted is to display the contact list and the second icon is to display your conversation history.

By going into the Lync Server 2013 Control Panel, we can see that there’s a new section for configuring Persistent Chat.  We’ll start by configuring a Persistent Chat Policy.  We’ll modify the Global Policy.  Available options are to configure Persistent Chat Policies on a Global level (which is provided by default and not able to be deleted), Site Level, Pool Level, or User Level.  Because we’ll be using the Global Level, go ahead and choose the Global option and choose to edit it.

We can see that the only real option is to enable or disable Persistent Chat.  I chose the option to enable Persistent Chat.  Because this is a Global Policy, it will enable Persistent Chat for the entire organization.

After you commit, you will now see a new icon be displayed in your Lync 2013 client after you wait about 30 seconds or so and then sign out and then sign back in.

Let’s have a look at the Persistent Chat Configuration.  Unlike the Persistent Chat Policy which we can modify at the Global, Site, and User level, Persistent Chat Configuration can only be modified at the Global, Site, and Pool Level.  There’s no User Level.

In the configuration, we have the following options:http://www.shudnow.net/wp-admin/post-new.php

  • Default chat history – define the number of chat messages that will be processed for each room upon first request. By default, the number is 30. This is the global default, and administrators can disable chat history per category
  • Maximum file size – select the maximum file size of each chat history. By default, the number is 20 MB (20,000 KB).  This setting is enforced on the server because custom applications or legacy Group Chat clients using Office Communications Server 2007 R2 Group Chat Server or Lync Server 2010, Group Chat can post files to a room. The Lync 2013 Preview client does not have file upload/download capability, so if you have a pure Lync 2013 Preview deployment or Lync 2013 Preview client, it is not possible to post files in a Persistent Chat Server chat room.
  • Participant Update Limit – select the limit for participant updates. By default, the number is 75. This limit indicates the maximum number of participants in a given room beyond which Persistent Chat Server stops sending roster updates to connected clients about who is present in the room.
  • Room Management URL – select the room management URL. This is the URL for a web-based custom room management.
    If you want to customize your room creation experience and include your specific business workflow, you build a custom room management solution, host it somewhere and put the URL here. This URL is sent down to the client so that when a user tries to view/create a room, he is directed to your custom room management solution.

For this article series, we’ll leave the defaults selected.

We’ll now have a look at chat room categories. A chat room category is a logical structure for organizing chat rooms. A category defines a default set of access control lists (ACLs) for controlling the users and user groups who may create or join the chat rooms. You can also use categories in multiple Persistent Chat Server pool deployments and to enforce ethical walls between different subdivisions within their organizations

Chat room categories may contain chat rooms but not other categories. Each category describes its contents with metadata such as Name and Description. In addition, the category has properties which can be set to control the behavior of the chat rooms belonging to it, such as if the chat rooms allow Invitations, or File Uploads or contain Chat History.

After choosing new, we’re asked to choose a specific Persistent Chat Pool.  If you had chosen to deploy a Persistent Chat Server instead of a Pool, you would choose the server. Or if we had multiple Persistent Chat Servers/Pools, we would choose the specific Persistent Chat Server or Pool.

Let’s go ahead and configure our category.  By default, the highlighted options “Enable invitations” and “Enable file upload” were disabled.  I chose to enable these options.  The options below do the following:

  • Enable invitations – if selected, the category supports rooms that may have invitations on or off; if cleared, the rooms of this category are not allowed to have invitations.
  • Enable file upload – if selected, the rooms of this category can enable or disable file uploads; if cleared, the rooms of this category are not allowed to have file uploads.  This setting is enforced on the server because custom applications or legacy Group Chat clients using Office Communications Server 2007 R2 Group Chat Server or Lync Server 2010, Group Chat can post files to a room. The Lync 2013 Preview client does not have file upload/download capability, so if you have a pure Lync 2013 Preview deployment or Lync 2013 Preview client, it is not possible to post files in a Persistent Chat Server chat room.
  • Enable chat history – if selected, room chats become non-persistent. If compliance is enabled, room chats will be saved but users will not be able to access older messages.

I also chose to add the John Doe user to this category which I called Sales. If you scroll down, there are two additional sections where you can deny certain users and add creators. Creators are people who can create chat rooms and assign managers to specific chat rooms they create.

Now it’s time to configure our Chat Rooms. Configuring chat rooms is commonly handled by users or other central teams using Windows PowerShell command-line interface; an administrator typically does not manage chat rooms. However, if you have to create and manage rooms, you can use the Windows PowerShell command-line interface, or add yourself as a member to a room, and use the Lync 2013 Preview client.

The following are things to note about Chat Rooms:

  • Administrators can delete older content (for example, content posted before a certain date) from any chat room to keep the size of the database from growing greatly. Or, they can remove or replace messages considered inappropriate for a given chat room. (or consider, unsuitable)
  • End-users, including message authors, cannot delete content from any chat room.
  • Chat room managers can disable rooms, but cannot delete rooms. Only administrators can delete a chat room after it’s created.

To see all the Lync Management Shell commands for managing Chat Rooms, please see here.

I decided to create a sales chat room called Sales Forecast within our sales category in which John Doe is assigned by running the following command:

Even though you added John Doe to the Category, that does not assign the users to chat rooms.  As stated previously, a category defines a default set of access control lists (ACLs) for controlling the users and user groups who may create or join the chat rooms. You can also use categories in multiple Persistent Chat Server pool deployments and to enforce ethical walls between different subdivisions within their organizations,

Let’s go ahead and add John Doe directly to the Sales Forecast Chat Room. To add John Doe to the Sales Forecast Chat Room, type the following:

Note: You can also add managers which can add members to a Chat Room right from the Lync 2013 client.  And if you recall in the Category for Sales, we could create creators.  Creators can create chat rooms and assign managers to chat rooms within categories they are assigned as a Creator.

Without needing to sign and sign back into the Lync 2013 Client, we see that the new Chat Room automatically shows up for John Doe.

Now if you double-click on Sales Forecast, we enter the chat room in which all data is persistent.

Oh and just to mention, all of this works without having to create a PGPool.15lab.net A record in DNS. The Lync Server 2013 Front Ends handles all the routing internally without any DNS queries.

If you go back to the Followed Section, you see an Ego Filter.  This allows you to be notified on key words.  If you right-click and edit your Ego filter, you will see it allows you to set up Topic Feed Options and Notification Options.  One thing I wanted to point out is that by default, it is configured to notify you if someone types your name in a Persistent Chat Room you are a member in.

Conclusion

In Part 1, we took a look at preparing the environment for the Persistent Chat Pool.  In Part 2, we took a look at the installation process in the Lync 2013 Persistent Chat Pool.  In the Part 3, we  finished up the article series by taking a look at the client capabilities utilizing the Persistent Chat features.

There’s a lot more to learn in Persistent Chat and I feel I showed a small glimpse into the feature set.  But I hope you enjoyed the glimpse into the new Persistent Chat configuration  and capabilities.  I definitely think it’s a huge improvement over Group Chat in previous versions.

Share

Lync Server 2013 Release Preview Persistent Chat with Enterprise Pool – Part 2

This article series is to guide you through the entire Lync Server 2013 Persistent Chat deployment process from scratch.  In Part 1, we took a look at preparing the environment for the Persistent Chat Pool.  In Part 2, we’ll take a look at the installation process in the Lync 2013 Persistent Chat Pool.  We’ll then finish up the article series with Part 3 by taking a look at the client capabilities utilizing the Persistent Chat features.

Part 1

Part 2

Part 3

Persistent Chat Installation

In Part 1, we configured the Topology to support a Persistent Chat Pool.  We then finished up Part 1 by publishing the topology.  Now we’ll go ahead and install Persistent Chat on our Persistent Chat Server.

After running the Lync Server 2013 setup, just like with any previous release, we need to install the Visual C++ Tools.

Choose the location you want to install Lync Server 2013.

After we click install, read the licensing agreements and then Lync Server 2013 will install the Core Components.  We’ll then hit the Deployment Wizard where you’ll want to click “Install or Update Lync Server System.”

Choose Step 1 to install the Location Configuration Store.  This will install SQL Express on our Persistent Chat Server which will contain a copy of the Central Management Store which contains a copy of our Topology.

Because this is a domain joined machine, we’ll choose “Retrieve directly from the Central Management store.”  This will query Active Directory to find the location of the Pool which owns the Central Management Store database.

You’ll see the following after the Local Configuration Store has been installed which checks if all server prerequisites are installed and then installs the Local Configuration store (SQL Express) with a copy of the Central Management Store.

Go ahead and proceed with Step 2: “Setup or Remove Lync Server Components.”  This will install the Persistent Chat role.

As you can see, there’s only one thing below that gets installed which is the MGCServer.msi.

We’ll now go ahead and start on Step 3 to procure a certificate from our internal CA and the assign the certificate.

Click Request to begin the procurement process for our Persistent Chat Certificate.

I’m not going to go through the entire Persistent Chat certificate procurement process as it’s just like any other standard certificate procurement process (Organization Name, Friendly Name, etc…).  You will see though, since we configured our Persistent Chat environment in a Persistent Chat Pool configuration instead of a single server, the certificate will have a Common Name of PGPool.15lab.net.  We will not be adding any SAN names to the certificate which is an option provided on the screen after choosing a Subject Name.

After specifying all of our options, the Lync Setup process will contact our Online CA to procure the certificate.

We then have the option to assign the certificate for Persistent Chat.

After assigning it, we can verify that the certificate was successfully assigned.

Go ahead and run Step 4 to start the Persistent Chat services.

We can verify that the services started successfully.

But to be extra safe, let’s start services.msc and verify the Lync Server 2013 Persistent Chat service is running as well as any other Lync Server 2013 services.

Conclusion

In Part 1, we took a look at preparing the environment for the Persistent Chat Pool.  In Part 2, we took a look at the installation process in the Lync 2013 Persistent Chat Pool.  In the Part 3, we’ll finish up the article series by taking a look at the client capabilities utilizing the Persistent Chat features.

Share

Lync Server 2013 Release Preview Persistent Chat with Enterprise Pool – Part 1

Now that Lync Server 2013 Release Preview is here, I thought it would be nice to create an article on how to deploy a Persistent Chat (formerly Group Chat) Server while connected to a SQL 2012 Backend Server.

This article series is to guide you through the entire Lync Server 2013 Persistent Chat deployment process from scratch.  In Part 1, we’ll take a look at preparing the environment for the Persistent Chat Pool.  In Part 2, we’ll take a look at the installation process in the Lync 2013 Persistent Chat Pool.  We’ll then finish up the article series with Part 3 by taking a look at the client capabilities utilizing the Persistent Chat features.

Part 1

Part 2

Part 3

Lab Setup

Guest Virtual Machines

There will be four virtual machines being introduced into the lab; one Windows 2008 R2 Global Catalog with Certificate Services, one Front End Enterprise Edition Server, one SQL Server 2012 BackEnd, and one Windows 7 x64 Client.

Assumptions

  • You have a domain that contains at least one Server 2003 SP2 Domain Controller (DC)
  • You have configured the IP settings accordingly for all servers to be on the same subnet or be on subnets that are routable to eachother.
  • You have at least SQL 2008 R2 server installed if doing an Enterprise Edition deployment. We will be using SQL 2012 installed on Server 2008 R2 SP1.
  • You have a copy of Lync Server 2013 Client Release Preview.

Computer Names

Global Catalog Cserver – B-DC1

Lync Server 2013 Enterprise Edition Release Preview – B-L15FE1.15lab.net

Persistent Chat – B-L15PG1.15lab.net

SQL Server 2012 – B-S15BE1.15lab.net

Windows 7 Client – B-Client1.15lab.net

General Information on Topology Support

Persistent Chat installation is very different than OCS 2007 R1 or R2 installation.  You can see my guide on deploying Group Chat with OCS 2007 R2 here.  The first thing we will see is that there is now a Persistent Chat section in Lync 2013 Topology Builder. In Lync Server 2010, it was not supported to collocate Group Chat Databases on the same SQL Server (not just instance, but server) as other Lync 2010 databases.  This is now supported in Lync Server 2013.

If using Lync Server 2013 Standard Edition Front End, it is supported to collocate the Persistent Chat role on the Lync Server 2013 Standard Edition Front End and you can also deploy the Persistent Chat role on its own dedicated box.  The Persistent Chat Database (including Compliance Database) is supported for installation on the Lync 2013 SQL Express instance utilized by a Lync 2013 Standard Edition Front End Server.

If using Lync Server 2013 Enterprise Edition, it is not supported to collocate the Persistent Chat role on the Lync Server 2013 Enterprise Edition Front End.  The reason for this is the the way Lync 2010 Pools (which include CMS, Monitoring, and Archiving) DR work is different than the way Persistent Chat Pools work.  With Enterprise Edition Pools, DRs operate by pairing Enterprise Pools with another Enterprise Pool in a DR Site.  A service called the Backup Service is installed when you pair pools that replicate Enterprise Edition Pool databases (along with the CMS, Monitoring, and Archiving Databases) to the DR Enterprise Edition Pool.

With a Persistent Chat Pool, a single Persistent Chat Pool is stretched across two locations.  This Pool supports up to 8 Persistent Chat Pool Servers where four can be active at any given time. Persistent Chat Pools will use SQL Mirroring to replicate their databases from one Site to the other Site.  However, unlike the Pool Pairing which uses the Backup Service, Persistent Chat Servers use a file share (these file shared are not part of the Lync Server 2013 Topology and you can read more about how these file shares are configured here and here) to replicate SQL database data from the SQL Mirror Instance in the primary datacenter to the SQL Mirror Instance in the secondary/DR datacenter.

In the below example, if there is good connectivity between your sites (low latency and high bandwidth), you will have one Group Chat Pool with up to 4 Group Chat Servers active at any given time and either site can be hosting Active servers at the same time.

In the below example, if there is not good connectivity between your sites (high latency and low bandwidth), you will have one Group Chat Pool with up to 4 Group Chat Servers active at any given time and you will only want one site  hosting Active servers at any given time.

Hopefully that gives you some insight as to why collocation for Persistent Chat role is supported on Standard Edition Front End Servers and why it’s not when using Enterprise Edition Front End Servers.

Prerequisites

Because we need a dedicated Persistent Chat Server, we need to install prerequisites which depend on the operating system (Windows Server 2008 R2 does not have these prerequisites whereas Windows Server 2012 do).

  • Software Installation
    • .Net Framework 4.5 RC (available here)
    • PowerShell 3.0 (available here)
    • Windows Identity Foundation (available here)

Installing Persistent Chat

When taking a look at the Lync Server 2013 Topology Builder, we can see there’s a new Persistent Chat Pool section.

Go ahead and right-click on Persistent Chat pools and create a new Persistent Chat Pool.

I decided to choose to create a Highly Available Persistent Chat Pool instead of a single server even though for now, I’m only going to deploy a single Persistent Chat Server.

Go ahead and add the server FQDN of your Persistent Chat Server.

Define the name of the Persistent Chat Pool.  We won’t be enabling compliance in this article but I will be writing a new article in the future when Lync Server 2013 RTMs that shows a Persistent Group Chat Pol with compliance and most likely with DR.  We only have one Central Site currently in my Lync Server 2013 Lab deployment called Chicago.

As you can see, we can utilize the same SQL Instance that our Enterprise Front End Pool uses.  In the previous screenshot, if we were doing Persistent Chat DR, we would have chosen the “Use backup SQL Server stores to enable disaster recovery” option.  If we chose that option, the next screen after “Define the SQL Store” would ask us to define the SQL Stores in the secondary/DR datacenter.  But, we’re not choosing that option at this time.

We now define our File Store.  This can be the same file store used by the Enterprise Front End Pool.

Choose the Front End Pool that Persistent Chat will utilize.  Previously, we chose to use the Central Site, Chicago.  We would now be able to select any pools that are deployed within the Chicago Site.

After finishing up the above, we can now go ahead and publish the Lync Topology.

One of the previous pains with deploying Group Chat in OCS and Lync Server 2010 is that there were manual steps to pre-create databases and manual permission assignment.  It felt a bit alien in comparison to how the rest of the OCS and Lync Server 2010 roles were deployed.  Now, in Lync Server 2013, Persistent Chat no longer requires this manual work and is now has a very familiar and native installation experience.

After publishing the topology, we can see everything went successfully and the databases were created.

Conclusion

Thanks for reading Part 1 where we took a look at preparing the environment for the Persistent Chat Pool.  In Part 2, we’ll take a look at the installation process in the Lync 2013 Persistent Chat Pool.  We’ll then finish up the article series with Part 3 by taking a look at the client capabilities utilizing the Persistent Chat features.

Share