<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Confused Amused</title>
	<atom:link href="http://www.confusedamused.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.confusedamused.com</link>
	<description></description>
	<lastBuildDate>Mon, 22 Feb 2010 02:43:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Your OCS A/V Authentication Certificate Subject Name Doesn&#8217;t Matter</title>
		<link>http://www.confusedamused.com/notebook/your-ocs-av-authentication-certificate-subject-name-doesnt-matter/</link>
		<comments>http://www.confusedamused.com/notebook/your-ocs-av-authentication-certificate-subject-name-doesnt-matter/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 02:31:55 +0000</pubDate>
		<dc:creator>Tom Pacyk</dc:creator>
				<category><![CDATA[Office Communications Server 2007]]></category>
		<category><![CDATA[Office Communications Server 2007 R2]]></category>
		<category><![CDATA[av]]></category>
		<category><![CDATA[certificate]]></category>
		<category><![CDATA[edge]]></category>
		<category><![CDATA[mtls]]></category>
		<category><![CDATA[OCS]]></category>

		<guid isPermaLink="false">http://www.confusedamused.com/?p=722</guid>
		<description><![CDATA[A few months back I was involved in a discussion about what the subject name of an OCS Edge Server&#8217;s A/V authentication certificate should be. Some folks were saying to use the Edge server&#8217;s internal FQDN and others were saying to use the external, public FQDN you define for A/V. I was in the camp [...]]]></description>
			<content:encoded><![CDATA[<p><p>A few months back I was involved in a discussion about what the subject name of an OCS Edge Server&#8217;s A/V authentication certificate should be. Some folks were saying to use the Edge server&#8217;s internal FQDN and others were saying to use the external, public FQDN you define for A/V. I was in the camp using the external name, but the odd thing was both sides said their approach worked. There is definitely some confusion about what name you should use and Microsoft has actually published directly conflicting information which further confuses the issue. Some testing I&#8217;ve recently done clears up <i>why</i> so many documents and people contradict each other &#8211; <b>the subject name doesn&#8217;t matter</b>. Really. You could put whatever you want in that subject name, assign it to A/V authentication and it will work flawlessly. The purpose of this certificate per the Technet documentation: </p>  <blockquote>The private key of the A/V authentication certificate is used to generate authentication credentials. </blockquote>  <p>Specifically, it&#8217;s not used for encryption or MTLS even if that&#8217;s not made clear anywhere. Let&#8217;s take a step back and clarify a few things for some background:</p>  <ul>   <li>There are two services that run on the Edge server with &quot;A/V&quot; in the name. If you’re not familiar with the difference, Jeff Schertz’s <a href="http://blogs.pointbridge.com/Blogs/schertz_jeff/Pages/Post.aspx?_ID=79">More on OCS Edge Server Certificates</a> article has a good explanation for some background on what the difference is between the A/V Authentication and A/V Edge services, but basically &#8211; the A/V Authentication service is internal facing and A/V Edge Service is external facing. </li>    <li>There is no certificate assigned to the A/V Edge service because encryption for external A/V traffic is provided by SRTP. </li>    <li>The certificate for A/V Authentication is only used by internal clients when trying to communicate with an external or federated client. This means you can (and should) use an internal certificate authority to issue this certificate. There is no benefit or need to use a public certificate for A/V authentication. </li> </ul>  <p>Let&#8217;s walk through a little example here as if I was trying to figure out what name to use for my A/V authentication certificate. I have the following environment:</p>  <ul>   <li>Public Domain: confusedamused.com </li>    <li>Internal AD Domain: ptown.local </li>    <li>SIP Domain: confusedamused.com </li>    <li>Edge Server Internal FQDN: edge.ptown.local </li>    <li>A/V Edge Service FQDN: av.confusedamused.com </li> </ul>  <p>So with that information what should I use as the certificate name for the A/V authentication certificate? If you consult the Technet documentation topic <a href=" http://technet.microsoft.com/en-us/library/dd425147(office.13).aspx">Set up Certificates for A/V Authentication</a> you’ll find this note (emphasis is mine): </p>  <blockquote>The subject name should match the fully qualified domain name (FQDN) of the <i>A/V Edge Service</i> published by the <i>external</i> firewall, or the FQDN of the VIP used by the A/V Edge Service array on the <i>external</i> load balancer (that is, if the Edge Servers are load balanced). </blockquote>  <p>So based on that blurb, my A/V authentication certificate subject name should be av.confusedamused.com. Fair enough.</p>  <p>I ran through the <a href="http://www.microsoft.com/Downloads/details.aspx?familyid=EC4B960C-3FE2-41BD-ABDF-AE89CFCB8C6C&amp;displaylang=en">OCS 2007 R2 Edge Planning Tool</a> for a sanity check. You can see the result below, but the tool follows the Technet documentation and uses the external FQDN I defined for the A/V Edge Service when it asked. </p>  <p><a href="http://www.confusedamused.com/wp-content/pictures/2010/02/toolav.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="tool-av" border="0" alt="tool-av" src="http://www.confusedamused.com/wp-content/pictures/2010/02/toolav_thumb.png" width="600" height="402" /></a><br /><a href="http://www.confusedamused.com/wp-content/pictures/2010/02/toolresults.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="tool-results" border="0" alt="tool-results" src="http://www.confusedamused.com/wp-content/pictures/2010/02/toolresults_thumb.png" width="600" height="402" /></a> </p>  <p>A group of MVPs and Microsoft employees published a document called <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=e9f86f96-aa09-4dca-9088-f64b4f01c703">Deploying Certificates in Office Communications Server 2007</a> which says the following about the A/V authentication certificate (emphasis is mine again): </p>  <blockquote>Must be the FQDN of Audio/Video <i>authentication server</i> in DNS.</blockquote>  <p>Well that calls out the name of the authentication server, not the A/V Edge Service. I think this comes down to really just poor wording in the document which contributes to confusion, but what is the name of our A/V Authentication server? It would be the same name as the internal Edge interface, right? The A/V Authentication server is the Edge server, not the external FQDN. So now we&#8217;re being told to use the internal FQDN, edge.ptown.local as the subject name.</p>  <p>Also released by Microsoft was a document called <a href=" http://www.microsoft.com/DOWNLOADS/details.aspx?FamilyID=e9f86f96-aa09-4dca-9088-f64b4f01c703&amp;displaylang=en ">OCS 2007 R2 Walkthrough &#8211; Scale to Load Balanced Edge Server</a> which completely contradicts Technet and the Edge Planning Tool (emphasis mine):</p>  <blockquote>   <ul>     <li>Access Edge Internal (Corporate Certificate). In our sample topology, the subject name would be set to ocsedge.contoso.com, the FQDN of the Edge Server internal interface. </li>      <li><i>A/V Authentication Internal</i> (Corporate Certificate). In our sample topology, the subject name would be set to ocsedge.contoso.com, the <i>FQDN of the Edge Server internal interface.</i> </li>   </ul> </blockquote>  <p>This seems to match up with the certificates document and is somewhat backed by the exact same Technet article I referenced earlier which says:</p>  <blockquote>As a security precaution, you should not use the same certificate for A/V authentication that you use for the internal interface of the Edge Server.</blockquote>  <p>This begs the question &quot;Why would I ever even <i>try</i> to use the same certificate?&quot; The only logical reason would be perhaps because they use the same subject name. That jives with the Scale to a Load Balanced Edge Server documentation. If we&#8217;re thinking about this in terms of MTLS connections, you would have to think that this makes the most sense. In your OCS Forest properties if you added an A/V Edge server with the name edge.ptown.local for port 5062, it&#8217;s reasonable that you&#8217;d expect the A/V Authentication service operating on port 5062 of the internal interface to offer a certificate matching this name. If it presented something wrong, say maybe the external FQDN of the A/V Edge service it should fail, right?</p>  <p>Well, the truth is the name doesn&#8217;t matter. There isn&#8217;t MTLS validation happening on port 5062 the same way you&#8217;d expect MTLS between servers on 5061. I think the reason the certificate requirement issue hasn&#8217;t been pointed out yet is because it&#8217;s never caused a problem &#8211; it works either way. I can use a certificate with a subject name gobblygook.confusedamused.com and media relay authentication through the Edge server works just fine. It just needs <i>a</i> certificate to generate authentication credentials for the media relay process. Go ahead and try it out &#8211; put whatever name you want on the certificate and it will still work.</p>  <p>So while the subject name doesn&#8217;t really matter, if you&#8217;re still interested in adhering to best practices I would recommend using the external facing, public A/V Edge name. In the example earlier this would be av.confusedamused.com. Hopefully Microsoft will update the certificate and scaling documents with a clarification and make them more consistent with the rest of Technet.</p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.confusedamused.com/notebook/your-ocs-av-authentication-certificate-subject-name-doesnt-matter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Broadcom NIC Teaming and Hyper-V on Server 2008 R2</title>
		<link>http://www.confusedamused.com/notebook/broadcom-nic-teaming-and-hyper-v-on-server-2008-r2/</link>
		<comments>http://www.confusedamused.com/notebook/broadcom-nic-teaming-and-hyper-v-on-server-2008-r2/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 21:54:32 +0000</pubDate>
		<dc:creator>Tom Pacyk</dc:creator>
				<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>
		<category><![CDATA[broadcom]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[nic]]></category>
		<category><![CDATA[teaming]]></category>
		<category><![CDATA[toe]]></category>

		<guid isPermaLink="false">http://www.confusedamused.com/?p=712</guid>
		<description><![CDATA[The short of this is if you’re trying to use NIC teaming for the virtual adapter on Server 2008 R2 save yourself the headache, pony up a few extra dollars and buy Intel NICs.&#160; The Broadcoms have a bug in the driver that prevents&#160; this from working correctly on Server 2008 R2 Hyper-V when using [...]]]></description>
			<content:encoded><![CDATA[<p><p>The short of this is if you’re trying to use NIC teaming for the virtual adapter on Server 2008 R2 save yourself the headache, pony up a few extra dollars and buy Intel NICs.&#160; The Broadcoms have a bug in the driver that prevents&#160; this from working correctly on Server 2008 R2 Hyper-V when using a team for the Hyper-V virtual switch. Per the Broadcom driver release notes this is supposed to be a supported configured now, but it does not work correctly. There are two scenarios so far where I’ve been able to reproduce the problem:</p>  <ul> <li>VM guest has a static MAC assigned and is running on a VM host. Shut down the VM, assign it a dynamic MAC and start it again on the same host. You’ll find it has no network connectivity.</p> <li>VM guest is running on VM Host A with a dynamic MAC. Live Migrate the VM guest to Host B. It has network connectivity at this point, but if you restart the VM on the opposite host you’ll find it receives a new MAC and no longer has network connectivity.</li> </ul>  <p>Take a look at this diagram (only showing NICs relevant to Hyper-V) and you’ll see what the setup is that causes the issue. We have 2 Broadcom NICs on Dell R710’s each connected to a different physical switch to protect against a port, NIC, or switch failure. They are teamed in an Active/Passive configuration. No load balancing or link aggregation going on here. The virtual adapter composed of the two team members is then passed through as a virtual switch to Hyper-V and it is not shared with the host operating system. The host itself has a team for its own management and for the Live Migration network, which I’ll point both work flawlessly &#8211; the issue here is purely related to Broadcom’s teaming through a Hyper-V virtual switch.</p>  <p><a href="http://www.confusedamused.com/wp-content/pictures/2010/02/image.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.confusedamused.com/wp-content/pictures/2010/02/image_thumb.png" width="350" height="362" /></a> </p>  <p>Say I have a VM running on Host A where the NIC team has a hypothetical MAC called MAC A. When it boots up, it receives a dynamic MAC address we&#8217;ll call MAC C from Host A’s pool. If you try to ping the VM guest’s IP 1.1.1.1 and then look at your ARP table you’ll see something like:</p> <table border="0" cellspacing="0" cellpadding="2" width="400"><tbody>     <tr>       <td valign="top" width="133">Internet Address </td>        <td valign="top" width="133">Physical Address</td>        <td valign="top" width="133">Type</td>     </tr>      <tr>       <td valign="top" width="133">1.1.1.1</td>        <td valign="top" width="133">MAC A</td>        <td valign="top" width="133">Dynamic</td>     </tr>   </tbody></table> <br />  <p>This is because the NIC team is responsible for answering requests on behalf of the VM. When the NIC team receives traffic for the VM’s IP it will accept it, and then pass it along to the Hyper-V virtual switch. If you were to take a packet trace off the NIC you’ll see the team has modified the Layer 2 destination address to be MAC C, the dynamic MAC the VM got when it booted. This is how the teaming is supposed to work.</p>  <p>Now say I migrate the VM to Host B (where the NIC team has a MAC called MAC B) via Live or Quick migration. The VM retains connectivity and if you take a look at your MAC table you’ll now see something like:</p> <table border="0" cellspacing="0" cellpadding="2" width="401"><tbody>     <tr>       <td valign="top" width="133">Internet Address </td>        <td valign="top" width="133">Physical Address</td>        <td valign="top" width="133">Type</td>     </tr>      <tr>       <td valign="top" width="133">1.1.1.1</td>        <td valign="top" width="133">MAC B</td>        <td valign="top" width="133">Dynamic</td>     </tr>   </tbody></table> <br />  <p>Yup, the MAC for Host B’s NIC team is now answering requests for the VM’s IP. Again, this is how the teaming is supposed to work. Everything is peachy and you might think your clustering is working out great, until you restart the VM.</p>  <p><a href="http://www.confusedamused.com/wp-content/pictures/2010/02/image1.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.confusedamused.com/wp-content/pictures/2010/02/image_thumb1.png" width="500" height="157" /></a> </p>  <p>When the VM restarts, upon booting it receives a new dynamic MAC from Host B’s pool and you’ll find it has no network connectivity. Your ARP table hasn’t changed (it shouldn’t, the same team is still responsible for the VM), but the guest has been effectively dropped. When I pulled out a packet trace what I noticed was the team was still receiving traffic for the VM’s IP, which ruled out a switching problem, but it was still modifying the packets and sending them to MAC C. When in fact, now the VM has restarted it has MAC D. The problem is that it seems somebody (the driver) forgot to notice the VM has a new MAC and is sending packets to the wrong destination, so the VM never receives any traffic.</p>  <p><a href="http://www.confusedamused.com/wp-content/pictures/2010/02/image2.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.confusedamused.com/wp-content/pictures/2010/02/image_thumb2.png" width="500" height="157" /></a> </p>  <p>I found that toggling the NIC team within the host actually fixes the problem. If you simply disable the virtual team adapter and then re-enable it the VM will instantly get its connectivity back so it seems that during the startup process the team reads the VM MACs it’s supposed to service. I would think this is something it should be doing constantly to prevent this exact issue, but for now it looks like it’s done only at initialization.</p>  <p>The most practical workaround I’ve found so far is to just set static MAC addresses on the VMs within the Hyper-V settings. If the VM’s MAC never changes, this problem simply doesn’t exist. So while that defeats the purpose of the dynamic MAC pool on a Hyper-V host it allows the teaming failover to operate properly while you restart VMs and move them between cluster nodes.</p>  <p>I’ve raised the issue with Dell/Broadcom and they agree it’s a driver problem. There is supposedly a driver update due mid-March, but no guarantees this will be addressed in that update. The next update isn’t slated until June which is a long time to wait, hence the recommendation to just use Intel NICs.</p>  <p>Other notes for the inquisitive:</p>  <ul>   <li>Disabling the team and using only a single adapter makes this work properly.</li>    <li>Happens with or without all TOE, checksum and RSS features.</li>    <li>No VLAN tagging in use. </li>    <li>Issue persists when team members are plugged into the same switch.</li>    <li>Latest drivers from Dell/Broadcom (12/15/2009) as of this writing.</li>    <li>Happens whether teaming is configured before or after Hyper-V role is installed.</li> </ul></p>
]]></content:encoded>
			<wfw:commentRss>http://www.confusedamused.com/notebook/broadcom-nic-teaming-and-hyper-v-on-server-2008-r2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Blackberry Enterprise Server Express &amp; OCS</title>
		<link>http://www.confusedamused.com/notebook/blackberry-enterprise-server-express-ocs/</link>
		<comments>http://www.confusedamused.com/notebook/blackberry-enterprise-server-express-ocs/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 17:05:51 +0000</pubDate>
		<dc:creator>Tom Pacyk</dc:creator>
				<category><![CDATA[Blackberry Enterprise Server Express]]></category>
		<category><![CDATA[Office Communications Server 2007]]></category>
		<category><![CDATA[Office Communications Server 2007 R2]]></category>
		<category><![CDATA[bes]]></category>
		<category><![CDATA[im]]></category>
		<category><![CDATA[OCS]]></category>

		<guid isPermaLink="false">http://www.confusedamused.com/?p=702</guid>
		<description><![CDATA[While this probably meets the needs of most places (up to 2000 Blackberry email users) if you take a look at the comparison chart you’ll find this freebie version does not support instant messaging for OCS. Bummer.
]]></description>
			<content:encoded><![CDATA[<p>While this probably meets the needs of most places (up to 2000 Blackberry email users) if you take a look at the <a href="http://na.blackberry.com/eng/services/business/server/express/ComparisonChart_NA_012110.pdf" target="_blank">comparison chart</a> you’ll find this freebie version does not support instant messaging for OCS. Bummer.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.confusedamused.com/notebook/blackberry-enterprise-server-express-ocs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Number Display Formatting in MOC</title>
		<link>http://www.confusedamused.com/notebook/number-display-formatting-in-moc/</link>
		<comments>http://www.confusedamused.com/notebook/number-display-formatting-in-moc/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 23:59:11 +0000</pubDate>
		<dc:creator>Tom Pacyk</dc:creator>
				<category><![CDATA[Cisco UC Integration for MOC]]></category>
		<category><![CDATA[Office Communications Server 2007 R2]]></category>
		<category><![CDATA[abs]]></category>
		<category><![CDATA[cucimoc]]></category>
		<category><![CDATA[moc]]></category>
		<category><![CDATA[OCS]]></category>
		<category><![CDATA[tel]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.confusedamused.com/?p=697</guid>
		<description><![CDATA[Something I’ve been working on lately was a Microsoft case involving inconsistent formatting of numbers. It turns out that MOC actually displays numbers for users in your contact list differently the first time you sign in (i.e. No GalContacts.db exists yet) compared to subsequent sign-ins. This isn’t a normalization problem because the underlying Tel URI [...]]]></description>
			<content:encoded><![CDATA[<p><p>Something I’ve been working on lately was a Microsoft case involving inconsistent formatting of numbers. It turns out that MOC actually displays numbers for users in your contact list differently the first time you sign in (i.e. No GalContacts.db exists yet) compared to subsequent sign-ins. This isn’t a normalization problem because the underlying Tel URI is always correct, but actually just a display issue in how the number is presented within MOC. </p>  <p>Apparently the first time you sign in because there is a slight delay in the ABS download (even if you force it immediately) MOC has nothing to go on for contact card information other than the presence XML. If you view the presence XML you’ll see at first it doesn’t actually carry the display format, just the Tel URI, tel:+12345678901 so MOC has to use its own logic to figure out how to display that number. The format it chooses is +1 (234) 567-8901 and there is no way to change that. Not by disabling normalization, using only built-in rules, or by using only company-specific rules – the result is always the same and that display format is hard coded into MOC. </p>  <p>After a lot of back and forth support gave me the ol’ “It’s by design” answer and ended it there. I was a little disappointed because I think MOC should be able to apply the rules immediately after receiving them, but it seems to take another sign-in to take effect. Let me show you what I mean: </p>  <p>Active Directory Fields:<br /> <a href="http://www.confusedamused.com/wp-content/pictures/2010/01/ad.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="ad" border="0" alt="ad" src="http://www.confusedamused.com/wp-content/pictures/2010/01/ad_thumb.png" width="411" height="350" /></a> </p>  <p>Company Phone Number Normalization file:<br /> <a href="http://www.confusedamused.com/wp-content/pictures/2010/01/normalization.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="normalization" border="0" alt="normalization" src="http://www.confusedamused.com/wp-content/pictures/2010/01/normalization_thumb.png" width="423" height="175" /></a> </p>  <p>Address Book File Dump:<br /> <a href="http://www.confusedamused.com/wp-content/pictures/2010/01/absdump.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="absdump" border="0" alt="absdump" src="http://www.confusedamused.com/wp-content/pictures/2010/01/absdump_thumb.png" width="500" height="254" /></a> </p>  <p>First sign-in uses MOC hard-coded logic:<br /> <a href="http://www.confusedamused.com/wp-content/pictures/2010/01/1st.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="1st" border="0" alt="1st" src="http://www.confusedamused.com/wp-content/pictures/2010/01/1st_thumb.png" width="329" height="316" /></a> </p>  <p>Subsequent sign-ins display the number as formatted in Active Directory:<br /> <a href="http://www.confusedamused.com/wp-content/pictures/2010/01/2nd.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="2nd" border="0" alt="2nd" src="http://www.confusedamused.com/wp-content/pictures/2010/01/2nd_thumb.png" width="327" height="313" /></a> </p>  <p>Odd, right? Normally this wouldn’t be a problem, but the reason this popped up in the first place was because CUCIMOC was in use and it caches numbers you’ve called previously. So if a user signed in for the first time and dialed another user, CUCIMOC would show you calling with a +1. Even after signing out and back in, CUCIMOC would keep showing the +1 next time you dialed that user because it cached the original number you called, which had the +1. And now any new users you call would not have a +1, creating an ugly inconsistency. We were able to take care of the actual dialing with rules in Call Manager, but it’s just undesirable for end users to see this inconsistency. </p>  <p>Another gotcha I’ll point out is that MOC also <i>tries</i> to respect the access levels here. What I mean by tries is that as we know if a number is in AD it’s visible to everyone in the organization regardless of access level. Say you have a user’s work and mobile numbers in AD and try to view them from another user who’s assigned the company level in MOC, you’ll see MOC apply its own formatting to the work number only. Assign them to the team level and you’ll see MOC also format the mobile number. Bizarre. </p>  <p>Company Access Level on 1st Sign-In:<br /> <a href="http://www.confusedamused.com/wp-content/pictures/2010/01/company.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="company" border="0" alt="company" src="http://www.confusedamused.com/wp-content/pictures/2010/01/company_thumb.png" width="331" height="350" /></a></p>  <p>Team Access Level on 1st Sign-In:<br /> <a href="http://www.confusedamused.com/wp-content/pictures/2010/01/team.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="team" border="0" alt="team" src="http://www.confusedamused.com/wp-content/pictures/2010/01/team_thumb.png" width="327" height="354" /></a> </p>  <p>There are two workarounds here since Microsoft refuses to acknowledge this behavior as a bug: </p>  <ul>   <li>Format all numbers in AD to the format MOC is going to use on the 1st sign-in. That is, +1 (xxx) xxx-xxxx. Then create a normalization rule in your company file to make sure this gets processed to E.164 by the ABS. </li>    <li>When a user is signing in to a new PC for the first time (or you had them delete GalContacts.db), have them sign-in once, sign-out after the address book downloads, and finally sign-in again. MOC will now display the numbers from AD instead of formatting them itself. If a user goes to a new PC they need to repeat this process. </li> </ul>  <p>Neither of these are great solutions. The first is probably the best, but aren’t we defeating the entire purpose of normalization here? I should be able to put the numbers in any format I want in AD and normalize them with the ABS . Side note before anyone suggests it: This behavior still happens even if you put the AD fields in E.164 (+12345678901) format. For some organizations changing the formatting of the phone field isn’t an option especially if they have some kind of HR software responsible for syncing phone fields, or other applications dependent on the existing formats. </p>   <p>If you want to duplicate the issue yourself, there is a specific use case to make this happen. Most importantly, the user needs to actually be in your contact list. </p>  <ol>   <li>Enter your numbers in AD for User A and B. </li>    <li>Ensure the numbers normalize by the ABS. </li>    <li>Sign-in as User A. </li>    <li>Add User B to your contact list. </li>    <li>Sign-in as User B. </li>    <li>Add User A to your contact list. </li>    <li>Sign-out of both accounts. </li>    <li>Delete GalContacts.db and GalContacts.db.idx from both accounts. </li>    <li>Sign-in to User A. </li>    <li>Sign-in to User B. </li>    <li>View User A’s phone numbers from User B’s MOC. You’ll see the MOC internal formatting applied. </li>    <li>Sign-out of User B. (Leave User A signed in) </li>    <li>Sign-in to User B. </li>    <li>View User A’s phone numbers from User B’s MOC. You’ll see the exact format you entered in AD, and for all sign-ins going forward. </li>    <li>You can sign-out of User A, delete GalContacts.db again and sign-in to see the MOC formatting again. </li> </ol>  <p>Personally, I think the behavior is wrong and needs to be fixed, but Microsoft says otherwise. </p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.confusedamused.com/notebook/number-display-formatting-in-moc/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Re-Design, Finally.</title>
		<link>http://www.confusedamused.com/notebook/re-design-finally/</link>
		<comments>http://www.confusedamused.com/notebook/re-design-finally/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 05:01:31 +0000</pubDate>
		<dc:creator>Tom Pacyk</dc:creator>
				<category><![CDATA[Me]]></category>

		<guid isPermaLink="false">http://www.confusedamused.com/?p=677</guid>
		<description><![CDATA[I know it&#8217;s still not 100% perfect and needs quite a bit of code cleanup, but I think I finally got the site to a point where I felt good pulling out this re-design I&#8217;ve been working on for a months. In between periods of zero free time, a move to San Francisco, and countless [...]]]></description>
			<content:encoded><![CDATA[<p>I know it&#8217;s still not 100% perfect and needs quite a bit of code cleanup, but I think I finally got the site to a point where I felt good pulling out this re-design I&#8217;ve been working on for a months. In between periods of zero free time, a move to San Francisco, and countless attempts at starting over I managed to put the content in a (hopefully) more usable format and took a stab at using HTML5.</p>

<p><p>The site looks more appealing in anything except IE (of course) with thanks to TypeKit for giving me a great way to use real fonts on the web. I&#8217;ve also added some Twitter, Flickr and Last.FM content here to give this a little more of a personal feel. Maybe one day I&#8217;ll even get a more recent photo of myself on here.  I&#8217;d love to know your thoughts on the change.</p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.confusedamused.com/notebook/re-design-finally/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The C Stands for Compact</title>
		<link>http://www.confusedamused.com/notebook/the-c-stands-for-compact/</link>
		<comments>http://www.confusedamused.com/notebook/the-c-stands-for-compact/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 15:59:59 +0000</pubDate>
		<dc:creator>Tom Pacyk</dc:creator>
				<category><![CDATA[Office Communications Server 2007 R2]]></category>
		<category><![CDATA[2007]]></category>
		<category><![CDATA[abs]]></category>
		<category><![CDATA[communicator]]></category>
		<category><![CDATA[moc]]></category>
		<category><![CDATA[R2]]></category>

		<guid isPermaLink="false">http://www.confusedamused.com/?p=671</guid>
		<description><![CDATA[I believe in my last post about damaged Communicator address book files I pointed out that it was a good idea to keep your OCS clients and servers on the same hotfix levels. I would still argue that’s a good thing to do in general, but in my case this wasn’t the actual resolution. While [...]]]></description>
			<content:encoded><![CDATA[<p><p>I believe in my <a href="http://www.confusedamused.com/notebook/communicator-and-damaged-address-book-files/">last post about damaged Communicator address book files</a> I pointed out that it was a good idea to keep your OCS clients and servers on the same hotfix levels. I would still argue that’s a good thing to do in general, but in my case this wasn’t the actual resolution. While it worked for awhile after a few weeks the damaged address book files error popped up again:</p>  <blockquote>Communicator cannot synchronize with the corporate address book because the corporate address book file appears to be damaged. Contact your system administrator with this information.</blockquote>  <p>All the MOC clients and OCS servers were at the same revision level this time so that wasn’t the problem. Deleting the GalContacts.db and forcing a full download would succeed and the client goes along perfectly happy. Interestingly enough, deleting the GalContacts.db.idx file on a problematic machine would allow the delta file to download successfully so it appears the issue may be with the index file. Anti-virus logs also showed they weren’t trying to clean or repair the file in any way.</p>  <p>I couldn’t find any errors server-side and everything seemed to be functioning properly so I looked at the IIS logs on the Front-End again. Low and behold – the log was huge compared to previous days – about 10x as big. It was filled with many, many requests for downloads of files in the C-xxxx-xxxx.lsabs format which threw me off because the <a href="http://technet.microsoft.com/en-us/library/ee323492%28office.13%29.aspx">ABS documentation</a> points out that F-xxxx files are fulls, and D-xxxx-xxxx files are delta changes, but has zero mention of the C-xxxx-xxxx files. These IIS requests were also successful downloads, not failures so I wouldn’t have expected clients to have an error, but every user was also repeatedly downloading the same sets of files and then trying to download previous C-xxxx-xxxx files as well.</p>  <p>I took one of the matching C-xxxx-xxxx and D-xxxx-xxxx files (they’ll have the same hex names) and dumped both to text files using abserver.exe –dumpfile to try and compare. Viewing them side-by-side they seemed to have the same content, but in a slightly different order. So it appears they were both delta files, but the C file was about 50% of the D’s size. Odd, but I still had no clue when they would be used over a D because there was zero documentation about the change. </p>  <p>Thanks to a few kind folks on Twitter (<a href="http://twitter.com/aublumberg">@aumblumberg</a> and <a href="http://twitter.com/MacRS4">@MacRS4</a> ) who went down this same road with Microsoft via a support case previously, I found out the new C files stand for “Compact” and the change was implemented in the July server-side hotfixes. These are also delta files, but compressed in a way supposedly to make them more efficient. In our case (and theirs), it broke the address book downloads completely. </p>  <p>Fortunately, there is a registry key available to prevent clients from trying to use these compact files. This key only applies if you’re using the October Communicator client-side hotfix:</p>  <p>HKLM\Software\Policies\Microsoft\Communicator </br> Key name: GalUseCompactDeltaFile<br /> Type: DWORD</p>  <p>Possible Values: </p> <ul> <li>0: Do not use compact delta file</li> <li>1: Use compact delta file (default)</li> <li>2: Use compact delta file, but do not issue an LDAP query to retrieve the “Title” and “Office” attribute values from Active Directory</li> </ul>  <p>You can read more about this registry setting from <a href="http://support.microsoft.com/kb/976985/EN-US">KB 976985</a> even though the actual KB is aimed at a different issue with LDAP queries and account lockouts.</p>  <p>I’ll find out today whether this actually fixes the downloads without having to clear out the GalContacts.db file on each client.</p>  <p>It looks like these constant address book changes like this and adding the 0-60 minute download delay are aimed at the larger organizations with a significant address book size, but. I almost feel like these updates are on par with the Resource Kit book providing examples for companies with 100,000+ users in various locations. Great info, but what about the real world? Not everyone using OCS is that big and it would be swell to have guidance around small and medium-sized deployments instead of trying to take those numbers and make them fit. I&#8217;d be happy to just let the ABS download the way it used to and leave it alone.</p>  <p>The most frustrating part here has been that this service has been something that traditionally just worked without intervention and instead I’ve been spending hours and hours troubleshooting to figure out what happened because there was nothing mentioned about the change in behavior server or client-side. Maybe there should be some threshold for these ABS <strike>disasters</strike> optimization changes where they only occur if the full address books are over some value like 10, 20, 50 or 100 MB? Until that happens I&#8217;ll be disabling the compact delta files at future OCS deployments to make sure we avoid this problem.</p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.confusedamused.com/notebook/the-c-stands-for-compact/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Commenting Fixed</title>
		<link>http://www.confusedamused.com/notebook/commenting-fixed/</link>
		<comments>http://www.confusedamused.com/notebook/commenting-fixed/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 05:36:32 +0000</pubDate>
		<dc:creator>Tom Pacyk</dc:creator>
				<category><![CDATA[Collaboration]]></category>

		<guid isPermaLink="false">http://www.confusedamused.com/?p=669</guid>
		<description><![CDATA[I realized this morning I broke the comment feature sometime awhile back. Oops. I think I&#8217;ve fixed the error so if you&#8217;ve been dying to post something you actually can do so now.
]]></description>
			<content:encoded><![CDATA[<p>I realized this morning I broke the comment feature sometime awhile back. Oops. I think I&#8217;ve fixed the error so if you&#8217;ve been dying to post something you actually can do so now.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.confusedamused.com/notebook/commenting-fixed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Communicator and Damaged Address Book Files</title>
		<link>http://www.confusedamused.com/notebook/communicator-and-damaged-address-book-files/</link>
		<comments>http://www.confusedamused.com/notebook/communicator-and-damaged-address-book-files/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 17:35:23 +0000</pubDate>
		<dc:creator>Tom Pacyk</dc:creator>
				<category><![CDATA[Office Communications Server 2007 R2]]></category>
		<category><![CDATA[2007]]></category>
		<category><![CDATA[abs]]></category>
		<category><![CDATA[communicator]]></category>
		<category><![CDATA[dabs]]></category>
		<category><![CDATA[delta]]></category>
		<category><![CDATA[hotfix]]></category>
		<category><![CDATA[iis]]></category>
		<category><![CDATA[lsabs]]></category>
		<category><![CDATA[OCS]]></category>
		<category><![CDATA[R2]]></category>

		<guid isPermaLink="false">http://www.confusedamused.com/?p=666</guid>
		<description><![CDATA[The past few days I spent wrestling an address book server issue in OCS and I wanted to share the solution. The quick version: make sure you have your server side and client side hotfix revisions match up.    If you want the whole story…the specific details of this case involved a Front-End [...]]]></description>
			<content:encoded><![CDATA[<p><p>The past few days I spent wrestling an address book server issue in OCS and I wanted to share the solution. The quick version: make sure you have your server side and client side hotfix revisions match up.  </p>  <p>If you want the whole story…the specific details of this case involved a Front-End server which had the OCS 2007 R2 April hotfixes, but the MOC clients had the July hotfixes applied. The issue first manifested itself with clients reporting ABS damaged:</p>  <blockquote> Communicator cannot synchronize with the corporate address book because the corporate address book file appears to be damaged. Contact your system administrator with this information. </blockquote>  <p>We resolved this by deleting the entire contents of the address book file share and forcing a resync of the address book. We also deleted GalContacts.db from a few user workstations, but later found the client error actually disappeared on its own without removing the file. </p>  <p>Things hummed along nicely for a week or so until a large amount of users (600+) were enabled for OCS one Friday evening. The following Monday previously enabled pilot users were reporting they still didn’t have a SIP URI in their address books for the mass-enabled users. The GalContacts.db file was also still showing a timestamp from the day the mass change occurred, indicating they had not downloaded an update yet. </p>  <p>We took a peek at the Front-End logs and it appeared to be generating address book files correctly. The odd thing was in looking at the IIS logs we actually saw quite a few 404 errors of MOC clients trying to request delta files that did not exist. Other users showed successful downloads of the latest delta files which should have included the changes, but they weren’t being applied to their local GalContacts.db for some reason. I also saw those same clients registering a success end up using the <a href="http://support.microsoft.com/kb/954650">fallback logic</a> and downloading older address book files even though they had the newer versions. Very, very strange. Any client we deleted GalContacts.db on would pull down the latest full address book with no issues. The clients looking for deltas that didn&#8217;t exist we probably caused by deleting the address book files previously.</p>  <p>Side tip when looking at the IIS logs: Full files start with F-xxxx and delta files follow a D-xxxx-xxxx naming convention. Also, .lsabs files are used by MOC while .dabs files are used by Tanjay devices. </p>  <p>At that point I noticed the mismatch in server (April hotfixes) vs. client (July hotfixes) versions and suggested we get the latest fixes installed on all sides. While that suggestion made its way through change control procedures we opened a PSS case with Microsoft to hit the problem from another angle. The engineer we spoke with immediately blurted out that we needed to match the hotfix versions as soon as we described the behavior. It sounded to me like this was one he had heard before or was familiar with so while we didn’t have a second approach this definitely helped accelerate the change control ticket to an authorized state.  After we fully patched the Front-End using the new ServerUpdateInstaller (a lifesaver), applied the back-end database hotfix, and installed the client October hotfix the address book went back to functioning properly. There were a couple of users that needed to delete the GalContacts.db before everything went back to normal, but most of them picked it up without intervention.</p>  <p>As for root cause, the <a href="http://support.microsoft.com/kb/972403">KB 972403 article</a> actually does reference applying both the MOC and server fix together, but the <a href="http://support.microsoft.com/kb/969821/">July server hotfix document</a> doesn’t describe this behavior or even mention it.  Personally, I think the underlying issue was having the 3.5.6907.37 hotfix on clients while the abserver.exe file was still at 3.5.6907.0. In any case, I learned a lot more about the ABS than I ever cared to, but it was great information that will surely help in the future. </p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.confusedamused.com/notebook/communicator-and-damaged-address-book-files/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>OCS2009-DBUpgrade.msi with a 32-bit SQL Server Back-End</title>
		<link>http://www.confusedamused.com/notebook/ocs2009-dbupgrademsi-with-a-32-bit-sql-server-back-end/</link>
		<comments>http://www.confusedamused.com/notebook/ocs2009-dbupgrademsi-with-a-32-bit-sql-server-back-end/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 17:02:20 +0000</pubDate>
		<dc:creator>Tom Pacyk</dc:creator>
				<category><![CDATA[Office Communications Server 2007 R2]]></category>
		<category><![CDATA[2005]]></category>
		<category><![CDATA[2007]]></category>
		<category><![CDATA[OCS]]></category>
		<category><![CDATA[R2]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[x64]]></category>
		<category><![CDATA[x86]]></category>

		<guid isPermaLink="false">http://www.confusedamused.com/notebook/ocs2009-dbupgrademsi-with-a-32-bit-sql-server-back-end/</guid>
		<description><![CDATA[I wanted to point out a quick note about KB 969834 aka the OCS2009-DBUpgrade.msi file &#8211; The KB article suggests running the package from your Back-End database server, but if you’re running SQL 2005 x86 you’ll be greeted with the following error:  This installation package is not supported by this processor type.  Basically, [...]]]></description>
			<content:encoded><![CDATA[<p><p>I wanted to point out a quick note about <a href="http://support.microsoft.com/kb/969834">KB 969834</a> aka the OCS2009-DBUpgrade.msi file &#8211; The KB article suggests running the package from your Back-End database server, but if you’re running SQL 2005 x86 you’ll be greeted with the following error:</p>  <blockquote>This installation package is not supported by this processor type.</blockquote>  <p>Basically, the MSI needs to be run from an x64 machine so your only option now is to run the update directly from your Front-End server. If you try to launch from there  you might receive this error:</p>  <blockquote>You must install Microsoft SQL Server 2005 Client Tools before you install Microsoft Office Communications Server 2007 R2 (KB969834).</blockquote>  <p>You could try install the SQL Tools and Service Pack updates from installation, but OCS is looking for very specific versions of the SQL tools. The quickest and easiest way is to just use a couple of downloads from the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=50b97994-8453-4998-8226-fa42ec403d17&amp;DisplayLang=en">Feature Pack for Microsoft SQL Server 2005 &#8211; February 2007</a>.</p>  <p>You’ll want to download and install the following on your R2 Front-End before running the update:</p> <ul> <li>Microsoft SQL Server 2005 Backward Compatibility Components (x64 package)</li> <li>Microsoft SQL Server 2005 Management Objects Collection (x64 package) </li> </ul>  <p>After running those installers you should be able to run the DB upgrade successfully. Don’t forget – you need to run that MSI from a command line with the poolname (Non-FQDN version) parameter. And if you&#8217;re using Server 2008 be sure open the command prompt as Administrator so it runs with elevated rights. Example:</p>  <pre><code>OCS2009-DBUpgrade.msi POOLNAME=MyFirstPool</code></pre></p>
]]></content:encoded>
			<wfw:commentRss>http://www.confusedamused.com/notebook/ocs2009-dbupgrademsi-with-a-32-bit-sql-server-back-end/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Device Review: Plantronics Voyager PRO UC</title>
		<link>http://www.confusedamused.com/notebook/device-review-plantronics-voyager-pro-uc/</link>
		<comments>http://www.confusedamused.com/notebook/device-review-plantronics-voyager-pro-uc/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 06:09:12 +0000</pubDate>
		<dc:creator>Tom Pacyk</dc:creator>
				<category><![CDATA[Office Communications Server 2007]]></category>
		<category><![CDATA[Office Communications Server 2007 R2]]></category>
		<category><![CDATA[device]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[plantronics]]></category>
		<category><![CDATA[pro]]></category>
		<category><![CDATA[savi]]></category>
		<category><![CDATA[uc]]></category>
		<category><![CDATA[voyager]]></category>

		<guid isPermaLink="false">http://www.confusedamused.com/?p=659</guid>
		<description><![CDATA[Disclaimer: Plantronics did me a sample device to test out, but this post is not a paid review in any way.

Prior to my poor experience with the Jabra GO 6430 and Communicator I had picked up a Plantronics Voyager PRO for use with my iPhone in the car because of California’s hands-free driving laws. I [...]]]></description>
			<content:encoded><![CDATA[<p><i>Disclaimer: Plantronics did me a sample device to test out, but this post is not a paid review in any way.</i></p>

<p><p>Prior to my poor experience with the Jabra GO 6430 and Communicator I had picked up a Plantronics Voyager PRO for use with my iPhone in the car because of California’s hands-free driving laws. I had been extremely happy with the quality of that device and was surprised to see Plantronics had also released a UC certified version for Communicator. My favorite headset up until then had been the Plantronics Savi Go, but I needed something a lot more portable on a day-to-day basis and the Savi Go charging stand was a bit bulky. I definitely needed to replace that Jabra so I picked up a PRO UC to try with Communicator with high hopes based on my experience with the Savi Go.</p>  <p>Unboxing photos:</p>  <p><a href="http://www.confusedamused.com/wp-content/pictures/2009/11/img-0367.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMG_0367" border="0" alt="IMG_0367" src="http://www.confusedamused.com/wp-content/pictures/2009/11/img-0367-thumb.jpg" width="500" height="375" /></a> </p>  <p><a href="http://www.confusedamused.com/wp-content/pictures/2009/11/img-0368.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMG_0368" border="0" alt="IMG_0368" src="http://www.confusedamused.com/wp-content/pictures/2009/11/img-0368-thumb.jpg" width="360" height="480" /></a> </p>  <p><a href="http://www.confusedamused.com/wp-content/pictures/2009/11/img-0370.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMG_0370" border="0" alt="IMG_0370" src="http://www.confusedamused.com/wp-content/pictures/2009/11/img-0370-thumb.jpg" width="500" height="375" /></a> </p>  <p><a href="http://www.confusedamused.com/wp-content/pictures/2009/11/img-0371.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMG_0371" border="0" alt="IMG_0371" src="http://www.confusedamused.com/wp-content/pictures/2009/11/img-0371-thumb.jpg" width="500" height="375" /></a> </p>  <p>I was very happy to see that the Voyager PRO UC worked well with MOC right out of the box – no installation or drivers needed, just the way it should be. The multi-function button worked great and the headset was extremely comfortable to wear for long periods of time with the felt ear bud cover. The sound quality is definitely on par with the Savi Go which was already the best device out there so you can’t go wrong with this headset. As an added bonus it also pairs with a mobile phone so I can get by with a single headset now for my work calls when I have Communicator open and when I’m on the road driving with my mobile. </p>  <p>There really isn’t much to say. The device works as advertised, it looks good and the sound quality is outstanding. For someone who is constantly mobile this is the headset I’d recommend using, but if you’re at a desk more often the Savi Go is still a great choice.</p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.confusedamused.com/notebook/device-review-plantronics-voyager-pro-uc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
