Friday, May 31, 2013

Inbox Rules Do Not Work on Unity Connections 8.5.1 Messages

I ran into this with a customer recently and wanted to document what I found.  The customer is using Cisco Unity Connections 9.1 for voicemail with Single Inbox and Exchange 2010 SP3.

Cisco's Single Inbox provides a UM experience similar to Exchange Unified Messaging, where voicemails are delivered to the user's Inbox as emails with attached WAV files.  The voicemail messages are linked by Unity Connections so that if a user deletes a voicemail in Unity, the email message is also deleted.  Likewise, if the user deletes the voicemail email message in Exchange the voicemail is deleted in Unity.

Unity Connections 8.5.x and later uses Exchange Web Services (EWS) for connectivity to Exchange 2007 and Exchange 2010 mailboxes using a service account.  How Unity programmatically does this is a mystery since it is not documented anywhere in Cisco's documentation.

The issue here is that the way Unity Connections Single Inbox creates the message in the recipient's mailbox bypasses the rules table associated with the mailbox.  The result is that rules don't fire for these messages.  For example, it's common for users to create an Inbox rule that moves messages from Unity Connections to a custom folder like "Voicemails".  If you manually run the rule it works as expected.

This issue is documented somewhat in the Cisco Community Forums here: https://supportforums.cisco.com/docs/DOC-17854.  A comment in this forum post implies this is an Exchange bug, but I've confirmed that Inbox rules fire correctly when messages are sent via EWS in a normal manner.  Fellow Exchange MCM, Mike Pfeiffer, has a great post on Sending Email with PowerShell and the EWS Managed API.  I used this PowerShell function to send emails using EWS and test Inbox rules, which worked perfectly.

I've tried every creative trick I know to work around this issue, to no avail.  In the end, there's really nothing that can be done to fix this until Cisco changes to the way it sends Single Inbox messages using EWS.

Friday, May 24, 2013

Fix for Excessive Duplicate Contacts

If you're running Lync in your environment you may notice that you have multiple duplicate contacts in your contacts list.


This issue also affects your ActiveSync mobile devices, such as the iPhone.


If you open one of these duplicate contacts, you will notice that the Notes field says the contact was added by Lync 2013.


This a caused by a bug in the Lync client, which adds a duplicate contact item every time you have do an IM with this contact.  The bug will be fixed in the next cumulative update (CU) for the Lync 2013 client.  In the meantime, here's how you can fix it.

The duplicate contacts are stored in a contacts folder called Lync Contacts.  This folder is protected by Outlook so you can't delete it from there.  You need to delete it from Outlook Web App, which does not treat it as protected.

  • Log into OWA and view your contacts.
  • Right-click the Lync Contacts folder and select Delete.
  • Click Yes to confirm you want to delete the selected folder and move all contents into the Deleted Items folder.  You can then sign out of OWA.
  • From the Outlook client you'll need to empty your Deleted Items folder to finish getting rid of all the duplicate contacts.  You'll then be free of them!



Thursday, May 23, 2013

OWA 2013 CU1 Redirection is Broken for Legacy Mailboxes

Exchange 2013 CU1 includes a new native module for redirection in OWA 2013 to legacy Exchange. The purpose of this module is to automatically tack on the /owa directory to a URL when the user only types in the FQDN for Outlook Web App.

For example, a user can enter https://webmail.contoso.com in their browser and OWA 2013 will automatically redirect the user to https://webmail.contoso.com/owa.  This works pretty well out of the box and does not require any extra configuration by the administrator.

User enters https://mail.domain.com in browser

OWA 2013 CAS redirects to https://mail.domain.com/owa

