Tag Archives: Exchange 2010

Exchange 2013 coexistence, EAC and ECP

When you introduce Exchange 2013 into an existing Exchange 2010 environment and you want to open the Exchange Admin Center (using https://localhost/ecp or using https://webmail.contoso.com/ecp) it ‘fails’ and it opens the Exchange 2010 ECP instead.

image

This is caused by the fact that the administrator mailbox is still on Exchange 2010 and the ECP is tied to the administrator mailbox. You can move the mailbox to Exchange 2013 but instead you can also add the suffix /?ExchClientVer=15, like this https://localhost/ecp/?ExchClientVer=15

This will open the Exchange Admin Center in Exchange 2013 while the administrator mailbox is still on Exchange 2010:

image

Enable POP3 and IMAP4 Logging

For testing purposes it can be useful to enable protocol logging on the POP3 and/or IMAP4 service. In Exchange 2010 this cannot be done using the Exchange Management Console or the Exchange Management Shell like you would do to enable protocol logging on the Send or Receive Connector but needs to be done using a config file.

There’s a Microsoft.Exchange.Pop3.exe.config or similarly a Microsoft.Exchange.Imap4.exe.config file located in the directory C:\Program Files\Microsoft\Exchange Server\ClientAccess\PopImap on the Exchange 2007/2010 Client Access Server.

When you open the file scroll down and locate the “ProtocolLog” key and set its value to “true”, like this:

<add key="ProtocolLog" value="true" />

When changed restart the POP3 or IMAP4 service in the Exchange Management Shell using the following command:

Restart-service MSExchangePop3
Restart-Service MSExchangeImap4

The log files can be found in the directory C:\Program Files\Microsoft\Exchange Server\Logging\Pop3

When you’re finished with troubleshooting don’t forget to disable protocol logging since it will consume a tremendous amount of disk space. Just to give you an idea, this is in the POP3 log file for only one session:

image

In Exchange 2013 it’s a bit different, you can use the Set-PopSettings cmdlet (and Set-ImapSettings cmdlet) to enable logging and set the directory where the log files are stored, for example:

Set-PopSettings -ProtocolLogEnabled $true -LogFileLocation "C:\Pop3Logging"

Lync 2010 and Exchange 2010 Unified Messaging

As promised in my previous blog post about Lync 2013 and Exchange 2013 I’ve also been testing this same scenario with Lync 2010 and Exchange 2010. The basics are the same, it’s more or less the GUI that’s different…. Here you go!

UM Language Pack

Download and install the appropriate Exchange 2010 SP2 Language Packs from Exchange Server 2010 SP2 UM Language Packshttp://www.microsoft.com/en-us/download/details.aspx?id=28191 Continue reading Lync 2010 and Exchange 2010 Unified Messaging

Exchange 2010 UM – A TLS API failure occurred

Recently I was implementing an Exchange 2010 UM server that was not willing to deliver any voicemail messages to the user’s inbox. On the UM server I was several EventID 1423 UMCore error messages in the application eventlog:

Log Name: Application
Source: MSExchange Unified Messaging
Date: 4-2-2013 14:53:25
Event ID: 1423
Task Category: UMCore
Level: Error
Keywords: Classic
User: N/A
Computer: EXUM02.contoso.com
Description:
The Unified Messaging server encountered an error while trying to process the message with header file "C:\Program Files\Microsoft\Exchange Server\V14\UnifiedMessaging\voicemail\2d831f7a-2a85-40f2-864c-70b4680a118f.txt". Error details: "Microsoft.Exchange.Net.ExSmtpClient.TlsApiFailureException: A TLS API failure occurred. Error = 0x80090301

At the same time I saw lots of EventID 36885 Schannel error messages in the system eventlog of the Hub Transport Server:

Log Name: System
Source: Schannel
Date: 4-2-2013 12:32:56
Event ID: 36885
Task Category: None
Level: Warning
Keywords:
User: SYSTEM
Computer: exhub01.contoso.local
Description:
When asking for client authentication, this server sends a list of trusted certificate authorities to the client. The client uses this list to choose a client certificate that is trusted by the server. Currently, this server trusts so many certificate authorities that the list has grown too long. This list has thus been truncated. The administrator of this machine should review the certificate authorities trusted for client authentication and remove those that do not really need to be trusted.

Note. As you may know the UM server records the voicemail message and the voicemail message is sent to the user’s mailbox using the Transport Server.

When looking at the Trusted Root Certification Authorities on the Hub Transport Server it turned out that there were 355 certificates stored here.

image

This is where things are breaking. The UM server is using TLS to communicate with the Hub Transport Server and during the handshake between the servers the list of root certs is sent. The maximum size of the package being sent by Schannel is only 16KB and the 355 root certificates never fit in these 16KB. Schannel fails, the list of certificates is truncated, resulting in EventID 36885 and the UM server only sees an invalid handshake with a truncated list of certificates and does not want to communicate.

So, the initial entry in the eventlog on the UM server is a result of a TLS issue and important to note, this is not an Exchange problem!

The way to solve this is delete a large number of root certificates from the Trusted Root Certification Authorities on all Hub Transport server. In my environment I reduced the number of root certs to about 85 which is sufficient. When the certificates are deleted the TLS handshake succeeds and the UM server starts sending the voicemails.

The question is how these 355 root certificates ended up in the trusted root store, a newly installed Windows 2008 R2 server in my test environment only reveals 11 certificates in the trusted root store.

image

Most likely the rootsupd.exe tool has been run sometime ago which updates the list of root certificates on the computer to the list that is accepted by Microsoft as part of the Microsoft Root Certificate Program. Now this is fine on a laptop or workstation, but you don’t want this to happen on your server because it can lead to unpredictable results.

This package however was released to Windows Update and WSUS on December 11, 2012 and was intended for client OS’es only. It also affected servers however and after customer reports the package was set to expired in Windows Update and WSUS.

For more information please check the following knowledge base articles.

SMTP load balancing with F5 LTM

In my previous blog I explained how to configure the F5 LTM for use with Exchange 2010 CAS servers. To do this properly it is recommended to use a template (iApp) because of the amount of work (and thus complexity).

Load balancing SMTP is much easier. The only things that need to be configured are:

  • Service Monitor for monitoring the SMTP service on the Exchange 2010 Hub Transport Servers;
  • A Pool containing the Exchange 2010 Hub Transport servers;
  • A VIP for the SMTP service with a listener on the public network.

To create a new Service Monitor select the Local Traffic and click the + symbol next to monitors. Give the new monitor a name like SMTP_Monitor and if needed adjust the service health monitoring interval. Continue reading SMTP load balancing with F5 LTM