<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.evangelyze.net/cs/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Mike Stacy&amp;#39;s Blog</title><subtitle type="html">A blog primarily devoted to Microsoft UC topics</subtitle><id>http://www.evangelyze.net/cs/blogs/mike/atom.aspx</id><link rel="alternate" type="text/html" href="http://www.evangelyze.net/cs/blogs/mike/default.aspx" /><link rel="self" type="application/atom+xml" href="http://www.evangelyze.net/cs/blogs/mike/atom.aspx" /><generator uri="http://communityserver.org" version="4.1.30929.2835">Community Server</generator><updated>2008-08-21T10:32:00Z</updated><entry><title>SmartChat</title><link rel="alternate" type="text/html" href="/cs/blogs/mike/archive/2008/11/19/smartchat.aspx" /><id>/cs/blogs/mike/archive/2008/11/19/smartchat.aspx</id><published>2008-11-19T21:27:00Z</published><updated>2008-11-19T21:27:00Z</updated><content type="html">&lt;p&gt;I typically blog about technical items related to Microsoft UC, but I want to draw some attention to SmartChat, which is a product that we recently released to allow customers to enable web chat on their website by leveraging their investment in OCS.&amp;nbsp; In simple terms, SmartChat is a &amp;quot;widget&amp;quot; that can be placed onto a website in one or more locations to enable live chat.&amp;nbsp; Obviously this isn&amp;#39;t a new concept, but the use of OCS and Communicator is the compelling part that makes this interesting and easy for OCS customers.&lt;/p&gt;
&lt;p&gt;In addition to simple chat, SmartChat has capabilities for reporting on the browser history (&amp;quot;I see you were looking at sweaters on our website&amp;quot;), enabling co-browsing (automatically navigating the web visitor&amp;#39;s browser), integrating with Microsoft CRM, and adding audio/video or desktop sharing to the conversation.&amp;nbsp; Best of all, you don&amp;#39;t need any additional software on either side of the conversation.&amp;nbsp; Flash is required for audio/video, but most people on the web already have this anyway.&lt;/p&gt;
&lt;p&gt;Needless to say, we&amp;#39;re pretty excited about releasing the product.&amp;nbsp; So is Microsoft apparently - they have approached us to run a case study on it (I&amp;#39;ll update you when it&amp;#39;s released).&amp;nbsp; In addition to obvious retail applications our existing and potential customers range from financial services organizations, who want to provide top level service through their member portals, to healthcare companies, who want to provide easier access to plan members and beneficiaries, to product and consulting firms, who want to provide better access to their product/service information and support teams.&amp;nbsp; Recently companies have start talking to us about using it for their internal helpdesks as well.&amp;nbsp; Overall it&amp;#39;s really interesting to see how companies apply the technology to their businesses.&lt;/p&gt;
&lt;p&gt;For screen shots and additional details check out the &lt;a target="_blank" href="http://www.evangelyze.net/products.asp#EC_SmartChat"&gt;SmartChat product page&lt;/a&gt;.&amp;nbsp; If you want to see it in action you can try it on our &lt;a target="_blank" href="http://www.evangelyze.net/contact.asp"&gt;contact page&lt;/a&gt;.&amp;nbsp; Because it&amp;#39;s presence enabled it&amp;#39;s only online when we are, so if you are outside the US or a night owl then you may just see an e-mail link because none of us are online at the moment.&amp;nbsp; You may also discover that at least a few of us work late as well.&amp;nbsp; &lt;img src="http://www.evangelyze.net/cs/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.evangelyze.net/cs/aggbug.aspx?PostID=108" width="1" height="1"&gt;</content><author><name>mike</name><uri>http://www.evangelyze.net/cs/members/mike/default.aspx</uri></author><category term="OCS" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/OCS/default.aspx" /><category term="SmartChat" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/SmartChat/default.aspx" /><category term="web chat" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/web+chat/default.aspx" /><category term="live chat" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/live+chat/default.aspx" /><category term="live person" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/live+person/default.aspx" /></entry><entry><title>Evangelyze announces SmartVoIP</title><link rel="alternate" type="text/html" href="/cs/blogs/mike/archive/2008/11/13/evangelyze-announces-smartvoip.aspx" /><id>/cs/blogs/mike/archive/2008/11/13/evangelyze-announces-smartvoip.aspx</id><published>2008-11-13T05:21:11Z</published><updated>2008-11-13T05:21:11Z</updated><content type="html">&lt;p&gt;Today we, in conjunction with NET/Quintum, announced our SmartVoIP solution (press release &lt;a href="http://www.marketwire.com/press-release/Network-Equipment-Technologies-NYSE-NWK-919957.html" target="_blank"&gt;here&lt;/a&gt;) that brings together OCS 2007 and Microsoft Response Point.&amp;nbsp; The premise for SmartVoIP is to provide a single integrated solution for customers with a corporate office and small offices/stores/branches.&amp;nbsp; Take for example a retail chain - typically there is a headquarters in one location with a large group of employees.&amp;nbsp; Additionally this organization will have retail stores in various locations.&amp;nbsp; With SmartVoIP, customers can deploy OCS with Enterprise Voice in the corporate HQ and a low cost Response Point system in the retail stores but tie them together to allow extension dialing between the systems.&amp;nbsp; Because we can do a combination of routing with POTS, SIP trunking, and OCS, customers are able to leverage the cheapest and most efficient call routing mechanism for their remote locations.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;For more info see &lt;a title="http://www.evangelyze.net/products.asp#SmartVoIP" href="http://www.evangelyze.net/products.asp#SmartVoIP"&gt;http://www.evangelyze.net/products.asp#SmartVoIP&lt;/a&gt; or contact me directly.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.evangelyze.net/cs/aggbug.aspx?PostID=107" width="1" height="1"&gt;</content><author><name>mike</name><uri>http://www.evangelyze.net/cs/members/mike/default.aspx</uri></author></entry><entry><title>Cisco Call Manager 7 Direct SIP Connectivity</title><link rel="alternate" type="text/html" href="/cs/blogs/mike/archive/2008/11/06/cisco-call-manager-7-direct-sip-connectivity.aspx" /><id>/cs/blogs/mike/archive/2008/11/06/cisco-call-manager-7-direct-sip-connectivity.aspx</id><published>2008-11-06T15:12:52Z</published><updated>2008-11-06T15:12:52Z</updated><content type="html">&lt;p&gt;Today I&amp;#39;ll outline how to connect Cisco Call Manager 7 to OCS via Direct SIP.&amp;nbsp; For ease of explanation I am using an environment with 3 digit extensions.&amp;nbsp; The extensions in OCS are 1XX and the Cisco extensions are 2XX.&lt;/p&gt; &lt;p&gt;First, create a SIP Trunk to your OCS Mediation server in CUCM:&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.evangelyze.net/cs/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mike/clip_5F00_image001_5F00_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="205" alt="clip_image001" src="http://www.evangelyze.net/cs/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mike/clip_5F00_image001_5F00_thumb.png" width="229" border="0" /&gt;&lt;/a&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Other than selecting items for the required fields, there are only a couple things to ensure.&amp;nbsp; First, make sure to check the box for &amp;quot;Media Termination Point Required.&amp;quot;&amp;nbsp; After that all you need to do is set the Destination Address to the FQDN or IP address of your Mediation server and click Save.&amp;nbsp; You will receive a warning about resetting the SIP Trunk - just click ok.&amp;nbsp; Since no one is using the trunk yet it&amp;#39;s safe to reset it.&amp;nbsp; Here are some reference screen shots (click on the image to see it full size): &lt;p&gt;&lt;a href="http://www.evangelyze.net/cs/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mike/clip_5F00_image001_5B00_10_5D00_.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="232" alt="clip_image001[10]" src="http://www.evangelyze.net/cs/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mike/clip_5F00_image001_5B00_10_5D005F00_thumb.png" width="404" border="0" /&gt;&lt;/a&gt; &lt;p&gt;&lt;a href="http://www.evangelyze.net/cs/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mike/clip_5F00_image001_5B00_12_5D00_.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="133" alt="clip_image001[12]" src="http://www.evangelyze.net/cs/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mike/clip_5F00_image001_5B00_12_5D005F00_thumb.png" width="406" border="0" /&gt;&lt;/a&gt; &lt;p&gt;&lt;a href="http://www.evangelyze.net/cs/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mike/clip_5F00_image001_5B00_14_5D00_.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="254" alt="clip_image001[14]" src="http://www.evangelyze.net/cs/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mike/clip_5F00_image001_5B00_14_5D005F00_thumb.png" width="455" border="0" /&gt;&lt;/a&gt; &lt;p&gt;&amp;nbsp; &lt;p&gt;Next, create a new Route Pattern: &lt;p&gt;&lt;a href="http://www.evangelyze.net/cs/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mike/clip_5F00_image001_5B00_16_5D00_.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="168" alt="clip_image001[16]" src="http://www.evangelyze.net/cs/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mike/clip_5F00_image001_5B00_16_5D005F00_thumb.png" width="398" border="0" /&gt;&lt;/a&gt; &lt;p&gt;&amp;nbsp; &lt;p&gt;In my case OCS is using 3 digit extensions that start with a 1, so I enter a pattern of 1XX.&amp;nbsp; In the Gateway/Route List field I select the SIP Trunk that I just created.&amp;nbsp; Click Save. &lt;p&gt;&lt;a href="http://www.evangelyze.net/cs/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mike/clip_5F00_image001_5B00_18_5D00_.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="310" alt="clip_image001[18]" src="http://www.evangelyze.net/cs/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mike/clip_5F00_image001_5B00_18_5D005F00_thumb.png" width="533" border="0" /&gt;&lt;/a&gt; &lt;p&gt;&amp;nbsp; &lt;p&gt;You will receive a warning that the Authorization Code will not be activated.&amp;nbsp; Click OK to continue. &lt;p&gt;&lt;a href="http://www.evangelyze.net/cs/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mike/clip_5F00_image001_5B00_20_5D00_.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="132" alt="clip_image001[20]" src="http://www.evangelyze.net/cs/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mike/clip_5F00_image001_5B00_20_5D005F00_thumb.png" width="330" border="0" /&gt;&lt;/a&gt; &lt;p&gt;&amp;nbsp; &lt;p&gt;That&amp;#39;s it for the Cisco side.&amp;nbsp; If you had multiple Mediation servers for different route patterns then you would create a new SIP trunk and route pattern for each.&amp;nbsp; If you have multiple Mediation servers to which you can route the same digit patters then you would use Route Groups and Route Lists instead.&amp;nbsp; Further information on this is available in the &lt;a href="http://www.cisco.com/en/US/docs/voice_ip_comm/cucm/admin/7_0_1/ccmcfg/701-cmcfg.html" target="_blank"&gt;Cisco documentation&lt;/a&gt;.&amp;nbsp; Now we move on to the OCS side of things. &lt;p&gt;First, I configure my Mediation server to use Call Manager as the PSTN gateway. &lt;p&gt;&lt;a href="http://www.evangelyze.net/cs/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mike/image_5F00_4.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="139" alt="image" src="http://www.evangelyze.net/cs/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mike/image_5F00_thumb_5F00_1.png" width="303" border="0" /&gt;&lt;/a&gt;  &lt;p&gt;&amp;nbsp; &lt;p&gt;If you have multiple mediation servers you may need to specify the route for the Cisco extensions.&amp;nbsp; In my case I&amp;#39;m using this Mediation server only to connect to Cisco because I have another Mediation server that is already providing PSTN routing, so I specify a route for the 2XX pattern to go through this specific mediation server. &lt;p&gt;&lt;a href="http://www.evangelyze.net/cs/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mike/image_5F00_6.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="409" alt="image" src="http://www.evangelyze.net/cs/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mike/image_5F00_thumb_5F00_2.png" width="271" border="0" /&gt;&lt;/a&gt;  &lt;p&gt;&amp;nbsp; &lt;p&gt;Depending on your AD and OCS topology it may take a little while for the changes to be picked up by all the OCS servers, but once this occurs you should be good to go. &lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.evangelyze.net/cs/aggbug.aspx?PostID=105" width="1" height="1"&gt;</content><author><name>mike</name><uri>http://www.evangelyze.net/cs/members/mike/default.aspx</uri></author><category term="OCS" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/OCS/default.aspx" /><category term="CUCM" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/CUCM/default.aspx" /><category term="Cisco" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/Cisco/default.aspx" /><category term="Call Manager" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/Call+Manager/default.aspx" /><category term="Direct SIP" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/Direct+SIP/default.aspx" /></entry><entry><title>OCS SQL Query - Show last OCS logon</title><link rel="alternate" type="text/html" href="/cs/blogs/mike/archive/2008/11/05/ocs-sql-query-show-last-ocs-logon.aspx" /><id>/cs/blogs/mike/archive/2008/11/05/ocs-sql-query-show-last-ocs-logon.aspx</id><published>2008-11-05T17:00:00Z</published><updated>2008-11-05T17:00:00Z</updated><content type="html">&lt;p&gt;I wrote this one a while back to help someone on the forums.&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;select res.UserAtHost as &amp;quot;SIP Address&amp;quot;, hud.LastNewRegisterTime as &amp;quot;Last Logon&amp;quot; from rtcdyn.dbo.HomedUserDynamic hud join&lt;br /&gt;(Select ResourceId, UserAtHost from rtc.dbo.Resource&lt;br /&gt;group by ResourceId, UserAtHost)&lt;br /&gt;res&lt;br /&gt;on hud.OwnerId=res.ResourceId&lt;br /&gt;order by &amp;quot;Last Logon&amp;quot;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.evangelyze.net/cs/aggbug.aspx?PostID=104" width="1" height="1"&gt;</content><author><name>mike</name><uri>http://www.evangelyze.net/cs/members/mike/default.aspx</uri></author><category term="OCS" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/OCS/default.aspx" /><category term="SQL" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/SQL/default.aspx" /><category term="users" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/users/default.aspx" /><category term="query" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/query/default.aspx" /></entry><entry><title>OCS SQL Query - Return Archive User Settings</title><link rel="alternate" type="text/html" href="/cs/blogs/mike/archive/2008/11/05/ocs-sql-query-return-archive-user-settings.aspx" /><id>/cs/blogs/mike/archive/2008/11/05/ocs-sql-query-return-archive-user-settings.aspx</id><published>2008-11-05T16:52:00Z</published><updated>2008-11-05T16:52:00Z</updated><content type="html">&lt;p&gt;From time to time I&amp;#39;ll be posting SQL queries that I use for various reasons.&amp;nbsp; I don&amp;#39;t claim to be a SQL query expert and so I won&amp;#39;t guarantee that these are written with the best syntax or performance characteristics.&lt;/p&gt;
&lt;p&gt;This query will list your users by SIP address and return their archive settings.&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;select&lt;/span&gt;
res.UserAtHost &lt;span class="kwrd"&gt;as&lt;/span&gt; &amp;quot;SIP Address&amp;quot;,

&lt;span class="kwrd"&gt;case&lt;/span&gt;
&lt;span class="kwrd"&gt;when&lt;/span&gt; (resdir.ArchivingFlags = 4) &lt;span class="kwrd"&gt;then&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;*&amp;#39;&lt;/span&gt; 
&lt;span class="kwrd"&gt;when&lt;/span&gt; (resdir.ArchivingFlags = 12) &lt;span class="kwrd"&gt;then&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;*&amp;#39;&lt;/span&gt; 
&lt;span class="kwrd"&gt;else&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;&amp;#39;&lt;/span&gt; 
&lt;span class="kwrd"&gt;end&lt;/span&gt;
&lt;span class="kwrd"&gt;as&lt;/span&gt; &amp;quot;&lt;span class="kwrd"&gt;Internal&lt;/span&gt;&amp;quot;,
&lt;span class="kwrd"&gt;case&lt;/span&gt;
&lt;span class="kwrd"&gt;when&lt;/span&gt; (resdir.ArchivingFlags = 8) &lt;span class="kwrd"&gt;then&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;*&amp;#39;&lt;/span&gt; 
&lt;span class="kwrd"&gt;when&lt;/span&gt; (resdir.ArchivingFlags = 12) &lt;span class="kwrd"&gt;then&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;*&amp;#39;&lt;/span&gt;
&lt;span class="kwrd"&gt;else&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;&amp;#39;&lt;/span&gt;
&lt;span class="kwrd"&gt;end&lt;/span&gt;
&lt;span class="kwrd"&gt;as&lt;/span&gt; &amp;quot;&lt;span class="kwrd"&gt;Federated&lt;/span&gt;&amp;quot;

&lt;span class="kwrd"&gt;from&lt;/span&gt; rtc.dbo.ResourceDirectory resdir &lt;span class="kwrd"&gt;join&lt;/span&gt;
(&lt;span class="kwrd"&gt;Select&lt;/span&gt; ResourceId, UserAtHost &lt;span class="kwrd"&gt;from&lt;/span&gt; rtc.dbo.Resource
&lt;span class="kwrd"&gt;group&lt;/span&gt; &lt;span class="kwrd"&gt;by&lt;/span&gt; ResourceId, UserAtHost)
res
&lt;span class="kwrd"&gt;on&lt;/span&gt; resdir.ResourceId=res.ResourceId
&lt;span class="kwrd"&gt;order&lt;/span&gt; &lt;span class="kwrd"&gt;by&lt;/span&gt; &amp;quot;SIP Address&amp;quot;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.evangelyze.net/cs/aggbug.aspx?PostID=101" width="1" height="1"&gt;</content><author><name>mike</name><uri>http://www.evangelyze.net/cs/members/mike/default.aspx</uri></author><category term="OCS" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/OCS/default.aspx" /><category term="SQL" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/SQL/default.aspx" /><category term="query" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/query/default.aspx" /><category term="archive" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/archive/default.aspx" /></entry><entry><title>Tanjay firmware will not update</title><link rel="alternate" type="text/html" href="/cs/blogs/mike/archive/2008/10/05/tanjay-firmware-will-not-update.aspx" /><link rel="enclosure" type="text/plain" length="801" href="http://www.evangelyze.net/cs/cfs-file.ashx/__key/CommunityServer.Components.PostAttachments/00.00.00.00.97/updsrvurls.txt" /><id>/cs/blogs/mike/archive/2008/10/05/tanjay-firmware-will-not-update.aspx</id><published>2008-10-06T01:58:00Z</published><updated>2008-10-06T01:58:00Z</updated><content type="html">&lt;p&gt;Recently I was working on an issue where Tanjays (Polycom CX700 or LG-Nortel IP8540) would not update their firmware.&amp;nbsp; There were a variety of issues but there was one in particular that I noticed some open questions about on the forums so I thought I&amp;#39;d share the solution.&lt;/p&gt;
&lt;p&gt;In this case the company&amp;#39;s Tanjays all resided outside the organization because the workforce is mobile.&amp;nbsp; All the ports and NATs seemed to be fine and indeed we could see a connection in the IIS logs to the Web Components server.&amp;nbsp; However, the IIS log revealed the following:&lt;/p&gt;
&lt;p&gt;2008-10-05 21:45:10 W3SVC1 10.1.1.13 POST /RequestHandler/ucdevice.upx - 80 - &amp;lt;user&amp;#39;s external IP&amp;gt; Microsoft+UCPhone+Device &lt;strong&gt;&lt;em&gt;500&lt;/em&gt;&lt;/strong&gt; 0 0&lt;/p&gt;
&lt;p&gt;The 500 error code is the relevant item here.&amp;nbsp; When the RequestHandler receives a connection from the Tanjay it then connects to the WSS site that holds the firmware using the internal FQDN that was specified during the configuration of the UC Update Service.&amp;nbsp; Originally the configuration was done with different internal and external FQDNs but when an external certificate was purchased for the WSS site the Alternate Access Mappings, which basically tell WSS which URLs to use, were configured only for the external FQDN since the thought was that only external users would be using the service.&amp;nbsp; However, since the RequestHandler needs to access WSS with the internal FQDN the connections were failing.&lt;/p&gt;
&lt;p&gt;The fix was pretty simple - always make sure that WSS is accessible by both the internal and external names that you specify in the configuration.&amp;nbsp; I&amp;#39;ve attached a vbs script that you can run on your OCS web components server to view the URLs that are configured for the update service.&amp;nbsp; There may be another place to see this info but it was easier to just use WMI to show these values rather than figure out the lcscmd syntax if in fact that&amp;#39;s even possible.&amp;nbsp; A quick review of the validation output indicated that these values are not listed there.&amp;nbsp; Just rename the file from .txt to .vbs and run it with &amp;quot;cscript updsrvurls.vbs&amp;quot; from a command line and it will list the URLs associated with the update server configuration on that OCS server.&amp;nbsp; You can also run it remotely by changing the strComputer = &amp;quot;.&amp;quot; line to strComputer = &amp;quot;&amp;lt;yourocsfeinternalfqdn&amp;gt;&amp;quot;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.evangelyze.net/cs/aggbug.aspx?PostID=97" width="1" height="1"&gt;</content><author><name>mike</name><uri>http://www.evangelyze.net/cs/members/mike/default.aspx</uri></author><category term="Tanjay" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/Tanjay/default.aspx" /><category term="update server" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/update+server/default.aspx" /><category term="WSS" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/WSS/default.aspx" /></entry><entry><title>Live Meeting 2007 On-Premise Web Conference Connectivity</title><link rel="alternate" type="text/html" href="/cs/blogs/mike/archive/2008/09/28/live-meeting-2007-on-premise-web-conference-connectivity.aspx" /><id>/cs/blogs/mike/archive/2008/09/28/live-meeting-2007-on-premise-web-conference-connectivity.aspx</id><published>2008-09-29T03:28:52Z</published><updated>2008-09-29T03:28:52Z</updated><content type="html">&lt;p&gt;I was recently assisting an OCS admin at another company with Live Meeting connectivity issues, during the process of which I explained how Live Meeting connectivity works for on-premise conferences (located on OCS rather than the externally hosted service).&amp;nbsp; He felt like it was good info so I thought I&amp;#39;d share it.&lt;/p&gt; &lt;p&gt;As you&amp;#39;re aware, OCS is SIP based in its communications, with the most obvious SIP client being Communicator 2007.&amp;nbsp; What is not as obvious is that Live Meeting is also a SIP client.&amp;nbsp; OCS delivers various pieces of necessary information via SIP, which means that the Live Meeting client must understand how to communicate with OCS over SIP to retrieve the information needed to operate.&amp;nbsp; This is why if you must specify your OCS Access Edge/pool FQDN rather than your Web Conferencing Edge/internal FQDN if your Live Meeting settings are configured manually (example below).&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://evangelyze.net/cs/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mike/image_5F00_2.png"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="225" alt="image" src="http://evangelyze.net/cs/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mike/image_5F00_thumb.png" width="481" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;If you think about the infrastructure considers of this for a moment you&amp;#39;ll also realize that for users to be able to connect to Live Meetings without any configuration settings you must deploy the necessary SRV records for your pool and Access Edge, even if you have no intention of deploying IM to some or all users (this is a somewhat rare but not entirely unusual request from some customers I&amp;#39;ve worked with).&lt;/p&gt; &lt;p&gt;So, how does this all come together?&amp;nbsp; First, the Live Meeting client (hereafter referred to as &amp;quot;LM&amp;quot;) queries DNS for the appropriate SRV records of the domain it extracted from the conference location URI.&amp;nbsp; An example of a conference URI is sip:user@domain.com;gruu;opaque=app:conf:focus:id:1652DEC23E5AE243882614D3B42600B6.&amp;nbsp; It receives an INFO message back from OCS that contains a variety of information in XML format.&amp;nbsp; Among this information is the FQDN and port of the Web Conferencing Edge server:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;entry&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;&lt;font face="Courier New"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;key&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;proxy[0].FQDN&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;key&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;&lt;font face="Courier New"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;meetings.evangelyze.net&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;&lt;font face="Courier New"&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;entry&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;&lt;font face="Courier New"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;entry&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;&lt;font face="Courier New"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;key&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;proxy[0].Port&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;key&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;&lt;font face="Courier New"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;443&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;&lt;font face="Courier New"&gt;&lt;span class="kwrd"&gt;&amp;lt;/entry&amp;gt;&lt;/span&gt;&lt;/font&gt;  &lt;p&gt;This information is derived from the Web Conferencing properties of the pool:&lt;/p&gt; &lt;p&gt;&lt;a href="http://evangelyze.net/cs/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mike/image_5F00_4.png"&gt;&lt;font face="ta" color="#000000"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="362" alt="image" src="http://evangelyze.net/cs/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mike/image_5F00_thumb_5F00_1.png" width="326" border="0" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font face="ta"&gt; &lt;/font&gt;&lt;/p&gt; &lt;p&gt;After this point LM sends a SIP UPDATE message to OCS every 7 minutes to confirm connectivity.&amp;nbsp; This is one of the reasons why it&amp;#39;s important to have your firewall timeouts set properly - unexpectedly disconnecting LM sessions are a somewhat common side effect of improperly set timeout values on the firewall.&lt;/p&gt; &lt;p&gt;&lt;font face="ta"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="ta"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.evangelyze.net/cs/aggbug.aspx?PostID=96" width="1" height="1"&gt;</content><author><name>mike</name><uri>http://www.evangelyze.net/cs/members/mike/default.aspx</uri></author><category term="OCS" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/OCS/default.aspx" /><category term="Edge" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/Edge/default.aspx" /><category term="Web Conference" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/Web+Conference/default.aspx" /></entry><entry><title>Exchange 2007 UM SIP Integration with Mitel 3300</title><link rel="alternate" type="text/html" href="/cs/blogs/mike/archive/2008/09/16/exchange-2007-um-sip-integration-with-mitel-3300.aspx" /><link rel="enclosure" type="application/msword" length="1123328" href="http://www.evangelyze.net/cs/cfs-file.ashx/__key/CommunityServer.Components.PostAttachments/00.00.00.00.95/MitelTechNoteForExchangeUM.doc" /><id>/cs/blogs/mike/archive/2008/09/16/exchange-2007-um-sip-integration-with-mitel-3300.aspx</id><published>2008-09-16T17:19:00Z</published><updated>2008-09-16T17:19:00Z</updated><content type="html">&lt;p&gt;Rather than individually send out this Mitel document to everyone that asks for it on &lt;a href="http://forums.microsoft.com/unifiedcommunications/ShowPost.aspx?PostID=3773893&amp;amp;SiteID=57"&gt;the forums&lt;/a&gt; I figured I&amp;#39;d just post it here for people to download.&amp;nbsp; I don&amp;#39;t claim that this is the latest version or that it is accurate for all versions, etc., but since this document seems to have avoided all known search engines I&amp;#39;ve attached it here.&amp;nbsp; Also be aware that Microsoft has some &lt;a href="http://technet.microsoft.com/en-us/library/cc411323(EXCHG.80).aspx#mitel"&gt;Mitel configuration notes&lt;/a&gt; for other connectivity options.&lt;/p&gt; &lt;p&gt;You&amp;#39;ll find the document in the attachment link below.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.evangelyze.net/cs/aggbug.aspx?PostID=95" width="1" height="1"&gt;</content><author><name>mike</name><uri>http://www.evangelyze.net/cs/members/mike/default.aspx</uri></author><category term="Exchange" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/Exchange/default.aspx" /><category term="UM" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/UM/default.aspx" /><category term="SIP trunk" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/SIP+trunk/default.aspx" /><category term="Mitel" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/Mitel/default.aspx" /></entry><entry><title>OT: Blackjack 2 does not connect to WMDC</title><link rel="alternate" type="text/html" href="/cs/blogs/mike/archive/2008/09/15/ot-blackjack-2-does-not-connect-to-wmdc.aspx" /><id>/cs/blogs/mike/archive/2008/09/15/ot-blackjack-2-does-not-connect-to-wmdc.aspx</id><published>2008-09-15T22:47:14Z</published><updated>2008-09-15T22:47:14Z</updated><content type="html">&lt;p&gt;Now that the official release of Windows Mobile 6.1 is finally &lt;a href="http://ars.samsung.com/customer/usa/jsp/faqs/faqs_view.jsp?SITE_ID=22&amp;amp;PG_ID=557&amp;amp;PROD_SUB_ID=558&amp;amp;PROD_ID=957&amp;amp;AT_ID=132707"&gt;out for the Blackjack 2&lt;/a&gt;, I discovered that I could not connect my phone to Vista&amp;#39;s Windows Mobile Device Center (WMDC), which is a requirement for the upgrade.&amp;nbsp; I always connect as a modem or via bluetooth, so I hadn&amp;#39;t actually come across this before.&amp;nbsp; I saw a number of other folks that had complained about the same thing and had not gotten resolution so rather than create logons and posts on each forum I figured I&amp;#39;d post here and hope that the search engines picked it up.&amp;nbsp; The fix was pretty easy - just install the WMDC driver update from &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=46F72DF1-E46A-4A5F-A791-09F07AAA1914&amp;amp;displaylang=en"&gt;here&lt;/a&gt; (or, if you run 64 bit like I do, &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=4F68EB56-7825-43B2-AC89-2030ED98ED95&amp;amp;displaylang=en"&gt;here&lt;/a&gt;).&amp;nbsp; Once that was complete my phone was immediately recognized by WMDC.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.evangelyze.net/cs/aggbug.aspx?PostID=94" width="1" height="1"&gt;</content><author><name>mike</name><uri>http://www.evangelyze.net/cs/members/mike/default.aspx</uri></author><category term="Vista" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/Vista/default.aspx" /><category term="Blackjack 2" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/Blackjack+2/default.aspx" /><category term="windows mobile 6.1" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/windows+mobile+6.1/default.aspx" /><category term="SGH-i617" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/SGH-i617/default.aspx" /><category term="WM 6.1" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/WM+6.1/default.aspx" /><category term="Blackjack II" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/Blackjack+II/default.aspx" /><category term="WMDC" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/WMDC/default.aspx" /></entry><entry><title>Voice Impact Event in Houston - Sept. 29</title><link rel="alternate" type="text/html" href="/cs/blogs/mike/archive/2008/09/12/voice-impact-event-in-houston-sept-29.aspx" /><id>/cs/blogs/mike/archive/2008/09/12/voice-impact-event-in-houston-sept-29.aspx</id><published>2008-09-12T18:34:42Z</published><updated>2008-09-12T18:34:42Z</updated><content type="html">&lt;p&gt;If you are in the Houston area and would like to learn how a Microsoft-powered voice platform can benefit your organization, please register for our Houston Voice Impact event session &lt;a href="http://msevents.microsoft.com/cui/EventDetail.aspx?culture=en-US&amp;amp;EventID=1032387290"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.evangelyze.net/cs/aggbug.aspx?PostID=93" width="1" height="1"&gt;</content><author><name>mike</name><uri>http://www.evangelyze.net/cs/members/mike/default.aspx</uri></author></entry><entry><title>Send/Receive never finishes</title><link rel="alternate" type="text/html" href="/cs/blogs/mike/archive/2008/09/03/send-receive-never-finishes.aspx" /><id>/cs/blogs/mike/archive/2008/09/03/send-receive-never-finishes.aspx</id><published>2008-09-03T22:05:29Z</published><updated>2008-09-03T22:05:29Z</updated><content type="html">&lt;p&gt;Today I finally decided to look into an issue that I&amp;#39;d noticed for some time.&amp;nbsp; In Outlook 2007 a manual send/receive (F9) would never complete.&amp;nbsp; If I looked at the send/receive details I would see:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;a href="http://evangelyze.net/cs/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mike/image_5F00_2.png"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="207" alt="image" src="http://evangelyze.net/cs/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/mike/image_5F00_thumb.png" width="319" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;An Exchange task would forever say &amp;quot;Offline address book Connecting to Microsoft Exchange.&amp;quot;&amp;nbsp; When I looked at Outlook&amp;#39;s Connection Status the last line is &amp;quot;Synchronizing Views.&amp;quot;&amp;nbsp; I decided to take a look at the IIS logs and found this:&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;2008-09-03 21:05:52 10.1.1.3 GET /OAB/3ebf24ed-43dc-4a50-a2a9-cc6ef51ebf84/oab.xml - 80 - 74.73.235.66 Microsoft+BITS/7.0 500 19 64 63&lt;/font&gt;&lt;/p&gt; &lt;p&gt;Indeed, browsing to that location returns a 500.19 Internal Server Error in IE.&amp;nbsp; While reviewing the root OAB folder in the file system (C:\Program Files\Microsoft\Exchange Server\ClientAccess\OAB\) I noticed a web.config file.&amp;nbsp; I checked another Exchange 2007 server and noticed that it did not have a web.config file in that location.&amp;nbsp; I moved the web.config to another location and that corrected the issue.&lt;/p&gt; &lt;p&gt;On a side note, this also corrects an issue with RSS feeds not updating automatically.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.evangelyze.net/cs/aggbug.aspx?PostID=84" width="1" height="1"&gt;</content><author><name>mike</name><uri>http://www.evangelyze.net/cs/members/mike/default.aspx</uri></author></entry><entry><title>Cannot upload cab file to UC Device Update Management Console</title><link rel="alternate" type="text/html" href="/cs/blogs/mike/archive/2008/09/02/cannot-upload-cab-file-to-uc-device-update-management-console.aspx" /><id>/cs/blogs/mike/archive/2008/09/02/cannot-upload-cab-file-to-uc-device-update-management-console.aspx</id><published>2008-09-02T08:15:00Z</published><updated>2008-09-02T08:15:00Z</updated><content type="html">&lt;p&gt;&lt;span style="font-size:12pt;color:#000000;font-family:verdana;"&gt;&lt;font size="2"&gt;One of the best documented reasons for a cab file upload to fail is due to timeout settings in IIS.&amp;nbsp; For an overview of this please see &lt;/font&gt;&lt;/span&gt;&lt;a href="http://blogs.technet.com/jenstr/archive/2008/02/28/uploading-of-a-cab-file-to-update-server-wss-site-fails-with-an-exception-and-the-message-thread-was-being-aborted.aspx"&gt;&lt;span style="font-size:small;color:#000000;"&gt;&lt;font face="Verdana"&gt;http://blogs.technet.com/jenstr/archive/2008/02/28/uploading-of-a-cab-file-to-update-server-wss-site-fails-with-an-exception-and-the-message-thread-was-being-aborted.aspx&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:small;color:#000000;"&gt;&lt;font face="Verdana"&gt;.&amp;nbsp; In the case of the timeout issue the upload will process for a while before the error is returned.&amp;nbsp; However, there is another reason you may see the same error:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:12pt;font-family:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:en-us;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;quot;The file upload was unsuccessful due to an unknown error. Please try again&amp;quot;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:12pt;font-family:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:en-us;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;span style="font-size:12pt;color:#000000;font-family:verdana;"&gt;&lt;font size="2"&gt;In this case the error will be thrown about 10 seconds after the upload process begins.&amp;nbsp; If you check the corresponding debug logs (&lt;span id="ctl00_PlaceHolderTitleBreadcrumb_ContentMap"&gt;&lt;span&gt;UpdateServer&lt;/span&gt;&lt;span&gt; &amp;gt; &lt;/span&gt;&lt;span&gt;Logs&lt;/span&gt;&lt;span&gt; &amp;gt; &lt;/span&gt;&lt;span&gt;Server&lt;/span&gt;&lt;span&gt; &amp;gt; &lt;/span&gt;&lt;span&gt;Debug&lt;/span&gt;&lt;span&gt; &amp;gt; &lt;/span&gt;&lt;span class="ms-sitemapdirectional"&gt;UpdatePackageHandler&lt;/span&gt;&lt;/span&gt;), you&amp;#39;ll see the following:&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:12pt;font-family:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:en-us;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;span style="font-size:xx-small;"&gt;Debug&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;br /&gt;09/02/2008 07:08:52, Debug&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : -------------------------------------&lt;br /&gt;09/02/2008 07:08:52, Debug&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Started Upload Updates From Cab Call&lt;br /&gt;09/02/2008 07:08:52, Debug&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;br /&gt;#Sharepoint Server Path : &lt;/span&gt;&lt;a href="http://wss.domain.com/sites/ucupdateserver/"&gt;&lt;span style="font-size:xx-small;"&gt;http://wss.domain.com/sites/ucupdateserver/&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:xx-small;"&gt;#Updates Path : Updates/&lt;br /&gt;#Approval Path : Server/DB/&lt;br /&gt;#Temp Extract Path : C:\Program Files (x86)\Microsoft Office Communications Server 2007\Web Components\UC Device Updates\Management Console\LCS&lt;br /&gt;#Log Path : Logs/Server/Debug/UpdatePackageHandler/&lt;br /&gt;09/02/2008 07:08:52, Debug&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Started Reading Cab file C:\Program Files (x86)\Microsoft Office Communications Server 2007\Web Components\UC Device Updates\Management Console\LCS/633559361262490130\UCUpdates.cab&lt;br /&gt;09/02/2008 07:08:53, Debug&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Extracted all files under temp location C:\Program Files (x86)\Microsoft Office Communications Server 2007\Web Components\UC Device Updates\Management Console\LCS\a7992c72-7fb3-4f6f-b4c3-a2494f984ad1&lt;br /&gt;09/02/2008 07:08:53, Debug&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Converted UpdatesInfo.xml into new format &lt;br /&gt;09/02/2008 07:08:55, Exception&amp;nbsp;&amp;nbsp;&amp;nbsp; : Exception: Exception While Uploading file Updates/CPE.nbt&lt;span style="background-color:#ffff99;"&gt;The request failed with HTTP status 401: Unauthorized.&lt;/span&gt;&amp;nbsp;&amp;nbsp; at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at Microsoft.RTC.UCUPDATESSERVER.SHAREPOINTSERVICES.Service.UploadFileToSharepoint(String SPSiteUrl, String FolderPath, Boolean CreateFolder, String FileName, Byte[] content, Boolean Publish, Boolean CheckIn, Boolean overwrite)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at UPHService.UploadToSharepoint(String TempExtractedPath, DataSet dsUpdateInfo)&lt;br /&gt;09/02/2008 07:08:57, Exception&amp;nbsp;&amp;nbsp;&amp;nbsp; : Exception: Exception While Uploading file Updates/CPE.nbtThe request failed with HTTP status 401: Unauthorized.&amp;nbsp;&amp;nbsp; at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at Microsoft.RTC.UCUPDATESSERVER.SHAREPOINTSERVICES.Service.UploadFileToSharepoint(String SPSiteUrl, String FolderPath, Boolean CreateFolder, String FileName, Byte[] content, Boolean Publish, Boolean CheckIn, Boolean overwrite)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at UPHService.UploadToSharepoint(String TempExtractedPath, DataSet dsUpdateInfo)&lt;br /&gt;09/02/2008 07:09:00, Exception&amp;nbsp;&amp;nbsp;&amp;nbsp; : Exception: Exception While Uploading file Updates/CPE.nbtThe request failed with HTTP status 401: Unauthorized.&amp;nbsp;&amp;nbsp; at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at Microsoft.RTC.UCUPDATESSERVER.SHAREPOINTSERVICES.Service.UploadFileToSharepoint(String SPSiteUrl, String FolderPath, Boolean CreateFolder, String FileName, Byte[] content, Boolean Publish, Boolean CheckIn, Boolean overwrite)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at UPHService.UploadToSharepoint(String TempExtractedPath, DataSet dsUpdateInfo)&lt;br /&gt;09/02/2008 07:09:02, Exception&amp;nbsp;&amp;nbsp;&amp;nbsp; : Exception: Exception While Uploading file Updates/CPE.nbtThe request failed with HTTP status 401: Unauthorized.&amp;nbsp;&amp;nbsp; at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at Microsoft.RTC.UCUPDATESSERVER.SHAREPOINTSERVICES.Service.UploadFileToSharepoint(String SPSiteUrl, String FolderPath, Boolean CreateFolder, String FileName, Byte[] content, Boolean Publish, Boolean CheckIn, Boolean overwrite)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at UPHService.UploadToSharepoint(String TempExtractedPath, DataSet dsUpdateInfo)&lt;br /&gt;09/02/2008 07:09:04, Exception&amp;nbsp;&amp;nbsp;&amp;nbsp; : Exception: Exception While Uploading file Updates/CPE.nbtThe request failed with HTTP status 401: Unauthorized.&amp;nbsp;&amp;nbsp; at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at Microsoft.RTC.UCUPDATESSERVER.SHAREPOINTSERVICES.Service.UploadFileToSharepoint(String SPSiteUrl, String FolderPath, Boolean CreateFolder, String FileName, Byte[] content, Boolean Publish, Boolean CheckIn, Boolean overwrite)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at UPHService.UploadToSharepoint(String TempExtractedPath, DataSet dsUpdateInfo)&lt;br /&gt;09/02/2008 07:09:06, Exception&amp;nbsp;&amp;nbsp;&amp;nbsp; : Exception: Exception While Uploading file Updates/CPE.nbtThe request failed with HTTP status 401: Unauthorized.&amp;nbsp;&amp;nbsp; at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at Microsoft.RTC.UCUPDATESSERVER.SHAREPOINTSERVICES.Service.UploadFileToSharepoint(String SPSiteUrl, String FolderPath, Boolean CreateFolder, String FileName, Byte[] content, Boolean Publish, Boolean CheckIn, Boolean overwrite)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at UPHService.UploadToSharepoint(String TempExtractedPath, DataSet dsUpdateInfo)&lt;br /&gt;09/02/2008 07:09:09, Exception&amp;nbsp;&amp;nbsp;&amp;nbsp; : Exception: Exception While Uploading file Updates/CPE.nbtThe request failed with HTTP status 401: Unauthorized.&amp;nbsp;&amp;nbsp; at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at Microsoft.RTC.UCUPDATESSERVER.SHAREPOINTSERVICES.Service.UploadFileToSharepoint(String SPSiteUrl, String FolderPath, Boolean CreateFolder, String FileName, Byte[] content, Boolean Publish, Boolean CheckIn, Boolean overwrite)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at UPHService.UploadToSharepoint(String TempExtractedPath, DataSet dsUpdateInfo)&lt;br /&gt;09/02/2008 07:09:11, Exception&amp;nbsp;&amp;nbsp;&amp;nbsp; : Exception: Exception While Uploading file Updates/CPE.nbtThe request failed with HTTP status 401: Unauthorized.&amp;nbsp;&amp;nbsp; at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at Microsoft.RTC.UCUPDATESSERVER.SHAREPOINTSERVICES.Service.UploadFileToSharepoint(String SPSiteUrl, String FolderPath, Boolean CreateFolder, String FileName, Byte[] content, Boolean Publish, Boolean CheckIn, Boolean overwrite)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at UPHService.UploadToSharepoint(String TempExtractedPath, DataSet dsUpdateInfo)&lt;br /&gt;09/02/2008 07:09:11, Debug&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Completed Upload to sharepoint server&lt;br /&gt;09/02/2008 07:09:11, Exception&amp;nbsp;&amp;nbsp;&amp;nbsp; : Exception: UploadUnApprovedXMLToSharepoint Method Collection was modified; enumeration operation might not execute.&amp;nbsp;&amp;nbsp; at System.Data.RBTree`1.RBTreeEnumerator.MoveNext()&lt;br /&gt;&amp;nbsp;&amp;nbsp; at UPHService.UploadUnApprovedXMLToSharepoint(String TempExtractedPath)&lt;br /&gt;09/02/2008 07:09:11, Debug&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Deleted all files under temp location&amp;nbsp; C:\Program Files (x86)\Microsoft Office Communications Server 2007\Web Components\UC Device Updates\Management Console\LCS\a7992c72-7fb3-4f6f-b4c3-a2494f984ad1&lt;br /&gt;09/02/2008 07:09:11, Debug&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Calling Clear Cache for Image Updates&lt;br /&gt;09/02/2008 07:09:11, Debug&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : End Upload Updates From Cab Call&lt;br /&gt;09/02/2008 07:09:11, Debug&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : -------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:12pt;font-family:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:en-us;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;span style="font-size:12pt;font-family:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:en-us;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;span style="font-size:12pt;color:#000000;font-family:verdana;"&gt;&lt;font size="2"&gt;I&amp;#39;ve highlighted the relevant section above which you&amp;#39;ll see is repeated a number of times.&amp;nbsp; When the Sharepoint UC Update package is installed it creates a site called ucupdateserver that contains 2 document libraries - Logs and Updates.&amp;nbsp; The issue in this case is that the ucupdateserver site has the appropriate permissions set, and these permissions are inherited by the Logs document library (which allowed for the above log to be created).&amp;nbsp; However, the Updates document library is set to use custom permissions and there the cab file upload is failing.&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:12pt;font-family:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:en-us;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;span style="font-size:12pt;font-family:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:en-us;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;span style="font-size:12pt;font-family:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:en-us;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;span style="font-size:12pt;color:#000000;font-family:verdana;"&gt;&lt;font size="2"&gt;To fix this I first set the appropriate permissions at the ucupdateserver site level (I gave full permissions to RTCComponentServices and read permissions to NT AUTHORITY\Authenticated Users).&amp;nbsp; Next I navigated to the Updates library and clicked Settings/Document Library Settings.&amp;nbsp; Now click Permissions for this document library.&amp;nbsp; When the permissions appear click Actions -&amp;gt; Inherit Permissions.&amp;nbsp; You will get a prompt verifying that you want to overwrite the custom permissions.&amp;nbsp; Once you select OK you will see the page update with the permissions that are set at the site level.&amp;nbsp; This fixes the upload problem and also enables you to make easy site-wide permissions changes in the future if necessary.&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.evangelyze.net/cs/aggbug.aspx?PostID=81" width="1" height="1"&gt;</content><author><name>mike</name><uri>http://www.evangelyze.net/cs/members/mike/default.aspx</uri></author><category term="Tanjay" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/Tanjay/default.aspx" /><category term="update server" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/update+server/default.aspx" /></entry><entry><title>SQL Query to return number of users per Front End</title><link rel="alternate" type="text/html" href="/cs/blogs/mike/archive/2008/08/29/sql-query-to-return-number-of-users-per-front-end.aspx" /><id>/cs/blogs/mike/archive/2008/08/29/sql-query-to-return-number-of-users-per-front-end.aspx</id><published>2008-08-29T14:37:00Z</published><updated>2008-08-29T14:37:00Z</updated><content type="html">&lt;p&gt;&lt;span style="font-size:small;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Helvetica&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;In the last couple weeks myself and some other folks I&amp;#39;ve spoken with have had the need to know how many users were connected to a particular front end.&amp;nbsp; Unfortunately there&amp;#39;s no interface to provide this sort of information, so I decided to poke around SQL to figure out what I needed to read to determine this info.&amp;nbsp; With a little help from my co-worker and UC developer extrordinaire Simon Booth, we whipped up a query in a couple minutes that gives you that data:&lt;/span&gt;&lt;span style="font-size:8.5pt;color:#000000;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;span style="color:#000000;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;select fe.Fqdn,c.connections from rtcdyn.dbo.FrontEnd fe join&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;i&gt;&lt;span style="color:#000000;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;br /&gt;&lt;span style="font-size:small;"&gt;&lt;em&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;(Select COUNT(*) as connections, FrontEndId from rtcdyn.dbo.DeliveryContext &lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;group by FrontEndId)&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt; c &lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;on fe.FrontEndId=c.FrontEndId&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size:8.5pt;color:#000000;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color:#000000;font-family:&amp;#39;Helvetica&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;To execute this, open SQL Management Studio and connect to the instance which contains your OCS databases.&amp;nbsp; Click the &amp;quot;New Query&amp;quot; button and paste in the text above.&amp;nbsp; Click &amp;quot;Execute&amp;quot; and you&amp;#39;ll receive output that shows the number of connections per front end.&lt;/span&gt; &lt;p&gt;&lt;span style="font-size:small;color:#000000;"&gt;Of course you could extend this to tell you users names or other information, but it&amp;#39;s a good base query to see what it takes to pull info from the OCS databases.&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.evangelyze.net/cs/aggbug.aspx?PostID=78" width="1" height="1"&gt;</content><author><name>mike</name><uri>http://www.evangelyze.net/cs/members/mike/default.aspx</uri></author><category term="OCS" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/OCS/default.aspx" /><category term="pool" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/pool/default.aspx" /><category term="database" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/database/default.aspx" /><category term="SQL" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/SQL/default.aspx" /><category term="users" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/users/default.aspx" /></entry><entry><title>Common Certificate issue with Vista</title><link rel="alternate" type="text/html" href="/cs/blogs/mike/archive/2008/08/22/common-certificate-issue-with-vista.aspx" /><id>/cs/blogs/mike/archive/2008/08/22/common-certificate-issue-with-vista.aspx</id><published>2008-08-22T13:15:00Z</published><updated>2008-08-22T13:15:00Z</updated><content type="html">&lt;p&gt;I got a call from an industry colleague yesterday who was trying to set up an OCS lab environment.&amp;nbsp; He hit what has become an increasingly common issue as Vista becomes more heavily adopted in the enterprise.&amp;nbsp; The scenario is almost always the same - &amp;quot;My XP computers can&amp;nbsp;download the address book&amp;nbsp;without a problem but Vista cannot.&amp;quot;&amp;nbsp; User Account Control is commonly suspected as the problem, but in this case it has nothing to do with the actual issue.&amp;nbsp; In fact, the issue is actually a default setting in IE7:&amp;nbsp; Check for server certificate revocation.&lt;/p&gt;
&lt;p&gt;The error that you&amp;#39;ll see is: &lt;br /&gt;&amp;quot;Cannot Synchronize with the corporate address book. This may be because the proxy server setting in your web browser does not allow access to the address book. If the problem persists, contact your system administrator.&amp;quot; &lt;/p&gt;
&lt;p&gt;The error message is a bit misleading.&amp;nbsp; What is actually happening is that IE is checking the CRL Distribution Points property of the certificate that is provided by the web conferencing server and trying to connect to the paths specified.&amp;nbsp; If it cannot connect to any of these it will fail with the above error message.&amp;nbsp; The reason this does not cause Communicator logons to fail is because the the address book download process uses the WinInet API just like IE since the connection is https.&amp;nbsp; Communicator does not use WinInet for its logon, so the logon succeeds as long as the certificate is trusted by the client.&lt;/p&gt;
&lt;p&gt;This scenario is most common in lab environments because the lab will often use a separate AD environment but users whose machines are joined to the production AD forest will try to connect with Communicator.&amp;nbsp; Without any trusts and/or DNS replication of the test forest, the client will not be able to connect to either the LDAP or HTTP paths referenced in the CRL Distribution Points property.&amp;nbsp; Here is an example of a CRL DP from a certificate generated by a Windows CA:&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style="font-family:courier new,courier;"&gt;[1]CRL Distribution Point&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left:20px;"&gt;&lt;span style="font-family:courier new,courier;"&gt;Distribution Point Name: &lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left:40px;"&gt;&lt;span style="font-family:courier new,courier;"&gt;Full Name: &lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left:60px;"&gt;&lt;span style="font-family:courier new,courier;"&gt;URL=ldap:///CN=EVAN-CA,CN=EVAN-DC1,CN=CDP,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=corp,DC=evangelyze,DC=net?certificateRevocationList?base?objectClass=cRLDistributionPoint &lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left:60px;"&gt;&lt;span style="font-family:courier new,courier;"&gt;URL=http://evan-dc1.corp.evangelyze.net/CertEnroll/EVAN-CA.crl&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;You can imagine by looking at the paths above that a computer without any knowledge of the namespaces used would have a problem connecting to them.&amp;nbsp; This problem can also manifest itself in a production environment if you have machines that are not members of the same forest or for any other reason cannot resolve or connect to the paths referenced in the CRL DP.&amp;nbsp; In any case there are only 3 options:&lt;/p&gt;
&lt;p&gt;1) Disable certificate revocation checking in IE.&amp;nbsp; This can be done manually or via group policy.&amp;nbsp; The setting can be found in the Security section of the Advanced tab in Internet Options.&lt;/p&gt;
&lt;p&gt;2) Modify your infrastructure in such a way as to make the CRL DP accessible to all users.&lt;/p&gt;
&lt;p&gt;3) Use a public CA to issue the certificate rather than an internal CA.&amp;nbsp; This is the best solution if you have non-domain joined users connecting to your internal pool.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.evangelyze.net/cs/aggbug.aspx?PostID=75" width="1" height="1"&gt;</content><author><name>mike</name><uri>http://www.evangelyze.net/cs/members/mike/default.aspx</uri></author><category term="OCS" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/OCS/default.aspx" /><category term="certificate" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/certificate/default.aspx" /><category term="pool" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/pool/default.aspx" /><category term="ABS" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/ABS/default.aspx" /><category term="address book" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/address+book/default.aspx" /><category term="Vista" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/Vista/default.aspx" /></entry><entry><title>The OCS Director - reasons, benefits and dependencies</title><link rel="alternate" type="text/html" href="/cs/blogs/mike/archive/2008/08/21/the-ocs-director-reasons-benefits-and-dependencies.aspx" /><id>/cs/blogs/mike/archive/2008/08/21/the-ocs-director-reasons-benefits-and-dependencies.aspx</id><published>2008-08-21T14:32:00Z</published><updated>2008-08-21T14:32:00Z</updated><content type="html">&lt;p&gt;I field a fair amount of questions from my customers and users on the Technet forums about the Director role - why is it needed, how does it play into a global architecture, etc.&amp;nbsp; I thought I&amp;#39;d address a few of these topics for other folks with the same questions.&lt;/p&gt;
&lt;p&gt;The first thing to know about the Director role is that it&amp;#39;s built into OCS Standard and Enterprise - it is not a separate installation like an Edge or Mediation server.&amp;nbsp; Every Standard server and Enterprise pool acts as a Director by default.&amp;nbsp; So why do we need to dedicate one or more servers to this role?&amp;nbsp; First let&amp;#39;s review the purpose of a Director.&lt;/p&gt;
&lt;p&gt;If you&amp;#39;ve ever configured an Edge server you noticed that it needs to know it&amp;#39;s next hop.&amp;nbsp; The Edge server is pretty intelligent when it comes to blocking traffic that is not permitted and taking care of other OCS security functions, but by design it does not have knowledge of where users are homed and how to authenticate them (which is why it can and should be deployed without being a member of Active Directory).&amp;nbsp; The Edge relies on the next hop server to handle these items.&amp;nbsp; Once it confirms that a set of communication should be passed to the inside, the next hop server can do a few things.&amp;nbsp; Two major steps take place when a user logs on to Communicator:&lt;/p&gt;
&lt;p&gt;1) Match the SIP address to a user account in AD and perform authentication&lt;/p&gt;
&lt;p&gt;2) After authentication succeeds, route the traffic to the pool specified in the user&amp;#39;s AD properties&lt;/p&gt;
&lt;p&gt;These steps are basically the same whether the user connects via the Edge (remote access) or from the internal network, though the benefits are slightly different.&amp;nbsp; In both cases the Director provides the benefit of offloading authentication from the pool.&amp;nbsp; This is most helpful if you are pushing the limits on capacity.&amp;nbsp; In an Edge scenario you have the added benefit of an extra security boundary.&amp;nbsp; In the event that an attacker is able to pass through an Edge server or initiate a successful DoS attack, your internal pool environment would not be impacted.&lt;/p&gt;
&lt;p&gt;So far, this all sounds pretty good.&amp;nbsp; If you&amp;#39;ve made the decision to deploy a Director all you have to do is deploy a Standard server, Enterprise pool, or array of Standard servers and disable the services you don&amp;#39;t need (Web Conferencing, A/V Conferencing, and Web Components - see page 48 of the Edge Server Deployment Guide for more details), change the next hop on your Edge server, and modify your _sipinternaltls._tcp SRV record to point to the new Director(s).&lt;/p&gt;
&lt;p&gt;Now, if you are in the process of architecting a global topology complete with redundancy, you&amp;#39;ll pause about the time you think about the contents of the SRV record.&amp;nbsp; Since there can be only one _sipinternaltls._tcp record per domain and it can only point to a single FQDN, where do you put the Director(s)?&amp;nbsp; For simplicity&amp;#39;s sake let&amp;#39;s assume you have pools in North America, Europe, and Asia.&amp;nbsp; We&amp;#39;re also going to assume you have a fully replicated DNS infrastructure (AD or otherwise).&amp;nbsp; If you place a pool of Directors in North America and the connection between Europe and NA goes down (another freight ship somehow ran over the transatlantic fiber run that your telco uses &lt;img src="http://evangelyze.net/cs/emoticons/emotion-3.gif" alt="Surprise" /&gt;), your European users will be unable to login to Communicator until the SRV record is modified or the connection is re-established.&amp;nbsp; To guard against that you can deploy an array of Standard servers in all your data centers, but now comes the major dependency - global redundancy.&amp;nbsp; Because this is now at the network layer there&amp;#39;s nothing we can do within OCS to design for this.&amp;nbsp; GSLB (global server load balancing) is basically your only option.&amp;nbsp; Various vendors can employ this (F5, Foundry, Cisco, etc.), and the exact deployment requirements are defined by those vendors, so check with them for details.&amp;nbsp; However, no matter which vendor you choose you&amp;#39;ll need this capability to accomodate for such a scenario.&lt;/p&gt;
&lt;p&gt;There are other topologies and options.&amp;nbsp; Some customers I&amp;#39;ve worked with have separate internal DNS zones for each country, so we were able to deploy regional SRV records.&amp;nbsp; This only works if you will not use PIC or federation since most internal DNS namespaces are not internet routable.&amp;nbsp; In another instance it was decided to use group policy to deploy the server settings to the clients and forego autodiscovery altogether (political, regional, and technical complexities all played into this decision).&lt;/p&gt;
&lt;p&gt;I hope you&amp;#39;ll find this information helpful.&amp;nbsp; &lt;a target="_blank" href="http://blogs.msdn.com/byrons/default.aspx"&gt;Byron Spurlock&lt;/a&gt; also has some related information on his blog as well if you&amp;#39;d like to read up a little more on Directors.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.evangelyze.net/cs/aggbug.aspx?PostID=74" width="1" height="1"&gt;</content><author><name>mike</name><uri>http://www.evangelyze.net/cs/members/mike/default.aspx</uri></author><category term="OCS" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/OCS/default.aspx" /><category term="pool" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/pool/default.aspx" /><category term="director" scheme="http://www.evangelyze.net/cs/blogs/mike/archive/tags/director/default.aspx" /></entry></feed>