Site icon Franky's Web

Exchange 2013: MAPIoverHTTP

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:

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 but I haven't tested that yet.

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:

https://outlook.frankysweb.de/mapi/healthcheck.htm

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:

It remains to be seen what problems will arise with MAPIoverHTTP.

Exit mobile version