<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2titles.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemtitles.css"?><!--RSS generated by Windows SharePoint Services V3 RSS Generator on 11/16/2009 7:28:55 PM--><rss version="2.0">
  <channel>
    <title>Jeff Schertz: Posts</title>
    <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/AllPosts.aspx</link>
    <description>RSS feed for the Posts list.</description>
    <copyright>Jeff Schertz</copyright>
    <lastBuildDate>Tue, 17 Nov 2009 01:28:54 GMT</lastBuildDate>
    <generator>Windows SharePoint Services V3 RSS Generator</generator>
    <ttl>60</ttl>
    <image>
      <title>Jeff Schertz: Posts</title>
      <url>/Blogs/schertz_jeff/_layouts/images/homepage.gif</url>
      <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/AllPosts.aspx</link>
    </image>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/JeffSchertz" type="application/rss+xml" /><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FJeffSchertz" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FJeffSchertz" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FJeffSchertz" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://feeds.feedburner.com/JeffSchertz" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FJeffSchertz" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FJeffSchertz" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FJeffSchertz" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FJeffSchertz" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
      <title>External Live Meeting Only with OCS</title>
      <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=67</link>
      <description>&lt;div&gt;&lt;b&gt;Body:&lt;/b&gt; &lt;div class=ExternalClass1D2CFEEDD8A24D4B955836DC178C230D&gt;&lt;div class=ExternalClass68F5BDE417C947E8A8DF21E0C2843A89&gt; &lt;p class=ExternalClass6DECB8AFD42F40ECA87914176BA7DF59&gt;One of the biggest cost-saving benefits of Office Communications Server 2007 has been the integrated Web Conferencing features, a.k.a. Live Meeting.  Many companies currently pay for off-site host conferencing services like Microsoft's own hosted Live Meeting, or WebEx just to name a few.  In the same way that R2’s Dial-In Conferencing can reduce costs by eliminating  the need for a hosted phone bridge service, all versions of OCS can offer the same cost-cutting advantages by bringing Live Meeting services in house.&lt;/p&gt; &lt;p class=ExternalClass6DECB8AFD42F40ECA87914176BA7DF59&gt;One example are organizations who already have a limited LCS deployment in-house but due to various internal political issues are not able to deploy IM services to the company as a whole, either inside or out.  With the addition of a simple, yet robust OCS deployment it is possible to configure OCS to support only Web Conferencing for external users.&lt;/p&gt; &lt;p class=ExternalClass6DECB8AFD42F40ECA87914176BA7DF59&gt;The approach used for a specific OCS 2007 R2 deployment included:&lt;/p&gt; &lt;div class=ExternalClass6DECB8AFD42F40ECA87914176BA7DF59&gt; &lt;ul&gt; &lt;li&gt;A single Enterprise Edition Front-End Consolidated Server  &lt;ul&gt; &lt;li&gt;No Hardware Load Balancer is required  &lt;li&gt;No Director &lt;br&gt; &lt;/li&gt;&lt;/ul&gt; &lt;li&gt;A Standard Edition Consolidated Edge Server  &lt;ul&gt; &lt;li&gt;(2) Network cards for separate internal and external roles  &lt;li&gt;Separate, unique IP subnetworks for the internal and external interfaces  &lt;li&gt;A single firewall with separate ports and rule-bases for each Edge interfaces  &lt;li&gt;No Reverse HTTPS Proxy deployed (can be added at a later date to support shared content download)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt; &lt;p&gt;&lt;font color="#3f72ae"&gt;&lt;em&gt;&lt;strong&gt;Internal Deployment&lt;/strong&gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;The internal deployment follows the standard installation and configuration steps; nothing out of the ordinary is required here.  The basic SRV and A DNS records are setup to support Automatic Configuration and a pool record (using the IP address of the Front-End server itself).  Certificate deployment is standard.  If migrating users from LCS then make sure to install a certificate on the LCS server (if not already deployed) so that MTLS server-to-server communications will work correctly between LCS and OCS services.&lt;/p&gt; &lt;p&gt;Once everything is installed then you will need to configure the Web Conferencing policies to allow users rights to start conferences and (if desired) allow anonymous users to join.&lt;/p&gt; &lt;p&gt;The one major caveat during server configuration is to make sure and &lt;font color="#739643"&gt;do not leave the External Web Farm FQDN blank&lt;/font&gt;&lt;strong&gt; &lt;/strong&gt;during the Enterprise Pool creation (or Standard Edition server configuration).  Even though there will not be a reverse proxy configured and thus no connectivity into the internal Web Components IIS site, and thus no real need for a defined external URL, it wont work.  Once everything is deployed external clients will simply not be able to login to Live Meeting as the lack of a defined external Web Farm FQDN causes OCS to ‘give up’ and basically not allow external Web Conferencing connections.  External Communicator sign-in and IM/Presence will work, just not Live Meeting.  In this example the internal FQDN was simply duplicated into the external field.  You could probably put any string in there, valid or not.  Just as long as it is NOT blank.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;External Deployment&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;As with anything in OCS, the external user access is where it can get tricky.  Because this specific client was licensed for only Standard Edition a single consolidated Edge server was deployed, even though the A/V roles will not be utilized.  This was done for two reasons, (1) licensing, and (2) future expansion.  If they want to later open up external Communicator access and support features like Desktop Sharing, even though A/V sessions would still not be officially supported, the A/V functionality would need to be in place to get Desktop Sharing to work between internal and external clients.  This point is worth reiterating.  &lt;em&gt;Desktop Sharing works via media communications&lt;/em&gt;.&lt;/p&gt; &lt;p&gt;The R2 Technical Reference details the &lt;a href="http://technet.microsoft.com/en-us/library/dd572758(office.13).aspx"&gt;Desktop Sharing Architecture&lt;/a&gt; explains that because the RDP sessions inherently run into the same challenges as media communications Microsoft decided to use A/V functionality in OCS, which already solved the previous issue.  So basically Desktop Sharing is an RDP (Remote Desktop Protocol) session over SRTP (Secure Real-Time Protocol).  The main difference is that Desktop Sharing uses TCP while standard media typically uses UDP, but the ports are the same.&lt;/p&gt; &lt;p&gt;But now back to our scenario; we only want Live Meeting supported externally, no audio, video, Communicator sign-in, and thus no Desktop Sharing.  The reason I point this out is that when testing a deployment like this it would be a mistake to use Desktop Sharing to validate connectivity when it works completely different then Web Conferencing does.&lt;/p&gt; &lt;p&gt;First off, with any Edge deployment the firewall rules are most important.  Let us assume a best practice deployment with the following IP subnetworks:&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_24_3A64EC8F.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_11_3A64EC8F.png" width=734 height=202&gt;&lt;/a&gt; &lt;/p&gt; &lt;p align=left&gt;And here are the IP addresses and FQDNs to be used throughout this article:&lt;/p&gt; &lt;table border=1 cellspacing=0 cellpadding=2 width=718&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=top width=113&gt;&lt;strong&gt;Location&lt;/strong&gt;&lt;/td&gt; &lt;td valign=top width=108&gt;&lt;strong&gt;Interface&lt;/strong&gt;&lt;/td&gt; &lt;td valign=top width=185&gt;&lt;strong&gt;Role&lt;/strong&gt;&lt;/td&gt; &lt;td valign=top width=125&gt;&lt;strong&gt;IP Address&lt;/strong&gt;&lt;/td&gt; &lt;td valign=top width=185&gt;&lt;strong&gt;FQDN&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=top width=112&gt;Perimeter&lt;/td&gt; &lt;td valign=top width=109&gt;External&lt;/td&gt; &lt;td valign=top width=184&gt;Access Edge&lt;/td&gt; &lt;td valign=top width=127&gt;103.207.10.10&lt;/td&gt; &lt;td valign=top width=185&gt;sip.domain.com&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=top width=112&gt;Perimeter&lt;/td&gt; &lt;td valign=top width=109&gt;External&lt;/td&gt; &lt;td valign=top width=183&gt;Web Conferencing&lt;/td&gt; &lt;td valign=top width=129&gt;103.207.10.11&lt;/td&gt; &lt;td valign=top width=184&gt;webconf.domain.com&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=top width=112&gt;Perimeter&lt;/td&gt; &lt;td valign=top width=109&gt;External&lt;/td&gt; &lt;td valign=top width=183&gt;A/V Conferencing&lt;/td&gt; &lt;td valign=top width=130&gt;103.207.10.12&lt;/td&gt; &lt;td valign=top width=184&gt;av.domain.com&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=top width=112&gt;Perimeter&lt;/td&gt; &lt;td valign=top width=109&gt;Internal&lt;/td&gt; &lt;td valign=top width=182&gt;Edge Private Interface&lt;/td&gt; &lt;td valign=top width=131&gt;10.1.1.100&lt;/td&gt; &lt;td valign=top width=184&gt;edgeserver.dmz.local&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=top width=111&gt;Internal&lt;/td&gt; &lt;td valign=top width=109&gt; &lt;/td&gt; &lt;td valign=top width=182&gt;OCS Front-End Server&lt;/td&gt; &lt;td valign=top width=132&gt;172.16.1.111&lt;/td&gt; &lt;td valign=top width=185&gt;ocspool.domain.local&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p align=left&gt;It is important to point out here that the Access Edge FQDN has a specific requirement depending on if SRV records are used/supported and if anonymous access is desired for external Live Meeting clients.&lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;div align=left&gt;If the &lt;em&gt;&lt;font color="#3f72ae"&gt;_sip._tls.domain.com&lt;/font&gt;&lt;/em&gt; SRV record is published externally, then the Access Edge FQDN it points to can be named anything you want (within the same domain name).  It is still best practice to use &lt;em&gt;&lt;font color="#3f72ae"&gt;sip.domain.com&lt;/font&gt;&lt;/em&gt; but it &lt;font color="#739643"&gt;does not &lt;/font&gt;have to be.&lt;br&gt;&lt;/div&gt; &lt;li&gt; &lt;div align=left&gt;If SRV records are not supported by your external DNS server, then the Access Edge FQDN &lt;font color="#739643"&gt;must&lt;/font&gt; be either &lt;em&gt;&lt;font color="#3f72ae"&gt;sip.domain.com&lt;/font&gt;&lt;/em&gt; or &lt;em&gt;&lt;font color="#3f72ae"&gt;sipexternal.domain.com&lt;/font&gt;&lt;/em&gt;.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p align=left&gt;This requirement is related to supporting Live Meeting connections from anonymous users which are not OCS-enabled users in your organization.  If only corporate users need to use Live Meeting externally, then you can still use any FQDN you like and then Manual Configuration must be set on the workstation so that the OC/LM clients can locate the Access Edge server.  But any third-party that wishes to join a hosted Live Meeting can only be invited via the &lt;em&gt;meet:sip:&lt;/em&gt; URL that is typically sent in an email.&lt;/p&gt; &lt;p align=left&gt;This URL includes the SIP domain name of the meeting scheduler:&lt;/p&gt; &lt;blockquote&gt; &lt;p align=left&gt;&lt;font color="#739643" size=1 face=Verdana&gt;meet:sip:&lt;strong&gt;jschertz@domain.com&lt;/strong&gt;;gruu;opaque=app:conf:focus:id:3e068dc431be4509d1c3bb7…&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p align=left&gt;Participating Live Meeting clients will perform an initial SRV lookup against &lt;em&gt;&lt;font color="#3f72ae"&gt;domain.com&lt;/font&gt;&lt;/em&gt; for the Access Edge FQDN, followed by a fallback A record lookup.  Only the default &lt;em&gt;sip&lt;/em&gt;, &lt;em&gt;sipexternal&lt;/em&gt;, and &lt;em&gt;sipinternal &lt;/em&gt;A records are checked for, so you can see here that having an Access Edge FQDN of &lt;em&gt;ocs.domain.com&lt;/em&gt; without an SRV record pointing to it is not sufficient to support Automatic Lookup.  This behavior is the same for both the Office Communicator and Live Meeting clients.  Once the client successfully connects to the Access Edge role, whether or not any authentication is happening (OCS user vs. Anonymous user) the Web Conferencing FQDN is passed to the client in-band (e.g. webconf.domain.com).&lt;/p&gt; &lt;p align=left&gt;Now on to the fun stuff. I have chopped down the Microsoft diagram to include only the communications we need to support external Live Meeting clients.  The two inbound rules (4,6) from the Internet are pointing to the separate IP addresses for the Access Edge and Web Conferencing Edge.  The internal communications (5,7) are all happening between the internal Front-End server and the perimeter Edge server.&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_4_3A64EC8F.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_1_3A64EC8F.png" width=581 height=291&gt;&lt;/a&gt;&lt;/p&gt; &lt;p align=left&gt;&lt;u&gt;Firewall Policy Rules&lt;/u&gt;:&lt;/p&gt; &lt;table border=1 cellspacing=0 cellpadding=2 width=826&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=top width=48&gt;&lt;strong&gt;Rule&lt;/strong&gt;&lt;/td&gt; &lt;td valign=top width=79&gt;&lt;strong&gt;Firewall&lt;/strong&gt;&lt;/td&gt; &lt;td valign=top width=85&gt;&lt;strong&gt;Direction&lt;/strong&gt;&lt;/td&gt; &lt;td valign=top width=70&gt;&lt;strong&gt;Source Port&lt;/strong&gt;&lt;/td&gt; &lt;td valign=top width=127&gt;&lt;strong&gt;Source IP&lt;/strong&gt;&lt;/td&gt; &lt;td valign=top width=85&gt;&lt;strong&gt;Destination Port&lt;/strong&gt;&lt;/td&gt; &lt;td valign=top width=128&gt;&lt;strong&gt;Destination IP&lt;/strong&gt;&lt;/td&gt; &lt;td valign=top width=202&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=top width=50&gt;4&lt;/td&gt; &lt;td valign=top width=80&gt;External&lt;/td&gt; &lt;td valign=top width=86&gt;Inbound&lt;/td&gt; &lt;td valign=top width=71&gt;Any&lt;/td&gt; &lt;td valign=top width=125&gt;Any&lt;/td&gt; &lt;td valign=top width=85&gt;443&lt;/td&gt; &lt;td valign=top width=128&gt;103.207.10.10&lt;/td&gt; &lt;td valign=top width=199&gt;Live Meeting sign-in and SIP signaling&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=top width=51&gt;6&lt;/td&gt; &lt;td valign=top width=80&gt;External&lt;/td&gt; &lt;td valign=top width=87&gt;Inbound&lt;/td&gt; &lt;td valign=top width=72&gt;Any&lt;/td&gt; &lt;td valign=top width=124&gt;Any&lt;/td&gt; &lt;td valign=top width=85&gt;443&lt;/td&gt; &lt;td valign=top width=128&gt;103.207.10.11&lt;/td&gt; &lt;td valign=top width=197&gt;Live Meeting content sharing&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=top width=52&gt;5&lt;/td&gt; &lt;td valign=top width=80&gt;Internal&lt;/td&gt; &lt;td valign=top width=87&gt;Outbound&lt;/td&gt; &lt;td valign=top width=72&gt;Any&lt;/td&gt; &lt;td valign=top width=124&gt;172.16.1.111&lt;/td&gt; &lt;td valign=top width=85&gt;5061&lt;/td&gt; &lt;td valign=top width=128&gt;10.1.1.100&lt;/td&gt; &lt;td valign=top width=196&gt;Communications from Front-End Server to Edge&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=top width=52&gt;5&lt;/td&gt; &lt;td valign=top width=80&gt;Internal&lt;/td&gt; &lt;td valign=top width=87&gt;Inbound&lt;/td&gt; &lt;td valign=top width=72&gt;Any&lt;/td&gt; &lt;td valign=top width=124&gt;10.1.1.100&lt;/td&gt; &lt;td valign=top width=85&gt;5061&lt;/td&gt; &lt;td valign=top width=128&gt;172.16.1.111&lt;/td&gt; &lt;td valign=top width=195&gt;Communications from Edge to Front-End Server&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=top width=52&gt;7&lt;/td&gt; &lt;td valign=top width=80&gt;Internal&lt;/td&gt; &lt;td valign=top width=87&gt;Outbound&lt;/td&gt; &lt;td valign=top width=72&gt;Any&lt;/td&gt; &lt;td valign=top width=124&gt;172.16.1.111&lt;/td&gt; &lt;td valign=top width=85&gt;8057&lt;/td&gt; &lt;td valign=top width=128&gt;10.1.1.100&lt;/td&gt; &lt;td valign=top width=196&gt;Live Meeting content sharing&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;Since the A/V Edge role is deployed as part of a consolidated Standard Edition server, it must be configured during setup or the wizard will not advance.  Clearly there will be no external access to the A/V Edge and Authentication roles, so an internally-issued certificate will be fine here as the Access Edge and Web Conferencing roles would get third-party certificates (Entrust, Digicert, etc).  The nice thing about this configuration is if a later pilot rollout of external A/V is requested all that is needed is a certificate and some firewall changes and everything is already set to go.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;Testing&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Once all the rules are setup and the Edge server is deployed and configured each can be tested via telnet.  From the internal Front-End server you should be able to telnet to both ports 5061 and 8057 on the Edge’s internal IP.  You can also perform the same test from the Edge server to 5061 on the internal Front-End server. Additionally any public host should be able to telnet to 443 on either the &lt;em&gt;sip&lt;/em&gt; or &lt;em&gt;webconf &lt;/em&gt;IP addresses to verify the external rules as well.&lt;/p&gt; &lt;p&gt;Connecting directly to the port via telnet will both confirm that the firewall rule is correctly defined and that the service is active and listening.&lt;/p&gt; &lt;p&gt;A &lt;u&gt;failed connection&lt;/u&gt; to any of the ports would be pretty clear:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font color="#3f72ae" size=2 face="Courier New"&gt;&lt;strong&gt;C:\&amp;gt;telnet 10.1.1.100 5061&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_14_3A64EC8F.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_6_3A64EC8F.png" width=644 height=115&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;But a &lt;u&gt;successful connection&lt;/u&gt; to either ports 5061 and 443 would not be as obvious as nothing appears to happen.  The blinking cursor indicates a connection to the port; there is just no interaction:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font color="#3f72ae" size=2 face="Courier New"&gt;&lt;strong&gt;C:\&amp;gt;telnet 10.1.1.100 5061&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_12_3A64EC8F.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_5_3A64EC8F.png" width=644 height=105&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Meanwhile a successful connection to the PSOM service on port 8057 at the Edge internal interface would at least spit out a few characters:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font color="#3f72ae" size=2 face="Courier New"&gt;&lt;strong&gt;C:\&amp;gt;telnet 10.1.1.100 8057&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_10_3A64EC8F.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_4_3A64EC8F.png" width=644 height=84&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;Internal Configuration&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;First verify if the External Web Farm FQDN needs to be populated or updated by checking the current value, which can be viewed (but not modified) from the OCS Management Console as shown below.  If the External URL value needs to updated then follow the instructions in &lt;a href="http://technet.microsoft.com/en-us/library/bb803611.aspx"&gt;Appendix E&lt;/a&gt; of the OCS documentation.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font color="#98ba68"&gt;Pool Properties &amp;gt; Web Components Properties &amp;gt; Address Book tab&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_2_5E3FDD22.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_5E3FDD22.png" width=354 height=185&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;By default web conferencing is not enabled in a fresh installation.  There are a couple ways to turn it on, depending on if you want everyone in the organization to have the same features and permissions, or if you need to have separate groups of users with different policies.   &lt;/p&gt; &lt;p&gt;The simplest approach is to just edit the &lt;em&gt;Default Policy&lt;/em&gt; and enable Web conferencing and any other desired options.&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_32_3A64EC8F.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_15_3A64EC8F.png" width=354 height=159&gt;&lt;/a&gt;     &lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_28_3A64EC8F.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_13_3A64EC8F.png" width=354 height=159&gt;&lt;/a&gt; &lt;/p&gt; &lt;p align=left&gt;Alternatively you can elect to choose from different set policies for each SIP-enabled user account.  The built-in policies offer different levels of permissions but can each be customized, as well as removed or replaced by other new policies.&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_34_3A64EC8F.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_16_3A64EC8F.png" width=354 height=243&gt;&lt;/a&gt;      &lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_36_3A64EC8F.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_17_3A64EC8F.png" width=354 height=208&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;External Configuration&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Now even though external Communicator support is not part of this deployment, user accounts must still be SIP-enabled in order to schedule and initiate Live Meeting sessions and thus invite attendees.  If Communicator must still be blocked, then limiting the ability to install the Communicator application on corporate systems is one approach.  Another would be configuring global policy settings to limit the types of communications (block IM, peer-to-peer audio, etc) in the client.  Make sure to follow the standard post Edge deployment configuration by adding the Edge server settings in the various &lt;em&gt;Global &lt;/em&gt;and &lt;em&gt;Pool &lt;/em&gt;level properties&lt;/p&gt; &lt;p&gt;For this deployment all OCS features would be used internally, so only external user login was undesired.  But In order to first allow access to Live Meeting externally the Edge Server properties must be configured to allow any external access.  There is no way to allow for external access to Web Conferencing without also allowing external access, since the Live Meeting client must first connect to the Access Edge service to initiate a conferencing session.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font color="#98ba68"&gt;Edge Server Properties &amp;gt; Access Methods&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p align=center&gt;   &lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_20_3A64EC8F.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_9_3A64EC8F.png" width=354 height=68&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;The next step is to enable rights on each user account for &lt;em&gt;remote user access.  &lt;/em&gt;This inherently also grants the user the ability to sign-in to Communicator remotely; these rights cannot be separated.  So if only anonymous access to Live Meeting sessions is desired for all remote users, whether they are corporate employees or a third-party, then this step can be skipped.  But since most deployments would want corporate users to be able to sign-in as themselves to conferences regardless of their location that permission must be enabled on each account.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font color="#98ba68"&gt;User Account Properties &amp;gt; Communications Additional Options:&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_16_3A64EC8F.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_7_25736A1C.png" width=357 height=75&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Category:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Published:&lt;/b&gt; 6/3/2009 3:44 PM&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Categories:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Attachments:&lt;/b&gt; &lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_10_3A64EC8F.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_10_3A64EC8F.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_12_3A64EC8F.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_12_3A64EC8F.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_14_3A64EC8F.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_14_3A64EC8F.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_16_3A64EC8F.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_16_3A64EC8F.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_2_5E3FDD22.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_2_5E3FDD22.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_20_3A64EC8F.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_20_3A64EC8F.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_24_3A64EC8F.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_24_3A64EC8F.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_28_3A64EC8F.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_28_3A64EC8F.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_32_3A64EC8F.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_32_3A64EC8F.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_34_3A64EC8F.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_34_3A64EC8F.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_36_3A64EC8F.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_36_3A64EC8F.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_4_3A64EC8F.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_4_3A64EC8F.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_1_3A64EC8F.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_1_3A64EC8F.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_11_3A64EC8F.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_11_3A64EC8F.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_13_3A64EC8F.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_13_3A64EC8F.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_15_3A64EC8F.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_15_3A64EC8F.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_16_3A64EC8F.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_16_3A64EC8F.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_17_3A64EC8F.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_17_3A64EC8F.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_4_3A64EC8F.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_4_3A64EC8F.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_5_3A64EC8F.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_5_3A64EC8F.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_5E3FDD22.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_5E3FDD22.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_6_3A64EC8F.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_6_3A64EC8F.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_7_25736A1C.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_7_25736A1C.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_9_3A64EC8F.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/67/image_thumb_9_3A64EC8F.png&lt;/a&gt;&lt;br&gt;&lt;a href=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JeffSchertz/~4/ull40qpoyxg" height="1" width="1"/&gt;</description>
      <author>Jeff Schertz</author>
      <category>Office Communications Server</category>
      <pubDate>Thu, 04 Jun 2009 19:54:01 GMT</pubDate>
      <guid isPermaLink="true">http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=67</guid>
    </item>
    <item>
      <title>A/V Edge Authentication Connection Errors</title>
      <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=68</link>
      <description>&lt;div&gt;&lt;b&gt;Body:&lt;/b&gt; &lt;div class=ExternalClassEAA9630B8F4542B495FD10AFEDA87E62&gt;&lt;p&gt;Just a quick note regarding an error I recently ran across.  A client was experiencing problems with Dial-In Conferencing after a recent deployment and during troubleshooting the issues I ran across this pair of errors in the Front-End server’s OCS event log:&lt;/p&gt; &lt;p&gt;&lt;font color="#192954"&gt;&lt;em&gt;OCS Audio-Video Conferencing Server&lt;br&gt;Event ID &lt;strong&gt;32018&lt;/strong&gt;&lt;br&gt;“The Audio-Video Conferencing Server encountered an error when requesting credentials from the A/V Edge Authentication Service.”&lt;/em&gt;&lt;/font&gt;&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image_2_2EEF02B2.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image_thumb_2EEF02B2.png" width=604 height=264&gt;&lt;/a&gt; &lt;/p&gt; &lt;p align=left&gt;&lt;font color="#192954"&gt;&lt;em&gt;OCS Protocol Stack&lt;br&gt;Event ID &lt;strong&gt;14502&lt;/strong&gt;&lt;br&gt;”A significant number of connection failures have occurred with remote server…”&lt;br&gt;8007274D&lt;br&gt;80072746&lt;/em&gt;&lt;/font&gt;&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image3_2EEF02B2.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image3_thumb_2EEF02B2.png" width=604 height=264&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;The IP address of the the ‘remote server’ described in ID 14502 was actually the IP address on the Edge server’s internal interface.  So after checking the the common reasons for server-to-server communications issues (filtered ports on firewalls, incorrect or missing DNS entries, or invalid certificates) everything appeared to check out.  All other features were working, as internal to external audio and video communications were tested multiple times in addition to Live Meeting and Desktop Sharing.&lt;/p&gt; &lt;p&gt;The A/V Authentication service was correctly configured on the Edge Server’s Interfaces tab on the default port of 5062, and from the Front-End server I was able to telnet directly to that port.  Hmmmm…&lt;/p&gt; &lt;p&gt;Next step was to check the internal configuration and make sure that the Front-End services were attempting to go to the right place.&lt;/p&gt; &lt;p&gt;Bingo! The &lt;em&gt;A/V Edge Servers &lt;/em&gt;entry under the Global Properties &amp;gt; Edge Servers tab had the correct FQDN but was mistakenly configured to use 443 instead of &lt;strong&gt;5062,&lt;/strong&gt; where the A/V Auth service was actually listening on the Edge’s internal IP.  &lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image1_2EEF02B2.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image1_thumb_2EEF02B2.png" width=354 height=113&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Simple enough, just change it, right?  That would be too easy.  You can’t edit the current entry.  And attempts to directly resolve it will be thwarted by one of two errors messages depending on if you attempt to delete the current entry and replace it with a new one, or simply try to add a second entry for the same FQDN with a different port value.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font color="#3f72ae"&gt;&lt;em&gt;“The A/V Edge Server internal FQDN and A/V authentication port is currently assigned to a pool or server.  Please check the Status Pane.  Removing this entry may result in the failure of users to exchange media.”&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image_8_2EEF02B2.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image_thumb_3_2EEF02B2.png" width=354 height=107&gt;&lt;/a&gt; &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;“Trusted entry breaks the FQDN, Port or Version uniqueness constraint.”&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image_10_2EEF02B2.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image_thumb_4_2EEF02B2.png" width=354 height=96&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;Resolution&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;At this point we’ll need to un-assign the current value from a couple places in the OCS configuration so that the invalid entry can be removed.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;First go to the &lt;em&gt;Pool Properties &lt;/em&gt;under the Pool object and change the A/V Authentication Service to &lt;font color="#3f72ae"&gt;(None)&lt;/font&gt;.&lt;/li&gt;&lt;/ul&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image16_2EEF02B2.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image16_thumb_2EEF02B2.png" width=354 height=205&gt;&lt;/a&gt; &lt;/p&gt; &lt;ul&gt; &lt;li&gt;And then from the &lt;em&gt;Mediation Server Properties&lt;/em&gt; also change the A/V Edge Server setting to &lt;font color="#3f72ae"&gt;(None)&lt;/font&gt;.&lt;/li&gt;&lt;/ul&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image_16_2EEF02B2.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image_thumb_7_2EEF02B2.png" width=354 height=269&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;Give Active Directory some time to replicate these configuration changes around, and we can go back and remove the original entry and replace it with the correct port number.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Revisit the Global Properties on the OCS Forest object and delete the existing A/V Edge Server entry with the invalid port listed.&lt;br&gt; &lt;li&gt;Create a new entry with the correct values.  &lt;em&gt;(Depending on the time elapsed between now and the previous steps you may receive another “Trusted entry breaks FQDN…constraint” warning but it can be ignored at this point.)&lt;br&gt;&lt;/em&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;After restarting the Front-End services those two errors should stop appearing in the event log and Front-End to A/V Authentication communications should now be working.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Category:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Published:&lt;/b&gt; 6/22/2009 8:11 AM&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Categories:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Attachments:&lt;/b&gt; &lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image_10_2EEF02B2.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image_10_2EEF02B2.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image_16_2EEF02B2.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image_16_2EEF02B2.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image_2_2EEF02B2.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image_2_2EEF02B2.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image_8_2EEF02B2.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image_8_2EEF02B2.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image_thumb_2EEF02B2.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image_thumb_2EEF02B2.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image_thumb_3_2EEF02B2.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image_thumb_3_2EEF02B2.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image_thumb_4_2EEF02B2.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image_thumb_4_2EEF02B2.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image_thumb_7_2EEF02B2.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image_thumb_7_2EEF02B2.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image1_2EEF02B2.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image1_2EEF02B2.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image1_thumb_2EEF02B2.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image1_thumb_2EEF02B2.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image16_2EEF02B2.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image16_2EEF02B2.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image16_thumb_2EEF02B2.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image16_thumb_2EEF02B2.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image3_2EEF02B2.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image3_2EEF02B2.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image3_thumb_2EEF02B2.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/68/image3_thumb_2EEF02B2.png&lt;/a&gt;&lt;br&gt;&lt;a href=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JeffSchertz/~4/N8AFwKaUw5Y" height="1" width="1"/&gt;</description>
      <author>Jeff Schertz</author>
      <category>Office Communications Server</category>
      <pubDate>Mon, 22 Jun 2009 13:11:31 GMT</pubDate>
      <guid isPermaLink="true">http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=68</guid>
    </item>
    <item>
      <title>OCS Dial-In Conferencing: Unable to Join Conference Calls</title>
      <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=69</link>
      <description>&lt;div&gt;&lt;b&gt;Body:&lt;/b&gt; &lt;div class=ExternalClass77C37550C4FE40C781E5468DB1D3EEBA&gt;&lt;p&gt;In keeping with this month’s apparent theme of troubleshooting Live Meeting and Audio Conferencing problems for external users, I ran into yet another weird one.  This time we have a pretty basic Office Communications Server 2007 R2 deployment with Enterprise Voice using a NET VX1200 media gateway with Cisco Call Manager 4.1.  All OCS features are deployed and working with best practices followed for nearly every piece of the puzzle; no cutting any corners.  The latest round of OCS patches have been applied and everything is looking good.&lt;/p&gt; &lt;p&gt;That was until I started testing Dial-In Conferencing.  I found that OCS users were able successfully join audio conferences using either a dynamic Conference ID from a scheduled meeting or their own personal Conference IDs, but only when they joined from the link within an email/meeting.&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_2_273C3834.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_thumb_273C3834.png" width=354 height=134&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;But if an OCS user attempted to manually dial the Conferencing Attendant number, or if a PBX or PSTN phone called directly into the same number, they were unable to join the meeting.  The Conferencing Attendant would accept the given ID as valid and then attempt to transfer the call into the meeting, at which point would fail as the attendant responded with:&lt;/p&gt; &lt;p align=center&gt;&lt;font color="#3f72ae"&gt;&lt;em&gt;&amp;quot;Sorry, but i can't seem to connect you to your conference right now. Please try your call again later. Goodbye.&amp;quot;&lt;/em&gt;&lt;/font&gt;  &lt;p&gt;The caller would then be immediately disconnected.  I did find out that after restarting the server the very first attempt to join any conference would actually work, but then all subsequent attempts would fail regardless of where the call was dialed from.  Whether other OCS users were already connected to the meeting (using the link) or no one was connected, inbound callers would always fail.  And it didn't matter if callers attempted to join anonymously (via meeting passcode) or authenticated (using their personal PIN).  &lt;p&gt;Something was definitely wrong; I triple-checked the OCS configuration and event logs but nothing was out-of-place.  So I walked through each of these three scenarios with debug logging enabled:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Test Scenarios  &lt;ul&gt; &lt;li&gt;Joined OCS User A to scheduled Audio conference using link in meeting invite = &lt;em&gt;&lt;strong&gt;Success&lt;/strong&gt;&lt;/em&gt;  &lt;li&gt;Joined OCS User B to conference by manually dialing '6789' in the Search bar in OC = &lt;strong&gt;&lt;em&gt;&lt;font color="#ff0000"&gt;Failure&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;  &lt;li&gt;Joined PSTN Caller using external DID '+13125556789' = &lt;strong&gt;&lt;em&gt;&lt;font color="#ff0000"&gt;Failure&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt; &lt;li&gt;Recorded trace data on FE server for following components:  &lt;ul&gt; &lt;li&gt;AcpMcu  &lt;li&gt;AvMcu  &lt;li&gt;CAAServer  &lt;li&gt;CASServer  &lt;li&gt;S4  &lt;li&gt;SIPStack&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;After going through the &lt;em&gt;AvMcu&lt;/em&gt; log with Microsoft PSS the following error was located at the time when callers were unable to join the meeting and were disconnected:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font color="#3f72ae" size=1 face="Courier New"&gt;TL_ERROR(TF_COMPONENT) [3]117C.1554::06/11/2009-16:00:38.162.0003a54f (AvMcu,UserMediaManager.CreateEndpointAndStreamsCallback:usermedia.cs(821))( 00000000027630E1 )[UserMediaManager]{sip:a4eecd6e49dd404488af679e8e8a1a29@anonymous.invalid} MP CreateEndpointAndStreams exception. System.NullReferenceException: Object reference not set to an instance of an object. &lt;/font&gt; &lt;p&gt;&lt;font color="#3f72ae" size=1 face="Courier New"&gt;at Microsoft.Rtc.Internal.Sip.TLSListener.SignString(String signString, String&amp;amp; &lt;strong&gt;&lt;em&gt;&lt;font color="#ff0000"&gt;hashAlg&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;, String&amp;amp; signAlg)&lt;/font&gt; &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;The highlighted section in the line above caught our attention as I had already seen a &lt;a href="http://support.microsoft.com/kb/968730"&gt;previous issue&lt;/a&gt; earlier that week at the same client which ended up being related to their internal certificate.  They had deployed an internal Windows 2008 Enterprise CA but had elevated the signing algorithm to SHA2 256, above the default SHA1 value.  But the affected server in that case was the only Windows Server 2003 system in the domain, all others (including the OCS servers) were running on Server 2008 which natively supports that higher level.  But because the failure seemed to be internal as the conference service couldn’t handling moving calls between it;s own services (from the lobby to a meeting) I had a hunch it might still be related to the hash level.&lt;/p&gt; &lt;p&gt;Here we can see in the details of the certificate that the &lt;em&gt;Signature Algorithm&lt;/em&gt; is indeed &lt;em&gt;sha256RSA:&lt;/em&gt;&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/69/clip_image001_2_273C3834.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title="clip_image001" border=0 alt="clip_image001" src="/Blogs/schertz_jeff/Lists/Posts/Attachments/69/clip_image001_thumb_273C3834.png" width=354 height=153&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;A quick verification of the General Properties on the Windows 2008 Enterprise Certification Authority show that the Hash algorithm used on the root CA is also using &lt;em&gt;sha256:&lt;/em&gt;&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_4_273C3834.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_thumb_1_273C3834.png" width=354 height=322&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Since the internal CA here is only configured to sign certificates using SHA2 we went out to &lt;a href="http://www.rapidssl.com/ssl-certificate-products/free-ssl/freessl.htm"&gt;RapidSSL&lt;/a&gt; to request a thirty-day free trial certificate to temporarily use on the Front-End Server.  Here we can see that the certificate is using the more common SHA1 for it’s &lt;em&gt;Signature Algorithm:&lt;/em&gt;&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_16_273C3834.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_thumb_7_273C3834.png" width=354 height=156&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;After applying the new certificate to OCS and selecting it in IIS I rebooted the server for good measure.  Initially the problem appeared to be resolved as I was able to dial directly into an audio conference from an internal PBX phone, followed by a PSTN phone.  The second caller was actually added to the conference successfully (yeay!) but in doing so the first caller was immediately booted out of the room (boo!).  And when I dialed in from a third phone, you guessed it, the second caller was promptly disconnected.&lt;/p&gt; &lt;p&gt;I looked at the OCS Event Log on the Front-End server showed a whole bunch of new error messages that had not been there before, describing lots of MCU errors, which would explain the failure to join additional parties.  Details on the error messages can be found in this &lt;a href="http://blogs.technet.com/daveh/archive/2009/03/30/error-joining-im-livemeeting-conferences-in-office-communications-server-2007.aspx"&gt;TechNet blog&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Turns out that the new certificate was (partially) to blame as it’s Issuing CA’s certificate is not configured by default in Windows Server in a way that is supported by OCS.  By checking the new certificate's path we see that the Equifax Secure Certificate Authority is the issuer used by the RapidSSL free certificate:&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_12_273C3834.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_thumb_5_273C3834.png" width=354 height=121&gt;&lt;/a&gt; &lt;/p&gt; &lt;p align=left&gt;By locating that certificate in the &lt;em&gt;&lt;font color="#3f72ae"&gt;Third-Party Root Certification Authorities\Certificates&lt;/font&gt;&lt;/em&gt; folder in the &lt;em&gt;Local Computer&lt;/em&gt; store and viewing the properties we can see that by default the certificate is only enable for a specific sub-set of purposes.  To resolve the MCU errors in OCS it needed to be enabled for all purposes.&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_8_273C3834.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_thumb_3_273C3834.png" width=354 height=380&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Once that change was made and the services are restarted, the MCU event log errors stopped appearing and all parties were all to join Dial-In Audio Conferences regardless of where and how they connected to the service.  This proved that the previous certificate was the culprit and that the higher level of encryption on the signature was causing the validation problems.&lt;/p&gt; &lt;p&gt;Microsoft is currently looking into this and have successfully reproduced the issue in a lab.  Once their debugging is completed I’ll update this blog posting with details on whether a hotfix or KB article is released in response.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;Update&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;I’ve received word back from Microsoft that the issue has been fully replicated and tested in both Standard and Enterprise Edition, and certificates issued with a Signature Algorithm of MD5 or SHA2 cannot be supported for OCS R2.  Only certificates using SHA1 with up to a 4096 bit key length will operate correctly.  Support for SHA2 and MD5 is being considered for the next release of OCS.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Category:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Published:&lt;/b&gt; 6/25/2009 1:51 PM&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Categories:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Attachments:&lt;/b&gt; &lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/69/clip_image001_2_273C3834.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/69/clip_image001_2_273C3834.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/69/clip_image001_thumb_273C3834.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/69/clip_image001_thumb_273C3834.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_12_273C3834.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_12_273C3834.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_16_273C3834.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_16_273C3834.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_2_273C3834.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_2_273C3834.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_4_273C3834.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_4_273C3834.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_8_273C3834.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_8_273C3834.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_thumb_1_273C3834.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_thumb_1_273C3834.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_thumb_273C3834.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_thumb_273C3834.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_thumb_3_273C3834.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_thumb_3_273C3834.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_thumb_5_273C3834.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_thumb_5_273C3834.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_thumb_7_273C3834.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/69/image_thumb_7_273C3834.png&lt;/a&gt;&lt;br&gt;&lt;a href=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JeffSchertz/~4/ot48LMI4A64" height="1" width="1"/&gt;</description>
      <author>Jeff Schertz</author>
      <category>Office Communications Server</category>
      <pubDate>Thu, 25 Jun 2009 18:51:27 GMT</pubDate>
      <guid isPermaLink="true">http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=69</guid>
    </item>
    <item>
      <title>OCS R2 Edge Topologies Explained</title>
      <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=70</link>
      <description>&lt;div&gt;&lt;b&gt;Body:&lt;/b&gt; &lt;div class=ExternalClass2A5737DF100E4F2A8E5760E95B2F3D5C&gt;
