<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>Elan Shudnow's Blog</title>
	
	<link>http://www.shudnow.net</link>
	<description>Just another IT guy!</description>
	<lastBuildDate>Sun, 03 Mar 2013 16:40:16 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.shudnow.net/eshudnow" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="eshudnow" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Enabling QoS for Lync Server 2013 and Various Clients – Part 2</title>
		<link>http://www.shudnow.net/2013/03/03/enabling-qos-for-lync-server-2013-and-various-clients-part/</link>
		<comments>http://www.shudnow.net/2013/03/03/enabling-qos-for-lync-server-2013-and-various-clients-part/#comments</comments>
		<pubDate>Sun, 03 Mar 2013 16:39:02 +0000</pubDate>
		<dc:creator>Elan Shudnow</dc:creator>
				<category><![CDATA[Lync]]></category>

		<guid isPermaLink="false">http://www.shudnow.net/?p=2947</guid>
		<description><![CDATA[Welcome to Part 2 on how to Enabe QoS for Lync Server 2013 and Various Clients. The purpose of this multi-part article is to lay everything out in a concise manner to help you, the reader, understand how to enable QoS.  Keep in mind that this article is only for the ability to enable QOS, it [...]]]></description>
				<content:encoded><![CDATA[<p>Welcome to Part 2 on how to Enabe QoS for Lync Server 2013 and Various Clients. The purpose of this multi-part article is to lay everything out in a concise manner to help you, the reader, understand how to enable QoS.  Keep in mind that this article is only for the ability to enable QOS, it is not a comprehensive guide on all the various dynamic ports available in Lync to lock down your firewalls.  For that, you can check out my other article <a href="http://www.shudnow.net/2010/12/06/lync-server-2010-port-ranges-and-audiomedia-negotiation/">here</a>. Second of all, the question may arise, why and when would you want to enable QoS.  Audio and Video are synchronize traffic that can be affected by jitter, delay, and packet loss on an IP Network.  Lync has been designed to work without QoS but Lync Administrators can choose to enable both Lync endpoints as well as servers to mark Differentiated Services Code Point (DSCP) values on audio and video packets.  This ensures that audio/video packets get prioritized on a network that is enabled for Differentiated Services (DiffServ).</p>
<p>To better understand DiffServ and its affect on the network, please check out the excellent blog article written by fellow Lync MVP Jeff Schertz at the following URL:<em> <a href="http://blog.schertz.name/2011/08/lync-qos-behavior/">http://blog.schertz.name/2011/08/lync-qos-behavior/</a></em></p>
<p><a href="http://www.shudnow.net/2013/02/16/enabling-qos-for-lync-server-2013-and-various-clients-part-1/">Part 1</a></p>
<p>Part 2</p>
<h2>Server QOS</h2>
<h3>General Procedure for Server QoS</h3>
<p>In Part 1, we talked about Windows Vista/7/8 vs Windows XP.  Windows Vista, Windows 7, and Windows 8 utilize Policy based QoS and Windows XP used QoS based on the Packet Scheduler.  For Lync 2013 Servers, you&#8217;ll always use Policy based QoS since Lync Server 2013 can only be installed on Windows 2008 R2 or Windows 2012 which both utilize Policy based QoS.  For Lync 2010 Servers, you&#8217;ll always use Policy based QoS since Lync Server 2010 can only be installed on Windows 2008 or Windows 2008 R2 which both utilize Policy based QoS.</p>
<p>For Server based QoS, we can configure Conferencing Servers, Application Servers, and Edge Servers (which will use QoS based on the destination port rather than the source port as everything else does).</p>
<h3>Client to Server Port Configuration for Conferencing Servers and Application Servers</h3>
<p>Client to Server Port ranges are out of the box different for all modalities except for Application Sharing. In Lync Server 2013, there are no more dedicated Audio/Video Conferencing Servers as the Audio/Video Conferencing Servers are always located directly on a Front End.  In Lync Server 2010, you still have the capability for deploying dedicated Audio/Video Conferencing Servers.  The same GPO for Lync Server 2010 and Lync Server 2013 can be deployed.  In Lync Server 2013, you will ensure that the GPO is deployed to the Lync Server 2013 Front End Servers whereas with Lync Server 2010, you will ensure the GPO is deployed to the Conferencing Servers whether that may be a Front End or a dedicated Audio/Video Conferencing Server.</p>
<p>The default ports for a Conferencing Server are as such:</p>
<ul>
<li>Audio: 49152 to 57500</li>
<li>Video: 57501 to 65535</li>
<li>Application Sharing: 49152 to 65535</li>
</ul>
<p>At least 40 ports minimum are required for Application Sharing.  We will specify a 8,348 port range that is unique from other ports.  Ultimately, we will set Application Sharing to use the following ports:</p>
<ul>
<li>Application Sharing: 40803 to 49151</li>
</ul>
<p>To set this, we will run the following command:</p>
<div dir="ltr">Set-CsConferenceServer -Identity &lt;ConferenceServer:FQDN of Lync Pool or Lync2010AV Server/Pool FQDN&gt; -AppSharingPortStart 40803 -AppSharingPortCount 8348</div>
<p>Configuring an Application Server is identical.  The only difference is that you use the Set-CSApplicationServer command instead of the Set-CSConferenceServer.  Make sure to include these ports in the QoS Policies for Edge Servers as you will learn later.</p>
<h3>Client to Server Port Configuration for Dedicated Mediation Servers</h3>
<p>A Mediation Server of course only handles Audio since it&#8217;s job is to transcode RTAudio to G.711.  The default ports for a Mediation Server are as such:</p>
<ul>
<li>Audio: 49152 to 57500</li>
</ul>
<p>No Changes to this port range will be required.  If the Mediation Server is collocated on a Front End Server, no changes will need to be done as you can see the Audio Port Range for a dedicated Mediation Server is the same as the Audio Port Range for a Front End Conferencing Server.</p>
<h3>Exchange Unified Messaging (UM)</h3>
<p>I am not going to go into every step by step on how to enable Exchange UM for QoS as Lync MVP, Tom Pacyk, does that very well <a href="http://technet.microsoft.com/en-us/library/ee633464.aspx">here</a>.  What I will show, is how Exchange UM ties into DSCP marking from the Lync Edge Server based on the port ranges we have defined through this article series.</p>
<h3>Edge Server Policy Configuration</h3>
<p>An Edge Server doesn&#8217;t get configured per se.  But the policy that you create is based on a destination port (rather than source port like client peer to peer or client to server).  The destination port configuration in the QoS Policy is configured based on the client peer to peer ports you defined in Part 1 of this article series as well as the client to server ports you defined in this Part 2 of this article series.</p>
<p>So if we take a look at everything we&#8217;ve done so far, we have the following peer to peer configuration from Part 1 of this article series:</p>
<ul>
<li>Audio: 20000 to 20039 (TCP/UDP with UDP being preferred with TCP fallback)</li>
<li>Video: 20040 to 20079 (TCP/UDP with UDP being preferred with TCP fallback)</li>
</ul>
<p>We have the following client to server configuration from Part 2 of this article series:</p>
<ul>
<li>Audio: 49152 to 57500 (TCP/UDP with UDP being preferred with TCP fallback)</li>
<li>Video: 57501 to 65535 (TCP/UDP with UDP being preferred with TCP fallback)</li>
<li>Application Sharing: 40803 to 49151 (TCP)</li>
</ul>
<p>Exchange UM will utilize the following port configuration:</p>
<ul>
<li>Audio: 1024-65535 (UDP)</li>
</ul>
<p>The Edge QoS Policy will need to have several QoS Policies configured to handle each modality (Application Sharing not as critical as Audio/Video but can be enabled) for peer to peer (Audio/Video) and client to server (Audio/Video).  Additional QoS Policies may be needed depending on Application Servers in the environment and whether they have any different port ranges from your Peer to Peer or Client to Peer port configurations.</p>
<h3>Configuring Policy Based QOS in Group Policy for Windows 2008 R2 and/or Windows 2012 for a Conferencing Server</h3>
<p>As stated previously, Lync Server 2013 can only be installed on Windows 2008 R2 or Windows 2012.  Both Windows 2008 R2 and Windows 2012 utilize Policy Based QOS which allows a wider variety of options for configuring QoS.</p>
<p>In the below example, we will show how to create the Policy-based QoS for Audio.  Once finished, be sure to also create Policy-based QoS policies for Video.  The DSCP Value for Audio will be 46 and the DSCP Value for Video will be 34. Open up Group Policy (in my examples, I am using Local Computer Policy but in a real production environment you would be using Group Policy at some level in your Domain Hierarchy) and navigate to <strong>Computer Configuration</strong> &gt; <strong>Windows Settings</strong> &gt; <strong>Policy-based QoS</strong>. <strong> Right-Click</strong> and choose <strong>Create new policy</strong>.</p>
<p><img alt="" src="http://www.shudnow.net/images/Lync2010QoS02.jpg" width="363" height="294" /></p>
<p>In the new Policy, give it a name and specify the DSCP Value.  DSCP Values for audio is typically 46.  Make sure the Outbound Throttle Rate check box is cleared.  Click Next.</p>
<p><img class="alignnone size-full wp-image-2959" alt="Lync15QoS20" src="http://www.shudnow.net/images/Lync15QoS20.jpg" width="544" height="470" /></p>
<p>Because there are multiple applications that will stamp DSCP Values, we will choose All Applications. Click Next.</p>
<p><img class="alignnone size-full wp-image-2960" alt="Lync15QoS21" src="http://www.shudnow.net/images/Lync15QoS21.jpg" width="544" height="470" /></p>
<p>On the following screen, make sure you leave the defaults as &#8220;Any source IP address&#8221; and &#8220;Any destination IP Address.&#8221;  Click Next.</p>
<p><img class="alignnone size-full wp-image-2961" alt="Lync15QoS22" src="http://www.shudnow.net/images/Lync15QoS22.jpg" width="544" height="470" /></p>
<p>On  the following screen, choose TCP and UDP.  In our information above we stated the default audio port range is 49152 to 57500 and does not need to be changed.  Because of this, our source port range will 49152 to 575000 specified as 49152:57500.</p>
<p><img class="alignnone size-full wp-image-2962" alt="Lync15QoS23" src="http://www.shudnow.net/images/Lync15QoS23.jpg" width="544" height="470" /></p>
<p>Let&#8217;s go ahead and set the DSCP Value for Video with a DSCP value of 34. <strong>Right-Click</strong> Policy-based QoS and choose <strong>Create new policy</strong>. In the new Policy, give it a name and specify the DSCP Value.  DSCP Values for video is typically 34.  Make sure the Outbound Throttle Rate check box is cleared.  Click Next.</p>
<p><img class="alignnone size-full wp-image-2963" alt="Lync15QoS24" src="http://www.shudnow.net/images/Lync15QoS24.jpg" width="544" height="470" /></p>
<p>Because there are multiple applications that will stamp DSCP Values, we will choose All Applications. Click Next.</p>
<p><img class="alignnone size-full wp-image-2964" alt="Lync15QoS25" src="http://www.shudnow.net/images/Lync15QoS25.jpg" width="544" height="470" /></p>
<p>On the following screen, make sure you leave the defaults as &#8220;Any source IP address&#8221; and &#8220;Any destination IP Address.&#8221;  Click Next.</p>
<p><img class="alignnone size-full wp-image-2965" alt="Lync15QoS26" src="http://www.shudnow.net/images/Lync15QoS26.jpg" width="544" height="470" /></p>
<p>On  the following screen, choose TCP and UDP.  In our information above we stated the default video port range is 57501 to 65535 and does not need to be changed.  Because of this, our source port range will 57501 to 65535 specified as 57501:65535.</p>
<p><img class="alignnone size-full wp-image-2967" alt="Lync15QoS27" src="http://www.shudnow.net/images/Lync15QoS27.jpg" width="544" height="470" /></p>
<p>If you would like Client to Server QoS for Application Sharing, feel free to also create a new QoS Policy that provides DSCP Values for the port ranges specified for Application Sharing.  The same can be done for SIP if you really want SIP to be marked. If you made this port range contiguous with Video, feel free to modify your Video QoS Policy to add the ports for Application Sharing if you are fine with also using a DSCP value of 34.</p>
<p>Now go ahead and restart your Lync Conferencing Servers so they pick up the changes. After Group Policy have applied the settings, you should see the following settings within the registry:</p>
<p><img class="alignnone size-full wp-image-2968" alt="Lync15QoS28" src="http://www.shudnow.net/images/Lync15QoS28.jpg" width="694" height="339" /></p>
<p><img class="alignnone size-full wp-image-2969" alt="Lync15QoS29" src="http://www.shudnow.net/images/Lync15QoS29.jpg" width="677" height="339" /></p>
<h3>Configuring Policy Based QOS in Group Policy for Windows 2008 and/or Windows 2008 R2 for a Dedicated Mediation Server</h3>
<p>As stated previously, Lync Server 2013 can only be installed on Windows 2008 R2 or Windows 2012.  Both Windows 2008 R2 and Windows 2012 utilize Policy Based QOS which allows a wider variety of options for configuring QoS. This same GPO Setting can also be applied to Lync 2010 Mediation Servers which utilize Windows 2008 or Windows 2008 R2 which both also utilize Policy Based QoS.</p>
<p>In the below example, we will show how to create the Policy-based QoS for Audio only.  The DSCP Value for Audio will be 46. Open up Group Policy (in my examples, I am using Local Computer Policy but in a real production environment you would be using Group Policy at some level in your Domain Hierarchy) and navigate to <strong>Computer Configuration</strong> &gt; <strong>Windows Settings</strong> &gt; <strong>Policy-based QoS</strong>. <strong> Right-Click</strong> and choose <strong>Create new policy</strong>.</p>
<p><img alt="" src="http://www.shudnow.net/images/Lync2010QoS02.jpg" width="363" height="294" /></p>
<p>In the new Policy, give it a name and specify the DSCP Value.  DSCP Values for audio is typically 46.  Make sure the Outbound Throttle Rate check box is cleared.  Click Next.</p>
<p><img class="alignnone size-full wp-image-2970" alt="Lync15QoS30" src="http://www.shudnow.net/images/Lync15QoS30.jpg" width="544" height="470" /></p>
<p>Since this is Policy-based QoS, we will want to take advantage of only tagging traffic that the Mediation Server uses utilizing the executable MediationServerSvc.exe.  So make sure you choose the &#8220;Only applications with this executable name&#8221; and specify MediationServerSvc.exe. Click Next.</p>
<p><img class="alignnone size-full wp-image-2971" alt="Lync15QoS31" src="http://www.shudnow.net/images/Lync15QoS31.jpg" width="544" height="470" /></p>
<p>On the following screen, make sure you leave the defaults as &#8220;Any source IP address&#8221; and &#8220;Any destination IP Address.&#8221;  Click Next.</p>
<p><img class="alignnone size-full wp-image-2972" alt="Lync15QoS32" src="http://www.shudnow.net/images/Lync15QoS32.jpg" width="544" height="470" /></p>
<p>On  the following screen, choose TCP and UDP.  In our information above we stated the default audio port range is 49152 to 57500 and does not need to be changed.  Because of this, our source port range will 49152 to 575000 specified as 49152:57500.</p>
<p><img class="alignnone size-full wp-image-2973" alt="Lync15QoS33" src="http://www.shudnow.net/images/Lync15QoS33.jpg" width="544" height="470" /></p>
<p>Now go ahead and restart your Lync Mediation Servers so they pick up the changes. After Group Policy have applied the settings, you should see the following settings within the registry:</p>
<p><img class="alignnone size-full wp-image-2974" alt="Lync15QoS34" src="http://www.shudnow.net/images/Lync15QoS34.jpg" width="726" height="351" /></p>
<h3>Configuring Policy Based QOS in Group Policy for Windows 2008 R2 and/or Windows 2012 for an Edge Server</h3>
<p>As stated previously, Lync Server 2013 can only be installed on Windows 2008 R2 or Windows 2012.  Both Windows 2008 R2 and Windows 2012 utilize Policy Based QOS which allows a wider variety of options for configuring QoS.  This same GPO Setting can also be applied to Lync 2010 Edge Servers which utilize Windows 2008 or Windows 2008 R2 which both also utilize Policy Based QoS.</p>
<p>In the below example, we will show how to create the Policy-based QoS for Audio from Clients which utilize ports 20000 to 20039.  Once finished, be sure to also create Policy-based QoS policies for Client Video as well as all the Audio/Video ranges for Conferencing Servers.  The DSCP Value for Audio will be 46 and the DSCP Value for Video will be 34. Open up Group Policy (in my examples, I am using Local Computer Policy but in a real production environment you would be using Group Policy at some level in your Domain Hierarchy) and navigate to <strong>Computer Configuration</strong> &gt; <strong>Windows Settings</strong> &gt; <strong>Policy-based QoS</strong>. <strong> Right-Click</strong> and choose <strong>Create new policy</strong>.</p>
<p><img alt="" src="http://www.shudnow.net/images/Lync2010QoS02.jpg" width="363" height="294" /></p>
<p>In the new Policy, give it a name and specify the DSCP Value.  DSCP Values for audio is typically 46.  Make sure the Outbound Throttle Rate check box is cleared.  Click Next.</p>
<p><img class="alignnone size-full wp-image-2976" alt="Lync15QoS35" src="http://www.shudnow.net/images/Lync15QoS35.jpg" width="544" height="470" /></p>
<p>Since this is Policy-based QoS, we will typically want to specify the executable name to take advantage of only tagging traffic that the Edge Server uses utilizing the executable MediaRelaySvc.exe. Unfortunately, with the Edge Role, even in Lync 2013, no DSCP markings will happen when the executable name is specified.  So make sure you choose All applications. Click Next.</p>
<p><img class="alignnone size-full wp-image-2977" alt="Lync15QoS36" src="http://www.shudnow.net/images/Lync15QoS36.jpg" width="544" height="470" /></p>
<p>On the following screen, we will want to restrict this GPO from the Internal IP of our Edge to ensure that only DSCP markings happen when we talk to the Internal Network as QoS does not get applied on the Internet. Make sure you leave the default for &#8221;Any destination IP Address.&#8221;  In the following screenshot, 10.10.10.20/32 would be the IP Address assigned to the Internal NIC on our Edge Server. Click Next.</p>
<p><img class="alignnone size-full wp-image-2982" alt="Lync15QoS37" src="http://www.shudnow.net/images/Lync15QoS37.jpg" width="544" height="470" /></p>
<p>&nbsp;</p>
<p>On  the following screen, choose TCP and UDP.  In our information above we stated the default audio port range is 49152 to 57500 and does not need to be changed.  Because of this, our source port range will 49152 to 575000 specified as 49152:57500.</p>
<p><img class="alignnone size-full wp-image-2981" alt="Lync15QoS38" src="http://www.shudnow.net/images/Lync15QoS38.jpg" width="544" height="470" />&#8216;</p>
<p>I will not display the remainder of the QoS Policy configuration for the Edge as I&#8217;m sure by now, you are a master at configuring QoS Policies for Lync.  The remainder of the four QoS Policies will look as such:</p>
<p>Peer to Peer Video:</p>
<ul>
<li>Policy Name: Lync 2010/2013 Client Video</li>
<li>DSCP Value: 34</li>
<li>All Applications</li>
<li>Specify Outbound Throttle Rate is Unchecked</li>
<li>Source IP: Your Internal Edge IP (Our example is 10.10.10.20/32)</li>
<li>Destination Port Range of 20040:20079 TCP/UDP</li>
</ul>
<p>Conferencing Server Audio:</p>
<ul>
<li>Policy Name: Lync 2010/2013 Conferencing Audio</li>
<li>DSCP Value: 46</li>
<li>All Applications</li>
<li>Specify Outbound Throttle Rate is Unchecked</li>
<li>Source IP: Your Internal Edge IP (Our example is 10.10.10.20/32)</li>
<li>Destination Port Range of 49152:57500 TCP/UDP</li>
</ul>
<p>Conferencing Server Video:</p>
<ul>
<li>Policy Name: Lync 2010/2013 Conferencing Video</li>
<li>DSCP Value: 34</li>
<li>All Applications</li>
<li>Specify Outbound Throttle Rate is Unchecked</li>
<li>Source IP: Your Internal Edge IP (Our example is 10.10.10.20/32)</li>
<li>Destination Port Range of 57501:65535 TCP/UDP</li>
</ul>
<p>Exchange UM Audio :</p>
<ul>
<li>Policy Name: Lync Edge to Exchange UM01 Audio (assuming UM01 is the UM Server)</li>
<li>DSCP Value: 34</li>
<li>All Applications</li>
<li>Specify Outbound Throttle Rate is Unchecked</li>
<li>Source IP: Your Internal Edge IP (Our example is 10.10.10.20/32)</li>
<li>Destination IP: Your Exchange UM IP (Our example, 10.10.10.30/32)</li>
<li>Destination Port Range of 1024-65535 UDP</li>
</ul>
<p><strong>Note</strong>: For Exchange UM, because we are using the entire 1024-65535 range, I like to create targeted GPO Policy Entries that include a destination IP for the Exchange UM Server.  This way, it ensures this GPO that uses the entire upper port range does not interfere with other GPO QoS Policy Entries that have been defined as this QoS Policy Entry is more explicit in its Source/Target definitions.  This also means you will need to create a policy for each UM Server.</p>
<p>After all QoS Policies are created, reboot the Lync Edge Server.  You should see the following registry changes:</p>
<p><img class="alignnone size-full wp-image-2983" alt="Lync15QoS39" src="http://www.shudnow.net/images/Lync15QoS39.jpg" width="691" height="352" /></p>
<p><img class="alignnone size-full wp-image-2984" alt="Lync15QoS40" src="http://www.shudnow.net/images/Lync15QoS40.jpg" width="675" height="352" /></p>
<p><img class="alignnone size-full wp-image-2985" alt="Lync15QoS41" src="http://www.shudnow.net/images/Lync15QoS41.jpg" width="674" height="352" /></p>
<p><img class="alignnone size-full wp-image-2986" alt="Lync15QoS42" src="http://www.shudnow.net/images/Lync15QoS42.jpg" width="682" height="352" /></p>
<p><img class="alignnone size-full wp-image-2987" alt="Lync15QoS43" src="http://www.shudnow.net/images/Lync15QoS43.jpg" width="689" height="352" /></p>
<p>As always, log to ensure DSCP markings are being defined.  In order to understand how to log, please refer to Part 1 of this article series at the bottom to get an understanding of how to enable DSCP monitoring in WireShark.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.shudnow.net%2F2013%2F03%2F03%2Fenabling-qos-for-lync-server-2013-and-various-clients-part%2F&amp;title=Enabling%20QoS%20for%20Lync%20Server%202013%20and%20Various%20Clients%20%E2%80%93%20Part%202" id="wpa2a_2"><img src="http://www.shudnow.net/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share"/></a></p><div class="feedflare">
<a href="http://feeds.shudnow.net/~ff/eshudnow?a=l0J8Qc45Nxg:tuGmjih5uCI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/eshudnow?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.shudnow.net/~ff/eshudnow?a=l0J8Qc45Nxg:tuGmjih5uCI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/eshudnow?i=l0J8Qc45Nxg:tuGmjih5uCI:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/eshudnow/~4/l0J8Qc45Nxg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.shudnow.net/2013/03/03/enabling-qos-for-lync-server-2013-and-various-clients-part/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Enabling QoS for Lync Server 2013 and Various Clients – Part 1</title>
		<link>http://www.shudnow.net/2013/02/16/enabling-qos-for-lync-server-2013-and-various-clients-part-1/</link>
		<comments>http://www.shudnow.net/2013/02/16/enabling-qos-for-lync-server-2013-and-various-clients-part-1/#comments</comments>
		<pubDate>Sat, 16 Feb 2013 17:06:16 +0000</pubDate>
		<dc:creator>Elan Shudnow</dc:creator>
				<category><![CDATA[Lync]]></category>

		<guid isPermaLink="false">https://www.shudnow.net/?p=2865</guid>
		<description><![CDATA[There&#8217;s documentation available by Microsoft on how to enable Quality of Services (QoS) in Lync which you can find here.  I have a previous article series on enabling QoS for Lync 2010 here.  This article series will be more comprehensive than my previous article series and can be used instead of my Lync 2010 article series [...]]]></description>
				<content:encoded><![CDATA[<p>There&#8217;s documentation available by Microsoft on how to enable Quality of Services (QoS) in Lync which you can find <a href="http://technet.microsoft.com/en-us/library/gg405409.aspx">here</a>.  I have a previous article series on enabling QoS for Lync 2010 <a href="http://www.shudnow.net/2011/11/04/enabling-qos-for-lync-server-2010-part-1/">here</a>.  This article series will be more comprehensive than my previous article series and can be used instead of my Lync 2010 article series as this article series will provide all the necessary QoS configuration for both Lync Server 2010 and Lync Server 2013 and all the various clients while also supporting QoS for the Communicator 2007 R2 Client during a co-existence period when Communicator 2007 R2 is run against a Lync 2010 Pool.</p>
<p>The purpose of this multi-part article  is to lay everything out in a concise manner to help you, the reader, understand how to enable QoS for Lync Server 2013 and various supported clients such as Lync 2010, Lync 2013, and the Attendant Console .  Keep in mind that this article is only for the ability to enable QOS, it is not a comprehensive guide on all the various dynamic ports available in Lync to lock down your firewalls.  For that, you can check out my other article <a href="http://www.shudnow.net/2010/12/06/lync-server-2010-port-ranges-and-audiomedia-negotiation/">here</a>. Second of all, the question may arise, why and when would you want to enable QoS?  Audio and Video are synchronize traffic that can be affected by jitter, delay, and packet loss on an IP Network.  Lync has been designed to work without QoS but Lync Administrators can choose to enable both Lync endpoints as well as servers to mark Differentiated Services Code Point (DSCP) values on audio and video packets.  This ensures that audio/video packets get prioritized on a network that is enabled for Differentiated Services (DiffServ).</p>
<p>To better understand DiffServ and its affect on the network, please check out the excellent blog article written by fellow Lync MVP Jeff Schertz at the following URL:<em> <a href="http://blog.schertz.name/2011/08/lync-qos-behavior/">http://blog.schertz.name/2011/08/lync-qos-behavior/</a></em></p>
<p>So, let&#8217;s dive into my version of how to enable QoS.  Shall we?</p>
<p>Part 1</p>
<p><a href="http://www.shudnow.net/2013/03/03/enabling-qos-for-lync-server-2013-and-various-clients-part/">Part 2</a></p>
<h2>Comprehensive Table of QoS Configurations</h2>
<p>In order to successfully deploy QoS, it helps if you have a table with all the various information needed.</p>
<p>Lync 2013 allows legacy Lync 2010 clients to connect to Lync 2013.  The legacy Lync 2010 client&#8217;s executable name is Communicator.exe whereas Lync 2013 now uses the executable name of Lync.exe. For Attendant clients, Lync 2010 Attendant is the current solution and the executable name is AttendantConsole.exe.  So we need to create policies for all three client executables as well as all the executables the server uses.  To help map out what we need to configure, inputting information into the following table will help set the stage for assigning QoS values for audio and video.</p>
<p>Communicator 2007 r2 does have some interoperability support with Lync 2013 but only for IM/Presence.  Therefore, the same legacy QoS support for the R2 client is no longer required in Lync 2013.  You can see Lync Server 2013 client inoperability support <a href="http://technet.microsoft.com/en-us/library/jj204672.aspx">here</a>.</p>
<p>This table will focus on Audio/Video.  In Part 2, we&#8217;ll add File Transfers, Application Sharing, and SIP to this list just in case you want to provide a more robust QoS configuration to your environment that extends to more than just Audio/Video.</p>
<table border="1" cellspacing="0" cellpadding="0">
<thead>
<tr>
<td valign="top" width="119"><b>Component</b></td>
<td valign="top" width="113"><b>Communication type</b></td>
<td valign="top" width="164"><b>Executable name</b></td>
<td valign="top" width="58"><b>DSCP value</b></td>
<td valign="top" width="71"><b>TCP/UDP</b></td>
<td valign="top" width="65"><b>Source IP</b></td>
<td valign="top" width="95"><b>Destination IP</b></td>
<td valign="top" width="75"><b>Source Ports</b></td>
<td valign="top" width="102"><b>Destination Ports</b></td>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" width="119">A/V Conferencing service</td>
<td valign="top" width="113">Audio</td>
<td valign="top" width="164">AVMCUSvc.exe</td>
<td valign="top" width="58">46</td>
<td valign="top" width="71">Both</td>
<td valign="top" width="65">Any</td>
<td valign="top" width="95">Any</td>
<td valign="top" width="75">49152-57500</td>
<td valign="top" width="102"></td>
</tr>
<tr>
<td valign="top" width="119"></td>
<td valign="top" width="113">Video</td>
<td valign="top" width="164">AVMCUSvc.exe</td>
<td valign="top" width="58">34</td>
<td valign="top" width="71">Both</td>
<td valign="top" width="65">Any</td>
<td valign="top" width="95">Any</td>
<td valign="top" width="75">57501-65535</td>
<td valign="top" width="102"></td>
</tr>
<tr>
<td valign="top" width="119">A/V Edge service</td>
<td valign="top" width="113">Audio</td>
<td valign="top" width="164">MediaRelaySvc.exe</td>
<td valign="top" width="58">46</td>
<td valign="top" width="71">Both</td>
<td valign="top" width="65">Edge Internal IP</td>
<td valign="top" width="95">Any</td>
<td valign="top" width="75"></td>
<td valign="top" width="102">49152 &#8211; 57500 from Lync Edge to Servers20000 – 20039 from Lync Edge to Internal Clients</td>
</tr>
<tr>
<td valign="top" width="119"></td>
<td valign="top" width="113">Video</td>
<td valign="top" width="164">MediaRelaySvc.exe</td>
<td valign="top" width="58">34</td>
<td valign="top" width="71">Both</td>
<td valign="top" width="65">Edge Internal IP</td>
<td valign="top" width="95">Any</td>
<td valign="top" width="75"></td>
<td valign="top" width="102">57501 – 65535 from Lync Edge to Servers20040 – 20079 from Lync Edge to Internal Clients</td>
</tr>
<tr>
<td valign="top" width="119">A/V Edge service to Exchange UM   Servers</td>
<td valign="top" width="113">Audio</td>
<td valign="top" width="164">MediaRelaySvc.exe</td>
<td valign="top" width="58">46</td>
<td valign="top" width="71">UDP</td>
<td valign="top" width="65">Edge Internal IP</td>
<td valign="top" width="95">Exchange UM Servers</td>
<td valign="top" width="75"></td>
<td valign="top" width="102">1024-65535</td>
</tr>
<tr>
<td valign="top" width="119">Mediation Server</td>
<td valign="top" width="113">Audio</td>
<td valign="top" width="164">MediationServerSvc.exe</td>
<td valign="top" width="58">46</td>
<td valign="top" width="71">Both</td>
<td valign="top" width="65">Any</td>
<td valign="top" width="95">Any</td>
<td valign="top" width="75">49152-57500</td>
<td valign="top" width="102"></td>
</tr>
<tr>
<td valign="top" width="119">Response Group application</td>
<td valign="top" width="113">Audio</td>
<td valign="top" width="164">OcsAppServerHost.exe</td>
<td valign="top" width="58">46</td>
<td valign="top" width="71">Both</td>
<td valign="top" width="65">Any</td>
<td valign="top" width="95">Any</td>
<td valign="top" width="75">49152-57500</td>
<td valign="top" width="102"></td>
</tr>
<tr>
<td valign="top" width="119">Conference Announcement service</td>
<td valign="top" width="113">Audio</td>
<td valign="top" width="164">OcsAppServerHost.exe</td>
<td valign="top" width="58">46</td>
<td valign="top" width="71">Both</td>
<td valign="top" width="65">Any</td>
<td valign="top" width="95">Any</td>
<td valign="top" width="75">49152-57500</td>
<td valign="top" width="102"></td>
</tr>
<tr>
<td valign="top" width="119">UCMA applications</td>
<td valign="top" width="113">Audio</td>
<td valign="top" width="164">OcsAppServerHost.exe</td>
<td valign="top" width="58">46</td>
<td valign="top" width="71">Both</td>
<td valign="top" width="65">Any</td>
<td valign="top" width="95">Any</td>
<td valign="top" width="75">49152-57500</td>
<td valign="top" width="102"></td>
</tr>
<tr>
<td valign="top" width="119">Lync 2010</td>
<td valign="top" width="113">Audio</td>
<td valign="top" width="164">Communicator.exe</td>
<td valign="top" width="58">46</td>
<td valign="top" width="71">Both</td>
<td valign="top" width="65">Any</td>
<td valign="top" width="95">Any</td>
<td valign="top" width="75">20000 &#8211; 20039</td>
<td valign="top" width="102"></td>
</tr>
<tr>
<td valign="top" width="119"></td>
<td valign="top" width="113">Video</td>
<td valign="top" width="164">Communicator.exe</td>
<td valign="top" width="58">34</td>
<td valign="top" width="71">Both</td>
<td valign="top" width="65">Any</td>
<td valign="top" width="95">Any</td>
<td valign="top" width="75">20040 &#8211; 20079</td>
<td valign="top" width="102"></td>
</tr>
<tr>
<td valign="top" width="119">Lync 2013</td>
<td valign="top" width="113">Audio</td>
<td valign="top" width="164">lync.exe</td>
<td valign="top" width="58">46</td>
<td valign="top" width="71">Both</td>
<td valign="top" width="65">Any</td>
<td valign="top" width="95">Any</td>
<td valign="top" width="75">20000 &#8211; 20039</td>
<td valign="top" width="102"></td>
</tr>
<tr>
<td valign="top" width="119"></td>
<td valign="top" width="113">Video</td>
<td valign="top" width="164">lync.exe</td>
<td valign="top" width="58">34</td>
<td valign="top" width="71">Both</td>
<td valign="top" width="65">Any</td>
<td valign="top" width="95">Any</td>
<td valign="top" width="75">20040 &#8211; 20079</td>
<td valign="top" width="102"></td>
</tr>
<tr>
<td valign="top" width="119">Lync 2010 Attendant</td>
<td valign="top" width="113">Audio</td>
<td valign="top" width="164">AttendantConsole.exe</td>
<td valign="top" width="58">46</td>
<td valign="top" width="71">Both</td>
<td valign="top" width="65">Any</td>
<td valign="top" width="95">Any</td>
<td valign="top" width="75">20000 &#8211; 20039</td>
<td valign="top" width="102"></td>
</tr>
<tr>
<td valign="top" width="119">Lync 2010 Phone Edition</td>
<td valign="top" width="113">Audio</td>
<td valign="top" width="164">n/a</td>
<td valign="top" width="58">46</td>
<td valign="top" width="71">Both</td>
<td valign="top" width="65">Any</td>
<td valign="top" width="95">Any</td>
<td valign="top" width="75">20000 &#8211; 20039</td>
<td valign="top" width="102"></td>
</tr>
</tbody>
</table>
<h2>Client QOS</h2>
<h3>Windows Vista/7/8 versus Windows XP</h3>
<p>Windows Vista, Windows 7, and Windows 8 utilize Policy based QOS. Policy based QOS has the benefit that you can restrict the QoS application at the application level.  For Lync 2010, this would be communicator.exe. For Lync 2013, this would be lync.exe.  For the Lync Attendant Console, this would be attendantconsole.exe. Windows XP uses separate QOS Group Policy Options that do not allow you to restrict the DSCP values at the application level.  This means that all applications that utilize the Audio/Video ports we configure for Audio/Video will get DSCP markings stamped.</p>
<h3>Peer to Peer Port Configuration</h3>
<p>All client port ranges need to be changed as they are all overlapping by default.  Client Media traffic by default utilizing ports 1024 to 65535 when doing Peer to Peer. To specify the client media port ranges, Set-CSConferencingConfiguration must be used. The port ranges for each modality must not conflict with another modality. Also, it is highly recommended to ensure that when each modality is locked down to its own port range that all ports are contiguous as this will make configuring Group Policy later on a bit easier as you will see later on in the article.</p>
<p>The command used to enable the ability to lock down peer to peer client ports is Set-CsConferencingConfiguration with the ClientMediaPortRangeEnabled set to 1.  When enabled, clients will use the specified port range for media traffic. When disabled (the default value) any available port (from port 1024 through port 65535) will be used to accommodate media traffic.  Because we want to lock down the peer to peer ports, we must run the following command:</p>
<div dir="ltr">Set-CsConferencingConfiguration -ClientMediaPortRangeEnabled 1</div>
<p>Once this command is run, we can go ahead and start locking down our ports.  Now keep in mind, all these commands are provided to the clients via in-band provisioning.  This means that once our client signs in, they will start using these locked down port ranges and it does not require any Group Policy Object to be created (at least not for locking down ports) and pushed down to your clients.</p>
<p>The following commands are where we finally choose the amount of ports and at what port each modality starts.  The commands are:</p>
<ul>
<li>Application Sharing:
<div dir="ltr">Set-CSConferencingConfiguration -ClientAppSharingPort &lt;beginning of port range (5350 by default)&gt; -ClientAppSharingPortRange &lt;extent of port range, at least 4 (40 by default)&gt;</div>
</li>
<li>Audio:
<div dir="ltr">Set-CSConferencingConfiguration -ClientAudioPort&lt;beginning of port range&gt; -ClientAudioPortRange &lt;extent of port range, at least 20 (40 by default)&gt;</div>
</li>
<li>Video:
<div dir="ltr">Set-CSConferencingConfiguration -ClientVideoPort &lt;beginning of port range&gt; -ClientVideoPortRange &lt;extent of port range, at least 20 (40 by default)&gt;</div>
</li>
<li>File Transfer:
<div dir="ltr">Set-CSConferencingConfiguration -ClientFileTransferPort &lt;beginning of port range&gt; -ClientFileTransferPortRange &lt;extent of port range, at least 20 (40 by default)&gt;</div>
</li>
<li>Communicator 2007 R2:
<div dir="ltr">Set-CSConferencingConfiguration -ClientMediaPort &lt;beginning of port range&gt; -ClientMediaPortRange &lt;extent of port range, at least 40&gt;</div>
</li>
</ul>
<p><strong>Note</strong>: -ClientMediaPortRange is used for Office Communicator 2007 R2 Clients. The reason why this uses 40 is because this setting includes all modalities as Office Communicator 2007 R2 did not split apart each modality into their own separate switches.  Being able to break up each modality is a feature of Lync. Because Lync Server 2013 only supports IM/Presence from Office Communicator R2 clients, if you are in a Lync Server 2013 environment with no Lync 2010 Servers, ClientMediaPortRange is unnecessary to configure.  However, you may be in an environment with both Lync Server 2010 and Lync Server 2013 and you may want to configure ClientMediaPortRange as this configuration in Lync Server 2013 still applies to Lync Server 2010 which may still be supporting Office Communicator 2007 R2 clients.  Therefore, we will still configure ClientMediaPortRange.</p>
<p>An example of a properly defined command with the minimum port requirement in one big switch is as follows:</p>
<div dir="ltr"><em>Set-CsConferencingConfiguration -ClientAudioPort 20000 -ClientAudioPortRange 20 -ClientVideoPort 20020 -ClientVideoPortRange 20 -ClientAppSharingPort 20040 -ClientAppSharingPortRange 4 -ClientFileTransferPort 20044 -ClientFileTransferPortRange 4 -ClientMediaPort 20048 -ClientMediaPortRange 40</em><strong></strong></div>
<p>An example of a properly defined command with the default port range is as follows (this is the example we will use going forward when configuring Group Policy):</p>
<div dir="ltr"><em>Set-CsConferencingConfiguration -ClientAudioPort 20000 -ClientAudioPortRange 40 -ClientVideoPort 20040 -ClientVideoPortRange 40 -ClientAppSharingPort 20080 -ClientAppSharingPortRange 40 -ClientFileTransferPort 20120 -ClientFileTransferPortRange 40 -ClientMediaPort 20160 -ClientMediaPortRange 40</em><strong></strong></div>
<h3>Configuring Policy Based QOS in Group Policy for Windows Vista, Windows 7, and/or Windows 8 clients</h3>
<p>As stated previously, Windows Vista, Windows 7, and Windows 8 clients utilize Policy Based QOS which allows a wider variety of options for configuring QoS.  For example, you can specify that only communicator.exe, lync.exe, or attendantconsole.exe should tag x ports. One thing to note however, is the Lync 2013 client is unsupported on Windows Vista and is only supported in Windows 7 and Windows 8.</p>
<p>In the below example, we will show how to create the Policy-based QoS for Audio.  Once finished, be sure to also create Policy-based QoS policies for Video.  The DSCP Value for Audio will be 46 and the DSCP Value for Video will be 34. Open up Group Policy (in my examples, I am using Local Computer Policy but in a real production environment you would be using Group Policy at some level in your Domain Hierarchy) and navigate to <strong>Computer Configuration</strong> &gt; <strong>Windows Settings</strong> &gt; <strong>Policy-based QoS</strong>. <strong> Right-Click</strong> and choose <strong>Create new policy</strong>.</p>
<p><img alt="" src="http://www.shudnow.net/images/Lync2010QoS02.jpg" width="363" height="294" /></p>
<p>In the new Policy, give it a name and specify the DSCP Value.  DSCP Values for audio is typically 46.  Make sure the Outbound Throttle Rate check box is cleared.  Click Next.</p>
<p><a href="http://www.shudnow.net/images/Lync15QoS1.jpg"><img class="alignnone size-full wp-image-2868" alt="Lync15QoS1" src="http://www.shudnow.net/images/Lync15QoS1.jpg" width="544" height="470" /></a></p>
<p>Since this is Policy-based QoS, we will want to take advantage of only tagging traffic that communicator.exe uses.  So make sure you choose the &#8220;Only applications with this executable name&#8221; and specify lync.exe. Click Next.</p>
<p><a href="http://www.shudnow.net/images/Lync15QoS2.jpg"><img class="alignnone size-full wp-image-2870" alt="Lync15QoS2" src="http://www.shudnow.net/images/Lync15QoS2.jpg" width="544" height="470" /></a></p>
<p>On the following screen, make sure you leave the defaults as &#8220;Any source IP address&#8221; and &#8220;Any destination IP Address.&#8221;  Click Next.</p>
<p><a href="http://www.shudnow.net/images/Lync15QoS3.jpg"><img class="alignnone size-full wp-image-2871" alt="Lync15QoS3" src="http://www.shudnow.net/images/Lync15QoS3.jpg" width="544" height="470" /></a></p>
<p>On  the following screen, choose TCP and UDP.  In our example above we used the Set-CSConferencingConfiguration command with the <em>ClientAudioPort 20000 -ClientAudioPortRange 40</em> switches.  Because of this, our source port range will 20000 to 20039 specified as 20000:20039 since our ClientAudioPortRange was 40.</p>
<p><a href="http://www.shudnow.net/images/Lync15QoS4.jpg"><img class="alignnone size-full wp-image-2872" alt="Lync15QoS4" src="http://www.shudnow.net/images/Lync15QoS4.jpg" width="544" height="470" /></a></p>
<p>Let&#8217;s go ahead and set the DSCP Value for Video with a DSCP value of 34. <strong>Right-Click</strong> Policy-based QoS and choose <strong>Create new policy</strong>. In the new Policy, give it a name and specify the DSCP Value.  DSCP Values for video is typically 34.  Make sure the Outbound Throttle Rate check box is cleared.  Click Next.</p>
<p><a href="http://www.shudnow.net/images/Lync15QoS5.jpg"><img class="alignnone size-full wp-image-2873" alt="Lync15QoS5" src="http://www.shudnow.net/images/Lync15QoS5.jpg" width="544" height="470" /></a></p>
<p>Since this is Policy-based QoS, we will want to take advantage of only tagging traffic that communicator.exe uses.  So make sure you choose the &#8220;Only applications with this executable name&#8221; and specify lync.exe. Click Next.</p>
<p><a href="http://www.shudnow.net/images/Lync15QoS6.jpg"><img class="alignnone size-full wp-image-2874" alt="Lync15QoS6" src="http://www.shudnow.net/images/Lync15QoS6.jpg" width="544" height="470" /></a></p>
<p>On the following screen, make sure you leave the defaults as &#8220;Any source IP address&#8221; and &#8220;Any destination IP Address.&#8221;  Click Next.</p>
<p><a href="http://www.shudnow.net/images/Lync15QoS7.jpg"><img class="alignnone size-full wp-image-2875" alt="Lync15QoS7" src="http://www.shudnow.net/images/Lync15QoS7.jpg" width="544" height="470" /></a></p>
<p>On  the following screen, choose TCP and UDP.  In our example above we used the Set-CSConferencingConfiguration command with the <em>ClientVideoPort 20040 -ClientAudioPortRange 40</em> switches.  Because of this, our source port range will 20040 to 20079 specified as 20040:20079 since our ClientVideoPortRange was 40.</p>
<p><a href="http://www.shudnow.net/images/Lync15QoS8.jpg"><img class="alignnone size-full wp-image-2876" alt="Lync15QoS8" src="http://www.shudnow.net/images/Lync15QoS8.jpg" width="544" height="470" /></a></p>
<p>Now go ahead and repeat the above policies for the Lync 2010 Client and the Attendant Client.  The only things you will have to change are the Policy Name and the Application Name.  The AttendantConsole.exe would only have an Audio policy. After finished, you will have 5 client GPO policies and will look like the following:</p>
<p><a href="http://www.shudnow.net/images/Lync15QoS9.jpg"><img class="alignnone size-full wp-image-2877" alt="Lync15QoS9" src="http://www.shudnow.net/images/Lync15QoS9.jpg" width="1039" height="125" /></a></p>
<p>Now go ahead and restart your Lync clients so they pick up the changes. After Group Policy have applied the settings, you should see the following settings within the registry:</p>
<p><a href="http://www.shudnow.net/images/Lync15QoS10.jpg"><img class="alignnone size-full wp-image-2878" alt="Lync15QoS10" src="http://www.shudnow.net/images/Lync15QoS10.jpg" width="924" height="370" /></a></p>
<p><a href="http://www.shudnow.net/images/Lync15QoS11.jpg"><img class="alignnone size-full wp-image-2879" alt="Lync15QoS11" src="http://www.shudnow.net/images/Lync15QoS11.jpg" width="924" height="370" /></a></p>
<p><a href="http://www.shudnow.net/images/Lync15QoS12.jpg"><img class="alignnone size-full wp-image-2880" alt="Lync15QoS12" src="http://www.shudnow.net/images/Lync15QoS12.jpg" width="924" height="370" /></a></p>
<p><a href="http://www.shudnow.net/images/Lync15QoS13.jpg"><img class="alignnone size-full wp-image-2881" alt="Lync15QoS13" src="http://www.shudnow.net/images/Lync15QoS13.jpg" width="924" height="370" /></a></p>
<p><a href="http://www.shudnow.net/images/Lync15QoS14.jpg"><img class="alignnone size-full wp-image-2882" alt="Lync15QoS14" src="http://www.shudnow.net/images/Lync15QoS14.jpg" width="924" height="370" /></a></p>
<p>Also, if you are in Workgroup Mode and notice that DSCP Values are not being applied, you may have to apply the following registry key:</p>
<div dir="ltr">Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\QoS]&#8220;Do not use NLA&#8221;=&#8221;1&#8243;</div>
<h3>Configuring QOS Policies in Group Policy for Windows XP clients</h3>
<p>As stated previously, Windows XP Clients (it&#8217;s the same for Windows Server 2003) cannot use policy-based QoS.  Instead, it uses QoS Policies based on the QoS Packet Scheduler.  To install the QoS Packet Scheduler on Windows XP or Windows Server 2003, please proceed with the following steps:</p>
<p>Go to <strong>Control Panel</strong> &gt; <strong>Network Connections</strong> &gt; Right-Click <strong>Network Interface</strong> &gt; Choose <strong>Properties</strong>. Then Choose <strong>Install</strong>.</p>
<p><img alt="" src="http://www.shudnow.net/images/Lync2010QoS07.jpg" width="361" height="446" /></p>
<p>Make sure to choose <strong>Service</strong>.  Click <strong>Add</strong>.</p>
<p><img alt="" src="http://www.shudnow.net/images/Lync2010QoS08.jpg" width="302" height="277" /></p>
<p>Choose <strong>QoS Packet Scheduler</strong> as the Network Service.  Click OK.</p>
<p><img alt="" src="http://www.shudnow.net/images/Lync2010QoS09.jpg" width="437" height="325" /></p>
<p>Now it is time to go into Group Policy. The DSCP Value for Audio will be 46 and the DSCP Value for Video will be 34. Open up Group Policy (in my examples, I am using Local Computer Policy but in a real production environment you would be using Group Policy at some level in your Domain Hierarchy) and navigate to <strong>Computer Configuration</strong> &gt; <strong>Administrative Templates </strong> &gt; <strong>Network &gt; QoS Packet Scheduler</strong>.</p>
<p>The section we will be working with is, &#8220;DSCP value of conforming packets.&#8221;  You do not need to modify &#8220;DSCP value of non-conforming packets.&#8221; And the two options within &#8220;DSCP value of conforming packets&#8221; we will be working with is:</p>
<ul>
<li>Controlled load service type (For Video with a DSCP Value of 34)</li>
<li>Guaranteed service type (For Audio with a DSCP Value of 46)</li>
</ul>
<p><img alt="" src="http://www.shudnow.net/images/Lync2010QoS10.jpg" width="698" height="343" /></p>
<p>Let&#8217;s go ahead and set the DSCP Value for Video (Controlled load service type).  Go ahead and open &#8220;Controlled load service type.&#8221;  Choose Enabled and set the DSCP to <strong>34</strong>. Then click OK.</p>
<p><img alt="" src="http://www.shudnow.net/images/Lync2010QoS11.jpg" width="400" height="451" /></p>
<p>Let&#8217;s go ahead and set the DSCP Value for Audio (Guaranteed service type).  Go ahead and open &#8220;Guaranteed service type.&#8221;  Choose Enabled and set the DSCP to <strong>46</strong>. Then click OK.</p>
<p><img alt="" src="http://www.shudnow.net/images/Lync2010QoS12.jpg" width="400" height="451" /></p>
<p>After Group Policy have applied the settings, you should see the following two settings set within the registry:</p>
<p><img alt="" src="http://www.shudnow.net/images/Lync2010QoS15.jpg" width="765" height="282" /></p>
<p>Now hop on your Lync Server and open the Lync Management Shell and type the following command:</p>
<div dir="ltr">Set-CsMediaConfiguration -EnableQoS $true</div>
<p>This command should set your Windows XP and/or Windows Server 2003 machine with the following registry key:</p>
<p><img alt="" src="http://www.shudnow.net/images/Lync2010QoS18.jpg" width="758" height="179" /></p>
<h3>Configuring QOS for Lync Phone Edition</h3>
<p>Configuring Lync Phone Edition QoS is really simple and there&#8217;s really only one step.  By default, the DSCP Value is set to 40 which is not typical for voice DSCP. We can see the default value by running the following:</p>
<div dir="ltr">
<p>Get-CsUCPhoneConfiguration</p>
<p>Identity             : Global CalendarPollInterval : 00:03:00 EnforcePhoneLock     : True PhoneLockTimeout     : 00:10:00 MinPhonePinLength    : 6 SIPSecurityMode      : High VoiceDiffServTag     : 40 Voice8021p           : 0 LoggingLevel         : Off</p>
</div>
<p>To set this value to 46, run the following command (leaving -Identity blank will modify the global settings):</p>
<div dir="ltr">Set-CsUCPhoneConfiguration -VoiceDiffServTag 46</div>
<p>Surprisingly, that&#8217;s all there is to it for enabling QoS to Lync Phone Edition.  That is of course other than rebooting your Lync Phone which is required.</p>
<p>As an alternative to DSCP value, you can utilize 802.1p for Lync Phone edition.  This setting is effective only for networks in which switches and bridges are 802.1p-capable.  The minimum value for this property is 0 and the maximum is 7.  The default value is 0.</p>
<p>To enable 8021.p you can run the following command (leaving -Identity blank will modify the global settings):</p>
<div dir="ltr">Set-CsUCPhoneConfiguration -Voice8021p &lt;value&gt;</div>
<h3 dir="ltr">Validating QoS using WireShark</h3>
<p dir="ltr">What better way to test out your QoS policies than to ensure that using WireShark to see and verify the ports are correctly being restricted to the range of ports we have defined and verify a DSCP value is being added.  Keep in mind, our audio packets will show as UDP as Lync prefers UDP over TCP and only falls back to TCP if UDP does not work.</p>
<p dir="ltr">When opening WireShark, go ahead and start capturing your interface.  Right-click one of the columns and choose Column Preferences.  Add IP DSCP as a column.</p>
<p dir="ltr"><a href="http://www.shudnow.net/images/Lync15QoS15.jpg"><img class="alignnone size-full wp-image-2884" alt="Lync15QoS15" src="http://www.shudnow.net/images/Lync15QoS15.jpg" width="912" height="459" /></a></p>
<p dir="ltr">Start logging and look for UDP packets and you should see audio packets in the 20000:200039 range we specified and they should be marked as 46.</p>
<p dir="ltr"><a href="http://www.shudnow.net/images/Lync15QoS16.jpg"><img class="alignnone size-full wp-image-2885" alt="Lync15QoS16" src="http://www.shudnow.net/images/Lync15QoS16.jpg" width="946" height="104" /></a></p>
<p dir="ltr">And voila, there we go. Working as intended!</p>
<h2>Conclusion</h2>
<p>In this Part 1 on how to enable QOS for Lync Server 2013, we took a look at how to enable QOS for Lync 2010 clients, Lync 2013 clients, and the Attendant Console.  In Part 2, we will take a look at how to enable QoS for for Lync 2013 servers which include QoS for the Lync 2013 Edge Server in addition to Exchange UM.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.shudnow.net%2F2013%2F02%2F16%2Fenabling-qos-for-lync-server-2013-and-various-clients-part-1%2F&amp;title=Enabling%20QoS%20for%20Lync%20Server%202013%20and%20Various%20Clients%20%E2%80%93%20Part%201" id="wpa2a_4"><img src="http://www.shudnow.net/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share"/></a></p><div class="feedflare">
<a href="http://feeds.shudnow.net/~ff/eshudnow?a=j6cDoo7orEA:t03qNMoIRzU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/eshudnow?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.shudnow.net/~ff/eshudnow?a=j6cDoo7orEA:t03qNMoIRzU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/eshudnow?i=j6cDoo7orEA:t03qNMoIRzU:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/eshudnow/~4/j6cDoo7orEA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.shudnow.net/2013/02/16/enabling-qos-for-lync-server-2013-and-various-clients-part-1/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Lync MX Client – Viewing Logs</title>
		<link>http://www.shudnow.net/2012/10/28/lync-rt-client-viewing-logs/</link>
		<comments>http://www.shudnow.net/2012/10/28/lync-rt-client-viewing-logs/#comments</comments>
		<pubDate>Sun, 28 Oct 2012 20:32:35 +0000</pubDate>
		<dc:creator>Elan Shudnow</dc:creator>
				<category><![CDATA[Lync]]></category>

		<guid isPermaLink="false">http://www.shudnow.net/?p=2834</guid>
		<description><![CDATA[The Lync MX Client is a new client that was released in late October 2012.  Maybe people will refer to this client as the Lync MX client.  In fact, when viewing log files, you will see the log files refer to MX.  The interesting part about this client is it appears to be a hybrid between [...]]]></description>
				<content:encoded><![CDATA[<p>The Lync MX Client is a new client that was released in late October 2012.  Maybe people will refer to this client as the Lync MX client.  In fact, when viewing log files, you will see the log files refer to MX.  The interesting part about this client is it appears to be a hybrid between a full Lync client and the Lync client you will find on your other mobile devices such as IOS (both Iphone and IPad), Android, and Windows Phone 7.  The biggest difference with the Lync RT client, is that it supports voice and video which allows you to use this client as a full blown client.  It also allows my to expand Exchange Distribution Lists I have on my contact list, visual voicemail, conversation history, etc..  It is a richer client.  That is for sure.</p>
<p>When first installing the Lync RT app from the Microsoft Store, logging will be turned off.  However, the directory that will house the log files will be created similar to the full Lync 2010 and Lync 2013 client.</p>
<p>For the remainder of the article, I will use the following terminology:</p>
<ul>
<li>Lync MX (instead of Lync RT, Lync Metro, Lync Store App, etc&#8230;)</li>
<li>Lync Desktop Client (instead of Lync 2010 or Lync 2013)</li>
<li>Lync Mobile Client (used when referring to the IOS, WP7, or Android client)</li>
</ul>
<p>So far, it seems like Lync MX is structured more like the full Lync desktop client.</p>
<p>From below, we can see the location of the tracing log files would be: C:\Users\Username\AppData\Local\Packages\Microsoft.LyncMX_8wekyb3d8bbwe\LocalState\Tracing.  That Microsoft.LyncMX_8wekyb3d8bbwe directory may seem like a dynamic name, but it is not.  It&#8217;s static and will be the same path no matter what installation you are looking at.</p>
<p><img class="alignnone" src="http://www.shudnow.net/images/lyncrtauto01.jpg" alt="" width="727" height="128" /></p>
<p>So far, we have no UCCAPI Logs which are the tracing logs we would use in Snooper to see what the client is doing.  We also see no ETL logs which are the log files that provide more information that you would care to see (in 99.9% of cases).  After logging into Lync MX, I still have no UCAAPI log files.  What I realize is, that for the Lync MX Client, the log file we are looking for no longer does not end in the extension of UCCAPI as we&#8217;re used to with the Lync Desktop Client.  The log file we&#8217;re looking for is actually Lynclog and does open in Snooper.  But even though this log file exists, no data will be written to it just yet.  We still need to configure a setting first.</p>
<p><img class="alignnone" src="http://www.shudnow.net/images/lyncrtauto02.jpg" alt="" width="209" height="369" /></p>
<p>Once in Options, scroll to the very bottom and turn on Diagnostic Logs.</p>
<p><img class="alignnone" src="http://www.shudnow.net/images/lyncrtauto03.jpg" alt="" width="578" height="123" /></p>
<p>Once this is On, I&#8217;ll log off and log back on to the Lync MX client.  After doing so, I see some new ETL data and a WPPMedia folder.  But, still no UCAPPI Log that we would use in Snooper to view client-side traces.  What I realized is, with Diagnostic Logging turned on, I now also see some data in the Lynclog file.</p>
<p><img class="alignnone" src="http://www.shudnow.net/images/lyncrtauto04.jpg" alt="" width="804" height="178" /></p>
<p>So I tried opening the Lynclog file in Snooper and low and behold, it appears that LyncLog is the replacement for UCCAPI&#8230; at least for the Lync MX client.</p>
<p><img src="/images/lyncrtauto06.jpg" alt="" width="612" height="214" /></p>
<p>If you have experience with the mobile client, you will know that once you turn on Diagnostic Logging, there is some action you must perform to save the log files.  For example, in the WP7 client, you choose to save the log file and it creates a JPG that you can attach to an e-mail, rename to log on a PC, and view the log information.</p>
<p>So going back into the Lync MX Settings (Windows + I), go to About, scroll to the bottom and choose Save logs.</p>
<p><img class="alignnone" src="/images/lyncrtauto05.jpg" alt="" width="554" height="123" /><br />
From digging around, it appears that the Save logs option doesn&#8217;t actually do anything.  I&#8217;ll keep looking around to see if it actually does anything.  If you discover it does anything, be sure to let me know and I&#8217;ll update the article accordingly.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.shudnow.net%2F2012%2F10%2F28%2Flync-rt-client-viewing-logs%2F&amp;title=Lync%20MX%20Client%20%E2%80%93%20Viewing%20Logs" id="wpa2a_6"><img src="http://www.shudnow.net/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share"/></a></p><div class="feedflare">
<a href="http://feeds.shudnow.net/~ff/eshudnow?a=Cx-AxQrttQs:Ho6oj0zwGqc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/eshudnow?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.shudnow.net/~ff/eshudnow?a=Cx-AxQrttQs:Ho6oj0zwGqc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/eshudnow?i=Cx-AxQrttQs:Ho6oj0zwGqc:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/eshudnow/~4/Cx-AxQrttQs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.shudnow.net/2012/10/28/lync-rt-client-viewing-logs/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>DBIMPEXP.exe functionality integrated into Lync 2013 Preview Management Shell</title>
		<link>http://www.shudnow.net/2012/10/09/dbimpexp-exe-functionality-integrated-into-lync-2013-preview-management-shell/</link>
		<comments>http://www.shudnow.net/2012/10/09/dbimpexp-exe-functionality-integrated-into-lync-2013-preview-management-shell/#comments</comments>
		<pubDate>Tue, 09 Oct 2012 16:34:46 +0000</pubDate>
		<dc:creator>Elan Shudnow</dc:creator>
				<category><![CDATA[Lync]]></category>

		<guid isPermaLink="false">http://www.shudnow.net/?p=2791</guid>
		<description><![CDATA[Prior to Lync Server 2013, there was a tool.  And this tool was called DBIMPEXP.exe.  It stands for Database Import Export.  This tool was part of the OCS and Lync 2010 Resource Kits, but will now be deprecated to make way for built-in Lync Management Shell PowerShell commands.  But before we talk about its replacement [...]]]></description>
				<content:encoded><![CDATA[<p>Prior to Lync Server 2013, there was a tool.  And this tool was called DBIMPEXP.exe.  It stands for Database Import Export.  This tool was part of the OCS and Lync 2010 Resource Kits, but will now be deprecated to make way for built-in Lync Management Shell PowerShell commands.  But before we talk about its replacement in detail, let&#8217;s talk a little bit about DBIMPEXE.exe&#8217;s capabilities. DBIMPEXP.exe was used to back up users contact and conference data.  In fact, part of the official backup instructions were to use the DBIMPEXP.exe to backup user data.</p>
<h3>Lync Server 2010 &#8211; DBIMPEXP.EXE</h3>
<p>Note: I am documenting the commands below for Enterprise Edition of Lync.  For Standard Edition, simply remove /sqlserver.</p>
<h4>Backing up and restoring all user data</h4>
<p>From the official, &#8220;<a href="http://technet.microsoft.com/en-us/library/hh202170.aspx">Backing Up Core Data and Settings</a>&#8221; Technet article, Microsoft provides the following DBIMPEXP.exe commands to back up user data:</p>
<div style="background-color: #dddddd;" dir="ltr">Dbimpexp.exe /hrxmlfile:&lt;path and backup file name&gt; /sqlserver:&lt;SQL Server FQDN&gt;\&lt;instance name&gt;</div>
<p>An example would be:</p>
<div style="background-color: #dddddd;" dir="ltr">Dbimpexp.exe /hrxmlfile:D:\BackupUser.xml /sqlserver:sql.contoso.com\rtc</div>
<p>To import data from your backed up .xml file, the following command would import user data:</p>
<div style="background-color: #dddddd;" dir="ltr">Dbimpexp.exe /hrxmlfile:&lt;path and file name of backed up Rtc database&gt; /sqlserver:&lt;SQL Server FQDN&gt;\&lt;instance name&gt; /import /restype:all</div>
<p>An example would be:</p>
<div style="background-color: #dddddd;" dir="ltr">Dbimpexp.exe /hrxmlfile:D\BackupUsers.xml /sqlserver:sql.contoso.com\rtc /import /restype:all</div>
<h4> Backing up and restoring specific user&#8217;s data</h4>
<p>There is more control over the usage of Dbimpexp.exe.  With the above commands, you are essentially backing up and restoring the entire rtc database for all user contact and conference information.  If we wanted to backup a specific  user&#8217;s contact/conference information, we can run the following command:</p>
<div style="background-color: #dddddd;" dir="ltr">dbimpexp.exe /hrxmlfile:contacts.xml /user:&lt;sip URL&gt; /sqlserver:sqlservername</div>
<p>To import that specific user&#8217;s data from their backed up .xml file, the following command would import that user&#8217;s data.</p>
<div style="background-color: #dddddd;" dir="ltr">dbimpexp.exe /import /hrxmlfile:contacts.xml /user:&lt;sip URL&gt; /sqlserver:SQL_SERVER</div>
<h4>Backing up specific data resource types</h4>
<p>With the aforementioned commands, all have a /restype set to all.  This means both contact list and conference directory information is exported.  There is a way to backup either the user or conference data without exporting both.  To export only the user contact list data, the following restype would be specified:</p>
<div style="background-color: #dddddd;" dir="ltr">/restype:user</div>
<p>To export only the conference data, the following restype would be specified</p>
<div style="background-color: #dddddd;" dir="ltr">/restype:confdir</div>
<p>When using /restype:confdir, you can also specific a specific conference directory by using the /dirid switch as follows:</p>
<div style="background-color: #dddddd;" dir="ltr">/dirid:1001</div>
<p>&nbsp;</p>
<h3> Lync Server 2013 Preview &#8211; *-CSUserData</h3>
<p>Lync Server 2013 Preview has deprecated the use of DBIMPEXP.exe.  There are now native Lync Mangement Server cmdlets to provide the equivalent.  These three commands are:</p>
<ul>
<li><a href="http://technet.microsoft.com/en-us/library/jj204897%28v=ocs.15%29.aspx">Export-CSUserData</a> &#8211; Exports User Data to a ZIP File</li>
<li><a href="http://technet.microsoft.com/en-us/library/jj205373%28v=ocs.15%29.aspx">Import-CSUserData</a> &#8211; Imports User Data from a ZIP File.  This does require a restart of the Front End Service (RTCSRV) to allow the data from the SQL blob store to the RTC Database.  This is a fast process to import data and is geared more towards bulk import operations.</li>
<li><a href="http://technet.microsoft.com/en-us/library/jj205358%28v=ocs.15%29.aspx">Update-CSUserData</a> &#8211; Updates User data from a ZIP File  This does NOT require a reboot of the Front End Service (RTCSRV)  but is an expensive and slow process and therefore, should only be run in one-off user scenarios rather than bulk import operations.</li>
<li><a href="http://technet.microsoft.com/en-us/library/jj205337%28v=ocs.15%29">Convert-CSUserData</a> &#8211; Converts between a 2010 XML file provided from DBIMPEXP.exe and a ZIP file provided from Export-CSUserData</li>
</ul>
<p>Note: For this article, I will be showing the new Export-CSUserData and Import-CSUserData commands.  In a future article for Lync Server 2013 RTM, I will provide more information on the remaining commands.</p>
<h4>Export-CSUserData</h4>
<p>This is the direct replacement for dbimpexp.exe /export.</p>
<p>The command I will be running against my test Lync Server 2013 Preview Pool is as follows:</p>
<div style="background-color: #dddddd;" dir="ltr">Export-CsUserData -PoolFQDN &#8220;lync15pool.15lab.net&#8221; -FileName &#8220;C:\Logs\ExportedUserData.zip&#8221;</div>
<p>After exporting the data, we see that we now have a ZIP file.</p>
<p><img class="alignnone" src="/images/Lync2013PreCSUser01.jpg" alt="" width="510" height="51" /></p>
<p>And within that ZIP, we get a couple XMLfiles.  The meat of the data is stored in DocItemSet.xml.</p>
<p><img class="alignnone" src="/images/Lync2013PreCSUser02.jpg" alt="" width="528" height="69" /></p>
<p>Just as with DBIMPEXP.exe, we can filter on specific users and conference directories for export.</p>
<p>To filter for a specific user, we would run the following command:</p>
<div style="background-color: #dddddd;" dir="ltr">Export-CsUserData -PoolFQDN &#8220;Pool FQDN&#8221; -UserFilter &#8220;user@domain.com&#8221; -FileName &#8220;&lt;path and backup file name&gt;&#8221;</div>
<p>To filter for a specific Conference Directory, we would run the following command:</p>
<div style="background-color: #dddddd;" dir="ltr">Export-CsUserData -PoolFQDN &#8220;Pool FQDN&#8221; -ConfDirectoryFilter 13 -FileName &#8220;&lt;path and backup file name&gt;&#8221;</div>
<h4>Import-CSUserData</h4>
<p>This is the direct replacement for dbimpexp.exe /import.  It imports data from the ZIP file previously exported from Export-CSUserData.  Then the user data will be replicated with Active Directory automatically at regular time via Lync user replicator service</p>
<p>I will be importing the data I ran previously from Export-CSUserData. The command I will be running against my test Lync Server 2013 Preview Pool is as follows:</p>
<div style="background-color: #dddddd;" dir="ltr">Import-CsUserData -PoolFQDN &#8220;lync15pool.15lab.net&#8221; -FileName &#8220;C:\Logs\ExportedUserData.zip&#8221;</div>
<p>After importing the data, we see need to restart the Front End Service, RTCSRV, on all Front End Servers in the pool so that the restored data will propagate from the SQL blob store.</p>
<p>This can easily be achieved by running the following commands:</p>
<div style="background-color: #dddddd;" dir="ltr">Stop-CSWindowsService -Name RTCSRV</div>
<p>After all Lync Server 2013 Preview services have been stopped, the following command will start all the Lync Server 2013 Preview services.</p>
<div style="background-color: #dddddd;" dir="ltr">Start-CSWindowsService</div>
<p>Just as with DBIMPEXP.exe, we can filter on specific users and conference directories to import.</p>
<p>To filter for a specific user, we would run the following command:</p>
<div style="background-color: #dddddd;" dir="ltr">Import-CsUserData -PoolFQDN &#8220;Pool FQDN&#8221; -UserFilter &#8220;user@domain.com&#8221; -FileName &#8220;&lt;path and backup file name&gt;&#8221;</div>
<p>To filter for a specific Conference Directory, we would run the following command:</p>
<div style="background-color: #dddddd;" dir="ltr">Import-CsUserData -PoolFQDN &#8220;Pool FQDN&#8221; -ConfDirectoryFilter 13 -FileName &#8220;&lt;path and backup file name&gt;&#8221;</div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.shudnow.net%2F2012%2F10%2F09%2Fdbimpexp-exe-functionality-integrated-into-lync-2013-preview-management-shell%2F&amp;title=DBIMPEXP.exe%20functionality%20integrated%20into%20Lync%202013%20Preview%20Management%20Shell" id="wpa2a_8"><img src="http://www.shudnow.net/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share"/></a></p><div class="feedflare">
<a href="http://feeds.shudnow.net/~ff/eshudnow?a=r5pPxHkpNSY:tXrpo6HVyMY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/eshudnow?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.shudnow.net/~ff/eshudnow?a=r5pPxHkpNSY:tXrpo6HVyMY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/eshudnow?i=r5pPxHkpNSY:tXrpo6HVyMY:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/eshudnow/~4/r5pPxHkpNSY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.shudnow.net/2012/10/09/dbimpexp-exe-functionality-integrated-into-lync-2013-preview-management-shell/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>New-CSMultiRegionNetwork.ps1 – Automate Lync Network Site and Subnet Creation</title>
		<link>http://www.shudnow.net/2012/09/24/new-csmultiregionnetwork-ps1-automate-lync-network-site-and-subnet-creation/</link>
		<comments>http://www.shudnow.net/2012/09/24/new-csmultiregionnetwork-ps1-automate-lync-network-site-and-subnet-creation/#comments</comments>
		<pubDate>Mon, 24 Sep 2012 19:54:20 +0000</pubDate>
		<dc:creator>Elan Shudnow</dc:creator>
				<category><![CDATA[Lync]]></category>

		<guid isPermaLink="false">http://www.shudnow.net/?p=2793</guid>
		<description><![CDATA[To Automate Lync Network Site and Subnet Creation with only one Lync Network Region, please see my New-CSSingleRegionNetwork.ps1 script here. With Lync Server 2010 and 2013, there are Lync Regions, Lync Sites, and Lync Subnets.  There are three functions in which these can be utilized: Call Admission Control Controlling Media Bypass Behavior Ability to assign [...]]]></description>
				<content:encoded><![CDATA[<p>To Automate Lync Network Site and Subnet Creation with only one Lync Network Region, please see my New-CSSingleRegionNetwork.ps1 script <a href="http://www.shudnow.net/2012/09/15/new-cssingleregionnetwork-ps1-automate-lync-network-site-and-subnet-creation/">here</a>.</p>
<p>With Lync Server 2010 and 2013, there are Lync Regions, Lync Sites, and Lync Subnets.  There are three functions in which these can be utilized:</p>
<ul>
<li>Call Admission Control</li>
<li>Controlling Media Bypass Behavior</li>
<li>Ability to assign a Location Policy to Network Sites so users 911 will route to a given gateway based on the Network Site they are currently located on</li>
<li>Provide Site to Site Media Quality behavior in the Monitoring Server Location Reports</li>
</ul>
<p>Active Directory (AD) is a good starting point to gather all the information on your Sites as well as your Subnets.</p>
<h3>Script Functionality</h3>
<p>To help automate this process, I wrote the New-CSMultiRegionNetwork.ps1 script.  The purpose of this script is to:</p>
<ul>
<li>Make a connection to AD and record every AD subnet that exists and its corresponding AD Site</li>
<li>Export Data to CSV</li>
<li>Allows you to specify Lync Network Regions and their corresponding Lync Central Sites</li>
<li>Allows you to assign Location Policies to Sites (Note: The Location Policies need to be created beforehand as the script will not create Location Policies)</li>
<li>Allows you to assign Bandwidth Policies to Sites (Note: The Bandwidth Policies need to be created beforehand as the script will not create Bandwidth Policies)</li>
<li>Will create the Lync Network Regions and assign them to the corresponding Lync Central Site as defined in the CSV</li>
<li>Will create the AD Site in Lync Network Sites
<ul>
<li>Something to note is that AD Sites support non-alphanumeric characters such as a hyphen while Lync Network Sites do not support non-alphanumeric characters.  Because of this, this script will create the Lync Network Site without any non-alphanumeric characters.  It is safe to re-run the script more than once as the script will always take notice that an AD Site with non-alphanumeric characters will match a Lync Network Site with non-alphanumeric characters.  <strong>Important</strong>: Be sure that you don&#8217;t have an AD Site that would match another AD Site if non-alphanumeric characters were to be removed.  An example if you had two AD Sites: One called Site01 and another called Site-01.  When the process to remove non-alphanumeric characters occur, they will both conflict.</li>
<li>If any Lync Network Sites are created, the script will pause for 15 seconds to allow the Lync Network Sites to instantiate.  If no Lync Network Sites exist, it will move immediately on to subnets.</li>
<li>It will create the Lync Network Subnets and assign them to their corresponding Lync Network Site</li>
<li>It will assign the Lync Bandwidth Policies and/or Lync Location Policies as defined in the CSV</li>
</ul>
</li>
</ul>
<h3>Miscellaneous Notes</h3>
<p>Something to note is that the script will function with one or more Lync Network Regions.  If you have only one Lync Network Region, please run my New-CSSingleRegionNetwork.ps1 script which will automate the entire AD Site and Subnet creation without any CSV file tweaking needed. Please go <a href="http://www.shudnow.net/2012/09/15/new-cssingleregionnetwork-ps1-automate-lync-network-site-and-subnet-creation/">here </a>for this script.</p>
<h3>Video Demonstration</h3>
<p><iframe title="YouTube video player" src="http://www.youtube.com/embed/4ByiaTb_ZMI" frameborder="0" width="640" height="385"></iframe></p>
<h3>Download</h3>
<p>v1.0 &#8211; <a href="https://www.shudnow.net/wp-content/plugins/download-monitor/download.php?id=New-CSMultiRegionNetwork.zip">New-CSMultiRegionNetwork.zip</a></p>
<h3>Changelog</h3>
<p>v1.0 &#8211; Script Creation</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.shudnow.net%2F2012%2F09%2F24%2Fnew-csmultiregionnetwork-ps1-automate-lync-network-site-and-subnet-creation%2F&amp;title=New-CSMultiRegionNetwork.ps1%20%E2%80%93%20Automate%20Lync%20Network%20Site%20and%20Subnet%20Creation" id="wpa2a_10"><img src="http://www.shudnow.net/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share"/></a></p><div class="feedflare">
<a href="http://feeds.shudnow.net/~ff/eshudnow?a=8V_E2l5-De8:SvVWlz6pGy0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/eshudnow?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.shudnow.net/~ff/eshudnow?a=8V_E2l5-De8:SvVWlz6pGy0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/eshudnow?i=8V_E2l5-De8:SvVWlz6pGy0:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/eshudnow/~4/8V_E2l5-De8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.shudnow.net/2012/09/24/new-csmultiregionnetwork-ps1-automate-lync-network-site-and-subnet-creation/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Manually enable Appear Offline in Lync 2013 Preview via Registry</title>
		<link>http://www.shudnow.net/2012/09/18/manually-enable-appear-offline-in-lync-2013-preview-via-registry/</link>
		<comments>http://www.shudnow.net/2012/09/18/manually-enable-appear-offline-in-lync-2013-preview-via-registry/#comments</comments>
		<pubDate>Tue, 18 Sep 2012 23:36:48 +0000</pubDate>
		<dc:creator>Elan Shudnow</dc:creator>
				<category><![CDATA[Lync]]></category>

		<guid isPermaLink="false">http://www.shudnow.net/?p=2779</guid>
		<description><![CDATA[Lync 2013, just as with previous releases, allows the ability to Appear Offline. And just as with previous releases, you can enable this functionality in the Lync Client Policies. For information on how Lync Client Policies work, see my post here.  To enable Appear Offline through Client Policie against the Global Policy, use the following [...]]]></description>
				<content:encoded><![CDATA[<p>Lync 2013, just as with previous releases, allows the ability to Appear Offline. And just as with previous releases, you can enable this functionality in the Lync Client Policies. For information on how Lync Client Policies work, see my post <a href="http://www.shudnow.net/2010/10/28/lync-2010-client-policies/">here</a>.  To enable Appear Offline through Client Policie against the Global Policy, use the following command:</p>
<div style="background-color: #dddddd;" dir="ltr">Get-CSClientPolicy | Set-CSClientPolicy -EnableAppearOffline $true</div>
<p>This will require a Lync 2013 client restart.</p>
<p>As an Administrator, you may not want to make this change to a Client Policy as the goal of Lync is to promote collaboration, not inhibit it by having users Appear Offline and hide from other users.  At the same time, you may want to enable it for a user or two at request and won&#8217;t want to have to bother providing this small group of users their own Client Policy.  Lync 2010 provided the ability to do that via registry key.  Mike Pfeiffer provides a great article on Lync 2010 for setting the Lync 2010 registry key to manually enable Appear Offline in Lync 2010.  You can see his article <a href="http://www.mikepfeiffer.net/2012/01/how-to-enable-lync-2010-client-presence-status-appear-offline/">here</a>.</p>
<p>The goal of this article is to show how to do the same in Lync 2013.  Because Lync 2013 is now a part of Office 2013, Lync 2013 registry items are now under the Office 2013 registry section (Office 15.0).  There are two ways to set this registry:</p>
<ol>
<li>Cmd.exe</li>
<li>Regedit.exe</li>
</ol>
<h4>Using Cmd.exe</h4>
<p>The type the following command:</p>
<div style="background-color: #dddddd;" dir="ltr">
<pre>Reg Add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Office\15.0\Lync" /V "EnableAppearOffline" /D 1 /T REG_DWORD /F</pre>
</div>
<h4>Using Regedit.exe</h4>
<ol>
<li>Start regedit.exe</li>
<li>In Registry Editor, expand <strong>HKEY_LOCAL_MACHINE</strong>, expand <strong>Software</strong>, expand <strong>Policies</strong>, expand <strong>Microsoft</strong>, expand <strong>Office</strong>, expand <strong>15.0</strong>, expand Lync</li>
<li>Right-click the <strong>Lync</strong> registry key, point to <strong>New</strong>, and then click <strong>DWORD (32-bit) Value</strong></li>
<li>After the new value is created, type <strong>EnableAppearOffline</strong> to rename the value.</li>
<li>Double-click the new EnableAppearOffline registry value.</li>
<li>After the new value is created, type <strong>EnableAppearOffline</strong> to rename the value.</li>
<li>Double-click the new EnableAppearOffline registry value.</li>
<li>In the Edit DWORD (32-bit) Value dialog box, type 1 in the Value data box, and then click OK.</li>
</ol>
<h4>Bug in Lync 2013 Preview</h4>
<p>At the current time of this writing, the latest version of Lync 2013 is Lync 2013 Preview.  In the current Lync 2013 Preview, there is currently a bug that prevents the Appear Offline option from being displayed in the Presence drop down selection.</p>
<p><img class="alignnone" src="/images/Lync2013AppearOffline01.jpg" alt="" width="253" height="220" /></p>
<p>The workaround until this issue is fixed is that you can set Appear Offline in the taskbar by hovering over the Lync 2013 Preview icon and choosing the Appear Offline option there.</p>
<p><img class="alignnone" src="/images/Lync2013AppearOffline02.jpg" alt="" width="259" height="231" /></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.shudnow.net%2F2012%2F09%2F18%2Fmanually-enable-appear-offline-in-lync-2013-preview-via-registry%2F&amp;title=Manually%20enable%20Appear%20Offline%20in%20Lync%202013%20Preview%20via%20Registry" id="wpa2a_12"><img src="http://www.shudnow.net/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share"/></a></p><div class="feedflare">
<a href="http://feeds.shudnow.net/~ff/eshudnow?a=H7r9y9ZutQ4:XOSeredpJ-c:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/eshudnow?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.shudnow.net/~ff/eshudnow?a=H7r9y9ZutQ4:XOSeredpJ-c:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/eshudnow?i=H7r9y9ZutQ4:XOSeredpJ-c:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/eshudnow/~4/H7r9y9ZutQ4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.shudnow.net/2012/09/18/manually-enable-appear-offline-in-lync-2013-preview-via-registry/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>New-CSSingleRegionNetwork.ps1 – Automate Lync Network Site and Subnet Creation</title>
		<link>http://www.shudnow.net/2012/09/15/new-cssingleregionnetwork-ps1-automate-lync-network-site-and-subnet-creation/</link>
		<comments>http://www.shudnow.net/2012/09/15/new-cssingleregionnetwork-ps1-automate-lync-network-site-and-subnet-creation/#comments</comments>
		<pubDate>Sat, 15 Sep 2012 22:10:20 +0000</pubDate>
		<dc:creator>Elan Shudnow</dc:creator>
				<category><![CDATA[Lync]]></category>

		<guid isPermaLink="false">http://www.shudnow.net/?p=2758</guid>
		<description><![CDATA[To Automate Lync Network Site and Subnet Creation with more than one Lync Network Region, please see my New-CSMultiRegionNetwork.ps1 script here. With Lync Server 2010 and 2013, there are Lync Regions, Lync Sites, and Lync Subnets.  There are three functions in which these can be utilized: Call Admission Control Controlling Media Bypass Behavior Ability to [...]]]></description>
				<content:encoded><![CDATA[<p>To Automate Lync Network Site and Subnet Creation with more than one Lync Network Region, please see my New-CSMultiRegionNetwork.ps1 script <a href="https://www.shudnow.net/2012/09/24/new-csmultiregionnetwork-ps1-automate-lync-network-site-and-subnet-creation/">here.</a></p>
<p>With Lync Server 2010 and 2013, there are Lync Regions, Lync Sites, and Lync Subnets.  There are three functions in which these can be utilized:</p>
<ul>
<li>Call Admission Control</li>
<li>Controlling Media Bypass Behavior</li>
<li>Ability to assign a Location Policy to Network Sites so users 911 will route to a given gateway based on the Network Site they are currently located on</li>
<li>Provide Site to Site Media Quality behavior in the Monitoring Server Location Reports</li>
</ul>
<p>Active Directory (AD) is a good starting point to gather all the information on your Sites as well as your Subnets.</p>
<h3>Script Functionality</h3>
<p>To help automate this process, I wrote the New-CSSingleRegionNetwork.ps1 script.  The purpose of this script is to:</p>
<ul>
<li>Make a connection to AD and record every AD subnet that exists and its corresponding AD Site</li>
<li>Will create the AD Site in Lync Network Sites
<ul>
<li>Something to note is that AD Sites support non-alphanumeric characters such as a hyphen while Lync Network Sites do not support non-alphanumeric characters.  Because of this, this script will create the Lync Network Site without any non-alphanumeric characters.  It is safe to re-run the script more than once as the script will always take notice that an AD Site with non-alphanumeric characters will match a Lync Network Site with non-alphanumeric characters.  <span style="color: #993300;"><strong>Important</strong>: Be sure that you don&#8217;t have an AD Site that would match another AD Site if non-alphanumeric characters were to be removed.  An example if you had two AD Sites: One called Site01 and another called Site-01.  When the process to remove non-alphanumeric characters occur, they will both conflict.<br />
</span></li>
<li>If any Lync Network Sites are created, the script will pause for 15 seconds to allow the Lync Network Sites to instantiate.  If no Lync Network Sites exist, it will move immediately on to subnets.</li>
<li>It will create the Lync Network Subnets and assign them to their corresponding Lync Network Site</li>
</ul>
</li>
</ul>
<h3>Miscellaneous Notes</h3>
<p>Something to note is that the script will only function with one Lync Network Region.  There are several reasons why:</p>
<ul>
<li>I wanted this script to be completely automated.  If you have one Region, run the script and the script will automatically create all Lync Network Sites, Lync Network Subnets, and associate everything accordingly without any administrative intervention whatsoever.</li>
<li>I thought about checking if multiple Regions exist and if they do, prompt what Network Region needs to be assigned to a Network Site every time a Network Site were to be created.  If you had a ton of Network Sites, this would be incredibly annoying.  Because of this, I will be making another script sometime soon that will run in an Import and Export Mode.  The Export Mode would dump all the AD Sites and AD Subnets to CSV where you can then create a Region Field.  You would then be able to run the script in Import Mode which would then create the Network Sites, Network Subnets, and associate everything accordingly to what is in the CSV.</li>
</ul>
<h3>Video Demonstration</h3>
<p><iframe title="YouTube video player" src="http://www.youtube.com/embed/0sSzcjoxQEE" frameborder="0" width="640" height="385"></iframe></p>
<h3>Download</h3>
<p>v1.0 &#8211; <a href="https://www.shudnow.net/wp-content/plugins/download-monitor/download.php?id=New-CSSingleRegionNetwork.zip">New-CSSingleRegionNetwork.zip</a></p>
<h3>Changelog</h3>
<p>v1.0 &#8211; Script Creation</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.shudnow.net%2F2012%2F09%2F15%2Fnew-cssingleregionnetwork-ps1-automate-lync-network-site-and-subnet-creation%2F&amp;title=New-CSSingleRegionNetwork.ps1%20%E2%80%93%20Automate%20Lync%20Network%20Site%20and%20Subnet%20Creation" id="wpa2a_14"><img src="http://www.shudnow.net/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share"/></a></p><div class="feedflare">
<a href="http://feeds.shudnow.net/~ff/eshudnow?a=lqqxPWiWVPQ:kT7998OlAOU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/eshudnow?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.shudnow.net/~ff/eshudnow?a=lqqxPWiWVPQ:kT7998OlAOU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/eshudnow?i=lqqxPWiWVPQ:kT7998OlAOU:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/eshudnow/~4/lqqxPWiWVPQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.shudnow.net/2012/09/15/new-cssingleregionnetwork-ps1-automate-lync-network-site-and-subnet-creation/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Lync Server 2013 Release Preview Persistent Chat with Enterprise Pool – Part 3</title>
		<link>http://www.shudnow.net/2012/07/18/lync-server-2013-release-preview-persistent-chat-with-enterprise-pool-part-3/</link>
		<comments>http://www.shudnow.net/2012/07/18/lync-server-2013-release-preview-persistent-chat-with-enterprise-pool-part-3/#comments</comments>
		<pubDate>Thu, 19 Jul 2012 05:30:20 +0000</pubDate>
		<dc:creator>Elan Shudnow</dc:creator>
				<category><![CDATA[Lync]]></category>

		<guid isPermaLink="false">http://www.shudnow.net/?p=2726</guid>
		<description><![CDATA[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&#8217;ll take a look at the installation process in the Lync 2013 Persistent Chat Pool.  We&#8217;ll then [...]]]></description>
				<content:encoded><![CDATA[<p>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&#8217;ll take a look at the installation process in the Lync 2013 Persistent Chat Pool.  We&#8217;ll then finish up the article series with Part 3 by taking a look at the client capabilities utilizing the Persistent Chat features.</p>
<p><a href="http://www.shudnow.net/2012/07/17/lync-server-2013-release-preview-persistnt-chat-with-enterprise-pool-part-1/">Part 1</a></p>
<p><a href="http://www.shudnow.net/2012/07/18/lync-server-2013-release-preview-persistent-chat-with-enterprise-pool-part-2/">Part 2</a></p>
<p>Part 3</p>
<h3>Persistent Chat Configuration</h3>
<p>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.</p>
<p><img class="alignnone" src="/images/L15RPPG31.jpg" alt="" width="347" height="165" /></p>
<p>By going into the Lync Server 2013 Control Panel, we can see that there&#8217;s a new section for configuring Persistent Chat.  We&#8217;ll start by configuring a Persistent Chat Policy.  We&#8217;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&#8217;ll be using the Global Level, go ahead and choose the Global option and choose to edit it.</p>
<p><img class="alignnone" src="/images/L15RPPG32.jpg" alt="" width="604" height="245" /></p>
<p>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.</p>
<p><img class="alignnone" src="/images/L15RPPG33.jpg" alt="" width="390" height="222" /></p>
<p>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.</p>
<p><img class="alignnone" src="/images/L15RPPG34.jpg" alt="" width="349" height="277" /></p>
<p>Let&#8217;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&#8217;s no User Level.</p>
<p><img class="alignnone" src="/images/L15RPPG37.jpg" alt="" width="788" height="241" /></p>
<p>In the configuration, we have the following options:https://www.shudnow.net/wp-admin/post-new.php</p>
<ul>
<li><strong>Default chat history</strong> &#8211; 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</li>
<li><strong>Maximum file size</strong> &#8211; 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.</li>
<li><strong>Participant Update Limit</strong> &#8211; 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.</li>
<li><strong>Room Management URL</strong> &#8211; select the room management URL. This is the URL for a web-based custom room management.<br />
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.</li>
</ul>
<p>For this article series, we&#8217;ll leave the defaults selected.</p>
<p><img class="alignnone" src="/images/L15RPPG38.jpg" alt="" width="384" height="355" /></p>
<p>We&#8217;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</p>
<p>Chat room categories may contain chat rooms but not other categories. Each category describes its contents with metadata such as <em>Name</em> and <em>Description</em>. 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 <em>Invitations</em>, or <em>File Uploads</em> or contain <em>Chat History</em>.</p>
<p><img class="alignnone" src="/images/L15RPPG39.jpg" alt="" width="825" height="239" /></p>
<p>After choosing new, we&#8217;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.</p>
<p><img class="alignnone" src="/images/L15RPPG40.jpg" alt="" width="512" height="201" /></p>
<p>Let&#8217;s go ahead and configure our category.  By default, the highlighted options &#8220;Enable invitations&#8221; and &#8220;Enable file upload&#8221; were disabled.  I chose to enable these options.  The options below do the following:</p>
<ul>
<li><strong>Enable invitations</strong> &#8211; 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.</li>
<li><strong>Enable file upload</strong> &#8211; 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.</li>
<li><strong>Enable chat history</strong> &#8211; 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.</li>
</ul>
<p>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.</p>
<p><img class="alignnone" src="/images/L15RPPG41.jpg" alt="" width="392" height="409" /></p>
<p>Now it&#8217;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.</p>
<p>The following are things to note about Chat Rooms:</p>
<ul>
<li>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)</li>
<li>End-users, including message authors, cannot delete content from any chat room.</li>
<li>Chat room managers can disable rooms, but cannot delete rooms. Only administrators can delete a chat room after it’s created.</li>
</ul>
<p>To see all the Lync Management Shell commands for managing Chat Rooms, please see <a href="http://technet.microsoft.com/en-us/library/jj205292%28v=ocs.15%29">here</a>.</p>
<p>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:</p>
<p><img class="alignnone" src="http://www.shudnow.net/images/L15RPPG42.jpg" alt="" width="646" height="258" /></p>
<p>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,</p>
<p>Let&#8217;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:</p>
<p><strong>Note</strong>: 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.</p>
<p><img class="alignnone" src="/images/L15RPPG43.jpg" alt="" width="664" height="247" /></p>
<p>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.</p>
<p><img class="alignnone" src="/images/L15RPPG44.jpg" alt="" width="348" height="278" /></p>
<p>Now if you double-click on Sales Forecast, we enter the chat room in which all data is persistent.</p>
<p><img class="alignnone" src="/images/L15RPPG45.jpg" alt="" width="430" height="430" /></p>
<p>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.</p>
<p>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.</p>
<p><img class="alignnone" src="/images/L15RPPG46.jpg" alt="" width="580" height="411" /></p>
<h3>Conclusion</h3>
<p>In <a href="http://www.shudnow.net/2012/07/17/lync-server-2013-release-preview-persistnt-chat-with-enterprise-pool-part-1/">Part 1</a>, we took a look at preparing the environment for the Persistent Chat Pool.  In <a href="http://www.shudnow.net/2012/07/18/lync-server-2013-release-preview-persistent-chat-with-enterprise-pool-part-2/">Part 2</a>, 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.</p>
<p>There&#8217;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&#8217;s a huge improvement over Group Chat in previous versions.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.shudnow.net%2F2012%2F07%2F18%2Flync-server-2013-release-preview-persistent-chat-with-enterprise-pool-part-3%2F&amp;title=Lync%20Server%202013%20Release%20Preview%20Persistent%20Chat%20with%20Enterprise%20Pool%20%E2%80%93%20Part%203" id="wpa2a_16"><img src="http://www.shudnow.net/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share"/></a></p><div class="feedflare">
<a href="http://feeds.shudnow.net/~ff/eshudnow?a=JfOnusJLGRY:tsozJ2F3Rpg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/eshudnow?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.shudnow.net/~ff/eshudnow?a=JfOnusJLGRY:tsozJ2F3Rpg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/eshudnow?i=JfOnusJLGRY:tsozJ2F3Rpg:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/eshudnow/~4/JfOnusJLGRY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.shudnow.net/2012/07/18/lync-server-2013-release-preview-persistent-chat-with-enterprise-pool-part-3/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Lync Server 2013 Release Preview Persistent Chat with Enterprise Pool – Part 2</title>
		<link>http://www.shudnow.net/2012/07/18/lync-server-2013-release-preview-persistent-chat-with-enterprise-pool-part-2/</link>
		<comments>http://www.shudnow.net/2012/07/18/lync-server-2013-release-preview-persistent-chat-with-enterprise-pool-part-2/#comments</comments>
		<pubDate>Thu, 19 Jul 2012 01:03:06 +0000</pubDate>
		<dc:creator>Elan Shudnow</dc:creator>
				<category><![CDATA[Lync]]></category>

		<guid isPermaLink="false">http://www.shudnow.net/?p=2714</guid>
		<description><![CDATA[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&#8217;ll take a look at the installation process in the Lync 2013 Persistent Chat Pool.  We&#8217;ll then [...]]]></description>
				<content:encoded><![CDATA[<p>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&#8217;ll take a look at the installation process in the Lync 2013 Persistent Chat Pool.  We&#8217;ll then finish up the article series with Part 3 by taking a look at the client capabilities utilizing the Persistent Chat features.</p>
<p><a href="http://www.shudnow.net/2012/07/17/lync-server-2013-release-preview-persistnt-chat-with-enterprise-pool-part-1/">Part 1</a></p>
<p>Part 2</p>
<p><a href="http://www.shudnow.net/2012/07/18/lync-server-2013-release-preview-persistent-chat-with-enterprise-pool-part-3/">Part 3</a></p>
<h3>Persistent Chat Installation</h3>
<p>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&#8217;ll go ahead and install Persistent Chat on our Persistent Chat Server.</p>
<p>After running the Lync Server 2013 setup, just like with any previous release, we need to install the Visual C++ Tools.</p>
<p><img class="alignnone" src="/images/L15RPPG14.jpg" alt="" width="407" height="152" /></p>
<p>Choose the location you want to install Lync Server 2013.</p>
<p><img class="alignnone" src="http://www.shudnow.net/images/L15RPPG15.jpg" alt="" width="535" height="280" /></p>
<p>After we click install, read the licensing agreements and then Lync Server 2013 will install the Core Components.  We&#8217;ll then hit the Deployment Wizard where you&#8217;ll want to click &#8220;Install or Update Lync Server System.&#8221;</p>
<p><img class="alignnone" src="/images/L15RPPG16.jpg" alt="" width="471" height="301" /></p>
<p>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.</p>
<p><img class="alignnone" src="/images/L15RPPG17.jpg" alt="" width="750" height="529" /></p>
<p>Because this is a domain joined machine, we&#8217;ll choose &#8220;Retrieve directly from the Central Management store.&#8221;  This will query Active Directory to find the location of the Pool which owns the Central Management Store database.</p>
<p><img class="alignnone" src="/images/L15RPPG18.jpg" alt="" width="600" height="450" /></p>
<p>You&#8217;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.</p>
<p><img class="alignnone" src="/images/L15RPPG19.jpg" alt="" width="600" height="450" /></p>
<p>Go ahead and proceed with Step 2: &#8220;Setup or Remove Lync Server Components.&#8221;  This will install the Persistent Chat role.</p>
<p><img class="alignnone" src="/images/L15RPPG20.jpg" alt="" width="749" height="496" /></p>
<p>As you can see, there&#8217;s only one thing below that gets installed which is the MGCServer.msi.</p>
<p><img class="alignnone" src="/images/L15RPPG21.jpg" alt="" width="600" height="450" /></p>
<p>We&#8217;ll now go ahead and start on Step 3 to procure a certificate from our internal CA and the assign the certificate.</p>
<p><img class="alignnone" src="/images/L15RPPG22.jpg" alt="" width="749" height="496" /></p>
<p>Click Request to begin the procurement process for our Persistent Chat Certificate.</p>
<p><img class="alignnone" src="/images/L15RPPG23.jpg" alt="" width="750" height="178" /></p>
<p>I&#8217;m not going to go through the entire Persistent Chat certificate procurement process as it&#8217;s just like any other standard certificate procurement process (Organization Name, Friendly Name, etc&#8230;).  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.</p>
<p><img class="alignnone" src="/images/L15RPPG24.jpg" alt="" width="600" height="450" /></p>
<p>After specifying all of our options, the Lync Setup process will contact our Online CA to procure the certificate.</p>
<p><img class="alignnone" src="/images/L15RPPG25.jpg" alt="" width="600" height="450" /></p>
<p>We then have the option to assign the certificate for Persistent Chat.</p>
<p><img class="alignnone" src="/images/L15RPPG26.jpg" alt="" width="600" height="451" /></p>
<p>After assigning it, we can verify that the certificate was successfully assigned.</p>
<p><img class="alignnone" src="/images/L15RPPG27.jpg" alt="" width="600" height="450" /></p>
<p>Go ahead and run Step 4 to start the Persistent Chat services.</p>
<p><img class="alignnone" src="/images/L15RPPG28.jpg" alt="" width="673" height="440" /></p>
<p>We can verify that the services started successfully.</p>
<p><img class="alignnone" src="/images/L15RPPG29.jpg" alt="" width="600" height="450" /></p>
<p>But to be extra safe, let&#8217;s start services.msc and verify the Lync Server 2013 Persistent Chat service is running as well as any other Lync Server 2013 services.</p>
<p><img class="alignnone" src="/images/L15RPPG30.jpg" alt="" width="551" height="55" /></p>
<h3>Conclusion</h3>
<p>In <a href="http://www.shudnow.net/2012/07/17/lync-server-2013-release-preview-persistnt-chat-with-enterprise-pool-part-1/">Part 1</a>, 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 <a href="http://www.shudnow.net/2012/07/18/lync-server-2013-release-preview-persistent-chat-with-enterprise-pool-part-3/">Part 3</a>, we&#8217;ll finish up the article series by taking a look at the client capabilities utilizing the Persistent Chat features.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.shudnow.net%2F2012%2F07%2F18%2Flync-server-2013-release-preview-persistent-chat-with-enterprise-pool-part-2%2F&amp;title=Lync%20Server%202013%20Release%20Preview%20Persistent%20Chat%20with%20Enterprise%20Pool%20%E2%80%93%20Part%202" id="wpa2a_18"><img src="http://www.shudnow.net/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share"/></a></p><div class="feedflare">
<a href="http://feeds.shudnow.net/~ff/eshudnow?a=36HLo_4Xkkc:BRdAjFk3qnw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/eshudnow?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.shudnow.net/~ff/eshudnow?a=36HLo_4Xkkc:BRdAjFk3qnw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/eshudnow?i=36HLo_4Xkkc:BRdAjFk3qnw:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/eshudnow/~4/36HLo_4Xkkc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.shudnow.net/2012/07/18/lync-server-2013-release-preview-persistent-chat-with-enterprise-pool-part-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lync Server 2013 Release Preview Persistent Chat with Enterprise Pool – Part 1</title>
		<link>http://www.shudnow.net/2012/07/17/lync-server-2013-release-preview-persistnt-chat-with-enterprise-pool-part-1/</link>
		<comments>http://www.shudnow.net/2012/07/17/lync-server-2013-release-preview-persistnt-chat-with-enterprise-pool-part-1/#comments</comments>
		<pubDate>Wed, 18 Jul 2012 02:38:43 +0000</pubDate>
		<dc:creator>Elan Shudnow</dc:creator>
				<category><![CDATA[Lync]]></category>

		<guid isPermaLink="false">http://www.shudnow.net/?p=2697</guid>
		<description><![CDATA[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 [...]]]></description>
				<content:encoded><![CDATA[<p>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.</p>
<p>This article series is to guide you through the entire Lync Server 2013 Persistent Chat deployment process from scratch.  In Part 1, we&#8217;ll take a look at preparing the environment for the Persistent Chat Pool.  In Part 2, we&#8217;ll take a look at the installation process in the Lync 2013 Persistent Chat Pool.  We&#8217;ll then finish up the article series with Part 3 by taking a look at the client capabilities utilizing the Persistent Chat features.</p>
<p>Part 1</p>
<p><a href="http://www.shudnow.net/2012/07/18/lync-server-2013-release-preview-persistent-chat-with-enterprise-pool-part-2/">Part 2</a></p>
<p><a href="http://www.shudnow.net/2012/07/18/lync-server-2013-release-preview-persistent-chat-with-enterprise-pool-part-3/">Part 3</a></p>
<h3>Lab Setup</h3>
<h4>Guest Virtual Machines</h4>
<p>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.</p>
<h4>Assumptions</h4>
<ul>
<li>You have a domain that contains at least one Server 2003 SP2 Domain Controller (DC)</li>
<li>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.</li>
<li>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.</li>
<li>You have a copy of Lync Server 2013 Client Release Preview.</li>
</ul>
<h4>Computer Names</h4>
<p>Global Catalog Cserver &#8211; B-DC1</p>
<p>Lync Server 2013 Enterprise Edition Release Preview &#8211; B-L15FE1.15lab.net</p>
<p>Persistent Chat &#8211; B-L15PG1.15lab.net</p>
<p>SQL Server 2012 &#8211; B-S15BE1.15lab.net</p>
<p>Windows 7 Client &#8211; B-Client1.15lab.net</p>
<h3>General Information on Topology Support</h3>
<p>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 <a href="http://www.shudnow.net/2009/03/08/office-communications-server-2007-r2-group-chat-deployment-part-1/">here</a>.  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.</p>
<p>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.</p>
<p>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.</p>
<p>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 <a href="http://technet.microsoft.com/en-us/library/jj204653%28v=ocs.15%29">here</a> and <a href="http://technet.microsoft.com/en-us/library/jj204887%28v=ocs.15%29">here</a>) to replicate SQL database data from the SQL Mirror Instance in the primary datacenter to the SQL Mirror Instance in the secondary/DR datacenter.</p>
<p>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.</p>
<p><img class="alignnone" src="/images/L15RPPG03.jpg" alt="" width="829" height="451" /></p>
<p>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.</p>
<p><img class="alignnone" src="/images/L15RPPG04.jpg" alt="" width="794" height="423" /></p>
<p>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&#8217;s not when using Enterprise Edition Front End Servers.</p>
<h3>Prerequisites</h3>
<p>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).</p>
<ul>
<li>Software Installation
<ul>
<li>.Net Framework 4.5 RC (available <a href="http://go.microsoft.com/fwlink/p/?linkId=256375">here</a>)</li>
<li>PowerShell 3.0 (available <a href="http://technet.microsoft.com/en-us/library/jj205328(v=ocs.15)">here</a>)</li>
<li>Windows Identity Foundation (available <a href="http://go.microsoft.com/fwlink/p/?linkId=204657">here</a>)</li>
</ul>
</li>
</ul>
<h3>Installing Persistent Chat</h3>
<p>When taking a look at the Lync Server 2013 Topology Builder, we can see there&#8217;s a new Persistent Chat Pool section.</p>
<p><img src="/images/L15RPPG01.jpg" alt="" width="292" height="199" /></p>
<p>Go ahead and right-click on Persistent Chat pools and create a new Persistent Chat Pool.</p>
<p><img class="alignnone" src="/images/L15RPPG02.jpg" alt="" width="341" height="84" /></p>
<p>I decided to choose to create a Highly Available Persistent Chat Pool instead of a single server even though for now, I&#8217;m only going to deploy a single Persistent Chat Server.</p>
<p><img class="alignnone" src="/images/L15RPPG05.jpg" alt="" width="600" height="470" /></p>
<p>Go ahead and add the server FQDN of your Persistent Chat Server.</p>
<p><img class="alignnone" src="/images/L15RPPG06.jpg" alt="" width="600" height="470" /></p>
<p>Define the name of the Persistent Chat Pool.  We won&#8217;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.</p>
<p><img class="alignnone" src="/images/L15RPPG07.jpg" alt="" width="600" height="470" /></p>
<p>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 &#8220;Use backup SQL Server stores to enable disaster recovery&#8221; option.  If we chose that option, the next screen after &#8220;Define the SQL Store&#8221; would ask us to define the SQL Stores in the secondary/DR datacenter.  But, we&#8217;re not choosing that option at this time.</p>
<p><img class="alignnone" src="/images/L15RPPG08.jpg" alt="" width="600" height="470" /></p>
<p>We now define our File Store.  This can be the same file store used by the Enterprise Front End Pool.</p>
<p><img class="alignnone" src="/images/L15RPPG09.jpg" alt="" width="600" height="470" /></p>
<p>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.</p>
<p><img class="alignnone" src="/images/L15RPPG10.jpg" alt="" width="600" height="470" /></p>
<p>After finishing up the above, we can now go ahead and publish the Lync Topology.</p>
<p><img class="alignnone" src="http://www.shudnow.net/images/L15RPPG11.jpg" alt="" width="263" height="177" /></p>
<p>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.</p>
<p><img class="alignnone" src="/images/L15RPPG12.jpg" alt="" width="600" height="470" /></p>
<p>After publishing the topology, we can see everything went successfully and the databases were created.</p>
<p><img class="alignnone" src="http://www.shudnow.net/images/L15RPPG13.jpg" alt="" width="600" height="237" /></p>
<h3>Conclusion</h3>
<p>Thanks for reading Part 1 where we took a look at preparing the environment for the Persistent Chat Pool.  In <a href="http://www.shudnow.net/2012/07/18/lync-server-2013-release-preview-persistent-chat-with-enterprise-pool-part-2/">Part 2</a>, we&#8217;ll take a look at the installation process in the Lync 2013 Persistent Chat Pool.  We&#8217;ll then finish up the article series with <a href="http://www.shudnow.net/2012/07/18/lync-server-2013-release-preview-persistent-chat-with-enterprise-pool-part-3/">Part 3</a> by taking a look at the client capabilities utilizing the Persistent Chat features.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.shudnow.net%2F2012%2F07%2F17%2Flync-server-2013-release-preview-persistnt-chat-with-enterprise-pool-part-1%2F&amp;title=Lync%20Server%202013%20Release%20Preview%20Persistent%20Chat%20with%20Enterprise%20Pool%20%E2%80%93%20Part%201" id="wpa2a_20"><img src="http://www.shudnow.net/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share"/></a></p><div class="feedflare">
<a href="http://feeds.shudnow.net/~ff/eshudnow?a=FTtMOrmBfgw:u3i0iUGzJTQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/eshudnow?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.shudnow.net/~ff/eshudnow?a=FTtMOrmBfgw:u3i0iUGzJTQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/eshudnow?i=FTtMOrmBfgw:u3i0iUGzJTQ:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/eshudnow/~4/FTtMOrmBfgw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.shudnow.net/2012/07/17/lync-server-2013-release-preview-persistnt-chat-with-enterprise-pool-part-1/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>