However, a problem occurs when CAS 2013 CU1 is the front end for an Exchange 2010 SP3 mailbox, which would be typical during a coexistence scenario.  CAS 2013 proxies the redirected URL that the user first entered (i.e., https://mail.contoso.com, without the /OWA) to CAS 2010, which results in the following experience:

OWA 2010 mailbox proxied through CAS 2013 CU1
I have not tested it, but I expect Exchange 2007 mailbox users proxied by CAS 2013 CU1 will have the same experience.

Microsoft is aware of the issue, which is expected to be fixed in Exchange 2013 CU2, due around July according to the Exchange 2013 Servicing model.

Until CU2 is released, there are a couple of workarounds:
  • Perform redirection on the load balancer, if available (i.e., redirect all webmail.contoso.com URLs to https://webmail.contoso.com/owa).  This will cause CAS 2013 to redirect the latter URL to CAS 2010 properly.
- or - 
  • Disable the new native redirection module and then use old-school redirection, as follows:
  • Open the %systemdrive%\inetpub\wwwroot\web.config file in Notepad and disable the native redirection module by remarking the <modules> section.
Change this section:
<system.webServer>
<modules>
<add name="OwaUrlModule" type="Microsoft.Exchange.HttpProxy.OwaUrlModule,Microsoft.Exchange.OwaUrlModule,Version=15.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35" preCondition="" />
</modules>
</system.webServer>

to this (adding the red comment blocks):
<system.webServer>
<!-- <modules>
<add name="OwaUrlModule" type="Microsoft.Exchange.HttpProxy.OwaUrlModule,Microsoft.Exchange.OwaUrlModule,Version=15.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35" preCondition="" />
</modules> -->
</system.webServer>

  • Save the web.config file.
  • Create a new default.htm file in %systemdrive%\inetpub\wwwroot that contains the following:

<html><meta http-equiv="REFRESH" content="0;url=/owa"></HEAD></html>
  • Optional, but recommended: Create a new custom error for HTTP to HTTPS redirection.  Select the Default Web Site in IIS Manager, double-click Error Pages, then click the Add button.
  • Enter 403.4 for the Status Code and select Respond with a 302 redirect.  The enter the Absolute URL as https://webmail.domain.com/owa, using your own OWA FQDN as shown above.
  • Finally, reset IIS using the command IISRESET /NOFORCE /TIMEOUT:120
  • Rinse and repeat for all CAS 2013 CU1 servers.

Wednesday, May 22, 2013

Tips for Families at TechEd 2013 in New Orleans


Are you bringing your family with you to TechEd in New Orleans this year?  My wife, Amy, has some tips for you!

We went to NOLA two years ago for Thanksgiving. We had a great time and I’m sorry to be missing it this year, but the kids are older and school is not out at TechEd time. However, I thought I would offer some advice for families like I've done in the past for TechEd Orlando.

First, you must have beignets every morning for breakfast. I believe it is a law within city limits. :) Café Du Monde is, of course, famous for their beignets and chicory coffee and definitely worth the visit.  It’s right off Jackson Square where the horse carriages gather. But there is another one, Café Beignet, on Royal St and Bienville.  It is smaller, less crowded, and arguably has better beignets.

Second, if you have kids under the age of 15, have them off Bourbon Street/area by 7pm. It's not dangerous at all, it just gets loud and the language gets rougher when the younger crowd who started at noon come out for fresh air.

Third, go all the way down to the end of Decatur St. to the French Market Place. It's an open air market with stalls selling all the touristy things you’ll see in the shops, but much cheaper. Things like masks, boas, beads, and more.

Places to go:
  • The Audubon Zoo was really fun. Not big or anything, just a lovely piece of land out in the garden district easily accessed from most downtown hotels by street car.
  • The Audubon Aquarium of the Americas is a nice cool place to spend a hot afternoon. You can buy combo tickets here for the aquarium and the zoo to save a few bucks.
  • At Mardi Gras World you can take a tour and see how the famous floats are made.
  • Lafitte's Blacksmith Shop Bar is the oldest surviving building in New Orleans and dates back to the early 1700's. It has survived numerous floods and fires. It has no internal electricity because as a historical landmark, the structure of the building must be maintained. They cannot drill and run electricity into the building so it is essentially run off extension cords. Most of the “ghost tours” start from there which are fun.
  • The WWII museum is amazing and you can easily spend the whole day there. It's also less than a block from the Confederate Museum. Both are a "don’t miss".
  • Take the Saint Charles Street Car and walk around the garden district to check out the beautiful houses. While you're there, maybe visit Lafayette Cemetery #1.
  • Ride the horse carriages around the French Quarter.
  • Check out Fritzel’s European Jazz Pub (the oldest operating jazz club in NOLA). It’s on Bourbon street and great fun.
Remember to always bring water and sunscreen with you wherever you go.  It's going to be warm this time of year.  Have fun!!!


Sunday, May 12, 2013

Announcing the Sixth Annual UC Roundtable at TechEd 2013!



I'm pleased to announce the Sixth Annual UC Roundtable at Microsoft TechEd North America 2013 in New Orleans, LA!


The purpose of the UC Roundtable is to gather Exchange and Lync MCMs, MVPs, Exchange product group members, admins, architects, and experts for a free-flowing discussion about issues, questions, and experiences related to Exchange and Lync Server.  If you work with Exchange or Lync you need to be here!

This will be an after hours event within walking distance of the TechEd hotels.  Location details and dates are in the works.

Please RSVP to jeff@expta.com for event details and location.  Spread the word and I hope you can make it!



Wednesday, April 24, 2013

Fixing TEL links with Lync 2013 on Windows 8 with Chrome


If you run both Lync 2013 and Chrome on Windows 8 you will find that TEL links open with Chrome instead of the Lync client.  TEL links are hyperlinks used by Lync for one-click dialing.  For example: tel:14155551212

Here's how to fix it:

  • Open an elevated CMD prompt and run the following command:
reg add "HKLM\Software\Microsoft\Office\15.0\Lync\Capabilities\URLAssociations" /v TEL /d "callto"
  • Now you are able to change the TEL protocol association to Lync 2013.  Press the Windows key and type "Default Programs" to open the Default Programs utility.  Then click "Associate a file or protocol with a program."


  • Scroll to the bottom of the list and select TEL under the Protocols section.  


  • Click the Change Program button and set Lync (desktop) as the default program.  You will now see that Lync is the default program for the Tel protocol.


  • Click the Close button and close the Default Programs utility.
Now Lync 2013 will open when you click a TEL link in Outlook or from a web page.  Thanks to my colleague, Greyson Mitchem, for the tip.

Saturday, April 6, 2013

UPDATED Blistering Fast Hyper-V 2012 Server - Parts List and Video!

Over a year ago I wrote an article detailing how to build a Blistering Fast Windows Server for about $1,000 USD.  At that time "Windows Server 8" hadn't even been released yet, but I wanted to build a server that would work with "future generations" of Hyper-V.  The article proved to be extremely popular and paved the way for many fellow technologists to build their own lab servers.

Now that Windows Server 2012 has been out for a while I wanted to update that article to incorporate newer technologies, like 3rd generation Intel processors and faster DDR3 RAM.  I also made some tweaks to my initial server over the year, adding another SSD drive for active VMs and enabling sleep mode on my physical storage hard drive to save more power.  I'm including those items in this build, while maintaining the same price point as over a year ago.

Lessons Learned
I modified a few things since I built the original lab server I documented in January 2012.  Here are the lessons I learned:
  • If RAM is king, IO is queen.  The two most important things for a Hyper-V 2012 server are RAM (VM capacity) and IO (VM performance).  IO becomes even more important as you add more concurrently running VMs, which you can easily do with 32GB of RAM!
  • SSD = IO. My original design used a single SSD for the operating system and binaries.  I soon learned that VM performance was pretty poor running off a traditional mechanical hard drive, even though I was using a fast SATA III 6Gbps drive.  I ended up buying another 250GB SSD drive to host my active VMs.
  • CPU isn't as important as I thought.  It's important to have enough cores to share with your VMs, but most of the time my CPU is idling at 10% utilization even with 8 VMs running simultaneously.
  • Deduplication is amazing! You can increase the VM density on an SSD drive using Windows Server 2012'd built-in deduplication feature.
  • You can never have enough SATA III ports.  My first build used an Intel motherboard with two SATA III 6Gbps and two SATA II 3Gbps ports.  I ended up having to buy another SATA III controller when I added the other SSD drive.  Better to have at least 4 SATA III ports to begin with.

My Design Requirements
This build has an emphasis on cost.  Even though my budget is the same as the earlier build, I have to make it work with two SSD drives instead of one.
  • Minimum of 4 cores
  • Windows Server 2012 capable.  Hyper-V for Windows 8 requires hypervisor-ready processors with Second Level Address Translation (SLAT).
  • 32GB of fast DDR3 RAM
  • Must support SATA III 6Gb/s drives
  • Must have USB 3.0 ports for future portable devices
  • Low power requirements
  • Small form factor
  • Budget: Under $1,000 USD
As before, the RAM requirements drove most of this design.  Interestingly, I found that the newer technologies (3rd generation Intel Core I5 Ivy Bridge and DDR3 1600 RAM) actually cost less than the 2nd gen I5 and DDR3 1066 RAM in my last build.

Unlike last year's build, I discovered that Amazon usually has the lowest price for everything.  This makes it a  lot easier to order and receive since all the components come from one place.  This should also make it easier for my European friends since they can source it all from Amazon, as well.  Another big bonus is that I have Amazon Prime which gives me free 2-day shipping on all the components.  I could even choose to spend $3.99 more to get it next day!  I love this service!

Here's the entire parts list for this server:

Quantity Item Description
1   Intel Core i5-3470S Quad-Core Processor 2.9 GHz 6 MB Cache LGA 1155 - BX80637I53470S

This is a 3rd generation Ivy Bridge Intel processor. It includes Intel HD 2500 graphics and runs at a low 77W. 3 year limited warranty.
1   AS Rock PRO4-M LGA1155 Intel H77 Quad CrossFireX SATA3 USB3.0 A V GbE MATX Motherboard H77

I chose this LGA 1155 Micro ATX motherboard over Intel because it has 4x SATA3 and 2x SATA2 connectors. It also uses the Intel H77 chipset, supports RAID 1, 5 and 10, has 4 PCI-Express slots, USB 3.0, and has a great BIOS. See the video below. 3 year limited warranty.
2   Corsair Vengeance 16GB (2x8GB) DDR3 1600 MHz (PC3 12800) Desktop Memory (CMZ16GX3M2A1600C10)

240 pin dual channel RAM with built-in heat spreaders.  Lifetime warranty.  Latency is 10-10-10-27.  Each package contains 2x 8GB sticks (16GB).  Be sure to buy two packages.
1   Kingston SSDNow V200 128GB Bundle SV200S3B7A/128G

SATA3 SSD used for the Windows Server 2012 operating system. The package includes the drive and SATA3 cable, an external enclosure, and cables. 3 year warranty.
1   Samsung MZ-7TD250BW 840 Series Solid State Drive (SSD) 250 GB Sata 2.5-Inch

SATA3 SSD used for active VMs (the VMs I normally have running, like a domain controller, Exchange servers, Lync servers, etc.). Super-fast drive. 3 year limited warranty.
1 Kingwin 2.5 Inch to 3.5 Inch Internal Hard Disk Drive Mounting Kit

Metal mounting kit for 2.5" SSD drives. Holds two SSD drives, stacked on top of each other.


1   WD Green 2 TB Desktop Hard Drive: 3.5 Inch, SATA III, 64 MB Cache - WD20EARX

2TB Western Digital Green (low power) SATA3 drive. Used for storing ISOs, seldom used VMs, base images, etc. I usually configure this drive to sleep after one hour to save even more power. 2 year warranty.
1   Lite-On Super AllWrite 24X SATA DVD+/-RW Dual Layer Drive - Bulk - IHAS124-04 (Black)

Great quality DVD burner. It's cheap, too. I connect this to one of the SATA2 ports on the motherboard. 1 year limited warranty.
1   SATA Data Cable (2pk.)

I need 4x SATA3 cables for this build. The ASRock motherboard comes with a black one and the Kingston 128GB SSD comes with another read one.
1   Rosewill 40-In-1 USB 2.0 3.5-Inch Internal Card Reader with USB Port / Extra Silver Face Plate (RCR-IC001)

This is just a handy cheap addition. It slides into the floppy drive tray of the case and adds another USB 2.0 connector, SD card reader, and lots of other reader slots to the front of the computer.
1   APEX TX-381-C Black Steel Micro ATX Tower Computer Case USB/Audio/Fan

Mini ATX tower case for Micro ATX motherboards, like the ASRock. It includes a carrying handle and 2x USB 2.0 ports and audio jacks under a small door on top of the case. It comes with a fairly quiet 80mm rear case fan and clear instructions.
1   Rosewill Stallion Series 400W ATX 12V v2.2 Power Supply RD400-2-SB

Dual 12V rails. Nearly silent 120mm fan and mesh cable sleeving. Includes 4x SATA power connectors and 1x PCI-Express. 1 year limited warranty

Click the video below to hear a description of the parts I ordered for this beast:



It took about 90 minutes to assemble everything and take these pictures. The following slideshow shows how I put it all together:



Once assembled, I updated the BIOS online (very cool - see the video below) and installed Windows Server 2012 Datacenter Edition.  Installation took only 4 minutes, 50 seconds!  Amazing.

Windows Server 2012 recognized all but two of the computer's components, but some required updating so Windows Server can use their advanced capabilities.  Do NOT install the drivers using the setup program on the included ASRock H77 Pro-4M DVD.  The ASRock setup programs will BSOD the server since they are written for a different OS.  Instead, open Device Manager, right-click the following devices, and update the driver software using the ASRock DVD.

Here are the devices that need to be updated, in this order:


System devices
  • Xeon(R) processor E3-1200 v2/3rd Gen Core processor DRAM Controller - 0150
  • PCI Express Root Complex (Becomes "PCI bus". Requires a restart)
  • Intel(R) H77 Express Chipset LPC Controller - 1E4A (Requires a restart)
  • Intel(R) 7 Series/C216 Chipset Family SMBus Host Controller - 1E22
  • Intel(R) 7 Series/C216 Chipset Family PCI Express Root Port 8 - 1E1E (Requires a restart)
  • Intel(R) 7 Series/C216 Chipset Family PCI Express Root Port 6 - 1E1A
  • Intel(R) 7 Series/C216 Chipset Family PCI Express Root Port 1 - 1E10

Universal Serial Bus controllers
  • Standard Enhanced PCI to USB Host Controller (Becomes "Intel(R) 7 Series/C216 Chipset Family USB Enhanced Host Controller - 1E26")
  • Standard Enhanced PCI to USB Host Controller (Becomes "Intel(R) 7 Series/C216 Chipset Family USB Enhanced Host Controller - 1E2D")

Other devices
  • Unknown device  (Becomes "Intel(R) Smart Connect Technology Service")

Sound controllers
  • High Definition Audio Device (Becomes "Realtek High Definition Audio")
  • High Definition Audio Device (Becomes "Intel(R) Display Audio")

Network adapters
  • Realtek PCIe GBE Family Controller

IDE ATA/ATAPI controllers
  • Standard SATA AHCI Controller (Becomes "Intel(R) 7 Series/C216 Chipset Family SATA AHCI Controller". The DVD drive will probably change drive letters after this update.)
  • Standard SATA AHCI Controller (Becomes "Asmedia 106x SATA Controller".  This one is tricky.  Restart and press F8 to boot in Safe Mode. Restart again into normal mode. You will now see new "ATA Channel 0" and "ATA Channel 1" controllers.)

Display adapters
  • Microsoft Basic Display Adapter (Becomes "Intel(R) HD Graphics".  The screen flashes during installation.)

Install Intel Management Engine Components from the ASRock DVD
  • Run <DVD Drive>:\Drivers\ME\Intel\(v8.1.2.1318_1.5M)\Setup.exe
  • Accept the Intel Manageability Engine Firmware Recovery Agent license agreement
  • Check for updates. This takes a few minutes.
  • This will fix the unknown PCI Simple Communications Controller device.

I also recommend that you update the Samsung SSD 840 firmware, which includes better TRIM support:
  • Download and install the Samsung Magician 4 software.
  • Click Firmware Update and Update. Reboot to finish the firmware upgrade.

Finally, run Windows Disk Management to initialize, format and label your Samsung 250GB SSD and Western Digital 2TB drives.

Here's a video of the Windows Server 2012 Hyper-V server in action, showing its sub-10 second boot time and VM performance:


I hope this article, slideshow and videos are helpful to you in your quest to build the perfect Hyper-V lab server.  This is a great investment in your IT career!

Special thanks to my ExtraTeam colleague, Aman Ayaz.  It was his need for a new Hyper-V lab server (and his Visa card) that made this article possible.  :)