&lt;p&gt;Byron Spurlock has a &lt;a href="http://blogs.msdn.com/byrons/archive/2009/02/18/ocs-2007-r2-edge-server-topologies.aspx"&gt;blog article&lt;/a&gt; that briefly talks about the different topologies for Edge servers in R2 but I wanted to go into a little more detail and highlight a few seemingly small, but important changes introduced in R2 that sort of flew in under the radar as all the other neat features in R2 took center-stage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;Pre-R2 Topologies&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Firstly, anyone versed in OCS should know that when deploying an Edge Server you could select what roles you wanted to install, with a few limitations. The following table shows the different Edge Server configurations supported by OCS 2007 pre-R2 as described in the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=ED45B74E-00C4-40D2-ABEE-216CE50F5AD2&amp;amp;displaylang=en"&gt;Edge Server Deployment Guide&lt;/a&gt;.&lt;/p&gt;
&lt;table border=1 cellspacing=0 cellpadding=0 width=720&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign=top width=205&gt;
&lt;p&gt;&lt;strong&gt;Topology&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td valign=top width=513&gt;
&lt;p&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top width=205&gt;
&lt;p&gt;Consolidated Edge Topology&lt;/p&gt;&lt;/td&gt;
&lt;td valign=top width=513&gt;
&lt;ul&gt;
&lt;li&gt;Access Edge Server, Web Conferencing Edge Server, and A/V Edge Server are collocated on a single computer.&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top width=205&gt;
&lt;p&gt;Single-Site Edge Topology&lt;/p&gt;&lt;/td&gt;
&lt;td valign=top width=513&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div align=left&gt;Access Edge Server and Web Conferencing Edge Server are collocated. &lt;/div&gt;
&lt;li&gt;
&lt;div align=left&gt;The A/V Edge Server is on a separate computer.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top width=205&gt;
&lt;p&gt;Scaled Single-Site Edge Topology&lt;/p&gt;&lt;/td&gt;
&lt;td valign=top width=513&gt;
&lt;ul&gt;
&lt;li&gt;Computers with a Web Conferencing and Access Edge Server role collocated on them are load balanced. 
&lt;li&gt;Two or more A/V Edge Servers are each installed on separate computers and load balanced.&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top width=205&gt;
&lt;p&gt;Multiple Site with a Remote Site Edge Topology&lt;/p&gt;&lt;/td&gt;
&lt;td valign=top width=513&gt;
&lt;p&gt;Primary Site: 
&lt;ul&gt;
&lt;li&gt;Computers with a Web Conferencing and Access Edge Server role collocated on them are load balanced. 
&lt;li&gt;Two or more A/V Edge Servers are each installed on separate computers and load balanced. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Each Remote Site: 
&lt;ul&gt;
&lt;li&gt;One or more Web Conferencing Edge Server are installed on a dedicated computer. 
&lt;li&gt;The A/V Edge Server is installed on a dedicated computer.&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;The different Edge roles were allowed to be installed on different physical hardware, resulting in many different (and potentially confusing) scenarios.  Basically you could have (1) a dedicated server for each role, (2) separate servers with the Access Edge and Web Conferencing together with another server hosting the A/V Conferencing role, or (3) all three Edge roles on the same system.  Then you could install multiple arrays of these different scenarios.  Lost yet?  Yeah, me too.&lt;/p&gt;
&lt;p&gt;Microsoft acknowledged that this flexible, albeit overly complex set of configurations was rarely used in practice.  Nearly every enterprise level deployment we performed prior to R2 simply used one or more Consolidated Edge Server.  The requirement to break up SIP and Media traffic on dedicated systems was never important enough to warrant separating all those roles out as usually physical space, available IP addresses, and cost were the driving factors.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;Enter Release 2&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The supported Edge topologies for OCS 2007 R2 have been greatly simplified by changing one key requirement:  Only Consolidated Edge Servers are supported.  In fact, the deployment wizard (whether run from the Standard Edition or Enterprise Edition media) only allows for the installation of all components.  There is no longer an option to choose which Edge role(s) to install on the server.  Regarding support, the &lt;a href="http://technet.microsoft.com/en-us/library/dd425160(office.13).aspx"&gt;R2 documentation&lt;/a&gt; states the following:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font size=1 face=Tahoma&gt;&lt;font color="#739643"&gt;&lt;strong&gt;Supported Topologies&lt;/strong&gt; &lt;br&gt;Each Edge Server always runs all three Edge Server services: Access Edge service to validate external users and enable instant messaging (IM), Web Conferencing Edge service to enable external users to join on-premises meetings, and A/V Edge service to enable the sharing of audio and video with external users, and enable Desktop Sharing with external users. &lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font color="#739643" size=1 face=Tahoma&gt;You can configure one or more Edge Servers on your network, according to your performance needs. Three Edge Server topologies are supported: single consolidated edge topology, scaled consolidated edge topology, and multiple-site consolidated edge topology.&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p align=left&gt;What is important to clarify is that all three different topologies still utilize &lt;em&gt;Consolidated Edge Servers&lt;/em&gt;.  By having all three Edge roles in a single server you simply add additional hosts to create and expand a pool of servers as bandwidth requirements increase.  The previously supported &lt;em&gt;Consolidated&lt;/em&gt; and &lt;em&gt;Single-Site&lt;/em&gt; scenarios are affectively merged into the same scenario now, leaving just 3 unique topologies.&lt;/p&gt;
&lt;p align=left&gt;For example, here’s the diagram of the &lt;strong&gt;Scaled Consolidated Edge Topology&lt;/strong&gt; that shows a pool of consolidated Edge Servers:&lt;/p&gt;
&lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/70/image_2_21A18FF5.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/70/image_thumb_21A18FF5.png" width=640 height=346&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;So the simple take-away is that with R2 forget what you know about previous Edge role collocation and just think that there is now only one type of Edge Server.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;Multiple Access Edge Roles&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ok, so now you may be saying to yourself “I thought multiple Access Edge servers weren’t supported in a multi-site topology” and you’d be correct.  If you are deploying multiple consolidated Edge Server in different sites that all support users for the same SIP domain (read: single DNS SRV record for Automatic Configuration) then the primary site’s Access Edge Server roles should be configured to handle external client login.  The other server’s Access Edge roles will still be deployed and configured with unique FQDNs, but they will not be used and basically sit idle.  The remote site’s Edge server’s will handle Web Conferencing and A/V traffic though, which is considerable more bandwidth intensive the basis SIP traffic that the primary site handles.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;A/V Edge with NAT&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As &lt;a href="/Blogs/mcgillen_matt/Pages/Post.aspx?_ID=61"&gt;Matt&lt;/a&gt; and &lt;a href="http://blogs.technet.com/rickva/archive/2009/04/03/Configuring-A_2F00_V-Edge-Service-for-NAT.aspx"&gt;others&lt;/a&gt; have previously discussed NAT works when used on the A/V Edge Role in R2, the different support statements throughout the documentation can be read in ways that might seem confusing.&lt;/p&gt;
&lt;p&gt;The &lt;a href="http://technet.microsoft.com/en-us/library/dd572904(office.13).aspx"&gt;Security&lt;/a&gt; section makes a this statement:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font color="#739643" size=1 face=Tahoma&gt;If the edge server is a single consolidated edge server, Office Communications Server 2007 R2 allows the use of NAT for all three edge services.&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The first time I read that I assumed (thinking back to what I knew was true with pre-R2 topologies) that it meant the NAT limitation hinged on the word &lt;em&gt;‘consolidated’&lt;/em&gt; not realizing that the keyword was actually ‘&lt;em&gt;single’&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Meanwhile the &lt;a href="http://technet.microsoft.com/en-us/library/dd572885(office.13).aspx"&gt;Operations&lt;/a&gt; portion of the R2 documentation has a clearer definition that better calls attention to the fact that a single server versus multiple servers is where the limitation on NAT stands.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font color="#739643" size=1 face=t&gt;To allow the external IP address to be translated from a public IP (NAT), select the External IP address is translated by NAT check box. This option is valid for a &lt;strong&gt;&lt;em&gt;single&lt;/em&gt;&lt;/strong&gt; A/V Edge service deployment. &lt;strong&gt;&lt;em&gt;Multiple &lt;/em&gt;&lt;/strong&gt;A/V Edge services that are deployed behind a load balancer do not support network address translation (NAT).&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;So, I hope this helps clear up any confusion people might have on the change in Edge topologies.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Category:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Published:&lt;/b&gt; 7/2/2009 11:02 AM&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Categories:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Attachments:&lt;/b&gt; &lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/70/image_2_21A18FF5.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/70/image_2_21A18FF5.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/70/image_thumb_21A18FF5.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/70/image_thumb_21A18FF5.png&lt;/a&gt;&lt;br&gt;&lt;a href=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JeffSchertz/~4/6rzWQnbcOGE" height="1" width="1"/&gt;</description>
      <author>Jeff Schertz</author>
      <category>Office Communications Server</category>
      <pubDate>Thu, 02 Jul 2009 16:02:51 GMT</pubDate>
      <guid isPermaLink="true">http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=70</guid>
    </item>
    <item>
      <title>OCS Service Startup/Shutdown Order</title>
      <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=71</link>
      <description>&lt;div&gt;&lt;b&gt;Body:&lt;/b&gt; &lt;div class=ExternalClassCDF5B11869994328820C3CE95D165C48&gt;&lt;p&gt;Typically when restarting services in Windows most people use the &lt;em&gt;Services &lt;/em&gt;snap-in or the &lt;em&gt;net start/stop &lt;/em&gt;commands, but the OCS Management console offers a simple way to stop and start services in a pre-defined order. &lt;/p&gt; &lt;blockquote&gt; &lt;p align=center&gt; &lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/71/image_6_28F1C1C7.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/71/image_thumb_2_28F1C1C7.png" width=354 height=279&gt;&lt;/a&gt;   &lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/71/image_4_28F1C1C7.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/71/image_thumb_1_28F1C1C7.png" width=354 height=280&gt;&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;I investigated the behavior of this to learn what the preferred order or service dependencies may be (if at all) within OCS.  Unlike Exchange Server, where a number of services are dependant on others on the local system, none of the core OCS services are dependant on other core services.  So technically there does not appear to be a required order to stop and start services, but here’s what the console does.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;Shutdown&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;u&gt;OCS 2007 Standard Edition Front-End Server&lt;/u&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Office Communications Server Front-End  &lt;li&gt;Office Communications Server IM Conferencing  &lt;li&gt;Office Communications Server Telephony Conferencing  &lt;li&gt;Office Communications Server Monitoring Agent  &lt;li&gt;Office Communications Server Web Conferencing  &lt;li&gt;Office Communications Server Audio/Video Conferencing  &lt;li&gt;Office Communications Server Application Sharing  &lt;li&gt;Office Communications Server Response Group  &lt;li&gt;Office Communications Server Conferencing Attendant  &lt;li&gt;Office Communications Server Conferencing Announcement  &lt;li&gt;Office Communications Server Outside Voice Control&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The &lt;em&gt;Office Communications Server Application Host&lt;/em&gt; service is not automatically stopped as part of this programmed sequence, but each of the four built-in OCS application services are.  This is most likely incase additional custom application are deployed on the Front-End server which would rely on the Application Host running.  When rebooting the server that service can be left to be stopped by the shutdown process, but if rebooting all OCS services manually for some testing it wouldn’t hurt to manually restart the Application Host if desired.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;Startup&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;One might assume that when issuing the command to start all stopped services from the management console that the exact opposite behavior would be seen.  But oddly enough it’s the same &lt;em&gt;exact &lt;/em&gt;order during services startup.  Other than the aforementioned Application services (which would be assumed to be still running since the console didn't issue a stop request to it) non of the OCS services have a configured dependency on any other OCS services.  There are dependencies on the WMI service, but since there are no inter-dependencies among the OCS services they can really be started/stopped in generally any order.  But following the order that the management console was programmed to do is best practice.&lt;/p&gt; &lt;p&gt;And although the console-based Startup routine does not issue a start control, because of the set dependency when the &lt;em&gt;Application Sharing &lt;/em&gt;service is started the &lt;em&gt;Application Host &lt;/em&gt;service will automatically be started by the Windows Server host.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Category:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Published:&lt;/b&gt; 8/4/2009 1:04 PM&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Categories:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Attachments:&lt;/b&gt; &lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/71/image_4_28F1C1C7.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/71/image_4_28F1C1C7.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/71/image_6_28F1C1C7.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/71/image_6_28F1C1C7.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/71/image_thumb_1_28F1C1C7.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/71/image_thumb_1_28F1C1C7.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/71/image_thumb_2_28F1C1C7.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/71/image_thumb_2_28F1C1C7.png&lt;/a&gt;&lt;br&gt;&lt;a href=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JeffSchertz/~4/H6xWRFg4-Eg" height="1" width="1"/&gt;</description>
      <author>Jeff Schertz</author>
      <category>Office Communications Server</category>
      <pubDate>Tue, 04 Aug 2009 18:04:55 GMT</pubDate>
      <guid isPermaLink="true">http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=71</guid>
    </item>
    <item>
      <title>Managing Certification Authority Certificates for OCS</title>
      <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=72</link>
      <description>&lt;div&gt;&lt;b&gt;Body:&lt;/b&gt; &lt;div class=ExternalClassD3D06774282743B4BA2391DAEC2D2C6C&gt;&lt;p&gt;Typically in a basic deployment there are times when Windows workstations and servers which are not members of the internal Active Directory domain need to communicate with OCS servers.  This could be attempting to sign-in to Office Communicator installed on a test workstation on the internal corporate network, as well as a perimeter-network server (like ISA or and OCS Edge server) attempting an MTLS connection to an internal OCS server.  This also applies to external workstations trying to sign-in to an Access Edge service which has been configured with a private internal certificate instead of a publicly-trusted third-party cert.&lt;/p&gt; &lt;p&gt;By default, when a Windows computer (Workstation or Server OS) is a member of an Active Directory domain which has an internal Enterprise Certificate Authority installed in it that computer automatically trusts that certificate authority.  If a multi-tier CA deployment exists, then the client will have already imported all Root and Subordinate CA certificates.&lt;/p&gt; &lt;p&gt;This topic has been covered many different times for other PKI-leveraging products, and is discussed in multiple places throughout the OCS product documentation.  But it’s a pretty common stumbling-block (seen in the TechNet support forums very often) for users and administrators who are new to the idea of using certificates.  So here’s a detailed walkthrough to show how to export certificates from certificate authorities into non-domain-joined workstations and servers.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;Certificates Console&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;By default Windows does not include a published Administrative Tool for accessing the certificates store, you must first create the console by adding an MMC snap-in.  This process is the same for all current Windows operating system types and versions, and lets you view and manage the certificates on the local computer.  It’s important to note that the Computer Account (and not the logged on user’s account) is where certificates must be managed for all these processes.  Putting certificates in the wrong stores and folders will prevent successful communications between hosts.&lt;/p&gt; &lt;ol&gt; &lt;li&gt;From the &lt;em&gt;Run &lt;/em&gt;command enter &lt;font color="#739643"&gt;mmc.exe&lt;/font&gt;  &lt;li&gt;From the &lt;em&gt;File &lt;/em&gt;menu select &lt;font color="#739643"&gt;Add/Remove Snap In…&lt;/font&gt;  &lt;li&gt;Add the &lt;em&gt;Certificates&lt;/em&gt; snap-in  &lt;ul&gt; &lt;li&gt;When prompted to select what store, select &lt;font color="#739643"&gt;Computer Account&lt;/font&gt;  &lt;li&gt;When prompted to select what computer to manage, select &lt;font color="#739643"&gt;Local Computer&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;Validating a Domain Member’s Certificates&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;To first see what the expected end-result would look like, and to understand why domain-joined computers can communicate with the OCS servers without issues let’s look at the trusted certificates currently setup on a domain workstation.  Using the previous steps, open the &lt;em&gt;Certificates&lt;/em&gt; console on any domain-joined computer.&lt;/p&gt; &lt;p&gt;Expand the tree out to the &lt;font color="#192954"&gt;&lt;em&gt;&lt;font color="#739643"&gt;Trusted Root Certification Authorities\Certificates&lt;/font&gt;&lt;/em&gt; &lt;/font&gt;folder and locate the root certificate.  If you aren’t sure of what the name is it can help to sort the &lt;em&gt;Intended Purposes&lt;/em&gt; column and look at the few certificates listed with &lt;strong&gt;&amp;lt;All&amp;gt;&lt;/strong&gt; purposes.  In the screenshot below we can see my lab’s Root Certificate Authority’s certificate is stored here.  Unless some custom Group Policy change were made to prohibit certificate downloads to domain members, all domain computers should have the internal Enterprise CA root certificate stored in this location.&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_4_6CFE76D5.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_thumb_1_6CFE76D5.png" width=604 height=170&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;If there is more than one tier of Certificate Authorities deployed in the domain, then additional subordinate (Policy and/or Issuing) CAs would be found (along with a second instance of the Root CA’s certificate) in the&lt;font color="#739643"&gt; &lt;em&gt;Intermediate Certification Authorities\Certificates&lt;/em&gt;&lt;/font&gt; folder.  This screenshot shows both my Root (SchertzLabRootCA) and Issuing CA (SchertzLabIssuingCA) certificates.  &lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_2_6CFE76D5.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_thumb_6CFE76D5.png" width=604 height=206&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;This is indicative of a more secure CA deployment utilizing and offline Root CA with an online issuing, subordinate CA.  It’s important to identify which type (thus how many certificates) is used in your environment so that all are exported and imported correctly.  If only the Root CA certificate is imported into a workgroup computer and not the Issuing CA cert (which most likely issued the certificates to the OCS servers) then communications will fail as the chain of trust will not be complete.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;Failed Sign-In From Workgroup Computer&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;When attempting to sign-in to Office Communicator from a computer that doesn’t trust the CA that issued certificates to the OCS server, it’s pretty clear that it won’t work as sign-in immedataly fails with the following error: &lt;em&gt;“There was a problem verifying the certificate from the server.  Please contact your administrator.”&lt;/em&gt;&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_6_6CFE76D5.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_thumb_2_580CF462.png" width=504 height=112&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;A quick look at the Application Event Log on the local computer shows a bit more details as to what happened:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font color="#3f72ae" size=2 face="Courier New"&gt;Event Type:     Error&lt;br&gt;Event Source:   Communicator&lt;br&gt;Event ID:       5&lt;br&gt;Description:&lt;br&gt;Communicator could not connect securely to server pool1.schertz.lab because the certificate presented by the server was not trusted due to validation error 0x80090325.  The issuing certificate authority (CA) for the server's certificate may not be locally trusted by the client, the certificate may be revoked, or the certificate may have expired.&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Since the error description mentions a few different potential causes, let’s use the LCSerror.exe command from the OCS Resource Kit tools to lookup that specific error code for a more definitive description.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font color="#739643" size=2 face="Courier New"&gt;c:\&amp;gt;lcserror 0x80090325 &lt;/font&gt; &lt;p&gt;&lt;font color="#739643" size=2 face="Courier New"&gt;0x80090325 -&amp;gt; (SEC_E_UNTRUSTED_ROOT)  (kernel32.dll) The certificate chain was issued by an authority that is not trusted.&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;So based on those results, we have confirmed that the root cause is the lack of any trusted CA certificates on the local computer. &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;Exporting Certificates&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Microsoft has a TechNet article (&lt;a href="http://support.microsoft.com/kb/555252/en-us"&gt;KB555252&lt;/a&gt;) that covers how to export the certificate from the Root CA, but the directions assume that you have console access to the Root CA.  Except for testing environment, most users and even Administrators should neither have access nor be able to get to the Root CA as protecting the private key of that system is imperative to a solid PKI infrastructure.  It is also unnecessary to access the CAs directly to get to their certificates, they are already installed on any domain-member.  And since the private key is not needed (nor desired, you should never export the Root CA’s private key onto a less-secure server) there is even less of a reason to do it the way shown in that article.&lt;/p&gt; &lt;p&gt;So the simplest route is to just jump on the OCS Front-End server to export CA certificates.  In order to validate that all certificates are exported, let’s look at the Certification Path on the certificate issued to the OCs services.&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Open up the &lt;em&gt;Certificates&lt;/em&gt; console using the same instructions as shown in the beginning of this article.&lt;/li&gt; &lt;li&gt;Expand the &lt;em&gt;Personal\Certificates &lt;/em&gt;folder and locate the certificate assigned to the OCS Front-End services.&lt;/li&gt; &lt;li&gt;Open the certificate (or &lt;em&gt;Open&lt;/em&gt; from the right-click menu; not &lt;em&gt;Properties&lt;/em&gt;).&lt;/li&gt; &lt;li&gt;Select the &lt;font color="#739643"&gt;Certification Path&lt;strong&gt; &lt;/strong&gt;&lt;/font&gt;tab.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Here I’ve included screenshots of both potential scenarios, a single-tier CA deployment, and a multi-tier CA deployment.&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_24_580CF462.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_thumb_11_580CF462.png" width=354 height=122&gt;&lt;/a&gt;       &lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_8_580CF462.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_thumb_3_580CF462.png" width=354 height=123&gt;&lt;/a&gt;  &lt;/p&gt; &lt;p align=left&gt;Start with exporting the root certificate for either scenario:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Highlight the top-level root certificate and click the &lt;font color="#739643"&gt;View Certificate&lt;/font&gt;&lt;em&gt; &lt;/em&gt;button.&lt;/li&gt; &lt;li&gt;Select the &lt;em&gt;Details &lt;/em&gt;tab and then click &lt;font color="#739643"&gt;Copy to File&lt;/font&gt;.&lt;/li&gt; &lt;li&gt;From the &lt;em&gt;Certificate Export Wizard&lt;/em&gt; select &lt;font color="#739643"&gt;DER Encoded binary X.509 (.CER)&lt;/font&gt;&lt;/li&gt; &lt;li&gt;Save the file to local drive (e,g, c:\RootCert.cer)&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;For the second example where the OCS certificate was issued by a subordinate CA we’ll need to also export the Issuing certificate.  Follow the exact same steps as shown above for the next certificate down the chain.  If there a even more level’s then make sure all certificates in the chain are exported to a .CER file.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;Importing Certificates&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Now that we have the certificate files exported as that is left to do is move them over to the desired computer and import them into the proper location.  If there is only a single Root CA then that single file is imported into just the &lt;em&gt;&lt;font color="#739643"&gt;Trusted Root Certification Authorities&lt;/font&gt;&lt;/em&gt; folder, but if there are multiple CA certificates then in addition to placing the Root there, all certificates (root and all subordinates) in the chain are placed into the &lt;em&gt;&lt;font color="#739643"&gt;Intermediate Certification Authorities&lt;/font&gt;&lt;/em&gt; folder as well.&lt;/p&gt; &lt;p&gt;&lt;u&gt;Importing the Root CA certificate:&lt;/u&gt;&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Copy the &lt;font color="#739643"&gt;RootCert.cer&lt;/font&gt; file to over to the workgroup computer.&lt;/li&gt; &lt;li&gt;Open the Certificates console as shown in the beginning of this article.&lt;/li&gt; &lt;li&gt;Expand and highlight the &lt;em&gt;Trusted Root Certification Authorities\Certificates&lt;/em&gt; folder.&lt;/li&gt; &lt;li&gt;From the &lt;em&gt;Action &lt;/em&gt;menu select &lt;font color="#739643"&gt;All Tasks &amp;gt; Import&lt;/font&gt;.&lt;/li&gt; &lt;li&gt;In the Certificate Import Wizard:&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Select the previously exported file (RootCert.cer).&lt;/li&gt; &lt;li&gt;The Certificate Store should automatically display the location you started the Import wizard from.  Make sure that it is the &amp;quot;&lt;font color="#739643"&gt;Trusted Root Certification Authorities&lt;/font&gt;” and finish the wizard.&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_28_580CF462.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_thumb_13_580CF462.png" width=404 height=200&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;u&gt;Importing Subordinate CA certificates:&lt;/u&gt;&lt;/p&gt; &lt;p&gt;If there are any remaining subordinate certification authority certificates to import, follow the same steps as above for each certificate (including the root) but instead import them all into the &lt;font color="#739643"&gt;Intermediate Certification Authorities&lt;/font&gt; store.&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_30_580CF462.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_thumb_14_580CF462.png" width=404 height=196&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The desired configuration would include the Root CA certificate in both the Root and Intermediate stores, with all other subordinate certificates in only the Intermediate store:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Trusted Root Certification Authorities&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Root CA certificate&lt;br&gt;&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Intermediate Certification Authorities&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Root CA certificate&lt;/li&gt; &lt;li&gt;Policy CA certificate&lt;/li&gt; &lt;li&gt;Issuing CA certificate&lt;/li&gt; &lt;li&gt;Issuing CA certificate&lt;/li&gt; &lt;li&gt;etc…&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt; &lt;p&gt;At this point Office Communicator should be able to sign-in without the previous 0x80090325 error.  The same steps can be used to configure the certificate chain for an OCS Edge server or to setup Federation with a peer who isn’t using public certificates on their Access Edge proxy.  Basically any time two hosts need to communicate securely by negotiating a certificate-based network connection, if both parties do not already trust each other’s certificate issuers.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Category:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Published:&lt;/b&gt; 8/5/2009 10:17 AM&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Categories:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Attachments:&lt;/b&gt; &lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_2_6CFE76D5.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_2_6CFE76D5.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_24_580CF462.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_24_580CF462.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_28_580CF462.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_28_580CF462.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_30_580CF462.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_30_580CF462.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_4_6CFE76D5.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_4_6CFE76D5.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_6_6CFE76D5.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_6_6CFE76D5.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_8_580CF462.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_8_580CF462.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_thumb_1_6CFE76D5.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_thumb_1_6CFE76D5.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_thumb_11_580CF462.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_thumb_11_580CF462.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_thumb_13_580CF462.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_thumb_13_580CF462.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_thumb_14_580CF462.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_thumb_14_580CF462.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_thumb_2_580CF462.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_thumb_2_580CF462.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_thumb_3_580CF462.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_thumb_3_580CF462.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_thumb_6CFE76D5.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/72/image_thumb_6CFE76D5.png&lt;/a&gt;&lt;br&gt;&lt;a href=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JeffSchertz/~4/Sb4TtoWiI2Q" height="1" width="1"/&gt;</description>
      <author>Jeff Schertz</author>
      <category>Office Communications Server</category>
      <pubDate>Wed, 05 Aug 2009 15:17:28 GMT</pubDate>
      <guid isPermaLink="true">http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=72</guid>
    </item>
    <item>
      <title>OCS Services Hang on Startup</title>
      <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=73</link>
      <description>&lt;div&gt;&lt;b&gt;Body:&lt;/b&gt; &lt;div class=ExternalClassCBCD54DFF7DA45A9B5B1325DCFEC0E1D&gt;&lt;p&gt;In a recent deployment OCS 2007 R2 Enterprise Edition was deployed to a physical server running Windows Server 2008 that began to exhibit problems immediately after the first reboot.  Basically the server failed to respond to network traffic and was unreachable via RDP or other previously listening services after restarting.&lt;/p&gt; &lt;p&gt;Upon connecting to the console locally the server had apparently dropped off the network, as indicated by the system tray Network icon displaying as disabled. &lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_4_7396465E.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_thumb_1_7396465E.png" width=244 height=111&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;After checking the physical connections and verifying there was no IP address conflict a number of hardware-related tests were run.  Eventually we found that if the OCS services were disabled then the server would boot normally with networking enabled.  Checking the logs showed that all OCS services appeared to hang on startup for 10-15 minutes, after which they would all start and both OCS and Windows itself functioned normally.  The server appeared back on the network and all looked fine, until the next reboot.  If each OCS service was disabled then the server would boot-up normally and respond to network traffic immediately.  The latest round of OCS hotfixes were applied to the server but there was no change in behavior.&lt;/p&gt; &lt;p&gt;A contact in the OCS Senior Support team then sent me the following details as the issue has been seen before in other Server 2008 OCS Front-End deployments, but has not yet been reproduced under testing.  It’s so far unknown if the there is a conflict between Server 2008 and the specific hardware used in this scenario, or if that is entirely unrelated.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;Resolution&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The workaround instructions we received from the Microsoft Product Support team was to configure a dependency on the WMI Performance Adapter service.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Set the &lt;em&gt;Startup Type&lt;/em&gt; of the WMI Performance Adapter service (wmiApSrv.exe) to &lt;font color="#739643"&gt;Automatic&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_6_7396465E.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_thumb_2_7396465E.png" width=404 height=232&gt;&lt;/a&gt; &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Configure the OCS Front-End service (RtcSrv.exe) to be dependant on the WMI Performance Adapter service&lt;/li&gt;&lt;/ul&gt; &lt;blockquote&gt; &lt;p&gt;The ‘sc config’ command can be used to modify the &lt;em&gt;DependOnService&lt;/em&gt; value.  Note that by default the Front-End service is already dependant on the Windows Management Instrumentation (WinMgmt) and CNG Key isolation (KeyIso) services.  Because this command overwrites the current value both the existing and new entries must be supplied.  To verify the current configuration is the same as this example, check the &lt;em&gt;Dependencies&lt;/em&gt; tab on the Front-End server before making any changes.&lt;/p&gt;&lt;/blockquote&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_8_7396465E.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_thumb_7396465E.png" width=404 height=204&gt;&lt;/a&gt; &lt;/p&gt; &lt;blockquote&gt; &lt;p align=left&gt;Then issue the following command to configure the new dependency. Add any additional dependant services to the command below to retain any other services that might already be customized.&lt;/p&gt; &lt;p align=left&gt;&lt;font color="#739643" size=2 face="Courier New"&gt;c:\&amp;gt;sc config rtcsrv depend= WinMgmt/KeyIso/WmiApsrv&lt;br&gt;[SC] ChangeServiceConfig SUCCESS&lt;/font&gt;&lt;/p&gt; &lt;p align=left&gt;To double-check the new service dependency the registry value can be viewed here:&lt;/p&gt; &lt;p align=left&gt;&lt;font color="#739643" size=2 face="Courier New"&gt;HKEY_LOCAL_MACHINE\SYSTEM\ControlControlSet\Services\RtcSrv\DependOnService&lt;/font&gt;&lt;/p&gt; &lt;p align=center&gt;&lt;font color="#739643" size=2 face="Courier New"&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_10_7396465E.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_thumb_3_7396465E.png" width=354 height=145&gt;&lt;/a&gt; &lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;ul&gt;&lt;/font&gt; &lt;li&gt;Restart the server and validate that all OCS services start correctly, and in a timing manner with no adverse impacts to the host’s Network connection&lt;br&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;If this does not resolve the original issue (as was the case with this specific deployment) then it’s further recommended to set a delayed startup on all OCS services except for the Front-End service.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Leave the &lt;em&gt;Startup Type&lt;/em&gt; of all Office Communications Server Front-End service set to &lt;font color="#739643"&gt;Automatic&lt;/font&gt;&lt;br&gt; &lt;li&gt;Configure the &lt;em&gt;Startup Type&lt;/em&gt; of all other Office Communications Server services to &lt;font color="#739643"&gt;Automatic (Delayed Start)&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_14_7396465E.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_thumb_5_7396465E.png" width=404 height=232&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;This last step resolved the startup issues on the Front-End server by allowing Windows to complete bootup and register with the network before starting up additional OCS services.  this is considered more of a workaround as the root-cause was not yet identified.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Category:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Published:&lt;/b&gt; 8/13/2009 11:04 AM&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Categories:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Attachments:&lt;/b&gt; &lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_10_7396465E.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_10_7396465E.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_14_7396465E.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_14_7396465E.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_4_7396465E.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_4_7396465E.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_6_7396465E.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_6_7396465E.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_8_7396465E.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_8_7396465E.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_thumb_1_7396465E.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_thumb_1_7396465E.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_thumb_2_7396465E.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_thumb_2_7396465E.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_thumb_3_7396465E.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_thumb_3_7396465E.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_thumb_5_7396465E.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_thumb_5_7396465E.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_thumb_7396465E.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/73/image_thumb_7396465E.png&lt;/a&gt;&lt;br&gt;&lt;a href=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JeffSchertz/~4/HJhPXlmZtvo" height="1" width="1"/&gt;</description>
      <author>Jeff Schertz</author>
      <category>Office Communications Server</category>
      <pubDate>Thu, 13 Aug 2009 16:04:56 GMT</pubDate>
      <guid isPermaLink="true">http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=73</guid>
    </item>
    <item>
      <title>OCS R2 CWA Single Certificate Configuration</title>
      <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=75</link>
      <description>&lt;div&gt;&lt;b&gt;Body:&lt;/b&gt; &lt;div class=ExternalClass06B1EEE127414F75BCD4B5160FCD3B18&gt;&lt;p&gt;Although I find it best practice to deploy two separate certificates on an OCS R2 Communicator Web Access server, there are times when using a single certificate for both server-based MTLS and client-based SSL communications are the best approach, mainly cost if an internal CA is unavailable and all certificates are being purchased.  The problem is that getting a single certificate to work for both roles will typically fail if you follow the current guidelines.&lt;/p&gt; &lt;p&gt;The official OCS R2 documentation for &lt;a href="http://technet.microsoft.com/en-us/library/dd425345(office.13).aspx"&gt;Preparing Certificates for Communicator Web Access&lt;/a&gt; currently states the following:&lt;/p&gt; &lt;p&gt;&lt;font color="#739643" size=1 face=Verdana&gt;&lt;em&gt;“Although Communicator Web Access uses two different protocols you can typically get by with installing a single certificate: in most cases the same certificate can be used both for MTLS and SSL. (The MTLS certificate is assigned when you activate Communicator Web Access, while the SSL certificate is assigned each time you create a virtual server). If you have just one Communicator Web Access server you can use a single certificate as long as that certificate meets the following criteria”&lt;/em&gt;&lt;/font&gt;&lt;/p&gt; &lt;div align=center&gt; &lt;table border=1 cellspacing=0 cellpadding=2 width=721 align=center&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=top width=197&gt;&lt;strong&gt;Subject Name&lt;/strong&gt;&lt;/td&gt; &lt;td valign=top width=522&gt; &lt;p&gt;Matches the URL of the Communicator Web Access site. For example, if the URL is &lt;a href="https://im.contoso.com"&gt;https://im.contoso.com&lt;/a&gt; then the certificate should have &lt;em&gt;im.contoso.com&lt;/em&gt; as subject name.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=top width=197&gt;&lt;strong&gt;Subject Alternative Name&lt;br&gt;(SAN)&lt;/strong&gt;&lt;/td&gt; &lt;td valign=top width=522&gt; &lt;p&gt;Includes the following:  &lt;ul&gt; &lt;li&gt;The URL of the Communicator Web Access site.  &lt;li&gt;The &lt;strong&gt;as&lt;/strong&gt; URL.  &lt;li&gt;The &lt;strong&gt;download&lt;/strong&gt; URL.  &lt;li&gt;The fully qualified domain name (FQDN) of the Communicator Web Access server&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt; &lt;p&gt;The problem is that this statement is unfortunately incorrect.  The remaining half of that page &lt;em&gt;is &lt;/em&gt;correct in terms of the certificate configuration required for using &lt;em&gt;two separate &lt;/em&gt;certificates for MTLS and SSL communications, but if the directions above are followed to create a single certificate it will not work.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;Validation&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Assuming we have a newly deployed CWA server called &lt;em&gt;cwaserver.contoso.com&lt;/em&gt; I’ll request a new certificate using the following fields, matching the documented requirements. (Note that the server’s FQDN doesn't necessarily have to be in the same domain as the published web address.  The documentation assumes the same domain namespace, but the server FQDN could just as easily be in &lt;em&gt;nwtraders.local&lt;/em&gt;, for example.  This is common when the internal Active Directory namespace is different than a company’s public domain name which is used for SMTP and SIP services.) &lt;/p&gt; &lt;div align=center&gt; &lt;table border=1 cellspacing=0 cellpadding=2 width=511 align=center&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=top width=201&gt;&lt;strong&gt;Subject&lt;/strong&gt;&lt;/td&gt; &lt;td valign=top width=308&gt;CN = im.contoso.com&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=top width=201&gt;&lt;strong&gt;Subject Alternative Name&lt;/strong&gt;&lt;/td&gt; &lt;td valign=top width=308&gt;DNS Name = im.contoso.com&lt;br&gt;DNS Name = download.im.contoso.com&lt;br&gt;DNS Name = as.im.contoso.com&lt;br&gt;DNS Name = cwaserver.contoso.com&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt; &lt;p&gt;When the &lt;strong&gt;Activate Communicator Web Access&lt;/strong&gt; wizard is run and this certificate is selected, it will fail with the error &lt;em&gt;&lt;font color="#3f72ae"&gt;“The subject of the certificate you selected doesn’t match the current computer’s FQDN.”&lt;/font&gt;&lt;/em&gt;&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/75/clip_image002_2_2FCF7F45.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title="clip_image002" border=0 alt="clip_image002" src="/Blogs/schertz_jeff/Lists/Posts/Attachments/75/clip_image002_thumb_2FCF7F45.jpg" width=354 height=92&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;This is because the MTLS server-to-server communications in OCS are established by resolving the server’s hostname and if the certificate’s Subject Name is something other than the server name then communications will fail.  The wizard looks for this requirement and blocks to assignment of a certificate that will not meet that requirement.  The last section on the same page of the OCS documentation reflects that requirement in the MTLS certificate configuration example: &lt;p&gt;&lt;font color="#739643" size=1 face=Verdana&gt;&lt;em&gt;“The MTLS certificate should list the full qualified domain name (FQDN) of the Communications Web Access computer in the subject name of the certificate. If the fully qualified domain name (FQDN) of that computer is cwaserver.contoso.com then the MTLS certificate should include the following information (with no subject alternative name required)”&lt;/em&gt;&lt;/font&gt;&lt;/p&gt; &lt;div align=center&gt; &lt;table border=1 cellspacing=0 cellpadding=2 width=510 align=center&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=top width=197&gt;&lt;strong&gt;Subject Name&lt;/strong&gt;&lt;/td&gt; &lt;td valign=top width=311&gt; &lt;ul&gt; &lt;li&gt;cwaserver.contoso.com&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;Resolution&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt; &lt;p&gt;So if you have not figured it out by now, the correct configuration is to use the server’s FQDN in the &lt;em&gt;Subject Name&lt;/em&gt; of the single certificate and then populate the SAN field with all names.  This will meet the Activation wizard’s requirement for assigning an MTLS certificate, and the published URL in SAN field will suffice for SSL communications. &lt;p&gt;  &lt;div align=center&gt; &lt;table border=1 cellspacing=0 cellpadding=2 width=511 align=center&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=top width=201&gt;&lt;strong&gt;Subject&lt;/strong&gt;&lt;/td&gt; &lt;td valign=top width=308&gt;CN = &lt;font color="#ff0000"&gt;cwaserver.contoso.com&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=top width=201&gt;&lt;strong&gt;Subject Alternative Name&lt;/strong&gt;&lt;/td&gt; &lt;td valign=top width=308&gt;DNS Name = im.contoso.com&lt;br&gt;DNS Name = download.im.contoso.com&lt;br&gt;DNS Name = as.im.contoso.com&lt;br&gt;DNS Name = cwaserver.contoso.com&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt; &lt;p&gt;As I understand it, this portion of the deployment documentation is under review by the product team and I hope to see it corrected in the near future.  I’ll update this blog when that happens to reflect any changes.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Category:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Published:&lt;/b&gt; 8/19/2009 7:35 AM&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Categories:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Attachments:&lt;/b&gt; &lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/75/clip_image002_2_2FCF7F45.jpg"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/75/clip_image002_2_2FCF7F45.jpg&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/75/clip_image002_thumb_2FCF7F45.jpg"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/75/clip_image002_thumb_2FCF7F45.jpg&lt;/a&gt;&lt;br&gt;&lt;a href=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JeffSchertz/~4/35wTZ2_TFMY" height="1" width="1"/&gt;</description>
      <author>Jeff Schertz</author>
      <category>Office Communications Server</category>
      <pubDate>Wed, 19 Aug 2009 12:35:42 GMT</pubDate>
      <guid isPermaLink="true">http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=75</guid>
    </item>
    <item>
      <title>OCS Deployment Log Tips</title>
      <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=76</link>
      <description>&lt;div&gt;&lt;b&gt;Body:&lt;/b&gt; &lt;div class=ExternalClassE3C248EECE284F59B07D7443667CAE1B&gt;&lt;p&gt;These are some pretty basic notes, but worth calling out for the benefit of users new to the OCS Deployment Wizard.  Troubleshooting deployment issues is pretty common and the logs are the best place to start from.&lt;/p&gt; &lt;p&gt;During the various setup wizards in OCS each step typically concludes with a window reporting either successful or failed results.  It’s recommended to review each log even if the wizard completes successfully as there could be one or more warnings worth looking into.  Some warnings can be ignored as certain checks may not apply to the specific deployment at the time.&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/76/image_8_4CE9C56A.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/76/image_thumb_3_4CE9C56A.png" width=454 height=181&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;If the checkbox isn’t marked or the window closed accidentally, no problem.  The files are all saved by default in the system temporary directory (%TEMP%).&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/76/image_2_4CE9C56A.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/76/image_thumb_4CE9C56A.png" width=454 height=136&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;By default Internet Explorer will not allow the active content to run that is embedded in the deployment logs.  The Collapse/Expand controls will not work, making the log appear to be a bit light on details.  In order to access the content of the log the Allow BLocked Content option must be chosen from the right-click menu on the alert message.&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/76/image_12_4CE9C56A.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/76/image_thumb_5_4CE9C56A.png" width=454 height=212&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;But this gets annoying when viewing multiple logs during deployment and/or troubleshooting, so there is a simple setting in the Internet Explorer &lt;em&gt;Advanced &lt;/em&gt;properties that can remove that restriction.  Simple enable the “Allow active content to run in files on My Computer” setting and then restart Internet Explorer.  I typically flip this setting on the OCS server during deployment, but then revert back to the default when done.&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/76/image_6_4CE9C56A.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/76/image_thumb_2_4CE9C56A.png" width=454 height=210&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;When viewing short logs it’s easier to simply hit the Expand All option in the upper-right hand corner and then scroll through the displayed contents.&lt;/p&gt; &lt;p&gt;But when tracking down errors in large, detailed logs it’s usually easier to skip that and only expand the individual Actions displaying the error result.  This helps to quickly drill down to the desired section instead of just scrolling through page after page.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Category:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Published:&lt;/b&gt; 8/25/2009 2:14 PM&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Categories:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Attachments:&lt;/b&gt; &lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/76/image_12_4CE9C56A.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/76/image_12_4CE9C56A.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/76/image_2_4CE9C56A.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/76/image_2_4CE9C56A.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/76/image_6_4CE9C56A.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/76/image_6_4CE9C56A.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/76/image_8_4CE9C56A.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/76/image_8_4CE9C56A.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/76/image_thumb_2_4CE9C56A.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/76/image_thumb_2_4CE9C56A.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/76/image_thumb_3_4CE9C56A.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/76/image_thumb_3_4CE9C56A.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/76/image_thumb_4CE9C56A.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/76/image_thumb_4CE9C56A.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/76/image_thumb_5_4CE9C56A.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/76/image_thumb_5_4CE9C56A.png&lt;/a&gt;&lt;br&gt;&lt;a href=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JeffSchertz/~4/2r8_Py-aC-M" height="1" width="1"/&gt;</description>
      <author>Jeff Schertz</author>
      <category>Office Communications Server</category>
      <pubDate>Tue, 25 Aug 2009 19:14:29 GMT</pubDate>
      <guid isPermaLink="true">http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=76</guid>
    </item>
    <item>
      <title>OCS Certificate Deployment White Paper</title>
      <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=77</link>
      <description>&lt;div&gt;&lt;b&gt;Body:&lt;/b&gt; &lt;div class=ExternalClass429ECE751F494C7A85751C48FF0BA96E&gt;&lt;p&gt;Microsoft has just released a new white paper on using certificates with Office Communications Server.  Although entitled “OCS 2007 R2 Deploying Certificates” it actually covers both 2007 and 2007 R2 versions of OCS.&lt;/p&gt; &lt;p&gt;This is a very comprehensive document (just short of 100 pages) that covers everything from basic requirements down to specific scenarios like sample LCSCMD commands for requesting certificates for a reverse proxy.  A number of the common problems and misunderstood areas have been addresses in much more detail and the original planning and deployment documents, so I highly recommend reading through this document.  I learned a few things myself in reading the initial drafts that weren’t covered by any existing documentation.&lt;/p&gt; &lt;p&gt;I’ve known about this document for some time as I and other MVPs have been reviewing and offering input on the various revisions for some time, but can only now inform others as the final work has been released publicly.  Thanks to Rick Kingslan for allowing a number of people to review and add content that consultants out in the field felt was important to add.  I know I’ll soon be pointing a lot of TechNet forum users to this document link.&lt;/p&gt; &lt;p&gt;The white paper can be downloaded directly from the link below:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;strong&gt;&lt;font color="#739643"&gt;Deploying Certificates in Office Communications Server 2007 and Office Communications Server 2007 R2&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=163083"&gt;http://go.microsoft.com/fwlink/?LinkId=163083&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;(If the above link doesn’t work then head over to the master &lt;a href="http://www.microsoft.com/DOWNLOADS/details.aspx?FamilyID=e9f86f96-aa09-4dca-9088-f64b4f01c703&amp;amp;displaylang=en"&gt;Microsoft Office Communications Server 2007 R2 Documentation&lt;/a&gt; page and download the document named &lt;em&gt;OCS 2007 R2 Deploying Certificates.doc&lt;/em&gt; from the ‘Files in this Download’ section.)&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Category:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Published:&lt;/b&gt; 8/28/2009 4:19 PM&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Categories:&lt;/b&gt; Office Communications Server&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JeffSchertz/~4/sRUW96Y_mr8" height="1" width="1"/&gt;</description>
      <author>Jeff Schertz</author>
      <category>Office Communications Server</category>
      <pubDate>Fri, 28 Aug 2009 21:19:43 GMT</pubDate>
      <guid isPermaLink="true">http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=77</guid>
    </item>
    <item>
      <title>OCS Edge on Server 2008 – The Strong Host Model</title>
      <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=78</link>
      <description>&lt;div&gt;&lt;b&gt;Body:&lt;/b&gt; &lt;div class=ExternalClass9A6B5D26EEE8459E95A4DCA11F90D76B&gt;&lt;p&gt;The typical OCS deployment these days is using Windows Server 2008 instead of Server 2003 for the host OS now since R2 and Server 2008 have been out for some time, so a certain issue has begun to pop up in some deployments.  Basically, if an R2 Edge server is deployed on Server 2008 and three separate NICs are used for the three external Edge roles then some routing problems can typically be seen.  Previously on Server 2003 this was not a problem, but something has appeared to change in the behavior of Server 2008.&lt;/p&gt; &lt;p&gt;Well here is the story.  (Do not miss the final paragraph as there is an important point that might make the rest of this article moot!)&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;OCS Edge on Windows Server 2003&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p align=left&gt;Let us first revisit a proper configuration of an Edge Server when using multiple external interfaces.&lt;/p&gt; &lt;p align=left&gt;Although this example is using private IP addresses with a single consolidated R2 Edge (with a static NAT &lt;a href="http://technet.microsoft.com/en-us/library/dd441361(office.13).aspx"&gt;compatible firewall&lt;/a&gt;) the scenario still holds true if publicly routable IP addresses are used instead.&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_10_54D70616.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_thumb_4_54D70616.png" width=700 height=170&gt;&lt;/a&gt; &lt;/p&gt; &lt;div align=center&gt; &lt;table border=1 cellspacing=0 cellpadding=2 width=634&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=top width=194&gt; &lt;p align=center&gt;&lt;strong&gt;Interface Role&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=124&gt; &lt;p align=center&gt;&lt;strong&gt;IP Address&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=147&gt; &lt;p align=center&gt;&lt;strong&gt;Subnet Mask&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=167&gt; &lt;p align=center&gt;&lt;strong&gt;Default Gateway&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=top width=194&gt; &lt;p align=center&gt;Internal Edge&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=124&gt; &lt;p align=center&gt;10.1.1.30&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=147&gt; &lt;p align=center&gt;255.0.0.0&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=167&gt; &lt;p align=center&gt;&lt;em&gt;&amp;lt;not defined&amp;gt;&lt;/em&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=top width=194&gt; &lt;p align=center&gt;Access Edge&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=124&gt; &lt;p align=center&gt;172.16.1.31&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=147&gt; &lt;p align=center&gt;255.255.255.0&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=167&gt; &lt;p align=center&gt;172.16.1.1&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=top width=194&gt; &lt;p align=center&gt;Web Conferencing Edge&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=124&gt; &lt;p align=center&gt;172.16.1.32&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=147&gt; &lt;p align=center&gt;255.255.255.0&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=167&gt; &lt;p align=center&gt;&lt;em&gt;&amp;lt;not defined&amp;gt;&lt;/em&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=top width=194&gt; &lt;p align=center&gt;A/V Conferencing Edge&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=124&gt; &lt;p align=center&gt;172.16.1.33&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=147&gt; &lt;p align=center&gt;255.255.255.0&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=167&gt; &lt;p align=center&gt;&lt;em&gt;&amp;lt;not defined&amp;gt;&lt;/em&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt; &lt;p align=left&gt;Because internal networks are ‘known’ and external clients could be coming from anywhere in the public Internet IP address space (assuming Public IPs are used like in this example) then the single default gateway for the server should NOT be defined on the internal interface, but on an external interface.&lt;/p&gt; &lt;p&gt;Additionally, a static route would be defined to route traffic to/from the internal subnet(s).  Not only do the Front-End and other OCS servers need to communicate directly with the Edge internal interface, so do any internal client workstations.  For example, A/V sessions between internal and external clients travel from the internal workstation to the Edge internal interface, and out the external interface to the external client.  This is why it’s important to make sure that the Edge internal FQDN is published in the internal DNS zone and not just setup on the Front-End server as a HOSTS file entry.&lt;/p&gt; &lt;p&gt;Since static route needs to include more than just the Front-End server, it should be define the entire, routable internal network.  If multiple subnets are used internally then either a larger mask would need to be used (if all networks are configured in the same IP numbering scheme) or multiple static route will need to be added to include any and all networks where OCS servers, clients, and devices may reside.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font color="#739643" size=2 face="Courier New"&gt;route add –p 10.1.1.0 mask 255.0.0.0 10.1.1.1&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Also we must not forget to go into the all of the external interface’s TCP/IP Advanced Properties and disable the option for &lt;font color="#3f72ae"&gt;&lt;em&gt;Register this connection’s addresses in DNS&lt;/em&gt;&lt;/font&gt;.&lt;/p&gt; &lt;p&gt;The above configuration works on Server 2003 because the operating system adheres to what is called the &lt;a href="http://blogs.technet.com/networking/archive/2009/04/24/source-ip-address-selection-on-a-multi-homed-windows-computer.aspx"&gt;Weak Host Model&lt;/a&gt; in networking.  This means that all outbound traffic leaves the server on a loosely defined ‘primary’ external interface.  In our scenario the Access Edge interface would hold this title as it has the default gateway defined on it, while the other externally-facing interfaces do not have a default route defined.  This means that inbound traffic from external clients which hits the Edge server on any of the different interfaces would complete it’s return trip out of the single primary interface, as shown in the diagram below:&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_16_54D70616.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_thumb_7_54D70616.png" width=700 height=383&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;OCS Edge on Windows Server 2008&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Windows Server 2008 by default now uses the &lt;em&gt;&lt;font color="#739643"&gt;Strong Host Model&lt;/font&gt;&lt;/em&gt; which no longer contains the premise of a ‘primary’ interface role among the multiple NICs.  (For an excellent article on how all of this works, take a look at The Cable Guy’s article &lt;a href="http://technet.microsoft.com/en-us/magazine/2007.09.cableguy.aspx"&gt;Strong and Weak Host Models&lt;/a&gt;.)&lt;/p&gt; &lt;p&gt;This now means that traffic which enters a specific interface will always be sent back out the same source interface, as shown in this diagram:&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_18_54D70616.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_thumb_8_54D70616.png" width=700 height=382&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Clearly the initial benefit that can be seen is that traffic is now segregated and bandwidth more efficiently utilized than before with the Weak Host Model.  External Office Communicator clients will be able to sign in and federation will function, but external Live Meeting won’t connect and no A/V and desktop Sharing features will work.  This behavior also makes it easier to design routing and firewall policies as return traffic can be predicted correctly and like-communication rules can be bound together in the same firewall policies.&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;font color="#739643"&gt;But using the same configuration as on Server 2003 does not work for Server 2008.&lt;/font&gt; &lt;/em&gt;(For now ignore the Default Gateway icons in the diagram above on the Webconf and AV Edge interfaces.  This would then represent the typical configuration based on previous rules, but as we cover a potential resolution in the next section then those icons will come into play.)&lt;/p&gt; &lt;p&gt;This is because when the Web Conferencing and A/V return traffic leaves the server it will exit on the same interface it originally came in on.  And since the Default Gateway is blank on those two interfaces, that traffic will not find the router and simply fail.  It’s easy to confirm that behavior by watching traffic on the external firewall and by capturing packets on the server, as return traffic is lost when no usable outbound route can be found for the outgoing interface.&lt;/p&gt; &lt;p&gt;So there are actually two ways to resolve this in Server 2008.  I’ve struggled with being able to get a ‘best practice’ recommendation from anyone on this problem, and Microsoft has yet to update any TechNet articles addressing this.  The main reason is there really is not a single solution.  In my opinion and from the feedback of other MVPs and SMEs in the product area it really depends on the network configuration and how the Edge Server should be configured to handle and route traffic.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;Use Multiple Default Routes&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;One approach is to simply set the same Default Gateway on each of the external interfaces.  Now normally you wouldn’t want multiple default routes defined on the same server.  When multi-homing a Windows Server to different IP subnetworks (as we have here with the separate internal and external NICs on the Edge server) then factors like Dead Gateway Detection come into play, and following that general practice is correct.&lt;/p&gt; &lt;p&gt;But with multiple interfaces connected to the same IP subnetwork and be used to segregate traffic and not simply load balance traffic, then each adapter needs to have a valid next-hop route defined in order for the Strong Host Model to be used.&lt;/p&gt; &lt;p align=center&gt;&lt;/p&gt; &lt;div align=center&gt; &lt;table border=1 cellspacing=0 cellpadding=2 width=634&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=top width=191&gt; &lt;p align=center&gt;&lt;strong&gt;Interface Role&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=129&gt; &lt;p align=center&gt;&lt;strong&gt;IP Address&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=140&gt; &lt;p align=center&gt;&lt;strong&gt;Subnet Mask&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=172&gt; &lt;p align=center&gt;&lt;strong&gt;Default Gateway&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=top width=191&gt; &lt;p align=center&gt;Internal Edge&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=129&gt; &lt;p align=center&gt;10.1.1.30&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=140&gt; &lt;p align=center&gt;255.0.0.0&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=172&gt; &lt;p align=center&gt;&lt;em&gt;&amp;lt;not defined&amp;gt;&lt;/em&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=top width=191&gt; &lt;p align=center&gt;Access Edge&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=129&gt; &lt;p align=center&gt;172.16.1.31&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=140&gt; &lt;p align=center&gt;255.255.255.0&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=172&gt; &lt;p align=center&gt;172.16.1.1&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=top width=191&gt; &lt;p align=center&gt;Web Conferencing Edge&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=129&gt; &lt;p align=center&gt;172.16.1.32&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=140&gt; &lt;p align=center&gt;255.255.255.0&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=172&gt; &lt;p align=center&gt;&lt;font color="#ff0000"&gt;172.16.1.1&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=top width=191&gt; &lt;p align=center&gt;A/V Conferencing Edge&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=129&gt; &lt;p align=center&gt;172.16.1.33&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=140&gt; &lt;p align=center&gt;255.255.255.0&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=172&gt; &lt;p align=center&gt;&lt;font color="#ff0000"&gt;172.16.1.1&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt; &lt;p align=left&gt;The potential pitfalls with this solution is that any of the three interfaces could be used for initiating outbound communications.  Checking the route table afterwards will show that all three defined routes have the same metric value.  For responses to inbound traffic this is not a problem as the Strong Host model will dictate that the response leaves the interface it entered on and external firewalls will see the return traffic from the same IP and routing should be fine.  But for initiating an outbound connection, as can happen when an internal users tries to start an IM conversation with a Federated or PIC user, needs to travel out of the Access Edge interface to match the traffic profile that firewalls would be configured for (TCP 5061 outbound).  Typically this works usually since the Access Edge was the first configured external interface, but because the Strong Host Model does not officially assign a primary interface then it seems to be a little luck or black-magic.&lt;/p&gt; &lt;p align=left&gt;A way to force the Access Edge interface to act as a primary default route interface would be to leave the Default Gateway set on the interface properties, and then perform a route print to identify the Metric value of that route.  Then instead of adding the same Default Gateway value on the other two interfaces simply create a static route from the command line and assign a metric of &lt;em&gt;higher &lt;/em&gt;value to each of the other interfaces.  This will insure that the Access Edge interface is used for initial outbound connections but when Strong Host attempts to reply to traffic from any of the 3 interfaces there is a defined route on each interface.&lt;/p&gt; &lt;p align=left&gt;&lt;font color="#739643"&gt;Configuring Multiple Default Gateways&lt;/font&gt;&lt;/p&gt; &lt;p align=left&gt;Start by verifying that the Access Edge interface is the only external interface configured with a Default Gateway.&lt;/p&gt; &lt;blockquote&gt; &lt;p align=left&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_2_54D70616.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_thumb_54D70616.png" width=354 height=220&gt;&lt;/a&gt; &lt;/p&gt;&lt;/blockquote&gt; &lt;p align=left&gt;Issue a &lt;em&gt;ROUTE PRINT &lt;/em&gt;command to identify the assigned metric for the Access Edge interface’s default route entry, as well as the defined indexes for each external NIC.  In the example below the Index values are 14, 15, 16 for the external NICs and the default route’s Metric is 276.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font color="#739643"&gt;&lt;font size=2&gt;&lt;font face="Courier New"&gt;C:\&amp;gt;route print&lt;br&gt;===========================================================================&lt;br&gt;Interface List&lt;br&gt;&lt;font color="#ff0000"&gt;16&lt;/font&gt; ...00 15 5d 67 a2 0f ...... Microsoft VM Adapter #4&lt;em&gt; &lt;font color="#000000"&gt;(AV Edge)&lt;/font&gt;&lt;br&gt;&lt;/em&gt;&lt;font color="#ff0000"&gt;15&lt;/font&gt; ...00 15 5d 67 a2 0e ...... Microsoft VM Adapter #3&lt;em&gt; &lt;font color="#000000"&gt;(Webconf Edge)&lt;br&gt;&lt;/font&gt;&lt;/em&gt;14 ...00 15 5d 67 a2 0d ...... Microsoft VM Adapter #2&lt;font color="#000000"&gt; &lt;/font&gt;&lt;em&gt;&lt;font color="#000000"&gt;(Access Edge)&lt;/font&gt;&lt;br&gt;&lt;/em&gt;12 ...00 15 5d 67 a2 0b ...... Microsoft VM Adapter &lt;em&gt;&lt;font color="#000000"&gt;(Internal Edge)&lt;/font&gt;&lt;/em&gt;&lt;br&gt;1 ........................... Software Loopback Interface 1 &lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;font size=2 face="Courier New"&gt;===========================================================================&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#739643" size=2 face="Courier New"&gt;IPv4 Route Table&lt;br&gt;===========================================================================&lt;br&gt;Active Routes:&lt;br&gt;Network Destination        Netmask          Gateway       Interface  Metric&lt;br&gt;          0.0.0.0          0.0.0.0       172.16.1.1      172.16.1.31    &lt;font color="#ff0000"&gt;276&lt;/font&gt;&lt;br&gt;        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306&lt;br&gt;        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306&lt;br&gt;  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306&lt;br&gt;         10.0.0.0        255.0.0.0         10.1.1.1        10.1.1.30     11&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p align=left&gt;Alternatively the NETSH command can be used to identify the interface indexes.&lt;/p&gt; &lt;blockquote&gt; &lt;p align=left&gt;&lt;font color="#739643" size=2 face="Courier New"&gt;C:\&amp;gt;netsh interface ipv4 show interface&lt;/font&gt;&lt;/p&gt; &lt;p align=left&gt;&lt;font color="#739643" size=2 face="Courier New"&gt;Idx  Met   MTU   State       Name&lt;br&gt;---  ---  -----  ----------- -------------------------------&lt;br&gt;  1   50  429467 connected   Loopback Pseudo-Interface 1&lt;br&gt; 12    5  1500   connected   Internal Edge&lt;br&gt; 14    5  1500   connected   Access Edge&lt;br&gt; &lt;font color="#ff0000"&gt;15&lt;/font&gt;    5  1500   connected   Webconf  Edge&lt;br&gt; &lt;font color="#ff0000"&gt;16&lt;/font&gt;    5  1500   connected   AV Edge&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p align=left&gt;Issue the following persistent &lt;em&gt;ROUTE&lt;/em&gt; commands to set higher metric values for the other interfaces.&lt;/p&gt; &lt;blockquote&gt; &lt;p align=left&gt;&lt;font color="#739643" size=2 face="Courier New"&gt;route add –p 0.0.0.0 mask 0.0.0.0 172.16.1.1 metric &lt;font color="#ff0000"&gt;277&lt;/font&gt; IF &lt;font color="#ff0000"&gt;15&lt;br&gt;&lt;font color="#739643" size=2 face="Courier New"&gt;route add –p 0.0.0.0 mask 0.0.0.0 172.16.1.1 metric &lt;font color="#ff0000"&gt;278&lt;/font&gt; IF &lt;font color="#ff0000"&gt;16&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p align=left&gt; &lt;/p&gt; &lt;p align=left&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;Disable the Strong Host Behavior&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p align=left&gt;An alternative approach would be to disable that default functionality and configure Server 2008 to use the Weak Host Model.  This would allow the same single-external Default Gateway definition, but has some inherent drawbacks.  Especially now with R2 a consolidated Edge Server can more easily host all external roles on the same physical interface (since NAT restrictions have been loosened). This being the case, a benefit to using multiple physical interfaces for each external role is to increase bandwidth and segregate traffic.  Thus reverting the server back to a Weak Host Model could inherently negate those benefits. But on the flip side with an Edge server that handles a lot of AV communications (which require more bandwidth than others) then using Weak Host would effectively offer dedicated NIC for internal AV with outbound AV travelling over the ‘primary’ Access Edge interface, thus balancing A/V traffic across 2 interfaces.  Keep in mind that the actual benefits may vary here depending on the duplex mode of the interface and switches since the two streams are in opposite directions.&lt;/p&gt; &lt;p align=left&gt;&lt;font color="#739643"&gt;Enabling Weak Host Send/Receive&lt;/font&gt;&lt;/p&gt; &lt;p align=left&gt;Use the ROUTE PRINT or NETSH commands shown in the section above to identify each interface’s index value.&lt;/p&gt; &lt;p align=left&gt;Verify each adapter’s current Weak Host settings&lt;/p&gt; &lt;blockquote&gt; &lt;p align=left&gt;&lt;font color="#739643" size=2 face="Courier New"&gt;C:\&amp;gt;netsh interface ipv4 show interface 14&lt;/font&gt;&lt;/p&gt; &lt;p align=left&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_11_54D70616.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_thumb_2_54D70616.png" width=504 height=279&gt;&lt;/a&gt; &lt;/p&gt;&lt;/blockquote&gt; &lt;p align=left&gt;Issue a set of commands for each interface to enable Weak Host sending and receiving.&lt;/p&gt; &lt;blockquote&gt; &lt;p align=left&gt;&lt;font color="#739643" size=2 face="Courier New"&gt;netsh interface ipv4 set interface &lt;font color="#ff0000"&gt;14&lt;/font&gt; &lt;strong&gt;weakhostsend&lt;/strong&gt;=enabled&lt;br&gt;&lt;font color="#739643" size=2 face="Courier New"&gt;netsh interface ipv4 set interface &lt;font color="#ff0000"&gt;14&lt;/font&gt; &lt;strong&gt;weakhostreceive&lt;/strong&gt;=enabled&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p align=left&gt;&lt;font color="#739643" size=2 face="Courier New"&gt;netsh interface ipv4 set interface &lt;font color="#ff0000"&gt;15&lt;/font&gt; &lt;strong&gt;weakhostsend&lt;/strong&gt;=enabled&lt;/font&gt;&lt;font color="#739643" size=2 face="Courier New"&gt;&lt;br&gt;&lt;font color="#739643" size=2 face="Courier New"&gt;netsh interface ipv4 set interface &lt;font color="#ff0000"&gt;15&lt;/font&gt; &lt;strong&gt;weakhostreceive&lt;/strong&gt;=enabled&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p align=left&gt;&lt;font color="#739643" size=2 face="Courier New"&gt;netsh interface ipv4 set interface &lt;font color="#ff0000"&gt;16&lt;/font&gt; &lt;strong&gt;weakhostsend&lt;/strong&gt;=enabled&lt;br&gt;&lt;font color="#739643" size=2 face="Courier New"&gt;netsh interface ipv4 set interface &lt;font color="#ff0000"&gt;16&lt;/font&gt; &lt;strong&gt;weakhostreceive&lt;/strong&gt;=enabled&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p align=left&gt;Verify the setting changes on each adapter with the NETSH command again.&lt;/p&gt; &lt;blockquote&gt; &lt;p align=left&gt;&lt;font color="#739643" size=2 face="Courier New"&gt;C:\&amp;gt;netsh interface ipv4 show interface 14&lt;/font&gt;&lt;/p&gt; &lt;p align=left&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_13_54D70616.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_thumb_3_54D70616.png" width=504 height=312&gt;&lt;/a&gt; &lt;/p&gt;&lt;/blockquote&gt; &lt;p align=left&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;Summary&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p align=left&gt;Although it’s a bit more complicated, attempt the first option as clients have typically configured their firewall rules to flow traffic in/out on the same interfaces.  And in some instances I’ve seen clients simply set the default gateway values on each interface’s properties without mucking around with metrics and command line strings, and everything just worked fine. Go figure!&lt;/p&gt; &lt;p align=left&gt;But if internal routing issues seem to prevent that approach from working, then disabling Strong Host will also get the job done and is an easier configuration on the server side.  Changes may need to be performed on the firewall to handle inbound and outbound traffic of the same type to/from different IPs, but being armed with this information ahead of time though can make this an easier process.&lt;/p&gt; &lt;p align=left&gt;So all this stuff leads me to one important point that can save a ton of work and headaches up front.  Simply ask the question: &lt;em&gt;“Why are there 3 externally-facing physical interfaces in the Edge server?”&lt;/em&gt; &lt;/p&gt; &lt;p align=left&gt;With NAT support for consolidated Edge in R2 there are now even less deployments with separate physical external interfaces (due to different subnetworks connected to AE/LM and AV roles, but even that scenario is slightly different because the of the unique networks which don’t share the same default route anyways).  Physical traffic segregation and bandwidth are the only real arguments for having multiple external interfaces, and with gigabit interfaces in servers being the norm these days bandwidth limitations might be perceived more than actual.  Besides, once that level of traffic flow is reached it is typically a better approach to deploy a second Edge server and expand into a pool than simply add multiple interfaces to a box that still has to flow all of that data back into a single NIC to connect to the internal OCS servers after all.  So if any single recommendation were to come out of this article it would be to make sure that 3 external interfaces are really needed in the first place!&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Category:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Published:&lt;/b&gt; 9/17/2009 9:18 AM&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Categories:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Attachments:&lt;/b&gt; &lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_10_54D70616.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_10_54D70616.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_11_54D70616.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_11_54D70616.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_13_54D70616.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_13_54D70616.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_16_54D70616.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_16_54D70616.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_18_54D70616.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_18_54D70616.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_2_54D70616.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_2_54D70616.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_thumb_2_54D70616.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_thumb_2_54D70616.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_thumb_3_54D70616.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_thumb_3_54D70616.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_thumb_4_54D70616.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_thumb_4_54D70616.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_thumb_54D70616.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_thumb_54D70616.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_thumb_7_54D70616.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_thumb_7_54D70616.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_thumb_8_54D70616.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/78/image_thumb_8_54D70616.png&lt;/a&gt;&lt;br&gt;&lt;a href=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JeffSchertz/~4/wz3s91GGiM4" height="1" width="1"/&gt;</description>
      <author>Jeff Schertz</author>
      <category>Office Communications Server</category>
      <pubDate>Thu, 17 Sep 2009 14:18:48 GMT</pubDate>
      <guid isPermaLink="true">http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=78</guid>
    </item>
    <item>
      <title>More on OCS Edge Server Certificates</title>
      <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=79</link>
      <description>&lt;div&gt;&lt;b&gt;Body:&lt;/b&gt; &lt;div class=ExternalClass4FE8302B30D0476D870BE2385614B1B8&gt;&lt;p&gt;There are a pair of related Office Communications Server 2007 topics I wanted to expand on from previous blog articles that I’m still seeing come up quite often in both day-to-day projects and in the Microsoft discussion forums.  One of them is centered around adding and supporting additional SIP domains.  And because the two most common topics in OCS-related issues are Certificates and the Edge Server, it makes sense that deploying certificates on an Edge Server might just be the other topic.  Although the screenshots and details will be specific to the more current R2 product, all of these requirements and recommendations apply equally to both 2007 releases.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;Edge Server Certificates&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;So it is probably a good idea to first review the certificate requirements and spell out an important point that is not always clear to the first-time reader of the documentation.  Way back in November 2007 I posted an &lt;a href="/Blogs/schertz_jeff/Pages/Post.aspx?_ID=19"&gt;in-depth article&lt;/a&gt; that covered many facets of the Edge Server which included this very breakdown of certificate requirements:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Internal Interface  &lt;ul&gt; &lt;li&gt;Issued by internal Windows Enterprise CA  &lt;li&gt;Subject Name is the server's FQDN (e.g. ocsedge.contoso.local)&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Access Edge Server  &lt;ul&gt; &lt;li&gt;Issued by trusted third-party certificate authority  &lt;li&gt;Subject Name is the FQDN used by the client to connect (e.g. sip.contoso.com)&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Web Conferencing Edge Server  &lt;ul&gt; &lt;li&gt;Issued by trusted third-party certificate authority  &lt;li&gt;Subject Name is unique FQDN (e.g. webconf.contoso.com)&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;A/V Authentication Edge Server  &lt;ul&gt; &lt;li&gt;Issued by internal Windows Enterprise CA  &lt;li&gt;Subject Name is unique FQDN (e.g. av.contoso.com)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;This outline mirrors the requirements spelled out in the &lt;a href="http://technet.microsoft.com/en-us/library/dd425344(office.13).aspx"&gt;Certificate Requirements for External User Access&lt;/a&gt; portion of the official documentation.  The recently released &lt;a href="/Blogs/schertz_jeff/Pages/Post.aspx?_ID=77"&gt;Certificate Deployment White Paper&lt;/a&gt; also further enforces this recommendation.  That said, it &lt;em&gt;is&lt;/em&gt; &lt;em&gt;possible&lt;/em&gt; to use the same certificate on both the Access Edge and Web Conferencing roles, &lt;/p&gt; &lt;p&gt;The key point to understand from the requirements is that the A/V &lt;font color="#739643"&gt;Conferencing&lt;/font&gt; Edge service does &lt;em&gt;not use, nor require a certificate&lt;/em&gt;.  But the A/V &lt;font color="#739643"&gt;Authentication&lt;/font&gt; service &lt;em&gt;does &lt;/em&gt;require a certificate.  This separation can be easy to confuse since the A/V Conferencing and A/V Authentication components can often be misunderstood to be one in the same.  Technically they are part of the same core role (A/V Edge) and both used for audio and video communications (as well as Desktop Sharing in R2), but are in fact two separate, distinct services:&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_8_1F4C7CAD.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_thumb_3_1F4C7CAD.png" width=504 height=101&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;The terminology can be a bit cloudy as the A/V Conferencing Edge is also sometimes referred to simply as the A/V Edge role (as seen above in the &lt;em&gt;Services&lt;/em&gt; applet).  An important distinction between the two services is that the A/V Conferencing is an externally-listening service while the A/V Authentication is internally-listening service, as shown in the Edge Interfaces property tab:&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_10_1F4C7CAD.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_thumb_4_1F4C7CAD.png" width=354 height=106&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;The OCS Certificate Wizard probably best depicts this as A/V &lt;em&gt;Authentication&lt;/em&gt; Certificate option is quite clear here:&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_2_1F4C7CAD.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_thumb_1F4C7CAD.png" width=404 height=225&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;The other important clarification from the documentation above is that the A/V Authentication service (being an internal communications service) does not require a certificate from a trusted third-party Certificate Authority.  The same internal Enterprise CA that issues the Internal Edge certificate should be used for A/V Authentication, but &lt;em&gt;not the same certificate&lt;/em&gt;; each role should have its own dedicated certificate.  Of course if no internal CA is available then a trusted public Issuing CA can be used for any and all of the roles, it’s just more costly.&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;font color="#739643"&gt;&lt;strong&gt;Why use Dedicated Certificates?&lt;/strong&gt;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;I’ve seen all the arguments for wanting to use a single certificate for all the Edge Server roles and they almost always break down to a single issue: &lt;strong&gt;Cost&lt;/strong&gt;.  And companies on a tight budget certainly can and will balk at the first sight of the needing 4 certificates, especially if the deployment of an Exchange 2007 Server certificate with all 147 SAN entries is fresh in their minds.&lt;/p&gt; &lt;p&gt;But when comparing costs of the certificates for a single, simple deployment of OCS it can actually be &lt;em&gt;cheaper &lt;/em&gt;to purchase multiple certificates instead of one.  First off, it has been established that 2 of the certificates should be issued by an internal private CA which is typically handled by an in-place Windows Server Enterprise Certificate Authority. Cost so far: $0.&lt;/p&gt; &lt;p&gt;This leaves only the two remaining externally-facing, certificate-requiring services: &lt;em&gt;Access Edge &lt;/em&gt;and &lt;em&gt;Web Conferencing Edge&lt;/em&gt;.  The typical argument is to attempt using the same certificate on both roles in order to ‘save money’.  But a more costly SAN certificate would be required as the Common Name value in the Subject Name field would need to be set to the Access Edge FQDN (typically &lt;em&gt;sip.domain.com&lt;/em&gt;) while the Web Conferencing Edge FQDN would need to be included in the Subject Alternative Field (SAN) (e.g. webconf.domain.com).  Most of the major players in the field offer UCC or SAN certificates at roughly more than double the cost of their standard SSL certificates.  For example, looking at &lt;a href="http://www.digicert.com/ssl-certificate-comparison.htm"&gt;Digicert’s current offerings&lt;/a&gt; one can see that the cost of a single UCC cert for 1 year is  $328 but the cost of two separate standard SSL certificates would be $144 each, at a combined cost of $288.  Thus, it is pretty hard to argue &lt;em&gt;against &lt;/em&gt;best practice recommendations when it also ends up being more expensive.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;Additional SIP Domains&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;But if an organization is required to support more than one SIP domain with Automatic Sign-In for external user access or for anonymous external Live Meeting access then the above cost savings comparisons are not as relevant.  Following is a brief review of why these two requirements might impact certificate costs.&lt;/p&gt; &lt;p&gt;Assume the above configuration is in place with a single supported SIP domain of &lt;em&gt;contoso.com&lt;/em&gt;.  Once a second SIP domain (&lt;em&gt;fabrikam.com&lt;/em&gt;) is required for external access, then a whole chain of dependencies is put into place:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;If a user with a sign-in name in the additional SIP domain (&lt;em&gt;jeff@fabrikam.com&lt;/em&gt;) needs to login externally via Edge using Automatic Configuration with Office Communicator then there will need to be a publicly-resolvable SRV record (&lt;em&gt;_sip._tls.fabrikam.com&lt;/em&gt;) in the same domain as the OCS user’s sign-in domain.&lt;br&gt; &lt;li&gt;That SRV record &lt;em&gt;&lt;strong&gt;must&lt;/strong&gt;&lt;/em&gt; point to an A record in the same domain (&lt;em&gt;sip.fabrikam.com&lt;/em&gt;), it cannot point to an A record in another domain (like &lt;em&gt;sip.contoso.com&lt;/em&gt;) as then the Automatic Configuration process would fail.&lt;br&gt; &lt;li&gt;Because the OC client is given (via DNS) the hostname of &lt;em&gt;sip.fabrikam.com&lt;/em&gt; to connect to for Access Edge services, the assigned certificate on that Edge server must include that hostname.  If it is currently only configured with a Common Name of &lt;em&gt;sip.contoso.com&lt;/em&gt; then the OC client will fail to connect with a certificate name mismatch error.&lt;br&gt; &lt;li&gt;Additionally if that same user sends a Live Meeting initiation to a foreign party with the intention of having them join the meeting anonymously over the Internet, the sending user’s SIP domain (&lt;em&gt;fabrikam.com&lt;/em&gt;) is what the anonymous user’s Live Meeting client will perform an SRV record lookup against.  This puts the anonymous Live Meeting client into the same scenario as the Office Communicator client using Automatic Configuration.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;This means that the Access Edge certificate needs to have entries for both SIP domains (&lt;em&gt;sip.contoso.com&lt;/em&gt; and &lt;em&gt;sip.fabrikam.com&lt;/em&gt;) moving it up into the more expensive SAN-certificate category.  But for the same reasons as shown in the process above the Web Conferencing Certificate does NOT require modification.  Only the Access Edge FQDN needs to be resolved in some way by clients and once a connection is made from the client, all other service FQDN values (Web Conferencing, A/V Conferencing, External Web Farm, etc) are passed in-band to the OC or LM client.  Regardless of what SIP domain a user signs in with (&lt;em&gt;@fabrikam.com&lt;/em&gt;) the other services are all still configured with a single FQDN value using the original primary SIP domain (&lt;em&gt;webconf.contoso.com&lt;/em&gt;, &lt;em&gt;av.contoso.com&lt;/em&gt;).&lt;/p&gt; &lt;p&gt;Now the certificate cost scenario is a bit more of a debate than before.  When supporting a single SIP domain the cost savings was $40/year to go with the best practice recommendation of dedicated certificates.  But with the requirement of at least one SAN cert there are two viable options:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Replace the Access Edge certificate to a SAN certificate (and leave the standard certificate on the Web Conferencing Edge) at a total cost of $472/year.  This solution retains the more secure, best practice approach that will be easier to troubleshoot and manage over time.&lt;br&gt; &lt;li&gt;Replace both the Access Edge and Web Conferencing Edge certificates with a single SAN certificate for $288/year and insert the Web Conferencing Edge FQDN into the SAN field in addition to all supported SIP domains.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Regarding choice #2, if the same certificate is assigned to both Access Edge and Web Conferencing Roles then the configuration will look a little strange on the Web Conferencing Edge properties.  Since the certificate’s Common Name would be the &lt;em&gt;sip.contoso.com&lt;/em&gt; entry, then that entry would be displayed as the FQDN, and not the desired &lt;em&gt;webconf.contoso.com&lt;/em&gt; entry which is stored in the certificate’s SAN field:&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_6_1844EBAC.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_thumb_1_1844EBAC.png" width=354 height=373&gt;&lt;/a&gt; &lt;/p&gt; &lt;p align=left&gt;This would seem like it should cause a problem, but it actually does work.  This is because the Web Conferencing FQDN that is handed out in-band to connecting clients is actually pulled from a different setting in OCS and not the value shown above, which is simply reflecting a portion of the certificate’s Subject Name.  The actual Web Conferencing External FQDN is stored in Active Directory and is configured on the internal server by accessing the &lt;em&gt;&lt;font color="#739643"&gt;Web Conferencing Edge Server&lt;/font&gt;&lt;/em&gt; tab on the pool’s &lt;em&gt;&lt;font color="#739643"&gt;Web Conferencing Properties&lt;/font&gt;&lt;/em&gt; in the OCS management console:&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_14_1844EBAC.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_thumb_5_46323E64.png" width=354 height=251&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;But ultimately, if neither of the automatic sign-in or anonymous access features are required (thus Manual Configuration will be used for all external Office Communicator and Live Meeting client connections) then the original SAN-less certificates can be retained as all external services will be resolved and connected to using the current A records in the primary &lt;em&gt;contoso.com&lt;/em&gt; domain, regardless of how many additional SIP domains were added.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Category:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Published:&lt;/b&gt; 9/22/2009 4:39 PM&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Categories:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Attachments:&lt;/b&gt; &lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_10_1F4C7CAD.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_10_1F4C7CAD.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_14_1844EBAC.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_14_1844EBAC.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_2_1F4C7CAD.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_2_1F4C7CAD.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_6_1844EBAC.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_6_1844EBAC.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_8_1F4C7CAD.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_8_1F4C7CAD.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_thumb_1_1844EBAC.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_thumb_1_1844EBAC.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_thumb_1F4C7CAD.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_thumb_1F4C7CAD.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_thumb_3_1F4C7CAD.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_thumb_3_1F4C7CAD.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_thumb_4_1F4C7CAD.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_thumb_4_1F4C7CAD.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_thumb_5_46323E64.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/79/image_thumb_5_46323E64.png&lt;/a&gt;&lt;br&gt;&lt;a href=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JeffSchertz/~4/U3B95yTgZdc" height="1" width="1"/&gt;</description>
      <author>Jeff Schertz</author>
      <category>Office Communications Server</category>
      <pubDate>Tue, 22 Sep 2009 21:39:56 GMT</pubDate>
      <guid isPermaLink="true">http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=79</guid>
    </item>
    <item>
      <title>OCS Communicator Web Access Listening Port</title>
      <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=80</link>
      <description>&lt;div&gt;&lt;b&gt;Body:&lt;/b&gt; &lt;div class=ExternalClass5F95CF3141E34C70B309CE72F261FC43&gt;&lt;p&gt;During the deployment of an OCS Communicator Web Access Server there is a setting that is not covered in much detail in the documentation: the &lt;font color="#739643"&gt;Communication Server Listening Port&lt;/font&gt;.  No default or suggested value is given, as shown by this screenshot of the virtual server creation wizard: &lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_2_6BADF8B3.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_6BADF8B3.png" width=504 height=271&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;This port is used by the Communicator Web Access Server to listen for inbound communications from other OCS servers.  When an additional Virtual Web Server is added to the same host, as is common when both Internal and External types are setup on the same server, the new virtual site’s listening port must be on a different port then what the initial site is configured for, otherwise the following error will appear:&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_6_6BADF8B3.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_2_6BADF8B3.png" width=404 height=147&gt;&lt;/a&gt; &lt;/p&gt; &lt;p align=left&gt;This is also a common error when attempting to use a standard OCS port (like 5061) when CWA has been installed on an OCS Front-End server (such collocation is unsupported) .  Since the Front-End services already occupy that port then an unused port must be specified.  If CWA is installed on a separate server (as it should be) and the first, internal virtual site activation accepts 5061 as a value but the second virtual site activation does not, then it can be a bit confusing since one might think that there should not be a port conflict if the second site is configured on it’s own IP address.&lt;/p&gt; &lt;p align=left&gt;Even though both virtual sites should be setup on different IP addresses, so that the default TCP 443 value can be used for the IIS site, &lt;em&gt;&lt;font color="#3f72ae"&gt;all back-end OCS server communications still happen on the host’s primary IP address&lt;/font&gt;&lt;/em&gt;, which is what is resolved by DNS for the server’s FQDN.  It’s common practice to set the first virtual site configured during the initial CWA deployment to 5061, and additional sites can be set for values of 5062, 5063, etc.  There is no requirement on what port is used, except that it can’t already be in use on the host server.&lt;/p&gt; &lt;p align=left&gt;For example, assume a CWA Server is configured with both an Internal and External virtual site, using the following configuration:&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_14_6BADF8B3.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_6_6BADF8B3.png" width=354 height=140&gt;&lt;/a&gt; &lt;/p&gt; &lt;table border=1 cellspacing=0 cellpadding=2 width=833&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=top width=305&gt; &lt;p align=left&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=213&gt; &lt;p align=left&gt;&lt;strong&gt;FQDN&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=144&gt; &lt;p align=left&gt;&lt;strong&gt;IP Address&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=61&gt; &lt;p align=left&gt;&lt;strong&gt;Port&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign=top width=108&gt; &lt;p align=left&gt;&lt;strong&gt;Listen Port&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=top width=305&gt;Communicator Web Access Host Server&lt;/td&gt; &lt;td valign=top width=213&gt;ocs02.schertz.local&lt;/td&gt; &lt;td valign=top width=144&gt;192.168.207.14&lt;/td&gt; &lt;td valign=top width=61&gt; &lt;/td&gt; &lt;td valign=top width=108&gt; &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=top width=305&gt;Virtual Web Server 1 - Internal&lt;/td&gt; &lt;td valign=top width=213&gt;https://im.schertz.lab&lt;/td&gt; &lt;td valign=top width=144&gt;192.168.207.14&lt;/td&gt; &lt;td valign=top width=61&gt;443&lt;/td&gt; &lt;td valign=top width=108&gt;5061&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=top width=305&gt;Virtual Web Server 2 - External&lt;/td&gt; &lt;td valign=top width=213&gt;https://im.schertz.lab&lt;/td&gt; &lt;td valign=top width=144&gt;192.168.207.15&lt;/td&gt; &lt;td valign=top width=61&gt;443&lt;/td&gt; &lt;td valign=top width=108&gt;5062&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p align=left&gt;The way that the settings are displayed in the Communicator Web Access management console, it almost appears as if those listening ports are associated with the same IP address that the virtual web site is:&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_10_6BADF8B3.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_4_6BADF8B3.png" width=700 height=225&gt;&lt;/a&gt; &lt;/p&gt; &lt;p align=left&gt;But that is not the case.  There are a couple ways to verify exactly which IP address each Listening Port is actually listening on by using either simple &lt;em&gt;netstat&lt;/em&gt; command or by capturing traffic on the server.  The following diagram shows the basic traffic flow of two separate conversations, one between Workstations 1 and 2, and another IM session between Workstations A and B.  The workstations on the left-hand side are typical Office Communicator users while those on the right-hand side are using Communicator Web Access with a web browser.  Workstation B is located outside the corporate network and is directed through the firewall to the External CWA site running on the second IP address.&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_32_6BADF8B3.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_14_6BADF8B3.png" width=700 height=239&gt;&lt;/a&gt; &lt;/p&gt; &lt;p align=left&gt;Below is a screenshot of a Network Monitor session with captured traffic from the two separate IM conversations:&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_8_6BADF8B3.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_3_6BADF8B3.png" width=704 height=250&gt;&lt;/a&gt; &lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;div align=left&gt;Instant messages sent from Workstation 1 to Workstation 2 appeared on the CWA server as coming from the OCS Front-End server (OCS01) and were directed toward the CWA server (192.168.207.14) to port 5061.&lt;br&gt;&lt;/div&gt; &lt;li&gt; &lt;div align=left&gt;Instant messages sent from Workstation A to Workstation B also came from the same Front-End server and were directed to the CWA server on the same primary host IP address (192.168.207.14), but were sent to port 5062, and &lt;strong&gt;not &lt;/strong&gt;to the external virtual site’s IP address of 192.168.207.15.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p align=left&gt;Additionally, a &lt;em&gt;&lt;font color="#739643"&gt;netstat&lt;/font&gt;&lt;/em&gt; command can be issued at the same time to validate that the listening ports (5061 &amp;amp; 5062) are only established on the same, primary IP address.  (This only displays active connections so if no users are currently using CWA then the ports won’t be listed.)&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_12_6BADF8B3.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_5_6BADF8B3.png" width=534 height=232&gt;&lt;/a&gt; &lt;/p&gt; &lt;p align=left&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;Changing the Listening Port&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt; &lt;p&gt;Unfortunately the Communicator Web Access management tool does not offer the ability to change the configured listening port after the virtual site has been created.  The only port values which can be modified in the virtual server’s properties are: the client-connection port (which appears on the Connectivity tab and is typically set to 443) and the next-hop connection port (shown on the Next Hop tab, usually 5061).  The latter is actually the remote listening port on the Front-End server that CWA will attempt to connect &lt;em&gt;to&lt;/em&gt;.  Nothing here about listening port that CWA itself is using for each virtual site.&lt;/p&gt; &lt;p&gt;The only way to change this setting is to manually update the &lt;strong&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd146504(office.13).aspx"&gt;TrustedServiceListeningPort&lt;/a&gt;&lt;/strong&gt; WMI property.&lt;/p&gt; &lt;ol&gt; &lt;li&gt;On the CWA server run &lt;em&gt;&lt;font color="#739643"&gt;wbemtest.exe&lt;/font&gt;&lt;/em&gt; to access the Windows Management Instrumentation Tester application.&lt;br&gt;&lt;/li&gt; &lt;li&gt;Click &lt;em&gt;Connect&lt;/em&gt;.&lt;br&gt;&lt;/li&gt; &lt;li&gt;Clear the ‘Namespace’ field and enter &lt;strong&gt;&lt;font color="#739643"&gt;root\default\rtccwa_repository&lt;/font&gt;&lt;/strong&gt; and then click &lt;em&gt;Connect&lt;/em&gt;.&lt;br&gt;&lt;/li&gt; &lt;li&gt;Under ‘IWbem Services’ click on &lt;em&gt;&lt;font color="#739643"&gt;Open Class&lt;/font&gt;&lt;/em&gt;.&lt;br&gt;&lt;/li&gt; &lt;li&gt;In the ‘Get Class Name’ window enter &lt;strong&gt;&lt;font color="#739643"&gt;MSFT_CWASiteSetting&lt;/font&gt;&lt;/strong&gt; for the Target Class Name.&lt;br&gt;&lt;/li&gt; &lt;li&gt;Click &lt;em&gt;&lt;font color="#739643"&gt;Hide System Properties&lt;/font&gt;&lt;/em&gt; to help filter the list a bit.&lt;br&gt;&lt;/li&gt; &lt;li&gt;Click on &lt;em&gt;&lt;font color="#739643"&gt;Instances&lt;/font&gt;&lt;/em&gt; to see a list of installed CWA Virtual Servers.&lt;br&gt;&lt;br&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_18_6BADF8B3.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_7_6BADF8B3.png" width=404 height=103&gt;&lt;/a&gt; &lt;br&gt;&lt;/li&gt; &lt;li&gt;Double-click on the desired instance to view the properties.  To identify the instances compare the ‘Description’ property value with the description name shown in the CWA administrative tool, as shown below:&lt;br&gt;&lt;br&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_20_6BADF8B3.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_8_6BADF8B3.png" width=554 height=201&gt;&lt;/a&gt; &lt;br&gt;&lt;/li&gt; &lt;li&gt;Highlight the property &lt;font color="#739643"&gt;&lt;strong&gt;TrustedServiceListentingPort&lt;/strong&gt;&lt;/font&gt; and click &lt;em&gt;&lt;font color="#739643"&gt;Edit Property&lt;/font&gt;&lt;/em&gt;.&lt;br&gt;&lt;br&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_22_6BADF8B3.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_9_6BADF8B3.png" width=454 height=171&gt;&lt;/a&gt; &lt;br&gt;&lt;/li&gt; &lt;li&gt;The configured value is stored in both decimal and hexadecimal so be careful changing the value to insure that the format is not altered incorrectly. Simply update both values (use the Calculator in Programmer mode to validate both formats are equal). &lt;br&gt;&lt;br&gt;For example, change the port from 5062 to 1975 (7B7 in hex) and click &lt;em&gt;&lt;font color="#739643"&gt;Save Property&lt;/font&gt;&lt;/em&gt;.&lt;br&gt;&lt;br&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_24_6BADF8B3.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_10_6BADF8B3.png" width=454 height=169&gt;&lt;/a&gt; &lt;br&gt;&lt;/li&gt; &lt;li&gt;Click &lt;em&gt;&lt;font color="#739643"&gt;Save Object&lt;/font&gt;&lt;/em&gt;. at the ‘Object Editor for MSFT_CWASetting.Name’ window.&lt;br&gt;&lt;/li&gt; &lt;li&gt;Click &lt;em&gt;&lt;font color="#739643"&gt;Close&lt;/font&gt;&lt;/em&gt;, &lt;em&gt;&lt;font color="#739643"&gt;Close&lt;/font&gt;&lt;/em&gt;, &lt;em&gt;&lt;font color="#739643"&gt;Exit&lt;/font&gt;&lt;/em&gt;.&lt;br&gt;&lt;/li&gt; &lt;li&gt;Refresh the CWA Management console window and the new port setting should be displayed.&lt;br&gt;&lt;br&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_26_6BADF8B3.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_11_6BADF8B3.png" width=304 height=135&gt;&lt;/a&gt; &lt;br&gt;&lt;/li&gt; &lt;li&gt;Issue a Restart on the specific virtual site in the CWA management console to complete the change.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Category:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Published:&lt;/b&gt; 9/24/2009 8:26 AM&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Categories:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Attachments:&lt;/b&gt; &lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_10_6BADF8B3.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_10_6BADF8B3.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_12_6BADF8B3.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_12_6BADF8B3.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_14_6BADF8B3.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_14_6BADF8B3.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_18_6BADF8B3.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_18_6BADF8B3.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_2_6BADF8B3.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_2_6BADF8B3.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_20_6BADF8B3.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_20_6BADF8B3.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_22_6BADF8B3.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_22_6BADF8B3.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_24_6BADF8B3.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_24_6BADF8B3.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_26_6BADF8B3.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_26_6BADF8B3.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_32_6BADF8B3.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_32_6BADF8B3.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_6_6BADF8B3.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_6_6BADF8B3.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_8_6BADF8B3.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_8_6BADF8B3.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_10_6BADF8B3.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_10_6BADF8B3.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_11_6BADF8B3.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_11_6BADF8B3.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_14_6BADF8B3.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_14_6BADF8B3.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_2_6BADF8B3.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_2_6BADF8B3.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_3_6BADF8B3.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_3_6BADF8B3.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_4_6BADF8B3.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_4_6BADF8B3.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_5_6BADF8B3.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_5_6BADF8B3.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_6_6BADF8B3.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_6_6BADF8B3.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_6BADF8B3.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_6BADF8B3.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_7_6BADF8B3.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_7_6BADF8B3.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_8_6BADF8B3.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_8_6BADF8B3.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_9_6BADF8B3.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/80/image_thumb_9_6BADF8B3.png&lt;/a&gt;&lt;br&gt;&lt;a href=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JeffSchertz/~4/JoP3fjSc5ro" height="1" width="1"/&gt;</description>
      <author>Jeff Schertz</author>
      <category>Office Communications Server</category>
      <pubDate>Thu, 24 Sep 2009 13:26:14 GMT</pubDate>
      <guid isPermaLink="true">http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=80</guid>
    </item>
    <item>
      <title>OCS TechNet Forum Reorganization</title>
      <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=81</link>
      <description>&lt;div&gt;&lt;b&gt;Body:&lt;/b&gt; &lt;div class=ExternalClass0E33EBB42D474565A571573F10134646&gt;&lt;p&gt;This week Microsoft has begun the process to migrate all the current discussion forums for Unified Communications-related topics into a single category.  As with any migration there is both an upside and a downside to these changes.  Most importantly, going forward it will be much easier for users to locate the correct forum in which to pose a question on a specific OCS-related problem they are experiencing as there are not many different categories across multiple sites with similar topics to choose from.  But on the downside none of the current content can be ‘pushed’ into the new forums.  So all of the past discussion, full of helpful content, will still be located in the old forums as an archive.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;Microsoft TechNet Forums - &lt;/em&gt;&lt;/strong&gt;&lt;a title="Office Communications Server" href="http://social.technet.microsoft.com/Forums/en-US/category/ocs"&gt;&lt;font color="#739643"&gt;&lt;strong&gt;&lt;em&gt;Office Communications Server&lt;/em&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;br&gt;&lt;a title="http://social.technet.microsoft.com/Forums/en-US/category/ocs" href="http://social.technet.microsoft.com/Forums/en-US/category/ocs"&gt;http://social.technet.microsoft.com/Forums/en-US/category/ocs&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;So I thought I would take some time to break down the reorganization that I assisted with in designing to make it easier to locate for anyone looking for older content. First off, here is the new streamlined configuration of 15 forums all located under a single category:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;TechNet Forums \ &lt;a title="Office Communications Server" href="http://social.technet.microsoft.com/Forums/en-US/category/ocs"&gt;Office Communications Server&lt;/a&gt;&lt;/li&gt; &lt;ul&gt; &lt;li&gt;&lt;a title="Planning and Deployment" href="http://social.technet.microsoft.com/Forums/en-US/ocsplanningdeployment/threads"&gt;Planning and Deployment&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Capacity Planning &amp;amp; Performance" href="http://social.technet.microsoft.com/Forums/en-US/ocscapacityplanning/threads"&gt;Capacity Planning &amp;amp; Performance&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title=Certificates href="http://social.technet.microsoft.com/Forums/en-US/ocscertificates/threads"&gt;Certificates&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title=Security href="http://social.technet.microsoft.com/Forums/en-US/ocssecurity/threads"&gt;Security&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title=Management href="http://social.technet.microsoft.com/Forums/en-US/ocsmanagement/threads"&gt;Management&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Monitoring, Archiving and Compliance" href="http://social.technet.microsoft.com/Forums/en-US/ocsmonitoring/threads"&gt;Monitoring, Archiving and Compliance&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Address Book and User Replicator" href="http://social.technet.microsoft.com/Forums/en-US/ocsaddressbook/threads"&gt;Address Book and User Replicator&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Presence and IM" href="http://social.technet.microsoft.com/Forums/en-US/ocspresenceim/threads"&gt;Presence and IM&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title=Conferencing href="http://social.technet.microsoft.com/Forums/en-US/ocsconferencing/threads"&gt;Conferencing&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Enterprise Voice and Telephony" href="http://social.technet.microsoft.com/Forums/en-US/ocsvoice/threads"&gt;Enterprise Voice and Telephony&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Edge Servers" href="http://social.technet.microsoft.com/Forums/en-US/ocsedge/threads"&gt;Edge Servers&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title=Mobility href="http://social.technet.microsoft.com/Forums/en-US/ocsmobility/threads"&gt;Mobility&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Communicator Clients and Devices" href="http://social.technet.microsoft.com/Forums/en-US/ocsclients/threads"&gt;Communicator Clients and Devices&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title=Interoperability href="http://social.technet.microsoft.com/Forums/en-US/ocsinterop/threads"&gt;Interoperability&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="UC integration" href="http://social.technet.microsoft.com/Forums/en-US/ocsucintegration/threads"&gt;UC Integration&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt; &lt;p&gt;And here are all the past forums and categories which are planned to be locked down to prevent new posts and will be retained indefinitely as archived contenting for searching and browsing.  This list totals 33 forums under 6 categories across 2 separate sites (&lt;em&gt;social.microsoft.com&lt;/em&gt; and &lt;em&gt;social.technet.microsoft.com&lt;/em&gt;).&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Microsoft Forums \ &lt;a title="Unified Communications Conferencing" href="http://social.microsoft.com/Forums/en-US/category/ucconferencing"&gt;Unified Communications Conferencing&lt;/a&gt;&lt;/li&gt; &lt;ul&gt; &lt;li&gt;&lt;a title=Permissions href="http://social.microsoft.com/Forums/en-US/ucconferencingpermissions/threads"&gt;Permissions&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title=Scheduling href="http://social.microsoft.com/Forums/en-US/ucconferencingscheduling/threads"&gt;Scheduling&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title=Video href="http://social.microsoft.com/Forums/en-US/ucconferencingaudiovisual/threads"&gt;Audio/Video&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Data Collaboration" href="http://social.microsoft.com/Forums/en-US/ucconferencingdatacollaboration/threads"&gt;Data Collaboration&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Microsoft Forums \ &lt;a title="Office Communications Server Public Beta" href="http://social.microsoft.com/Forums/en-US/category/officecommunicationsserverbeta"&gt;Office Communications Server Public Beta&lt;/a&gt;&lt;/li&gt; &lt;ul&gt; &lt;li&gt;&lt;a title=FAQ href="http://social.microsoft.com/Forums/en-US/communicationsserverbetafaq/threads"&gt;FAQ&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Microsoft Forums \ &lt;a title="Office Communications Server" href="http://social.microsoft.com/Forums/en-US/category/officecommunicationsserver"&gt;Office Communications Server&lt;/a&gt;&lt;/li&gt; &lt;ul&gt; &lt;li&gt;&lt;a title="OCS Setup &amp;amp; Deployment" href="http://social.microsoft.com/Forums/en-US/communicationsserversetup/threads"&gt;OCS Setup &amp;amp; Deployment&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title=Certificates href="http://social.microsoft.com/Forums/en-US/communicationsservercertificates/threads"&gt;Certificates&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title=Telephony href="http://social.microsoft.com/Forums/en-US/communicationsservertelephony/threads"&gt;Telephony&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Multipoint Control Units (MCU)" href="http://social.microsoft.com/Forums/en-US/communicationsservermcu/threads"&gt;Multipoint Control Units (MCU)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="SQL Database" href="http://social.microsoft.com/Forums/en-US/communicationsserversqldatabase/threads"&gt;SQL Database&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Edge Servers" href="http://social.microsoft.com/Forums/en-US/communicationsserveredgeservers/threads"&gt;Edge Servers&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Capacity Planning &amp;amp; Performance" href="http://social.microsoft.com/Forums/en-US/communicationsservercapacityplanning/threads"&gt;Capacity Planning &amp;amp; Performance&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Management &amp;amp; Dev Tools" href="http://social.microsoft.com/Forums/en-US/communicationsservermanagement/threads"&gt;Management &amp;amp; Dev Tools&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Logging &amp;amp; Archiving" href="http://social.microsoft.com/Forums/en-US/communicationsserverlogging/threads"&gt;Logging &amp;amp; Archiving&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="User Replicator &amp;amp; Address Book" href="http://social.microsoft.com/Forums/en-US/communicationsserveruser/threads"&gt;User Replicator &amp;amp; Address Book&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title=Security href="http://social.microsoft.com/Forums/en-US/communicationsserversecurity/threads"&gt;Security&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Microsoft Forums \ &lt;a title="Unified Communications Integration" href="http://social.microsoft.com/Forums/en-US/category/ucintegration"&gt;Unified Communications Integration&lt;/a&gt;&lt;/li&gt; &lt;ul&gt; &lt;li&gt;&lt;a title=Office href="http://social.microsoft.com/Forums/en-US/ucintegrationwithoffice/threads"&gt;Office&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title=Exchange href="http://social.microsoft.com/Forums/en-US/ucintegrationwithexchange/threads"&gt;Exchange&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Microsoft Forums \ &lt;a title="Office Communicator" href="http://social.microsoft.com/Forums/en-US/category/officecommunicator"&gt;Office Communicator&lt;/a&gt;&lt;/li&gt; &lt;ul&gt; &lt;li&gt;&lt;a title="OC Setup &amp;amp; Deployment" href="http://social.microsoft.com/Forums/en-US/commmunicatorsetup/threads"&gt;OC Setup &amp;amp; Deployment&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title=Contacts href="http://social.microsoft.com/Forums/en-US/communicatorcontacts/threads"&gt;Contacts&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title=IM href="http://social.microsoft.com/Forums/en-US/commmunicatorim/threads"&gt;IM&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Voice &amp;amp; Video" href="http://social.microsoft.com/Forums/en-US/commmunicatorvoiceandvideo/threads"&gt;Voice &amp;amp; Video&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title=Presence href="http://social.microsoft.com/Forums/en-US/commmunicatorpresence/threads"&gt;Presence&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title=Extensibility href="http://social.microsoft.com/Forums/en-US/communicatorextensibility/threads"&gt;Extensibility&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;TechNet Forums \ &lt;a title="UC Community Readiness" href="http://social.technet.microsoft.com/Forums/en-US/category/uccommunityreadiness"&gt;UC Community Readiness&lt;/a&gt;&lt;/li&gt; &lt;ul&gt; &lt;li&gt;&lt;a title="Exchange Server 2007 SP1 Overview" href="http://social.technet.microsoft.com/Forums/en-US/uccommunityexchangeserver/threads"&gt;Exchange Server 2007 SP1 Overview&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="OCS 2007 Deployment Overview" href="http://social.technet.microsoft.com/Forums/en-US/ucccommunityocsdeployment/threads"&gt;OCS 2007 Deployment Overview&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="VoIP Topologies and Interoperability" href="http://social.technet.microsoft.com/Forums/en-US/ucccommunityvoiptechnologies/threads"&gt;VoIP Topologies and Interoperability&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Web Conferencing" href="http://social.technet.microsoft.com/Forums/en-US/ucccommunitywebconferencing/threads"&gt;Web Conferencing&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Security and Organizational Governance" href="http://social.technet.microsoft.com/Forums/en-US/ucccommunitygovernance/threads"&gt;Security and Organizational Governance&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="UC End User Experience" href="http://social.technet.microsoft.com/Forums/en-US/ucccommunityenduser/threads"&gt;UC End User Experience&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Mobility and Anywhere Access" href="http://social.technet.microsoft.com/Forums/en-US/ucccommunitymobility/threads"&gt;Mobility and Anywhere Access&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="VoIP Quality of Experience" href="http://social.technet.microsoft.com/Forums/en-US/ucccommunityvoipexperience/threads"&gt;VoIP Quality of Experience&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="UC Administration Experience" href="http://social.technet.microsoft.com/Forums/en-US/ucccommunityadministration/threads"&gt;UC Administration Experience&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt; &lt;p&gt;Each of the old forums now contains a ‘sticky’ post which describes the reorganization, explains that the forum will soon be locked to prevent new posts, and contains a link to the new OCS forum category:&lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_2_4B059510.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_thumb_4B059510.png" width=660 height=69&gt;&lt;/a&gt; &lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_8_4B059510.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_thumb_3_4B059510.png" width=660 height=135&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Additionally, each new forum also contains a ‘sticky‘ post that contains links back to only the archived forums that contain discussion related to the same topic as that specific new forum.  &lt;/p&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_4_4B059510.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_thumb_1_4B059510.png" width=660 height=68&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;So for example the new ‘Planning &amp;amp; Deployment’ forum contains links back to all of the previous forums related to setup and deployment tasks, while the new Certificates forum only points back to the previous Certificates forum. &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_16_4B059510.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_thumb_7_4B059510.png" width=680 height=17&gt;&lt;/a&gt; &lt;/p&gt;&lt;/blockquote&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_6_4B059510.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_thumb_2_4B059510.png" width=660 height=114&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p align=left&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_12_4B059510.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_thumb_5_4B059510.png" width=598 height=18&gt;&lt;/a&gt; &lt;/p&gt;&lt;/blockquote&gt; &lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_10_4B059510.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_thumb_4_4B059510.png" width=660 height=92&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;A big ‘thanks’ goes out to all in the product and forum teams who have worked at getting these changes applied.  Now that the OCS forums are in their rightful place on &lt;em&gt;TechNet &lt;/em&gt;alongside the other server product forums, everyone from users to moderators should more easily be able to locate and update content.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Category:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Published:&lt;/b&gt; 11/10/2009 11:22 AM&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Categories:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Attachments:&lt;/b&gt; &lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_10_4B059510.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_10_4B059510.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_12_4B059510.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_12_4B059510.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_16_4B059510.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_16_4B059510.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_2_4B059510.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_2_4B059510.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_4_4B059510.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_4_4B059510.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_6_4B059510.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_6_4B059510.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_8_4B059510.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_8_4B059510.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_thumb_1_4B059510.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_thumb_1_4B059510.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_thumb_2_4B059510.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_thumb_2_4B059510.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_thumb_3_4B059510.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_thumb_3_4B059510.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_thumb_4_4B059510.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_thumb_4_4B059510.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_thumb_4B059510.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_thumb_4B059510.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_thumb_5_4B059510.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_thumb_5_4B059510.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_thumb_7_4B059510.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/81/image_thumb_7_4B059510.png&lt;/a&gt;&lt;br&gt;&lt;a href=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JeffSchertz/~4/M1gITLEuKUk" height="1" width="1"/&gt;</description>
      <author>Jeff Schertz</author>
      <category>Office Communications Server</category>
      <pubDate>Tue, 10 Nov 2009 17:22:08 GMT</pubDate>
      <guid isPermaLink="true">http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=81</guid>
    </item>
    <item>
      <title>My Laptop is Trying to Fly Away...</title>
      <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=8</link>
      <description>&lt;div&gt;&lt;b&gt;Body:&lt;/b&gt; &lt;div class=ExternalClassCB3BA90292BA465183CE9535BF621AFD&gt;
&lt;div&gt;  
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;...or so it seems, judging by the excessive noise coming from my laptop's fan recently.&lt;span&gt;   &lt;/span&gt;My Dell Latitude D820 is only&lt;span&gt;  &lt;/span&gt;a little over six months old, but in the past few weeks it has been running noticeably hotter, regardless of CPU load.&lt;span&gt;  &lt;/span&gt;Within 5-10 minutes of a cold-boot the measured CPU temperature would steadily climb to over 70°C, which was followed by the system fan stepping up to it's maximum speed in a fruitless effort to displace heat.&lt;span&gt;  &lt;/span&gt;This abnormal amount of heat was radiating mostly from the bottom center of the laptop, directly below the CPU.&lt;span&gt;  &lt;/span&gt;The excess heat and noise were fast becoming both a nuisance and a source of concern.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;I ran a full diagnostics sweep from the bootable CD, but no problems were reported. Since my initial thought was that it might be a build-up of dust inside the system, so I removed the keyboard and visually inspected the top of the system board, heat-sink assembly, and fan.&lt;span&gt;  &lt;/span&gt;The system was very clean and there was almost no surface dust, much less any considerable build-up.&lt;span&gt;  &lt;/span&gt;Unwilling to void the manufacturer warranty by poking around in a company-supplied computer, I clicked over to Dell's webpage and initiated a customer support chat session which ended in a scheduled next-day visit from a Dell certified technician carrying a new Processor Thermal-Cooling Assembly and Fan Assembly.&lt;span&gt;  &lt;/span&gt;I wasn't too convinced that replacement of these parts would cure my problems as the fan itself was obviously working correctly, but was just unable to keep up with the amount of heat the system was producing.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;Well, as soon as the technician removed the cooling assembly the problem was evident: a massive layer of dust about 1/4&amp;quot; in thickness completely enveloping the inboard side of the heat-sink fins.&lt;span&gt;  &lt;/span&gt;Unfortunately there is no good way to reach that area of the computer without removing internal components, so I was unable to see it previously.&lt;span&gt;  &lt;/span&gt;Even though he replaced it with a new part, I'm sure that reinstallation of the original components would have been fine now that blockage had been pulled from the cooling system.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;In the diagram below (shown without the fan assembly), the bottom and side case vents are used for intake of cooler, outside air which is forced past the heat-sink fins and then out through the rear exhaust vent.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;&lt;em&gt;Processor&lt;span&gt;  &lt;/span&gt;Thermal-Cooling Assembly:&lt;/em&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri" align=center&gt;&lt;img alt=image src="/Blogs/schertz_jeff/Lists/Photos/dell1.png"&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;The copper/metal hybrid cooling assembly pulls heat away from the core components, toward the heat-sink fins where the fan pushes outside air through them and out of the case.&lt;span&gt;  &lt;/span&gt;With the intake portion of the fins completely blocked the system fan would just run at full speed, but unable to properly remove the hot air from the case.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;This graph shows recorded CPU temperatures over 40 minutes during idle and light-usage:&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;&lt;img alt=graph src="/Blogs/schertz_jeff/Lists/Photos/dell2.png"&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;The red line is before removing the dust build-up, and the blue line as afterwards.&lt;span&gt;  &lt;/span&gt;Two things are apparent from this graph, that the CPU temperature has dropped about 20°C and some downward trending can now be seen.&lt;span&gt;  &lt;/span&gt;The 'before' line shows that the system was fighting a losing battle against core temperature as I noted that the fan was running at 100% the entire time.&lt;span&gt;  &lt;/span&gt;But the data collected after the repair shows that even though system fan was running at very low speeds it was still able to lower temperatures quickly.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;Preventative maintenance will keep these laptops running cooler over time, and in turn extend their usable lifespan.&lt;span&gt;  &lt;/span&gt;I'd recommend periodically blowing compressed air into the rear exhaust port (make sure the laptop is turned off) directly into the metal cooling fins.&lt;span&gt;  &lt;/span&gt;This should prevent any measurable build-up of dust that might begin to block off the fins entirely.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Published:&lt;/b&gt; 7/31/2007 8:58 PM&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JeffSchertz/~4/jiMNxxK2vvA" height="1" width="1"/&gt;</description>
      <author>Jeff Schertz</author>
      <pubDate>Tue, 31 Jul 2007 23:19:26 GMT</pubDate>
      <guid isPermaLink="true">http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=8</guid>
    </item>
    <item>
      <title>Vista WiFi Auto-Connect Workaround</title>
      <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=11</link>
      <description>&lt;div&gt;&lt;b&gt;Body:&lt;/b&gt; &lt;div class=ExternalClassA88BA3F978084AB89F236F10613B2641&gt;
&lt;div&gt;  
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;Since upgrading from Windows XP to Vista Business at the start of this year I have learned to live with a few behavioral annoyances by either adapting the way I previously performed a specific task or digging up a workaround/fix.&lt;span&gt;  &lt;/span&gt;Alas, there are still two specific issues that continue to drive me up a wall, day after day.&lt;span&gt;  &lt;/span&gt;The first of which was documented by Mark Russinovich in his blog entry entitled &lt;a href="http://blogs.technet.com/markrussinovich/archive/2006/11/27/532465.aspx"&gt;The Case of the Delayed Windows Vista File Open Dialogs&lt;/a&gt; and has me eagerly awaiting the release of Service Pack 1.&lt;span&gt;  &lt;/span&gt;Since I'm constantly logged into my laptop with cached domain account credentials while rarely actually connected to our home office I see this constantly.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;The second issue is related to connecting to wireless networks.&lt;span&gt;  &lt;/span&gt;First off I have yet to understand the overly-complex and poorly-executed &lt;span style="font-weight:bold"&gt;Network and Sharing Center&lt;/span&gt; that Vista uses.&lt;span&gt;  &lt;/span&gt;Tasks that were straight-forward and simple in XP have become cumbersome, and in some cases not even possible in Vista. One such example in particular is the way that wireless networks are managed and configured.&lt;span&gt;  &lt;/span&gt;Viewing multiple connection profiles is very clunky and requires switching between windows to effectively re-order networks as the View options are disabled and the is no column for profile affinity in that view.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;But the biggest oversight is the fact that when a profile is set to automatically connect to a wireless network, the option to manually connect it is not available.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;So let's take a closer look at this behavior:&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;The properties window for a wireless network connection named &amp;quot;Guest&amp;quot; shows that the setting for &lt;span style="font-style:italic"&gt;Connect automatically when this network is in range&lt;/span&gt; is &lt;span style="font-weight:bold"&gt;not&lt;/span&gt; enabled.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;&lt;img alt=screenshot1 src="/Blogs/schertz_jeff/Lists/Photos/wifi1.png"&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;This profile will appear in the &lt;span style="font-style:italic"&gt;Connect to a network&lt;/span&gt; window and the right-click menu presents the option to &lt;span style="font-weight:bold"&gt;Connect&lt;/span&gt; or &lt;span style="font-weight:bold"&gt;Disconnect&lt;/span&gt;, depending on current connection state.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;&lt;img alt=screenshot2 src="/Blogs/schertz_jeff/Lists/Photos/wifi2.png"&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;But this configuration requires that the user manually connects to this network each time the computer is started, brought out of hibernation/sleep, or enters the range of the wireless network.&lt;span&gt;  &lt;/span&gt;Since computers are supposed to make life easier, let's configure this profile to automatically connect to the network.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;&lt;img alt=screenshot3 src="/Blogs/schertz_jeff/Lists/Photos/wifi3.png"&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;Unfortunately this configuration now completely removes the connection profile from the &lt;span style="font-style:italic"&gt;Connect to a network&lt;/span&gt; window, meaning we are relying on Vista to automatically connect.&lt;span&gt;  &lt;/span&gt;If for some reason the network is in range but Vista is not connecting, the only way I've found to succesfully connect through the GUI is to go back to that wireless network's connection properties, unselect the 'automatically connect' option, go back to the connect window, right-click and choose connect.&lt;span&gt;  &lt;/span&gt;Then go back to the properties again and revert that setting so that auto connect is still re-enabled for future attempts.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;Well, I gave up doing all that long ago and simply set all of my wireless networks to &lt;span style="font-weight:bold"&gt;not&lt;/span&gt; automatically connect as on any given day I'm moving between 3-4 different WiFi networks.&lt;span&gt;  &lt;/span&gt;My previous laptop with Windows XP did a much better job of automatically connecting to wireless networks, but my new laptop paired with Vista fails to connect the majority of the time.&lt;span&gt;  &lt;/span&gt;Even replacement of the internal WiFi card did not help.&lt;span&gt;  &lt;/span&gt;It seems that I had the most success when booting up the system while in range of a network, but almost daily I put the computer into sleep mode while connected to one network and then wake it up in the range of another network as I move from home office to work office to client sites to public networks and it rarely works.&lt;span&gt;  &lt;/span&gt;So each time I logon I have to manually connect to a network, which I think is a bit ridiculous.&lt;span&gt;  &lt;/span&gt;And forget about trying to create a shortcut to the network connection on your desktop for quick clicking, Vista doesn't allow that either.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;Luckily there is a simple workaround that has let me configure each wireless network to automatically connect yet doesn't require that whole song-and-dance routine each time that fails to work and I'm forced to manually connect (which is quite often).&lt;span&gt;  &lt;/span&gt;The native &lt;span style="font-weight:bold;font-style:italic"&gt;netsh&lt;/span&gt; command can be used to connect/disconnect to a wireless network using the &lt;span style="font-weight:bold"&gt;wlan&lt;/span&gt; option.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font face="Courier New" color="#800000" size=1&gt;C:\&amp;gt;netsh wlan connect /?&lt;/font&gt;&lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font face="Courier New" color="#800000" size=1&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font face="Courier New" color="#800000" size=1&gt;Usage: connect [name=]&amp;lt;string&amp;gt; [[ssid=]&amp;lt;string&amp;gt;] [[interface=]&amp;lt;string&amp;gt;]&lt;/font&gt;&lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font face="Courier New" color="#800000" size=1&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font face="Courier New" color="#800000" size=1&gt;Parameters:&lt;/font&gt;&lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font size=1&gt;&lt;font color="#800000"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;    &lt;/span&gt;Tag&lt;span&gt;             &lt;/span&gt;Value&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font size=1&gt;&lt;font color="#800000"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;    &lt;/span&gt;ssid&lt;span&gt;          &lt;/span&gt;- SSID of the wireless network.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font size=1&gt;&lt;font color="#800000"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;    &lt;/span&gt;name&lt;span&gt;          &lt;/span&gt;- Name of the profile to be used in connection attempt.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font size=1&gt;&lt;font color="#800000"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;    &lt;/span&gt;interface&lt;span&gt;     &lt;/span&gt;- Name of the interface from which connection is attempted.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font face="Courier New" color="#800000" size=1&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font face="Courier New" color="#800000" size=1&gt;Remarks:&lt;/font&gt;&lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font size=1&gt;&lt;font color="#800000"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;    &lt;/span&gt;Connect to the wireless network given by ssid using the specified&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font size=1&gt;&lt;font color="#800000"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;    &lt;/span&gt;profile. Connection is attempted from the specified interface unless&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font size=1&gt;&lt;font color="#800000"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;    &lt;/span&gt;there is only one available interface on the system, in which case,&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font size=1&gt;&lt;font color="#800000"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;    &lt;/span&gt;the interface parameter can be omitted.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font face="Courier New" color="#800000" size=1&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font size=1&gt;&lt;font color="#800000"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;    &lt;/span&gt;Parameter profile name is required but ssid is optional. If only one&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font size=1&gt;&lt;font color="#800000"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;    &lt;/span&gt;SSID exists in the profile, then this SSID is used to connect. If there&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font size=1&gt;&lt;font color="#800000"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;    &lt;/span&gt;are multiple SSIDs in the profile, then parameter ssid is required.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font face="Courier New" color="#800000" size=1&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font size=1&gt;&lt;font color="#800000"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;    &lt;/span&gt;Parameter interface is required if there are two or more available&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font size=1&gt;&lt;font color="#800000"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;    &lt;/span&gt;interfaces on the system. When interface is specified, it cannot be&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font size=1&gt;&lt;font color="#800000"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;    &lt;/span&gt;a wildcard name.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font face="Courier New" color="#800000" size=1&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font size=1&gt;&lt;font color="#800000"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;    &lt;/span&gt;If the specified interface is already connected to a wireless network,&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font size=1&gt;&lt;font color="#800000"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;    &lt;/span&gt;this command will first disconnect from the currently connected network,&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font size=1&gt;&lt;font color="#800000"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;    &lt;/span&gt;then attempt to connect to the new network. However, if these two networks&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font size=1&gt;&lt;font color="#800000"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;    &lt;/span&gt;are the same this command simply returns success and does nothing.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font face="Courier New" color="#800000" size=1&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font face="Courier New" color="#800000" size=1&gt;Examples:&lt;/font&gt;&lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font size=1&gt;&lt;font color="#800000"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;    &lt;/span&gt;connect name=Profile1 ssid=SSID1&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p dir=ltr style="margin:0in"&gt;&lt;font size=1&gt;&lt;font color="#800000"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;    &lt;/span&gt;connect name=Profile2 ssid=SSID2 interface=&amp;quot;Wireless Network Connection&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font style="background-color:#c0c0c0" size=1&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;So, using the example above we can create a simple command to force a connection attempt to the wireless network and this works regardless of wheter the profile is set to automatically connect or not, something we can't do with the GUI.&lt;span&gt;  &lt;/span&gt;The command would be:&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="margin:0in"&gt;&lt;font face="Courier New" color="#800000" size=2&gt;netsh wlan connect name=Guest ssid=Guest&lt;/font&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;&lt;img alt=screenshot4 src="/Blogs/schertz_jeff/Lists/Photos/wifi4.png"&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;Although the request was successfully received, this does not confirm that the network actually&lt;span&gt;  &lt;/span&gt;connected, but just keep an eye on the Network systray icon for activity or hover over it to see the status.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;&lt;img alt=screenshot5 src="/Blogs/schertz_jeff/Lists/Photos/wifi5.png"&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;Now just put that command into a script or shortcut.&lt;span&gt;  &lt;/span&gt;I plan to play around with a Startup script that will execute a command for each of my 3-4 most used wireless networks to possibly automate it even more.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;Update:&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;Ok, so the search for a final solution continues. I've discovered after a reboot that even the netsh command fails when a Wireless Connection Profile is set to auto connect.  The command errors out with &amp;quot;The network specified by profile &amp;quot;PROFILE NAME&amp;quot; is not available to connect.&amp;quot; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;So I've left the profiles set to not automatically connect, and basically all I've accomplished is found a slightly faster way to connect to networks, yet still 100% manually, after starting up the computer. Ugh.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Category:&lt;/b&gt; Windows Vista&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Published:&lt;/b&gt; 10/4/2007 10:59 AM&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Categories:&lt;/b&gt; Windows Vista&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JeffSchertz/~4/CZM0JXtUPO8" height="1" width="1"/&gt;</description>
      <author>Jeff Schertz</author>
      <category>Windows Vista</category>
      <pubDate>Thu, 04 Oct 2007 14:31:56 GMT</pubDate>
      <guid isPermaLink="true">http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=11</guid>
    </item>
    <item>
      <title>ISA 3-Leg Perimeter Network with Private IP Subnet</title>
      <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=12</link>
      <description>&lt;div&gt;&lt;b&gt;Body:&lt;/b&gt; &lt;div class=ExternalClass209325BD6E474C1095C3231328D674B8&gt;
&lt;div&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;In a future blog entry I plan to walk through many of the steps needed to setup a virtualized test environment running on a single, uni-homed host.&lt;span&gt;  &lt;/span&gt;Throughout the process I've used a combination of online articles and blogs with input from colleagues to try and find the simplest hardware configuration which would allow me to deploy many different Microsoft products in an environment which closely mimics a typical enterprise.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;While I'm still working on that documentation, one specific hurdle that is worth calling out separately is related to &lt;span style="font-style:italic"&gt;Internet Security &amp;amp; Acceleration Server 2006&lt;/span&gt; which is the core networking component used in my lab.&lt;span&gt;  &lt;/span&gt;Without getting into too much detail, I have ISA Server 2006 deployed within a Windows Server 2003 virtual guest machine which is multi-homed across three networks: two virtual networks controlled by VMware Server and a third virtual NIC bound to the physical host's single NIC.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;Because I'm running my test lab at home behind a broadband connection I'm limited to a single dynamic public IP address, so the individual networks are all using private IP address ranges, with natural-mask Class C addresses used on my physical Ethernet network as well as the virtual Internal Network.&lt;span&gt;  &lt;/span&gt;An unnatural-mask Class B address range was configured for the Perimeter Network, as seen in this diagram:&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri" align=center&gt;&lt;img alt="" src="/Blogs/schertz_jeff/Lists/Photos/isa_3leg1.png"&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;Once I had ISA Server 2006 installed and deployed in the first virtual machine, I promptly used the &lt;span style="font-weight:bold"&gt;3-Leg Perimeter&lt;/span&gt; template to define the network configuration within ISA.&lt;span&gt;  &lt;/span&gt;As it turns out this template is designed to be used in a specific scenario and caused major problems with IP routing when I used it with my network configuration.&lt;span&gt;  &lt;/span&gt;&lt;em&gt;&lt;font color="#000080"&gt;After some research I discovered that the template is really meant to be used with a Perimeter Network that is configured with a &lt;strong&gt;public&lt;/strong&gt; IP address range, NOT a &lt;strong&gt;private&lt;/strong&gt; range.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;The default behavior can be seen in the Network Relationship settings for the Perimeter Configuration and Perimeter Access network rules:&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;&lt;img alt="" src="/Blogs/schertz_jeff/Lists/Photos/isa_3leg3.png"&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;Traffic between the &lt;span style="font-style:italic"&gt;Internal Network&lt;/span&gt; and &lt;span style="font-style:italic"&gt;Perimeter Network&lt;/span&gt; is set to &lt;span style="font-weight:bold"&gt;NAT&lt;/span&gt; (Network Address Translation) and traffic between the &lt;span style="font-style:italic"&gt;Perimeter Network&lt;/span&gt; and &lt;span style="font-style:italic"&gt;External Network&lt;/span&gt; is configured as &lt;span style="font-weight:bold"&gt;Route&lt;/span&gt;.&lt;span&gt;  &lt;/span&gt;This behavior assumes that a &lt;span style="font-weight:bold"&gt;Private&lt;/span&gt; IP address range is used in the &lt;span style="font-style:italic"&gt;Internal Network&lt;/span&gt; and a &lt;span style="font-weight:bold"&gt;Public&lt;/span&gt; IP address range is used in the &lt;span style="font-style:italic"&gt;Perimeter Network&lt;/span&gt;.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;Because I was using Private IP address ranges in both of these networks I needed to flip the configuration of both network rules:&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri" align=center&gt;&lt;img alt="" src="/Blogs/schertz_jeff/Lists/Photos/isa_3leg2.png"&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;This configuration now allows the ISA Server to route all traffic between the &lt;span style="font-style:italic"&gt;Internal&lt;/span&gt; and &lt;span style="font-style:italic"&gt;Perimeter Networks&lt;/span&gt; without performing any unneeded Network Address Translation, while correctly translating the traffic between non-routable Private IP addresses in the Perimeter Network and the hosts in the &lt;span style="font-style:italic"&gt;External Network&lt;/span&gt;.&lt;span&gt;  &lt;/span&gt;(Keep in mind that Firewall Policy rules will still be required to successfully route traffic between these networks, but the important first-step of connecting the separate networks is completed.)&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;It's a simple configuration change that if over-looked will cause all sorts of problems when attempting to publish services to the Internet on hosts in the internal networks.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Published:&lt;/b&gt; 10/21/2007 9:46 PM&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JeffSchertz/~4/yCDRHjc9QT4" height="1" width="1"/&gt;</description>
      <author>Jeff Schertz</author>
      <pubDate>Mon, 22 Oct 2007 02:35:55 GMT</pubDate>
      <guid isPermaLink="true">http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=12</guid>
    </item>
    <item>
      <title>Renaming an OCS Standard Server</title>
      <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=13</link>
      <description>&lt;div&gt;&lt;b&gt;Body:&lt;/b&gt; &lt;div class=ExternalClass3581B84EF3564F75ABE13CC762E1FD40&gt;  
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;…is not a good idea.&lt;span&gt;  &lt;/span&gt;In a production deployment a second server should be built using the desired server name, and then all OCS users moved over to it.&lt;span&gt;  &lt;/span&gt;Or a temporary staging server can be stood up in order to rebuild the original server.&lt;span&gt;  &lt;/span&gt;Either way, simply renaming an Office Communications Standard Server 2007 can be painful.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;Shortly after deploying a standard server in my lab I noticed during server configuration that I had fat-fingered the server's hostname and was not to happy about that. I decided to see what would happen if I just renamed the server without any preparation in OCS.&lt;span&gt;  &lt;/span&gt;After renaming my virtual guest from &lt;strong&gt;JDS&lt;span style="text-decoration:underline"&gt;S&lt;/span&gt;OCS01&lt;/strong&gt; to &lt;strong&gt;JDSOCS01 &lt;/strong&gt;I was welcomed with a standard Windows startup message alerting me to a service failure.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;A quick scan of the Application event log uncovers event ID 12291 explaining that &amp;quot;the Communications service is registered for a different machine.&amp;quot;&lt;span&gt;  &lt;/span&gt;Microsoft Knowledgebase &lt;a href="http://support.microsoft.com/kb/830535"&gt;Article ID 830535&lt;/a&gt; covers this error, but in reference to LCS 2003, and states that changing the FQDN of a Live Communications Server is not supported.&lt;span&gt;  &lt;/span&gt;So it doesn't appear to be supported in OCS 2007 either.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;The article's resolution suggests exporting the RTC SQL database to a file, removing the OCS services, and re-installing the product.&lt;span&gt;  &lt;/span&gt;Because I had already renamed the server I was unable to deactivate the pool/server using the previous name and was presented with a couple warnings during the uninstall that some configuration information will be left in the Active Directory domain; I took note of this for later troubleshooting. I also completely removed the SQL 2005 Express components in order to wipe the OCS install from the server.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;During reinstallation of the OCS Standard Server the setup wizard reported a failure and viewing the install log showed that the server could not be activated for a pool due to a conflict. At this point I decided to just delete the VM and rebuild the server from a fresh image as deploying a clean lab environment was my overall goal.&lt;span&gt;  &lt;/span&gt;Before creating a new server with the desired server name of JDSOCS01 I went to delete the existing computer object in Active Directory, but oddly enough I was warned that deletion of that object would result in all child objects also being removed from AD.&lt;span&gt;  &lt;/span&gt;I checked out the existing computer object using ADSIedit and apparently the OCS installation inserts additional objects under the server:&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri" align=center&gt;&lt;img alt="" src="/Blogs/schertz_jeff/Lists/Photos/ocs_rename1.png"&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;I deleted the computer object and imaged a new virtual guest using the correct server name.&lt;span&gt;  &lt;/span&gt;This time the OCS Standard Server installation completed successfully, but&lt;span&gt;  &lt;/span&gt;I received another error after validating the front-end server configuration:&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-weight:bold;font-size:8pt;margin:0in 0in 0in 0.375in;color:red;font-family:Calibri"&gt;Failure: [0xC3FC200D] One or more errors were detected&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in 0in 0in 0.375in;font-family:Calibri"&gt;&lt;span&gt; &lt;/span&gt;Diagnose Server&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in 0in 0in 0.375in;font-family:Calibri"&gt;&lt;span&gt;   &lt;/span&gt;Check Configuration&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in 0in 0in 0.375in;font-family:Calibri"&gt;&lt;span&gt;      &lt;/span&gt;Checking all trusted servers&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in 0in 0in 0.375in;font-family:Calibri"&gt;&lt;span&gt;         &lt;/span&gt;Internal Server&lt;span style="font-style:italic"&gt; &lt;/span&gt;&lt;span style="font-weight:bold;font-style:italic"&gt;JDSSOCS01.lab.schertz.local&lt;/span&gt;&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in 0in 0in 0.375in;color:red;font-family:Calibri"&gt;DNS Resolution failure: No such host is known&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in 0in 0in 0.375in;font-family:Calibri"&gt;Suggested Resolution: Make sure there are no typos in the Server name. Make sure that the Server name is published in the DNS (A or SRV record) or hosts file entry is configured correctly.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;This is the part where I spent some time digging through AD looking for where the old server name was hiding.&lt;span&gt;   &lt;/span&gt;After running some LDAP queries using the string *pool* I discovered where OCS stores it's configuration data in AD:&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:9pt;margin:0in 0in 0in 0.375in;font-family:Calibri"&gt;&lt;strong&gt;CN=RTC Service,CN=Microsoft,CN=System.DC=&lt;span style="font-style:italic"&gt;domain&lt;/span&gt;,DC=&lt;span style="font-style:italic"&gt;com&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;I located and deleted the &lt;span style="font-weight:bold"&gt;Pool&lt;/span&gt; object for the old server:&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-weight:bold;font-size:8pt;margin:0in;font-family:Calibri"&gt;CN=JDSSOCS01,CN=Pools,CN=RTC Service,CN=Microsoft,CN=System,DC=schertz,DC=local&lt;/p&gt;
&lt;p style="font-weight:bold;font-size:8pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri" align=center&gt;&lt;img alt="" src="/Blogs/schertz_jeff/Lists/Photos/ocs_rename2.png"&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;But that didn't resolve the validation errors after rebooting the OCS server.&lt;span&gt;  &lt;/span&gt;I dug deeper and found both the old and new server FQDNs referenced in multiple objects under &lt;span style="font-weight:bold"&gt;Global Settings, MCU Factories&lt;/span&gt;, &lt;span style="font-weight:bold"&gt;Trusted MCUs&lt;/span&gt;, and &lt;span style="font-weight:bold"&gt;Trusted WebComponentsServers&lt;/span&gt;.&lt;span&gt;  &lt;/span&gt;Using the command &lt;span style="color:#333399;font-style:italic"&gt;ldifde -f output.txt -d &amp;quot;dc=schertz,dc=local&amp;quot;&lt;/span&gt; is was able to search the text export file for all the objects with attributes referring to &amp;quot;jdssocs01&amp;quot;:&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-weight:bold;font-size:8pt;margin:0in;font-family:Calibri"&gt;CN=Global Settings,CN=RTC Service,CN=Microsoft,CN=System.DC=schertz,DC=local&lt;/p&gt;
&lt;p style="font-weight:bold;font-size:8pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in 0in 0in 0.75in;font-family:Calibri"&gt;&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;DN:  CN={DB1226B0-B04E-494F-BF44-6C365A2A4CF1}&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;objectCategory:  CN=ms-RTC-SIP-TrustedServer&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;msRTCSIP-TrustedServerFQDN:  JDSSOCS01.schertz.local&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-weight:bold;font-size:8pt;margin:0in;font-family:Calibri"&gt;CN=MCU Factories,CN=RTC Service,CN=Microsoft,CN=System.DC=schertz,DC=local&lt;/p&gt;
&lt;p style="font-weight:bold;font-size:8pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in 0in 0in 0.75in;font-family:Calibri"&gt;&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;DN:  CN={0AAB2557-E5AA-4229-8F43-600554BAE453}&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;objectCategory:  CN=ms-RTC-SIP-MCUFactoryService,CN=Schema,CN=Configuration,DC=schertz,DC=local&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;msRTCSIP-MCUFactoryData:  FactoryURL=&lt;a href="https://jdssocs01.schertz.local:444/LiveServer/MCUFactory/"&gt;https://JDSSOCS01.schertz.local:444/LiveServer/MCUFactory/&lt;/a&gt;&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;&lt;span style="font-style:italic"&gt;&lt;/span&gt; &lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;DN:  CN={55753891-89EA-4F18-B020-5FA5928BE97F}&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;objectCategory:  CN=ms-RTC-SIP-MCUFactoryService,CN=Schema,CN=Configuration,DC=schertz,DC=local&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;msRTCSIP-MCUFactoryData:  FactoryURL=&lt;a href="https://jdssocs01.schertz.local:444/LiveServer/MCUFactory/"&gt;https://JDSSOCS01.schertz.local:444/LiveServer/MCUFactory/&lt;/a&gt;&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;DN:  CN={56B7C1C4-1961-461A-B40F-3ABB3C62BE31}&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;objectCategory:  CN=ms-RTC-SIP-MCUFactoryService,CN=Schema,CN=Configuration,DC=schertz,DC=local&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;msRTCSIP-MCUFactoryData:  FactoryURL=&lt;a href="https://jdssocs01.schertz.local:444/LiveServer/MCUFactory/"&gt;https://JDSSOCS01.schertz.local:444/LiveServer/MCUFactory/&lt;/a&gt;&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;DN:  CN={E1F6A173-E15D-427A-8E2A-87DD1CAAD947}&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;objectCategory:  CN=ms-RTC-SIP-MCUFactoryService,CN=Schema,CN=Configuration,DC=schertz,DC=local&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;msRTCSIP-MCUFactoryData:  FactoryURL=&lt;a href="https://jdssocs01.schertz.local:444/LiveServer/MCUFactory/"&gt;https://JDSSOCS01.schertz.local:444/LiveServer/MCUFactory/&lt;/a&gt;&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-weight:bold;font-size:8pt;margin:0in;font-family:Calibri"&gt;&lt;/p&gt;
&lt;p style="font-weight:bold;font-size:8pt;margin:0in;font-family:Calibri"&gt;CN=Trusted MCUs,CN=RTC Service,CN=Microsoft,CN=System.DC=schertz,DC=local&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;DN:  CN={459B434F-3099-4049-8A2E-56D0524AFAD4}&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;objectCategory:  CN=ms-RTC-SIP-TrustedMCU,CN=Schema,CN=Configuration,DC=schertz,DC=local&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;msRTCSIP-TrustedMCUFQDN:  JDSSOCS01.schertz.local&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;DN:  CN={51D7A033-A074-4285-9589-FB78AAB6A460}&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;objectCategory:  CN=ms-RTC-SIP-TrustedMCU,CN=Schema,CN=Configuration,DC=schertz,DC=local&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;msRTCSIP-TrustedMCUFQDN:  JDSSOCS01.schertz.local&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;DN:  CN={9DE8BC35-D15A-4F8F-8BCD-A819014420F0} &lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;objectCategory:  CN=ms-RTC-SIP-TrustedMCU,CN=Schema,CN=Configuration,DC=schertz,DC=local&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;msRTCSIP-TrustedMCUFQDN:  JDSSOCS01.schertz.local&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;DN:  CN={C5677C4C-7BE6-484D-9CD4-878F1F8427BE}&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;objectCategory:  CN=ms-RTC-SIP-TrustedMCU,CN=Schema,CN=Configuration,DC=schertz,DC=local&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;msRTCSIP-TrustedMCUFQDN:  JDSSOCS01.schertz.local&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in 0in 0in 0.375in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-weight:bold;font-size:8pt;margin:0in;font-family:Calibri"&gt;CN=Trusted WebComponentsServers,CN=RTC Service,CN=Microsoft,CN=System.DC=schertz,DC=local&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;DN:  CN={93A1A739-3B44-4F0B-935A-170EAAA63026}&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;objectCategory:  CN=ms-RTC-SIP-TrustedWebComponentsServer&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:Calibri"&gt;msRTCSIP-TrustedWebComponentsServerFQDN:  JDSSOCS01.schertz.local&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;I deleted all objects above and then removed the invalid &lt;span style="font-style:italic"&gt;ServicePrincipalName&lt;/span&gt; entries from the &lt;span style="font-weight:bold"&gt;RTCService&lt;/span&gt; and &lt;span style="font-weight:bold"&gt;RTCComponentService&lt;/span&gt; user accounts.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri" align=center&gt;&lt;img alt="" src="/Blogs/schertz_jeff/Lists/Photos/ocs_rename3.png"&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;I forced AD replication between both domain controllers and rebooted the OCS server, and the validation check no longer reports any failures.&lt;/p&gt;
&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Category:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Published:&lt;/b&gt; 10/27/2007 4:25 PM&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Categories:&lt;/b&gt; Office Communications Server&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JeffSchertz/~4/SIhuxpXZDlg" height="1" width="1"/&gt;</description>
      <author>Jeff Schertz</author>
      <category>Office Communications Server</category>
      <pubDate>Sat, 27 Oct 2007 20:46:35 GMT</pubDate>
      <guid isPermaLink="true">http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=13</guid>
    </item>
    <item>
      <title>DNS Lookups with OCS Automatic Configuration</title>
      <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=14</link>
      <description>&lt;div&gt;&lt;b&gt;Body:&lt;/b&gt; &lt;div class=ExternalClass4ABC2B3CBF104502BF5813BBC7FD5973&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:10pt"&gt;Between the OCS 2007 Deployment documentation, official Resource Kit, and blog/forum posts I've seen some discrepancies regarding the exact names (and order) of lookups performed by an Office Communicator 2.0 client when attempting to connect to an Office Communications Server when utilizing Automatic Configuration.&lt;span&gt;  &lt;/span&gt;Specifically I've seen reference to the automatic fall-back of looking for A records starting with &lt;span style="font-style:italic"&gt;sip&lt;/span&gt;, or instead with &lt;span style="font-style:italic"&gt;sipinternal&lt;/span&gt;, and &lt;span style="font-style:italic"&gt;sipexternal&lt;/span&gt;.&lt;span&gt;  &lt;/span&gt;Well, I discovered that it's actually all three.&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:10pt"&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:10pt"&gt;To view the behavior I purposely deleted the DNS records I previously created in my lab environment during initial OCS deployment.&lt;span&gt;  &lt;/span&gt;After removing the SRV record &lt;span style="font-style:italic"&gt;_sipinterntls._tcp.schertz.local&lt;/span&gt; and the A record &lt;span style="font-style:italic"&gt;sip.schertz.local&lt;/span&gt; I flushed the DNS cache on my XP guest and launched Office Communicator, and was immediately presented with the error message: &amp;quot;Cannot sign in because the server is temporarily unavailable. If the problem persists, contact your system administrator.&amp;quot;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:10pt"&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:10pt"&gt;Although you can enable logging from within Office Communicator it is not neccasary as the following Application event log entries will be created during the connection failure:&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:10pt"&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font color="#333399" size=1&gt;Event ID: 1&lt;/font&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font color="#333399" size=1&gt;Communicator was unable to locate the login server.&lt;span&gt;  &lt;/span&gt;No DNS SRV records exist for domain schertz.local, so Communicator was unable to login.&lt;/font&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;span&gt;&lt;font color="#333399" size=1&gt;&lt;/font&gt;&lt;/span&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font color="#333399" size=1&gt;Event ID: 3&lt;/font&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font color="#333399" size=1&gt;Communicator was unable to resolve the DNS hostname of the login server &lt;span style="font-weight:bold"&gt;sipinternal&lt;/span&gt;.schertz.local.&lt;/font&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font color="#333399" size=1&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font color="#333399" size=1&gt;Event ID: 3&lt;/font&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font color="#333399" size=1&gt;Communicator was unable to resolve the DNS hostname of the login server &lt;span style="font-weight:bold"&gt;sip&lt;/span&gt;.schertz.local.&lt;/font&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font color="#333399" size=1&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font color="#333399" size=1&gt;Event ID: 3&lt;/font&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font color="#333399" size=1&gt;Communicator was unable to resolve the DNS hostname of the login server &lt;span style="font-weight:bold"&gt;sipexternal&lt;/span&gt;.schertz.local.&lt;/font&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:10pt"&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:10pt"&gt;So it appears that if no SRV record is found then the fall-back is to look for standard DNS name records in the following order:&lt;/p&gt;
&lt;ul&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:Calibri;font-size:10pt"&gt;sipinternal.domain.com&lt;/span&gt;&lt;/li&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:Calibri;font-size:10pt"&gt;sip.domain.com&lt;/span&gt;&lt;/li&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:Calibri;font-size:10pt"&gt;sipexternal.domain.com&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:10pt"&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:10pt"&gt;(Note:  Microsoft documentation can be a little misleading in a few places as there are specific requirements on A records versus CNAME records, but this appears to refer to the name records paired with SRV records, meaning that a SRV record must always point to an A record, and &lt;strong&gt;not&lt;/strong&gt; a CNAME record.  but for the standard DNS fallback it appears that either a CNAME or A record will work the same.)&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:10pt"&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:10pt"&gt;Next I created a new DNS Alias (CNAME) record of &lt;span style="font-style:italic"&gt;sipinternal.schertz.local&lt;/span&gt; and verified my client could resolve the new record.&lt;span&gt;  &lt;/span&gt;After reopening Office Communicator and attempting to sign-in, a slightly different error message appeared: &amp;quot;There was a problem verifying the certificate from the server.&lt;span&gt;  &lt;/span&gt;Please contact your system administrator.&amp;quot;&lt;span&gt;  &lt;/span&gt;A peak at the Application log showed two new events:&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:10pt"&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font color="#333399" size=1&gt;Event ID: 1&lt;/font&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font color="#333399" size=1&gt;Communicator was unable to locate the login server.&lt;span&gt;  &lt;/span&gt;No DNS SRV records exist for domain schertz.name, so Communicator was unable to login.&lt;/font&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font color="#333399" size=1&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font color="#333399" size=1&gt;Event ID: 4&lt;/font&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font color="#333399" size=1&gt;Communicator could not connect securely to server sipinternal.schertz.name because the certificate presented by the server did not match the expected hostname (sipinternal.schertz.name).&lt;/font&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:10pt"&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:10pt"&gt;We can see that again the SRV lookup was tried first and failed, but the first name record lookup for &lt;span style="font-style:italic"&gt;sipinternal&lt;/span&gt; resolved to a server and a connection attempt must have been successful as the client received a certificate, but failed with a name-mismatch.&lt;span&gt;   &lt;/span&gt;Using the OCS management tool to access the Front End Server Properties on the server object we can see the currently applied certificate.&lt;span&gt;  &lt;/span&gt;Clicking Select Certificate, then highlighting the current open from the list and clicking View Certificate will let us look at the &lt;span style="font-weight:bold"&gt;Subject Name&lt;/span&gt; and &lt;span style="font-weight:bold"&gt;Subject Alternative Name&lt;/span&gt; fields under the Details tab.&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:10pt"&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:10pt"&gt;The certificate verification error is reported because &lt;span style="font-style:italic"&gt;sipinternal.schertz.local&lt;/span&gt; is not in the certificate's SAN field, although &lt;span style="font-style:italic"&gt;sip.schertz.local&lt;/span&gt; is.&lt;span&gt;  &lt;/span&gt;This behavior underlines the importance of including any potential sip DNS names in the OCS server certificates.&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:10pt"&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:10pt" align=center&gt;&lt;img alt="cert screen shot" src="/Blogs/schertz_jeff/Lists/Photos/ocs_autoconfig1.png"&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:10pt"&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:10pt"&gt;Next I created another new DNS record for &lt;span style="font-style:italic"&gt;sip.schertz.local&lt;/span&gt;, but left the malfunctioning &lt;span style="font-style:italic"&gt;sipinternal&lt;/span&gt; record in DNS.&lt;span&gt;  &lt;/span&gt;Although there was still a certificate error when using &lt;span style="font-style:italic"&gt;sipinternal&lt;/span&gt;, Office Communicator will not continue to look for other DNS records, it simply stops at the first successful resolution regardless of what happens after a connection attempt is made to the remote server.&lt;span&gt;  &lt;/span&gt;So I deleted the &lt;span style="font-style:italic"&gt;sipinternal&lt;/span&gt; record and tested sign-in again, which worked correctly utilizing the &lt;span style="font-style:italic"&gt;sip.schertz.local&lt;/span&gt; record.&lt;span&gt;  &lt;/span&gt;At this point I recreated the previous SRV record to restore the previous configuration.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Category:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Published:&lt;/b&gt; 11/7/2007 9:19 PM&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Categories:&lt;/b&gt; Office Communications Server&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JeffSchertz/~4/fd_idNrBXTQ" height="1" width="1"/&gt;</description>
      <author>Jeff Schertz</author>
      <category>Office Communications Server</category>
      <pubDate>Thu, 08 Nov 2007 03:14:07 GMT</pubDate>
      <guid isPermaLink="true">http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=14</guid>
    </item>
    <item>
      <title>OCS Edge Server Requires Separate Internal and External Interfaces</title>
      <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=15</link>
      <description>&lt;div&gt;&lt;b&gt;Body:&lt;/b&gt; &lt;div class=ExternalClassDC19719E82C54EB3A2690EDA84E27A9E&gt;
&lt;div&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;I recently ran into a deployment problem for a customer where we attempted to use just two network interfaces for a single Edge Server configuration.&lt;span&gt;  &lt;/span&gt;If you follow the deployment documentation for the Office Communications Server 2007 Edge server, you'll see that they require the Edge server to have up to &lt;span style="font-weight:bold"&gt;four&lt;/span&gt; separate network interface ports, one for internal and one for each of the three Edge Server Roles.&lt;span&gt;  &lt;/span&gt;From a network bandwidth standpoint in a high-usage scenario this many interfaces can be helpful, but when installing a single Edge Server containing all 3 roles it could be more efficient to potentially reduce the amount of hardware requirements.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;Since the new hardware we were using to deploy the Edge server currently only had a single dual-port network interface (the additional card was back-ordered), we decided that we would locate the public IP address for the A/V Edge Server on one port, and then include the remaining three IP addresses for the Edge Access Server, Web Conferencing Server, and host's primary &amp;quot;internal&amp;quot; address all on the second port, like so:&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font face=Arial color="#000080" size=1&gt;&lt;strong&gt;NIC #1&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font face=Arial color="#000080" size=1&gt;10.1.1.10 - Host &lt;/font&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font face=Arial color="#000080" size=1&gt;10.1.1.11 - Access Edge Server&lt;/font&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font face=Arial color="#000080" size=1&gt;10.1.1.12 - Web Conferencing Edge Server&lt;/font&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font face=Arial color="#000080" size=1&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font face=Arial color="#000080" size=1&gt;&lt;strong&gt;NIC #2&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;&lt;font face=Arial color="#000080" size=1&gt;12.1.2.34 - A/V Edge Server&lt;/font&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;Because the host's internal IP and the two NAT-compatible Edge IPs are in the same subnet, then Windows Server will allow them to be bound to the same physical interface.&lt;span&gt;  &lt;/span&gt;The router that NIC #1 is plugged into was configured to route traffic to/from 10.1.1.10 back to the internal firewall, but route traffic for the other .11 and .12 addresses to the external firewall which was set to NAT both behind dedicated public IP addresses.&lt;span&gt;  &lt;/span&gt;The second interface would be connected to a dedicated port on the external firewall appliance and traffic would be routed without any address translation directly to the Edge Server.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;After deployment and configuration of the Edge Access role I was having problems getting external clients to successfully login to OCS.&lt;span&gt;  &lt;/span&gt;I rechecked the configuration and all the settings were correct, the certificates were assigned and working, and there were no IP routing issues.&lt;span&gt;  &lt;/span&gt;I could telnet to both ports 443 and 5061 on both the Edge and Front-End servers from any location on either side of both firewalls.&lt;span&gt;  &lt;/span&gt;Using performance monitor on the Edge server I could see the inbound connections coming in from the external clients, but the connection was failing to make the next-hop to the internal pool.&lt;span&gt;  &lt;/span&gt;The complete lack of errors or warnings in the event log didn't help much either.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;The next morning my client notified me that the additional dual-port NIC had arrived and was installed, so I went about reconfiguring the network utilizing a third interface:&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font face=Arial color="#000080" size=1&gt;&lt;strong&gt;NIC #1&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font face=Arial color="#000080" size=1&gt;10.1.1.10 - Host &lt;/font&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font face=Arial color="#000080" size=1&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font face=Arial color="#000080" size=1&gt;&lt;strong&gt;NIC #2&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font face=Arial color="#000080" size=1&gt;12.1.2.34 - A/V Edge Server&lt;/font&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font face=Arial color="#000080" size=1&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font face=Arial color="#000080" size=1&gt;&lt;strong&gt;NIC #3&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri"&gt;&lt;font face=Arial color="#000080" size=1&gt;10.1.1.11 - Access Edge Server&lt;/font&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;&lt;font face=Arial color="#000080" size=1&gt;10.1.1.12 - Web Conferencing Edge Server&lt;/font&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;At this point Office Communicator on the external test client connected immediately.&lt;span&gt;  &lt;/span&gt;So even though my internal and external IP addresses are on the same subnet and both interfaces connect back to the same router, OCS apparently requires separate physical interfaces or will just not function correctly.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;Theoretically the first configuration should have worked, but I originally had my reservations about whether OCS would not like the internal and external route sharing the same physical interface, even though I saw no connectivity problems between the Edge and Front-End servers over various ports.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Category:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Published:&lt;/b&gt; 11/9/2007 10:31 AM&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Categories:&lt;/b&gt; Office Communications Server&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JeffSchertz/~4/TC4tWJnlxrM" height="1" width="1"/&gt;</description>
      <author>Jeff Schertz</author>
      <category>Office Communications Server</category>
      <pubDate>Fri, 09 Nov 2007 16:28:07 GMT</pubDate>
      <guid isPermaLink="true">http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=15</guid>
    </item>
    <item>
      <title>Enabling Custom Phone Number Normalization with the Address Book Service</title>
      <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=17</link>
      <description>&lt;div&gt;&lt;b&gt;Body:&lt;/b&gt; &lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;The current Office Communications Server 2007 documentation doesn't go into very much detail regarding the configuration and behavior of Phone Normalization in the Address Book Service.  I won't be going into any details regarding customization of normalization rules and how they operate, as the purpose of this blog entry is just to understand how to enable this feature and how to force OCS to load the changes.&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;I have found some details in the &lt;a href="http://www.microsoft.com/technet/prodtechnol/office/livecomm/library/abs/lcsabs_7.mspx"&gt;LCS 2005 Address Book Service Planning and Deployment Guide&lt;/a&gt;, but there are some changes in OCS 2007.  Mainly, LCS uses a pair of configuration files which are installed by default:&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face="Courier New" color="#333399" size=1&gt;Generic_Phone_Number_Normalization_Rules.txt&lt;br&gt;Sample_Company_Phone_Number_Normalization_Rules.txt &lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;But after installing OCS 2007 you will find that only the Sample file exists, and not the Generic file.  I have yet to confirm this, but my suspicion is that these rules are no longer stored in a read-only text file but have been integrated directly into the service.&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;Executing the abserver -dumpRules command will display the built-in rules for verification.  (The executable abserver.exe is located in the \Server\Core subdirectory of the OCS installation folder.)&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;In order to create and activate any custom rules you'll need to create a new file in the proper location, rebuild the address book file, and manually force a Communicator client to download the updated file from the front-end server.  (The default OCS configuration resynchronizes the address book at 1:30AM local time each day.)&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;strong&gt;&lt;em&gt;Step 1&lt;/em&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;Find the current location of the Address Book Server files by clicking on the Standard Edition Server or Enterprise Pool and expanding the Address Book Server Settings in the Office Communications Server 2007 management console.&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;The default location on the Standard Edition Server in my lab is:&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;img alt="" src="/Blogs/schertz_jeff/Lists/Photos/ocs_abs1.png"&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;But an Enterprise Edition deployment creates shared folders for the Address Book and Meeting information, so a UNC path may be shown instead:&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;img alt="" src="/Blogs/schertz_jeff/Lists/Photos/ocs_abs2.png"&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;strong&gt;&lt;em&gt;Step 2&lt;/em&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;Create a new text file with the name &amp;quot;&lt;strong&gt;Company_Phone_Number_Normalization_Rules.txt&lt;/strong&gt;&amp;quot; and configure the desired normalization rules.&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;img alt="" src="/Blogs/schertz_jeff/Lists/Photos/ocs_abs3.png"&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;strong&gt;&lt;em&gt;Step 3&lt;/em&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;Execute the command &lt;strong&gt;abserver -regenUR&lt;/strong&gt; to trigger the User Replicator regeneration process.&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face="Courier New" color="#333399" size=1&gt;C:\Program Files\Microsoft Office Communications Server 2007\Server\Core&amp;gt;abserver -regenUR&lt;br&gt;Triggering UR regenerate - successful.&lt;br&gt;You might have to wait up to 5 minutes for it to actually complete.&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;Monitor the Office Communications Server event log for events in category 1009 and source OCS User Replicator:&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face="Courier New" color="#333399" size=1&gt;&lt;strong&gt;Event Type:     Information&lt;br&gt;Event Source:   OCS User Replicator&lt;br&gt;Event Category: 1009&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face="Courier New" color="#333399" size=1&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face="Courier New" color="#333399" size=1&gt;Event ID:       30027&lt;br&gt;Description:    User Replicator has started initial synchronization...&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face="Courier New" color="#333399" size=1&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face="Courier New" color="#333399" size=1&gt;Event ID:       30024&lt;br&gt;Description:    User Replicator has completed initial synchronization...&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face="Courier New" color="#333399" size=1&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face="Courier New" color="#333399" size=1&gt;Event ID:       30028&lt;br&gt;Description:    Address book (AB) entries are populated successfully...&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;strong&gt;&lt;em&gt;Step 4&lt;/em&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;After seeing Event ID 30028 confirming completion, execute the command &lt;strong&gt;abserver -syncNow&lt;/strong&gt; to trigger a new Address Book Server synchronization pass.&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face="Courier New" color="#333399" size=1&gt;C:\Program Files\Microsoft Office Communications Server 2007\Server\Core&amp;gt;abserver -syncNow&lt;br&gt;Triggering Address Book Server synchronization pass - successful.&lt;br&gt;You might have to wait up to 5 minutes for it to actually complete.&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;Monitor the Office Communications Server event log for events in category 1008 and source OCS Address Book Server:&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face="Courier New" color="#333399" size=1&gt;&lt;strong&gt;Event Type:     Information&lt;br&gt;Event Source:   OCS Address Book Server&lt;br&gt;Event Category: 1008&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face="Courier New" color="#333399" size=1&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face="Courier New" color="#333399" size=1&gt;Event ID:       21005&lt;br&gt;Description:    Synchronization pass started.&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face="Courier New" color="#333399" size=1&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face="Courier New" color="#333399" size=1&gt;Event ID:       21034&lt;br&gt;Description:    One or more phone numbers failed to normalize.&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face="Courier New" color="#333399" size=1&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face="Courier New" color="#333399" size=1&gt;Event ID:       21007&lt;br&gt;Description:    Synchronization pass completed successfully.&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face="Courier New" color="#333399" size=1&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face="Courier New" color="#333399" size=1&gt;Event ID:       21056&lt;br&gt;Description:    Synchronization Pass Summary.&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face="Courier New" color="#333399" size=1&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face="Courier New" color="#333399" size=1&gt;Event ID:       21058&lt;br&gt;Description:    Synchronization Pass Summary for Device Address Book files&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face="Courier New" color="#333399" size=1&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face="Courier New" color="#333399" size=1&gt;Event ID:       21004&lt;br&gt;Description:    Next synchronization pass will start at:  11/17/2007 1:30 AM&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;Once synchronization has finished you can test any custom normalization rules using the command &lt;strong&gt;abserver -testPhoneNorm&lt;/strong&gt;.&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;strong&gt;&lt;em&gt;Step 5&lt;/em&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;On a workstation running Office Communicator 2.0 make sure to sign-out and exit the client.&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;Remove the local copy of the Address Book by deleting the file &lt;em&gt;%USERPROFILE%\Local Settings\Application Data\Microsoft\Communicator\&lt;strong&gt;GalContacts.db&lt;/strong&gt;&lt;/em&gt;.&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;img alt="" src="/Blogs/schertz_jeff/Lists/Photos/ocs_abs4.png"&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;font face=Calibri size=2&gt;Restart the OC client and sign-in.  The updated address book should now be enabled for the client.&lt;/font&gt;&lt;/div&gt;
&lt;p&gt;&lt;font face=Calibri size=2&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;&lt;font face=Calibri size=2&gt;&lt;em&gt;&lt;strong&gt;Update:&lt;/strong&gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=Calibri size=2&gt;&lt;/font&gt;&lt;font face=Calibri size=2&gt;I recently discovered where the normalization information is kept on the client.  It's not stored in the GalContacts.db, but in the registry.  So if you are updating changes for Communicator and not necessarily making changes to the Address Book, then the last step above may not be required.  Simply restarting the Communicator client should read-in the updated value:&lt;/font&gt;&lt;font face=Calibri size=2&gt;&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;color:#333399;font-family:'Courier New'"&gt;Key:&lt;span&gt;     &lt;/span&gt;HKEY_CURRENT_USER\Software\Microsoft\Communicator\&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;color:#333399;font-family:'Courier New'"&gt;Value:&lt;span&gt;   &lt;/span&gt;PhoneNumberNormalizationRules&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;color:#333399;font-family:'Courier New'"&gt;Type:&lt;span&gt;    &lt;/span&gt;REG_SZ&lt;/p&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face=Calibri size=2&gt;&lt;strong&gt;&lt;em&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;&lt;font face=Calibri size=2&gt;&lt;strong&gt;&lt;em&gt;Update 2:&lt;/em&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=Calibri size=2&gt;After further testing I've discovered that the initial &lt;em&gt;abserver -regenUR &lt;/em&gt;command is not required when trying to update changes to the normalization file.  Also, the Communicator client is programmed to automatically update the galcontacts.db file each time the application is launched, so simply exiting and restarting without manually deleting the file seems to also pick up changes in the address book.&lt;/font&gt;&lt;font face=Calibri size=2&gt;&lt;/p&gt;
&lt;div class=ExternalClassCA6C74FF5BFD401CBBC02DE73F00A6E0&gt;&lt;br&gt;&lt;/div&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Category:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Published:&lt;/b&gt; 11/17/2007 12:11 PM&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Categories:&lt;/b&gt; Office Communications Server&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JeffSchertz/~4/VBLGf3PcHfs" height="1" width="1"/&gt;</description>
      <author>Jeff Schertz</author>
      <category>Office Communications Server</category>
      <pubDate>Sat, 17 Nov 2007 17:38:28 GMT</pubDate>
      <guid isPermaLink="true">http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=17</guid>
    </item>
    <item>
      <title>Managed Folder Mailbox Policies Tips</title>
      <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=18</link>
      <description>&lt;div&gt;&lt;b&gt;Body:&lt;/b&gt; &lt;div class=ExternalClassB0B29B21D0C04C23BD32F6FD4AD9C98B&gt;
&lt;div&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;Here's something I've run across a couple times while helping clients configure Exchange 2007, as well getting it wrong the first time I set it up in my test lab.&lt;span&gt;  &lt;/span&gt;If you are trying unsuccessfully to use the new Managed Folder Mailbox Policy feature in Exchange 2007 to move items from default folders into a new Managed Custom Folder there are a couple important steps worth verifying.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;As an example I performed the following steps:&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;Created a new Managed Custom Folder named System Cleanup.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;&lt;img alt="" src="/Blogs/schertz_jeff/Lists/Photos/exch_mp1.png"&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;Configured Managed Content Settings on the default &lt;span style="font-weight:bold"&gt;Inbox&lt;/span&gt; folder to identify items older than 7 days and move them into the System Cleanup folder.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;&lt;img alt="" src="/Blogs/schertz_jeff/Lists/Photos/exch_mp2.png"&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;I then created and configured a Managed Folder Mailbox Policy and applied it to a couple test mailboxes.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;&lt;img alt="" src="/Blogs/schertz_jeff/Lists/Photos/exch_mp3.png"&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;If you have performed similar steps but either (1) the new Custom Managed Folder is not appearing in your associated user's mailboxes, or (2) the folder appears but no items are getting moved into it, then let's check a couple important configuration steps that can be easily over looked or misunderstood.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-weight:bold;font-size:10pt;margin:0in;font-style:italic;font-family:Calibri"&gt;(1) Was the Managed Folder Assistant Scheduled?&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;First, make sure that you've enabled and scheduled the &lt;span style="font-style:italic"&gt;Managed Folder Assistant&lt;/span&gt; under &lt;span style="font-style:italic"&gt;Messaging Records Management&lt;/span&gt; in the Mailbox Server Configuration.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;&lt;img alt="" src="/Blogs/schertz_jeff/Lists/Photos/exch_mp4.png"&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;Now instead of waiting until the next scheduled time for the assistant to run, just kick-off a new process using the following cmdlet:&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:'Courier New'"&gt;&lt;font color="#333399"&gt;Start-ManagedFolderAssistant&lt;/font&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:'Courier New'"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;Check the Application event log for confirmation that the process started and completed.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:'Courier New'"&gt; &lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:'Courier New'"&gt;&lt;font color="#333399"&gt;Event Type:&lt;span&gt;     &lt;/span&gt;Information&lt;/font&gt;&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:'Courier New'"&gt;&lt;font color="#333399"&gt;Event Source:&lt;span&gt;   &lt;/span&gt;MSExchange Assistants&lt;/font&gt;&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:'Courier New'"&gt;&lt;font color="#333399"&gt;Event Category: Assistants &lt;/font&gt;&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:'Courier New'"&gt;&lt;font color="#333399"&gt;Event ID:&lt;span&gt;       &lt;/span&gt;9021&lt;/font&gt;&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:'Courier New'"&gt;&lt;font color="#333399"&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:'Courier New'"&gt;&lt;font color="#333399"&gt;Description:&lt;/font&gt;&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:'Courier New'"&gt;&lt;font color="#333399"&gt;Service MSExchangeMailboxAssistants. Managed Folder Mailbox Assistant for database First Storage Group/Mailbox Database (3b4042c3-296b-40e3-9e7b-7a17a000132e) is processing an on-demand request. There are 2 mailboxes to process.&lt;/font&gt;&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:'Courier New'"&gt;&lt;font color="#333399"&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:'Courier New'"&gt;&lt;font color="#333399"&gt;Event Type:&lt;span&gt;     &lt;/span&gt;Information&lt;/font&gt;&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:'Courier New'"&gt;&lt;font color="#333399"&gt;Event Source:&lt;span&gt;   &lt;/span&gt;MSExchange Assistants&lt;/font&gt;&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:'Courier New'"&gt;&lt;font color="#333399"&gt;Event Category: Assistants &lt;/font&gt;&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:'Courier New'"&gt;&lt;font color="#333399"&gt;Event ID:&lt;span&gt;       &lt;/span&gt;9022&lt;/font&gt;&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:'Courier New'"&gt;&lt;br&gt;&lt;font color="#333399"&gt;Description:&lt;/font&gt;&lt;/p&gt;
&lt;p style="font-size:8pt;margin:0in;font-family:'Courier New'"&gt;&lt;font color="#333399"&gt;Service MSExchangeMailboxAssistants. Managed Folder Mailbox Assistant for database First Storage Group/Mailbox Database (3b4042c3-296b-40e3-9e7b-7a17a000132e) has finished an on-demand request. 2 out of 2 mailboxes were successfully processed.&lt;span&gt;  &lt;/span&gt;0 mailboxes were skipped due to errors.&lt;/font&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;Open the test user's mailbox and verify that the Managed Custom Folder now appears and is populated with any moved items.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-weight:bold;font-size:10pt;margin:0in;font-style:italic;font-family:Calibri"&gt;(2) Was the Managed Folder Mailbox Policy correctly configured?&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;Here's where I messed up the first time configuring this in my lab as I had everything shown above set correctly, but was not getting any items old items pulled out of the Inbox and moved into System Cleanup.&lt;span&gt;  &lt;/span&gt;After some research and retracing of my steps I realized that I had not correctly associated all managed folders with the policy. &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;Originally I only added the new custom folder, thinking that was all that was required.&lt;span&gt;  &lt;/span&gt;The folder did appear in the user's mailbox, but was empty even after multiple scheduled and on-demand requests had processed.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;&lt;img alt="" src="/Blogs/schertz_jeff/Lists/Photos/exch_mp5.png"&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;But what you need to do is &lt;span style="text-decoration:underline"&gt;associate &lt;/span&gt;&lt;span style="font-weight:bold;text-decoration:underline"&gt;all&lt;/span&gt;&lt;span style="text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="font-weight:bold;text-decoration:underline"&gt;managed folders&lt;/span&gt;&lt;span style="text-decoration:underline"&gt; in the policy&lt;/span&gt;, both the target custom folder(s) and the default (and any custom) source folders which contain any Managed Content Settings you want applied, so I added the Inbox folder to the mailbox policy.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;&lt;img alt="" src="/Blogs/schertz_jeff/Lists/Photos/exch_mp6.png"&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;After making the change above and forcing the Managed Folder Assistant to run I checked my test mailbox to find that everything was now working correctly and some old messages had be moved into System Cleanup.&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;&lt;img alt="" src="/Blogs/schertz_jeff/Lists/Photos/exch_mp7.png"&gt;&lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt; &lt;/p&gt;
&lt;p style="font-size:10pt;margin:0in;font-family:Calibri"&gt;It makes sense now that I understand the process, as you need to tell the specific policy which existing Managed Content Settings to use, as just creating a folder policy doesn't mean Exchange will execute those rules.&lt;span&gt;  &lt;/span&gt;This level of control offers the ability to setup different sets of rules and apply them to different mailboxes.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Category:&lt;/b&gt; Exchange Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Published:&lt;/b&gt; 11/18/2007 11:27 AM&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Categories:&lt;/b&gt; Exchange Server&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JeffSchertz/~4/J74ZgLKLass" height="1" width="1"/&gt;</description>
      <author>Jeff Schertz</author>
      <category>Exchange Server</category>
      <pubDate>Sun, 18 Nov 2007 17:09:23 GMT</pubDate>
      <guid isPermaLink="true">http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=18</guid>
    </item>
    <item>
      <title>OCS Edge Server Configuration Topologies</title>
      <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=19</link>
      <description>&lt;div&gt;&lt;b&gt;Body:&lt;/b&gt; &lt;div class=ExternalClassD0F33D64C9E241E58A003989E6AD3873&gt;
&lt;div class=ExternalClassBBD6089A16954F50B44C4582A3DB3C9C&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt;Although deploying Office Communications Server 2007 for use internally is quite straight-forward, things begin to get complicated when adding in the components used for external client connectivity.&lt;span&gt;  &lt;/span&gt;The most misunderstood portions of deployment seem to be the correct configuration of the reverse proxy, and the networking configuration of the Edge Server itself.&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt; &lt;/p&gt;
&lt;p style="font-style:italic;margin:0in;font-family:calibri;font-size:10pt;font-weight:bold" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt;&lt;font color="#3f72ae"&gt;OCS Edge Server Configuration&lt;/font&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt;The Edge Server Deployment guide covers a variety of support topologies but the Consolidated Edge Topology is probably the most common, yet least understood.&lt;span&gt;  &lt;/span&gt;When deploying a single Edge Server role into a test, pilot or production environment it is important to correctly design and configure the networking component of the Windows Server before installing OCS.&lt;span&gt;  &lt;/span&gt;I've seen both first-hand and online many scenarios where an attempt to stray, even slightly, from the recommended deployment parameters can cause major communications problems across the board.&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt; &lt;/p&gt;
&lt;p style="font-style:italic;margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt;IP Addressing&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt;Most importantly the deployment guide recommends that a different IP address should be assigned to each server role.&lt;span&gt;  &lt;/span&gt;Unless you enjoy spending an inordinate amount of time reading through tracing logs or troubleshooting strange connectivity errors I suggest you heed this advice.&lt;span&gt;  &lt;/span&gt;Yes, you can modify default ports for separate OCS communications and pile-on services into a single-IP address, but why?&lt;span&gt;  &lt;/span&gt;Unless there is some major limiting factor in your specific environment or Santa only gave one IP address to you for Christmas, &lt;span style="text-decoration:underline"&gt;&lt;a href="/Blogs/mcgillen_matt/Lists/Posts/Post.aspx?ID=20"&gt;save yourself some grief&lt;/a&gt;&lt;/span&gt; and stick to the recommendations as best as you can.&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt;I suggest closely reading Step 1.2 in the &lt;span style="text-decoration:underline"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=ED45B74E-00C4-40D2-ABEE-216CE50F5AD2&amp;amp;displaylang=en"&gt;OCS 2007 Edge Server Deployment Guide&lt;/a&gt;&lt;/span&gt; describing the deployment topology.&lt;span&gt;  &lt;/span&gt;Each of the bulleted items should be fully understood before moving forward.&lt;span&gt;  &lt;/span&gt;Also, page 102 in the &lt;span style="text-decoration:underline"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=723347C6-FA1F-44D8-A7FA-8974C3B596F4&amp;amp;displaylang=en"&gt;OCS 2007 Planning Guide&lt;/a&gt;&lt;/span&gt; goes into some detail about the specific requirement of a Public IP address assigned directly to a physical interface on the Edge Server.&lt;span&gt;  &lt;/span&gt;This is not simply a 'recommendation' and has been documented in &lt;a href="http://blogs.technet.com/chlacy/archive/2007/06/18/publicly-routable-ip-address-needed-for-a-v-edge-server.aspx"&gt;multiple&lt;/a&gt; &lt;span style="text-decoration:underline"&gt;&lt;a href="/Blogs/mcgillen_matt/Lists/Posts/Post.aspx?ID=10"&gt;blogs&lt;/a&gt;&lt;/span&gt; and forum discussions.&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt; &lt;/p&gt;
&lt;p style="font-style:italic;margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt;Network Interfaces&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt;The same logic applies to the assignment of network interface cards and IP subnets as well.&lt;span&gt;  &lt;/span&gt;The absolute bare minimum number of NICs on an Edge Server is &lt;span style="font-weight:bold"&gt;two&lt;/span&gt;.&lt;span&gt;  &lt;/span&gt;All of the best practice recommendations throughout the deployment guides define an internal and external interface for a server deployed in a perimeter network between 2 firewalls, an external perimeter firewall and internal perimeter firewall:&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt;The diagram below outlines this topology along with the often misunderstood Reverse Proxy rule which is shown on a completely seperate physical server than the Edge Server:&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566 align=center&gt;&lt;img alt="" src="/Blogs/schertz_jeff/Lists/Photos/ocs_edge1a.png"&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt;But since only one public IP addresses is required for the A/V role, and not for the Access Edge or Web Conferencing roles, an additional network interface can be added to the Edge Server to Route to the public IP and NAT the two private IP addresses.  If an the external firewall does not have dedicated ports for routing traffic then this configuration can allow for only the A/V Server interface to be connected outside the firewall and not all three Edge Server roles.  This is a less secure approach but many smaller environments may not have the ability to directly route public IP addresses through the firewall and will need to connect to the Edge Server directly to the Internet; this configuration can help reduce the attack surface.&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566 align=center&gt;&lt;img alt="" src="/Blogs/schertz_jeff/Lists/Photos/ocs_edge1b.png"&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt;One final note I'd like to add about the configuration above is that in a server-class system it's routine to have a couple dual-port network interface cards so using all four interfaces is probably best from a performance standpoint, as well as potentially side-stepping any other undocumented problems that might arise from services sharing an interface.&lt;span&gt;  &lt;/span&gt;There are many possible configurations in even a consolidated topology, but it seems that the more resources (both physical and virtual) which can be dedicated to the Edge server, the better.&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt; &lt;/p&gt;
&lt;p style="font-style:italic;margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt;3-Leg Perimeter (DMZ) Configuration&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt;Let's say for the sake of argument you have a simpler design of a DMZ network 'hanging' off of a single firewall appliance or ISA server in a &lt;span style="text-decoration:underline"&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Post.aspx?ID=12"&gt;3-Leg configuration&lt;/a&gt;&lt;/span&gt; and you want to deploy a consolidated OCS Edge server with a single interface.&lt;span&gt;  &lt;/span&gt;On paper this would appear to be possible if assigning IP addresses to the Internal Interface and Access Edge Server in the same subnet and then use NAT on the firewall to publish the Access Edge IP address.&lt;span&gt;  &lt;/span&gt;Well, I tried this in a pilot rollout and had connectivity working in Windows Server 2003 for all required traffic but OCS would simply fail to correctly pass connections from external client onto the internal Front-End server(s).&lt;span&gt;  &lt;/span&gt;So the second important lesson is that the &lt;span style="text-decoration:underline"&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Post.aspx?ID=15"&gt;Edge Server must have separate Internal and External interfaces&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt;Given these parameters, here are two choices for valid configurations which are driven by the IP subnet used in the current perimeter network:&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt;&lt;/p&gt;
&lt;p style="margin-top:0px;margin-bottom:0px;vertical-align:middle" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Perimeter Network uses &lt;span style="font-weight:bold"&gt;Private&lt;/span&gt; IP Addresses&lt;/p&gt;
&lt;div class=ExternalClass7F56E8A414F843F0A829E639EF855AD2&gt;
&lt;ol style="margin-top:0in;unicode-bidi:embed;font-family:calibri;direction:ltr;margin-bottom:0in;margin-left:0.375in;font-size:10pt" type=1&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle" value=1&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;ISA Server Network Relationships&lt;/span&gt; 
&lt;ol style="margin-top:0in;unicode-bidi:embed;font-family:calibri;direction:ltr;margin-bottom:0in;margin-left:0.375in;font-size:10pt" type=a&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle" value=1&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;NAT relationship between the External and Perimeter Networks&lt;/span&gt; 
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle" value=2&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Route relationship between the Internal and Perimeter Networks&lt;/span&gt; 
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle" value=3&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;NAT relationship between the Internal and External Networks.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;
&lt;div class=ExternalClassBA5D5D1B626043AE87CA48A0A1D6A95D&gt;
&lt;ol style="margin-top:0in;unicode-bidi:embed;font-family:calibri;direction:ltr;margin-bottom:0in;margin-left:0.375in;font-size:10pt" type=1&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle" value=2&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Edge Server Network Interfaces&lt;/span&gt; 
&lt;ol style="margin-top:0in;unicode-bidi:embed;font-family:calibri;direction:ltr;margin-bottom:0in;margin-left:0.375in;font-size:10pt" type=a&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle" value=1&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;NIC1 (Internal) routed to ISA Server&lt;/span&gt; 
&lt;ol style="margin-top:0in;unicode-bidi:embed;font-family:calibri;direction:ltr;margin-bottom:0in;margin-left:0.375in;font-size:10pt" type=i&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle" value=1&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Assign IP Addresses from existing private subnet&lt;/span&gt; 
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle" value=2&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Assign to Edge Internal Interface&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;ol style="margin-top:0in;unicode-bidi:embed;font-family:calibri;direction:ltr;margin-bottom:0in;margin-left:0.375in;font-size:10pt" type=a&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle" value=2&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;NIC2 (External Private) routed to ISA Server&lt;/span&gt; 
&lt;ol style="margin-top:0in;unicode-bidi:embed;font-family:calibri;direction:ltr;margin-bottom:0in;margin-left:0.375in;font-size:10pt" type=i&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle" value=1&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Assign two IP Addresses from existing private subnet&lt;/span&gt; 
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle" value=2&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Assign to both Access Edge and Edge Web Conferencing&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;ol style="margin-top:0in;unicode-bidi:embed;font-family:calibri;direction:ltr;margin-bottom:0in;margin-left:0.375in;font-size:10pt" type=a&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle" value=3&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;NIC3 (External Public) routed to external Firewall Appliance (or Internet)&lt;/span&gt; 
&lt;ol style="margin-top:0in;unicode-bidi:embed;font-family:calibri;direction:ltr;margin-bottom:0in;margin-left:0.375in;font-size:10pt" type=i&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle" value=1&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Assign IP Addresses from public subnet&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/span&gt;
&lt;p style="margin-top:0px;margin-bottom:0px;vertical-align:middle" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;&lt;/span&gt; &lt;/p&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;&lt;/span&gt;
&lt;p style="margin-top:0px;margin-bottom:0px;vertical-align:middle" class=ExternalClassC61AE731132D48C1A036DB59C784B566 align=center&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;&lt;img alt="" src="/Blogs/schertz_jeff/Lists/Photos/ocs_edge2.png"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-top:0px;margin-bottom:0px;vertical-align:middle" class=ExternalClassC61AE731132D48C1A036DB59C784B566&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt"&gt;In this scenario three separate network interfaces are needed on the Edge Server because of two conflicting requirements: (1) the need for separate physical internal and external interfaces, and (2) the use of two different IP subnets between the three external Edge Server roles.&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt"&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt"&gt;&lt;/p&gt;
&lt;p style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Perimeter Network uses &lt;span style="font-weight:bold"&gt;Public&lt;/span&gt; IP Addresses&lt;/p&gt;
&lt;ol style="margin-top:0in;unicode-bidi:embed;font-family:calibri;direction:ltr;margin-bottom:0in;margin-left:0.375in;font-size:10pt" type=1&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle" value=1&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;ISA Server Network Relationships&lt;/span&gt; 
&lt;ol style="margin-top:0in;unicode-bidi:embed;font-family:calibri;direction:ltr;margin-bottom:0in;margin-left:0.375in;font-size:10pt" type=a&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle" value=1&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Route relationship between the External and Perimeter Networks&lt;/span&gt; 
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle" value=2&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;NAT relationship between the Internal and Perimeter Networks&lt;/span&gt; 
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle" value=3&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;NAT relationship between the Internal and External Networks.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;ol style="margin-top:0in;unicode-bidi:embed;font-family:calibri;direction:ltr;margin-bottom:0in;margin-left:0.375in;font-size:10pt" type=1&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle" value=2&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Edge Server Network Interfaces&lt;/span&gt; 
&lt;ol style="margin-top:0in;unicode-bidi:embed;font-family:calibri;direction:ltr;margin-bottom:0in;margin-left:0.375in;font-size:10pt" type=a&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle" value=1&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;NIC1 (Internal) routed directly to the internal network (bypassing ISA Server)&lt;/span&gt; 
&lt;ol style="margin-top:0in;unicode-bidi:embed;font-family:calibri;direction:ltr;margin-bottom:0in;margin-left:0.375in;font-size:10pt" type=i&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle" value=1&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Assign IP Addresses from existing private subnet&lt;/span&gt; 
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle" value=2&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Assign to Edge Internal Interface&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;ol style="margin-top:0in;unicode-bidi:embed;font-family:calibri;direction:ltr;margin-bottom:0in;margin-left:0.375in;font-size:10pt" type=a&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle" value=2&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;NIC2 (External) routed to ISA Server&lt;/span&gt; 
&lt;ol style="margin-top:0in;unicode-bidi:embed;font-family:calibri;direction:ltr;margin-bottom:0in;margin-left:0.375in;font-size:10pt" type=i&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle" value=1&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Assign three IP Addresses from existing public subnet&lt;/span&gt; 
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle" value=2&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Assign to Access Edge, Edge Web Conferencing, and Edge A/V Servers&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/span&gt;
&lt;p style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;&lt;/span&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;&lt;/span&gt; &lt;/p&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;&lt;/span&gt;
&lt;p style="margin-top:0px;margin-bottom:0px;vertical-align:middle" align=center&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;&lt;img alt="" src="/Blogs/schertz_jeff/Lists/Photos/ocs_edge3.png"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt"&gt;If the current Perimeter network uses public IP addresses and 3 addresses can be spared, then a consolidated Edge Server can be deployed with just &lt;span style="font-weight:bold"&gt;two&lt;/span&gt; interfaces, placing three public IP addresses in the same subnet on the External interface.&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt"&gt; &lt;/p&gt;
&lt;p style="font-style:italic;margin:0in;font-family:calibri;font-size:10pt"&gt;Certificates&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt"&gt;To take this one-to-one theme a step further, Certificates should also be a dedicated to each service. The deployment guide mentions in a couple spots that the A/V Edge Server does not require a certificate, and wildcard certificates are currently not supported in OCS.&lt;span&gt;  &lt;/span&gt;Special attention should also be paid to the Subject Alternative Name field of certificates and how OCS uses that information, &lt;span style="text-decoration:underline"&gt;&lt;a href="http://blogs.technet.com/isablog/archive/2007/08/29/certificates-with-multiple-san-entries-may-break-isa-server-web-publishing.aspx"&gt;and how ISA doesn't&lt;/a&gt;&lt;/span&gt;!&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;&lt;/span&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Below is an outline of how the certificates can be deployed:&lt;/p&gt;
&lt;ul style="margin-top:0in;unicode-bidi:embed;direction:ltr;margin-bottom:0in;margin-left:0.375in" type=disc&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Edge Server&lt;/span&gt; 
&lt;ul style="margin-top:0in;unicode-bidi:embed;direction:ltr;margin-bottom:0in;margin-left:0.375in" type=circle&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Internal Interface&lt;/span&gt; 
&lt;ul style="margin-top:0in;unicode-bidi:embed;direction:ltr;margin-bottom:0in;margin-left:0.375in" type=disc&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Issued by internal Windows Enterprise CA&lt;/span&gt; 
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Subject Name is the server's FQDN (e.g. &lt;/span&gt;&lt;span style="font-style:italic;font-family:calibri;font-size:10pt"&gt;ocsedge.internal.contoso.com&lt;/span&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Access Edge Server&lt;/span&gt; 
&lt;ul style="margin-top:0in;unicode-bidi:embed;direction:ltr;margin-bottom:0in;margin-left:0.375in" type=disc&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Issued by trusted third-party certificate authority&lt;/span&gt; 
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Subject Name is the FQDN used by the client to connect (e.g. &lt;/span&gt;&lt;span style="font-style:italic;font-family:calibri;font-size:10pt"&gt;sip.contoso.com)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Web Conferencing Edge Server&lt;/span&gt; 
&lt;ul style="margin-top:0in;unicode-bidi:embed;direction:ltr;margin-bottom:0in;margin-left:0.375in" type=disc&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Issued by trusted third-party certificate authority&lt;/span&gt; 
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Subject Name is unique FQDN (e.g. &lt;/span&gt;&lt;span style="font-style:italic;font-family:calibri;font-size:10pt"&gt;webconf.contoso.com)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;A/V Authentication Edge Server&lt;/span&gt; 
&lt;ul style="margin-top:0in;unicode-bidi:embed;direction:ltr;margin-bottom:0in;margin-left:0.375in" type=disc&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Issued by either internal Windows Enterprise CA (&lt;em&gt;recommended&lt;/em&gt;) or trusted third-party certificate authority&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; 
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Subject Name is unique FQDN (e.g. av&lt;/span&gt;&lt;span style="font-style:italic;font-family:calibri;font-size:10pt"&gt;.contoso.com)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p style="margin:0in 0in 0in 1.125in;font-family:calibri;font-size:10pt"&gt; &lt;/p&gt;
&lt;ul style="margin-top:0in;unicode-bidi:embed;direction:ltr;margin-bottom:0in;margin-left:0.375in" type=disc&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;ISA Server Reverse Proxy&lt;/span&gt; 
&lt;ul style="margin-top:0in;unicode-bidi:embed;direction:ltr;margin-bottom:0in;margin-left:0.375in" type=circle&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Internal Communications (OCS to ISA)&lt;/span&gt; 
&lt;ul style="margin-top:0in;unicode-bidi:embed;direction:ltr;margin-bottom:0in;margin-left:0.375in" type=disc&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Issued by internal Windows Enterprise CA during Front-End deployment&lt;/span&gt; 
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Subject Name is the server's FQDN (e.g. &lt;/span&gt;&lt;span style="font-style:italic;font-family:calibri;font-size:10pt"&gt;ocsfe1.internal.contoso.com&lt;/span&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;ul style="margin-top:0in;unicode-bidi:embed;direction:ltr;margin-bottom:0in;margin-left:0.375in" type=circle&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;External Communications (ISA to external client)&lt;/span&gt; 
&lt;ul style="margin-top:0in;unicode-bidi:embed;direction:ltr;margin-bottom:0in;margin-left:0.375in" type=disc&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Issued by trusted third-party certificate authority&lt;/span&gt; 
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;Subject Name is the external Web Farm FQDN (e.g. &lt;/span&gt;&lt;span style="font-style:italic;font-family:calibri;font-size:10pt"&gt;abs.contoso.com&lt;/span&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;
&lt;p style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt;&lt;/span&gt; &lt;/p&gt;
&lt;p style="margin-top:0px;margin-bottom:0px;vertical-align:middle"&gt;&lt;span style="font-family:calibri;font-size:10pt"&gt; &lt;/p&gt;
&lt;p style="font-style:italic;margin:0in;font-family:calibri;font-size:10pt;font-weight:bold"&gt;&lt;font color="#3f72ae"&gt;OCS Reverse Proxy with ISA 2006&lt;/font&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt"&gt;Using ISA Server 2006 we need to create a publish a web site rule to allow external clients access to address book and meeting information which is hosted on the internal Standard or Enterprise server via the IIS Default Web Site.&lt;span&gt;  &lt;/span&gt;Following the instructions under section 2.1 of the Edge deployment guide can be a little tricky at first, but makes much more sense once a few specifics are more clearly understood.&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt"&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt"&gt;The paragraph below is very confusing as it's actually referring to two different certificates but reads like they are talking about just one:&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt"&gt; &lt;/p&gt;
&lt;blockquote&gt;
&lt;p style="margin:0in;font-family:calibri;color:#333399;font-size:10pt;font-weight:bold"&gt;&lt;font color="#3f72ae" size=1 face=Tahoma&gt;Request and Configure a Certificate for Your Reverse HTTP Proxy&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p style="margin:0in;font-family:calibri;color:#333399;font-size:10pt"&gt;&lt;font color="#3f72ae" size=1 face=Tahoma&gt;The root certification authority (CA) certificate for the CA that issued the server certificate on the Web server (the IIS server running your Office Communications Server Web components) needs to be installed on the server running ISA Server 2006. This certificate should match the published FQDN of the external Web farm where you are hosting meeting content and Address Book files.&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt"&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt"&gt;The first statement basically says that you need to export the root CA certificate from your internal CA and import it into the Trusted Root Certification Authorities store on the ISA computer; simple enough.&lt;span&gt;  &lt;/span&gt;But the second sentence is now talking about a second certificate that should be requested from a third-party CA and will be used by external clients to connect to ISA via the published &lt;span style="font-weight:bold"&gt;External Web Farm FQDN&lt;/span&gt;.&lt;span&gt;  &lt;/span&gt;What this 'Web Farm&amp;quot; FQDN actually refers to is the external name that clients will use to connect to the IIS web site which is running on the internal OCS front-end server.&lt;span&gt;  &lt;/span&gt;This is NOT the FQDN used by clients to connect to the&lt;span&gt;  &lt;/span&gt;Access Edge, A/V service, or Web Conferencing service.&lt;span&gt;   &lt;/span&gt;In this example I will use &lt;span style="font-style:italic"&gt;abs.domain.com&lt;/span&gt; as the external FQDN, which will be configured in the OCS Edge deployment wizard and is part of the in-band configuration information to is passed to the external client once it makes a connection to the Access Edge service.&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt"&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt"&gt;So to summarize that, the internally issued certificate which is assigned to the Front-End server's default web site will be trusted by the ISA Server, and a second third-party certificate needs to be installed on the ISA Server in order to assign to the web listener for the external client to accept.&lt;span&gt;  &lt;/span&gt;ISA will terminate the connection from the requesting external client using one certificate and then create a second connection (using the other certificate) to the internal web site, essentially bridging the entire connection.&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt"&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt"&gt;And if it's not completely clear by looking at the first diagram in this article, then let me restate the obvious: the Reverse Proxy is &lt;span style="font-style:italic"&gt;not&lt;/span&gt; configured on the Edge Server itself, it's simply a way to allow external users access to a web site running on the internal OCS server.&lt;span&gt;  &lt;/span&gt;Installing ISA on the Edge Server for this rule is not advisable (and probably not even possible; I can't imagine even attempting to host both ISA and OCS on the same physical server!)&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt"&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt"&gt;Once these important points are understood then working through the rest of the deployment guide should be pretty straight-forward.&lt;span&gt;  &lt;/span&gt;The resulting ISA publishing rule and web listener configuration would look something like this:&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt"&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt" align=center&gt;&lt;img alt="" src="/Blogs/schertz_jeff/Lists/Photos/ocs_edge4.png"&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt"&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt"&gt; &lt;/p&gt;
&lt;p style="margin:0in;font-family:calibri;font-size:10pt"&gt;&lt;em&gt;&lt;font color="#3f72ae"&gt;&lt;strong&gt;Update:&lt;/strong&gt;&lt;/font&gt; &lt;/em&gt;Microsoft has recently released a &lt;a href="http://www.microsoft.com/downloads/thankyou.aspx?familyId=e4a8d703-e41a-47d9-b9dd-2799f894af92&amp;amp;displayLang=en" target="_blank"&gt;white paper&lt;/a&gt; on how to design a perimeter network with OCS 2007 in mind.  I haven't had a chance to read the entire document yet but it includes a number of scenarios with detailed diagrams and IP addressing examples.&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Category:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Published:&lt;/b&gt; 11/28/2007 10:57 PM&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Categories:&lt;/b&gt; Office Communications Server&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JeffSchertz/~4/tFdo-3jp0rc" height="1" width="1"/&gt;</description>
      <author>Jeff Schertz</author>
      <category>Office Communications Server</category>
      <pubDate>Thu, 29 Nov 2007 04:40:43 GMT</pubDate>
      <guid isPermaLink="true">http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=19</guid>
    </item>
    <item>
      <title>Controlling the msRTCSIP-OptionFlags attribute for OCS</title>
      <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=20</link>
      <description>&lt;div&gt;&lt;b&gt;Body:&lt;/b&gt; &lt;div class=ExternalClassF591590AF53B4CAF99D0ABA6D43CC0DB&gt;
&lt;p&gt;When configuring OCS user settings in bulk there are a limited numbers of options one can change when using the Office Communications Server 2007 Management Console. A range of user accounts can be selected and some options can be enabled/disabled like: Enhanced Presence, Federation, External access, PIC, and archival behavior. You can also set EV and meeting policies, but unfortunately cannot control any of the &lt;em&gt;Telephony&lt;/em&gt; user settings. 
&lt;p&gt;When migrating users and simultaneously deploying new services like Remote Call Control or Enterprise Voice you'll need to directly modify those user attributes in Active Directory. Let's use the example of migrating a few thousand users from LCS 2005 to a OCS 2007 deployment, leveraging Remote Call Control (RCC) with a popular IP-PBX system. 
&lt;p&gt;In order to configure RCC for a user there are three AD attributes which will need to be updated: &lt;strong&gt;msRTCSIP-LineServer&lt;/strong&gt;, &lt;strong&gt;msRTCSIP-Line&lt;/strong&gt;, and &lt;strong&gt;msRTCSIP-OptionFlags&lt;/strong&gt;.  The image below shows the desired settings for an RCC-enabled user and the related attribute names. 
&lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/20/ocs_optionflags1_6.png"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height=320 alt="ocs_optionflags1" src="/Blogs/schertz_jeff/Lists/Posts/Attachments/20/ocs_optionflags1_thumb_2.png" width=474 border=0&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p align=left&gt;Updating the &lt;em&gt;Server URI&lt;/em&gt; and &lt;em&gt;Line URI &lt;/em&gt;fields is a straight-forward process, as the associated attributes can simply be modified in bulk using LDIFDE or ADModify.NET.  But getting that radio button selected for &amp;quot;Enable Remote call control&amp;quot; is a bit more complicated, as the &lt;em&gt;msRTCSIP-OptionFlags&lt;/em&gt; attribute is a &lt;em&gt;bit-mask value&lt;/em&gt; where multiple options are represented by a unique bit so that a single attribute can control many separate settings.  Think of it as a bank of switches (11 to be exact) in which each 'switch' controls a different user setting and has it's own unique value. The total number of switches is added-up to yield the attribute's value, as can be seen in ADSIedit.&lt;/p&gt;
&lt;p&gt;The table below lists each 'switch' and what user setting it controls:&lt;/p&gt;
&lt;table cellspacing=0 cellpadding=2 width=647 border=1&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign=top width=54&gt;&lt;font size=1&gt;&lt;strong&gt;Value&lt;/strong&gt;&lt;/font&gt;&lt;/td&gt;
&lt;td valign=top width=366&gt;&lt;font size=1&gt;&lt;strong&gt;Controlled Behavior&lt;/strong&gt;&lt;/font&gt;&lt;/td&gt;
&lt;td valign=top width=225&gt;&lt;font size=1&gt;&lt;strong&gt;Setting Location&lt;/strong&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top width=54&gt;&lt;font size=1&gt;1&lt;/font&gt;&lt;/td&gt;
&lt;td valign=top width=366&gt;&lt;font size=1&gt;Enabled for Public IM Connectivity&lt;/font&gt;&lt;/td&gt;
&lt;td valign=top width=223&gt;&lt;font size=1&gt;User Options &amp;gt; Federation:&lt;br&gt;- Enable public IM connectivity&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top width=54&gt;&lt;font size=1&gt;2&lt;/font&gt;&lt;/td&gt;
&lt;td valign=top width=366&gt;&lt;font size=1&gt;&lt;em&gt;Reserved&lt;/em&gt;&lt;/font&gt;&lt;/td&gt;
&lt;td valign=top width=222&gt;&lt;font size=1&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top width=54&gt;&lt;font size=1&gt;4&lt;/font&gt;&lt;/td&gt;
&lt;td valign=top width=366&gt;&lt;font size=1&gt;&lt;em&gt;Reserved&lt;/em&gt;&lt;/font&gt;&lt;/td&gt;
&lt;td valign=top width=221&gt;&lt;font size=1&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top width=54&gt;&lt;font size=1&gt;8&lt;/font&gt;&lt;/td&gt;
&lt;td valign=top width=366&gt;&lt;font size=1&gt;&lt;em&gt;Reserved&lt;/em&gt;&lt;/font&gt;&lt;/td&gt;
&lt;td valign=top width=221&gt;&lt;font size=1&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top width=54&gt;&lt;font size=1&gt;16&lt;/font&gt;&lt;/td&gt;
&lt;td valign=top width=366&gt;&lt;font size=1&gt;Remote Call Control (RCC) Enabled&lt;/font&gt;&lt;/td&gt;
&lt;td valign=top width=220&gt;&lt;font size=1&gt;User Options &amp;gt; Telephony:&lt;br&gt;- Enable Remote call control&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top width=54&gt;&lt;font size=1&gt;32&lt;/font&gt;&lt;/td&gt;
&lt;td valign=top width=366&gt;&lt;font size=1&gt;&lt;em&gt;Unused&lt;/em&gt;&lt;/font&gt;&lt;/td&gt;
&lt;td valign=top width=220&gt;&lt;font size=1&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top width=54&gt;&lt;font size=1&gt;64&lt;/font&gt;&lt;/td&gt;
&lt;td valign=top width=366&gt;&lt;font size=1&gt;AllowOrganizeMeetingWithAnonymousParticipants&lt;/font&gt;&lt;/td&gt;
&lt;td valign=top width=220&gt;&lt;font size=1&gt;Communications &amp;gt; Meetings:&lt;br&gt;- Allow anonymous participants&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top width=54&gt;&lt;font size=1&gt;128&lt;/font&gt;&lt;/td&gt;
&lt;td valign=top width=366&gt;&lt;font size=1&gt;UCEnabled&lt;/font&gt;&lt;/td&gt;
&lt;td valign=top width=220&gt;&lt;font size=1&gt;User Options &amp;gt; Telephony:&lt;br&gt;- Enable Enterprise Voice&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top width=54&gt;&lt;font size=1&gt;256&lt;/font&gt;&lt;/td&gt;
&lt;td valign=top width=366&gt;&lt;font size=1&gt;EnabledForEnhancedPresence&lt;/font&gt;&lt;/td&gt;
&lt;td valign=top width=220&gt;&lt;font size=1&gt;User Options:&lt;br&gt;- Enable Enhanced Presence&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top width=54&gt;&lt;font size=1&gt;512&lt;/font&gt;&lt;/td&gt;
&lt;td valign=top width=366&gt;&lt;font size=1&gt;RemoteCallControlDualMode&lt;/font&gt;&lt;/td&gt;
&lt;td valign=top width=220&gt;&lt;font size=1&gt;User Options &amp;gt; Telephony:&lt;br&gt;- Enable Enterprise Voice&lt;br&gt;- Enable PBX integration&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top width=54&gt;&lt;font size=1&gt;1024&lt;/font&gt;&lt;/td&gt;
&lt;td valign=top width=366&gt;&lt;font size=1&gt;Enabled auto-attendant&lt;/font&gt;&lt;/td&gt;
&lt;td valign=top width=220&gt;&lt;font size=1&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;If we take a look at the user account in this example using ADSIedit we can see the raw integer value for &lt;em&gt;msRTCSIP-OptionFlags&lt;/em&gt;:&lt;/p&gt;
&lt;p align=center&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/20/ocs_optionflags2_2.png"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height=230 alt="ocs_optionflags2" src="/Blogs/schertz_jeff/Lists/Posts/Attachments/20/ocs_optionflags2_thumb.png" width=407 border=0&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;That value of 337 tells us exactly which options are currently enabled for this example account: Enhanced Presence (256) + Allow Anonymous Meeting Participants (64) + RCC Enabled (16) + PIC Enabled (1) = 337.&lt;/p&gt;
&lt;p&gt;So, in order to correctly update these settings for many users in bulk it's important to export the current value of this attribute for all in-scope user accounts, then increment the integer by adding the value(s) for the desired setting(s), and simply updating that attribute.  There are already numerous sources of information on how to import and export AD attributes value, but routine I used was to export the current data from AD using CSVDE, imported it into Excel and used various VLOOKUP formulas to build the new attribute values by reconciling against exports of employee phone directories to gather the needed phone extension.  I then saved the new information as a CSV file which looks like this:&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" color="#0000ff" size=1&gt;DN,msRTCSIP-OptionFlags,msRTCSIP-LineServer,msRTCSIP-Line&lt;br&gt;&amp;quot;CN=Schertz\, Jeff D,OU=Chicago,OU=All Users,DC=Schertz,DC=local&amp;quot;,337,sip:jschertz@cupserver.schertz.local,tel:3932;phone-context=dialstring&lt;/font&gt; 
&lt;p&gt;(Tip #1: if there are commas in the user object's CN then CSVDE will export them with two backslashes preceding the &amp;quot;,&amp;quot; character.  Make sure you perform a Find/Replace in Excel to change all instances of &amp;quot;\\,&amp;quot; to &amp;quot;\,&amp;quot; as LDIFDE requires a single \ character. Having two backslashes before the comma in the import file will cause the process to fail with an &lt;em&gt;invalid DN&lt;/em&gt; error. When importing data with CSVDE, two \\ escape characters are required.) 
&lt;p&gt;Once I had my import data created I used a &lt;a href="/Blogs/seaman_derek/Lists/Posts/Post.aspx?ID=5" target="_blank"&gt;co-worker's blog entry&lt;/a&gt; as a guide to build a template to convert the CSV file created in Excel into a proper LDIF import file.  Here's the contents of my custom &lt;strong&gt;csv-ldif.txt &lt;/strong&gt;template file that matches my CSV file data: 
&lt;p&gt;&lt;font face="Courier New" color="#0000ff" size=1&gt;&amp;lt;LPBODY&amp;gt;&lt;br&gt;dn: %FIELD_3%&lt;br&gt;changetype: modify&lt;br&gt;replace: msRTCSIP-OptionFlags&lt;br&gt;msRTCSIP-OptionFlags: %FIELD_4%&lt;br&gt;-&lt;br&gt;replace: msRTCSIP-LineServer&lt;br&gt;msRTCSIP-LineServer: %FIELD_5%&lt;br&gt;-&lt;br&gt;replace: msRTCSIP-Line&lt;br&gt;msRTCSIP-Line: %FIELD_6%&lt;br&gt;-&lt;br&gt;&amp;lt;/LPBODY&amp;gt;&lt;/font&gt; 
&lt;p&gt;By following Derek's directions you can use the Microsoft Log Parser utility to convert the standard CSV file into a properly formatted LDIF file which will update all three attributes for each user in turn.&lt;/p&gt;
&lt;p&gt;In this specific deployment most of the current LCS 2005 users had a &lt;em&gt;msRTCSIP-OptionFlags&lt;/em&gt;&lt;strong&gt; &lt;/strong&gt;value or either 0 or 1 (only a handful of users had PIC enabled) so I simply incremented the values to 16 and 17, respectively. This enabled RCC for all users as the accounts were simultaneously moved to the new OCS server.  As the client workstation's will next be upgraded to Office Communicator 2007 (and Enhanced Presence enabled) Remote Call Control will immediately be available.&lt;/p&gt;
&lt;p&gt;(Tip #2: Be careful when incrementing the value as if it's increased by 256, then Enhanced Presence will be enabled, which cannot be reverted.)&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Category:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Published:&lt;/b&gt; 12/22/2007 9:38 AM&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Categories:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Attachments:&lt;/b&gt; &lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/20/image_2.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/20/image_2.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/20/image_thumb.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/20/image_thumb.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/20/ocs_optionflags1_2.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/20/ocs_optionflags1_2.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/20/ocs_optionflags1_6.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/20/ocs_optionflags1_6.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/20/ocs_optionflags1_thumb.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/20/ocs_optionflags1_thumb.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/20/ocs_optionflags1_thumb_2.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/20/ocs_optionflags1_thumb_2.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/20/ocs_optionflags2_2.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/20/ocs_optionflags2_2.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/20/ocs_optionflags2_thumb.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/20/ocs_optionflags2_thumb.png&lt;/a&gt;&lt;br&gt;&lt;a href=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JeffSchertz/~4/JJDAMVgj2hE" height="1" width="1"/&gt;</description>
      <author>Jeff Schertz</author>
      <category>Office Communications Server</category>
      <pubDate>Sat, 22 Dec 2007 15:38:59 GMT</pubDate>
      <guid isPermaLink="true">http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=20</guid>
    </item>
    <item>
      <title>Live Meeting 2007 Client Download</title>
      <link>http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=21</link>
      <description>&lt;div&gt;&lt;b&gt;Body:&lt;/b&gt; &lt;div class=ExternalClassD45D7FFA90C44470AF5B70FDFD90E500&gt;&lt;p&gt;Just a quick blog entry here; it seems like every time I need to send another external party the link to download the LM2007 installation, I can never find it.  Yes, the link itself is in the invitation email (although somewhat difficult to find) but those aren't always handy when trying to create an impromptu conference with external IM attendees who are not already running OCS and/or LM 2007 themselves.&lt;/p&gt; &lt;p&gt;So here is the link to the download page:&lt;/p&gt; &lt;p&gt;&lt;a title="http://office.microsoft.com/en-us/help/HA101733831033.aspx" href="http://office.microsoft.com/en-us/help/HA101733831033.aspx"&gt;http://office.microsoft.com/en-us/help/HA101733831033.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Just click the &lt;em&gt;Accept and Install Client&lt;/em&gt; link in order to download the 16MB package.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;Also, here’s the link to the &lt;strong&gt;Outlook Add-In&lt;/strong&gt; component, in which the “Meet Now” option has returned.&lt;/p&gt; &lt;p&gt;&lt;a title="http://office.microsoft.com/en-us/help/HA102368901033.aspx" href="http://office.microsoft.com/en-us/help/HA102368901033.aspx"&gt;http://office.microsoft.com/en-us/help/HA102368901033.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="/Blogs/schertz_jeff/Lists/Posts/Attachments/21/image_2_253BC637.png"&gt;&lt;img title=image style="border-right:0px;border-top:0px;display:inline;border-left:0px;border-bottom:0px" height=40 alt=image src="/Blogs/schertz_jeff/Lists/Posts/Attachments/21/image_thumb_253BC637.png" width=524 border=0&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Category:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Published:&lt;/b&gt; 1/30/2008 2:08 PM&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Categories:&lt;/b&gt; Office Communications Server&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Attachments:&lt;/b&gt; &lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/21/image_2_253BC637.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/21/image_2_253BC637.png&lt;/a&gt;&lt;br&gt;&lt;a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/21/image_thumb_253BC637.png"&gt;http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/Attachments/21/image_thumb_253BC637.png&lt;/a&gt;&lt;br&gt;&lt;a href=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JeffSchertz/~4/FonhOpcX1HI" height="1" width="1"/&gt;</description>
      <author>Jeff Schertz</author>
      <category>Office Communications Server</category>
      <pubDate>Wed, 30 Jan 2008 20:08:04 GMT</pubDate>
      <guid isPermaLink="true">http://blogs.pointbridge.com/Blogs/schertz_jeff/Lists/Posts/ViewPost.aspx?ID=21</guid>
    </item>
  </channel>
</rss>
