Service Pack 1 for Exchange 2013 includes a new protocol for communication between Outlook and Exchange: MAPIoverHTTP. Previously, MAPIoverHTTP was only supported by Outlook 2013 with SP1 and Exchange 2013 SP1. Therefore
How does MAPIoverHTTP work?
With Service Pack 1 for Office 2013 and MAPIoverHTTP activated, Exchange now knows 2 protocols to communicate with Outlook. Previously, the protocol used was RPCoverHTTP, which was already used with Outlook Anywhere. Since Exchange 2013 RTM, RPCoverHTTP has also been used as the standard for the internal connection from Outlook to Exchange.
In contrast to RPCoverHTTPS, MAPIoverHTTP works without RPC calls. I have created the following graphic to illustrate how it works:
On the left you can see in simplified form how RPCoverHTTP works. Outlook wraps the RPC calls in HTTPS and sends them to the Exchange server, the Exchange server in turn has to unpack the RPC calls from the HTTPS connection in order to process them. With Exchange 2010, Outlook could also communicate directly with Exchange via RPC.
The difference can now be seen on the right: RPC communication is completely eliminated. Outlook communicates directly with the Exchange server via HTTPS. I will go into the advantages of this communication later. Here we will first look at how it works.
The IIS directory /RPC was used for RPCoverHTTPS. The /MAPI directory has been added for MAPIoverHTTP. The directory is created with the installation of Service Pack 1 for Exchange 2013
The MAPI directory can be configured and displayed via the Exchange Management Shell:
Get-MapiVirtualDirectory -Server EX1
The configuration parameters are similar to those for RPCoverHTTPS, there are essentially internal URLs, external URLs and the authentication settings.
The Exchange organization now also has a new parameter, here MAPIoverHTTP is still switched off:
Get-OrganizationConfig | fl name,mapi*
Outlook finds out whether it can use MAPIoverHTTP via Autodiscover.
This means that no settings need to be changed manually on the Outlook client, although Outlook does request a restart when MAPIoverHTTP is activated.
Advantages of MAPIoverHTTP
The advantages of MAPIoverHTTP are quickly explained: MAPIoverHTTP does not have the disadvantages of RPCoverHTTP. With RPCoverHTTP, an RPC connection had to be tunneled via the HTTP protocol, which led to a few problems:
- Not all firewalls understand RPCoverHTTP
- If the connection is lost, the RPC connection must also be terminated
Notebook users are particularly familiar with the second point. In the office, Outlook is not closed, but the notebook is simply plugged in quickly, you arrive at the customer and Outlook takes what feels like an eternity to re-establish a connection to the Exchange server.
MAPIoverHTTP hat also den Vorteil das es unabhängig vom Standort oder Art der Verbindung funktioniert, da eben nicht erst wieder RPC Verbindungen terminiert und neu aufgebaut werden müssen. Wahrscheinlich winken auch die meisten Firewalls mit Content Inspection die Verbindungen als „normalen“ HTTPS-Verkehr durch
How is MAPIoverHTTP activated?
As already mentioned, MAPIoverHTTP (as of 03.2014) can currently only be used with Exchange 2013 SP1 and Outlook 2013 SP1.
Setting up MAPIoverHTTP is simple: configure internal and external URL, switch on, done.
Get-MapiVirtualDirectory | Set-MapiVirtualDirectory -InternalUrl "https://outlook.frankysweb.de/mapi" -ExternalUrl "https://outlook.frankysweb.de/mapi" -IISAuthenticationMethods Ntlm, OAuth, Negotiate
Der Befehl oben konfiguriert MAPIoverHTTP auf die URL outlook.frankysweb.org. Ich wähle hier die gleiche Konfiguration wie auch bei Outlook Anywhere (RPCoverHTTPS). In meinem Fall ist „outlook.frankysweb.org“ der VirtualService des Loadbalancers. Der Hostname muss auf dem Zertifikat vorhanden sein.
Now all that remains is to activate MAPIoverHTTP:
Set-OrganizationConfig -MapiHttpEnabled $true
Whether the connection is established with MAPIoverHTTP or RPCoverHTTP can be determined on the Outlook client. Here first a connection via RPCoverHTTPS:
And here via MAPIoverHTTP:
Important: Outlook requires a restart when MAPIoverHTTP is activated:
What options are there for error analysis?
Probably the easiest way to test the function of MAPIoverHTTP is to call up the Healthcheck page. However, this does not test much more than the IIS server:
The test Outlook CMDlet, which can be executed using the following command, goes a little further:
Test-OutlookConnectivity -RunFromServerId EX1 -ProbeIdentity OutlookMapiHttpSelfTestProbe
However, the logfies are the most informative:
- C:\Program Files\Microsoft\Exchange Server\V15\Logging\MAPI Client Access
- C:\Program Files\Microsoft\Exchange Server\V15\Logging\HttpProxy\Mapi
It remains to be seen what problems will arise with MAPIoverHTTP.