This document describes the process used when Unified Contact Center Express (UCCX) integrates with Microsoft Exchange in order to provide email functionality. The two protocols used by UCCX are:
The IMAP connection is opened from both UCCX and Cisco Agent Desktop (CAD) clients, but SMTP is used by the UCCX server only. Apart from the configurations on the UCCX and Microsoft Exchange, the throttling policies on Microsoft Exchange have to be considered with caution. These policies can cause many issues, such as:
There might be multiple issues, and this document covers some of the most common ones.
The CAD clients and UCCX both open IMAP connections to the Microsoft Exchange server. Every client login requires two IMAP connections to be open. The connection limit on Microsoft Exchange is an issue because of the user account used in order to open the account.
For example, the UCCX Email READY/NOT-READY buttons are grayed out.
When this occurs, notice that the Agent Email tab displays Loading and is locked with that message. In order for the buttons to highlight, the CAD client must open an IMAP connection to the Microsoft Exchange server. Open a command prompt on the PC and enter:
telnet <ip address of exchange> 143
If this is unsuccessful, the problem is a network issue or a configuration issue. If successful, then the connection from CAD should be successful as well. However, this does not always occur, since the CAD client opens the connection with the use of the UCCX Email Account configured on the Cisco Desktop Administrator page. A packet capture on the Cisco Agent Desktop PC shows that Microsoft Exchange rejects the connection with an authentication error. However, other agents might be working with same account, and you have verified that the credentials are correct.
At this stage, the throttling policies on Microsoft Exchange are involved since all clients and the UCCX open the connection with the use of the SAME user account. Therefore, you must configure the appropriate values on the Microsoft Exchange server for the Max Connections from a user.
After you consider the previous example, review the throttling policies for Microsoft Exchange 2010.
Set-ImapSettings
-MaxCommandSize 10240
-MaxConnectionFromSingleIP 2000
-MaxConnections 2400
-MaxConnectionsPerUser 2400
MaxConnectionFromSingleIP : 2000
MaxConnections: 2400
MaxConnectionsPerUser 2400
Mapi session "/o=First Organization/ou=Exchange Administrative Group
(FYDIBOHF23SPDLT)/cn=Recipients/cn=E-mailUser" exceeded the maximum of 16 objects of type "session"
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem
Get-OrganizationConfig |
Add-ADPermission -user "<Mailbox Name>"-extendedrights "View Information Store status"
SMTP must be applied to the connector that UCCX email uses. Open the Microsoft Exchange Management Shell.
Get-ReceiveConnector
Set-ReceiveConnector -identity "<Receive Connector Name>"
-MaxInboundConnection 5000
-MessageRateLimit 250
-MaxInboundConnectionPercentagePerSource 5
-MaxInboundConnectionPerSource 250
Client throttling policies are used only in Microsoft Exchange 2010, and the default configuration is known to cause adverse performance with agent email.
Open the Microsoft Exchange Management Shell tool.
New-ThrottlingPolicy -name "<Policy Name>"
Set-ThrottlingPolicy -identity ?<Policy Name>?
-IMAPMaxConcurrency $null -IMAPPercentTimeInAD $null
-IMAPPercentTimeInCAS $null -IMAPPercentTimeInMailboxRPC $null
-RCAMaxConcurrency $null -RCAPercentTimeInAD $null
-RCAPercentTimeInCAS $null -RCAPercentTimeInMailboxRPC $null
-MessageRateLimit $null -RecipientRateLimit $null -CPUStartPercent $null
Set-ThrottlingPolicy -identity ?<Policy Name>?
-IMAPMaxConcurrency $null -IMAPPercentTimeInAD $null
-IMAPPercentTimeInCAS $null -IMAPPercentTimeInMailboxRPC $null
-RCAMaxConcurrency $null -RCAPercentTimeInAD $null
-RCAPercentTimeInCAS $null -RCAPercentTimeInMailboxRPC $null
-CPAMaxConcurrency $null -CPAPercentTimeInCAS $null
-CPAPercentTimeInMailboxRPC $null -MessageRateLimit $null
-RecipientRateLimit $null -CPUStartPercent $null
Set-Mailbox -Identity "<Mailbox Name>" ?ThrottlingPolicy "<Policy Name>"