Site icon Franky's Web

Exchange 2013: MAPIoverHTTP

Das Service Pack 1 für Exchange 2013 bringt ein neues Protokoll für die Kommunikation zwischen Outlook und Exchange mit: MAPIoverHTTP. Bisher wird MAPIoverHTTP nur von Outlook 2013 mit SP1 und Exchange 2013 SP1 unterstützt. Daher

Wie funktioniert MAPIoverHTTP?

Mit dem Service Pack 1 für Office 2013 und aktivierten MAPIoverHTTP kennt Exchange nun 2 Protokolle um mit Outlook zu kommunizieren. Bisher wurde als Protokoll RPCoverHTTP verwendet, welches schon bei Outlook Anywhere zum Einsatz kam. Seit Exchange 2013 RTM wurde RPCoverHTTP auch für die interne Verbindung von Outlook zu Exchange als Standard verwendet.

MAPIoverHTTP funktioniert im Gegensatz zu RPCoverHTTPS ohne RPC-Calls. Um die Funktionsweise etwas zu verdeutlichen, habe ich folgende Grafik erstellt:

Links sieht man vereinfacht wie RPCoverHTTP funktioniert. Outlook verpackt die RPC-Calls in HTTPS und sendet sie zum Exchange Server, der Exchange Server wiederum, muss die RPC-Calls aus der HTTPS Verbindung auspacken um sie zu verarbeiten. Bei Exchange 2010 konnte Outlook auch direkt via RPC mit Exchange kommunizieren.

Rechts wird nun der Unterschied deutlich: Die RPC Kommunikation fällt komplett weg. Outlook unterhält sich direkt via HTTPS mit dem Exchange Server. Auf die Vorteile dieser Kommunikation gehe ich später ein. Hier geht es zuerst um die Funktionsweise.

Für RPCoverHTTPS wurde das IIS Verzeichnis /RPC genutzt. Für MAPIoverHTTP ist das Verzeichnis /MAPI hinzugekommen. Das Verzeichnis wird mit der Installation des Service Pack 1 für Exchange 2013 angelegt

Das MAPI Verzeichnis lässt sich über die Exchange Management Shell konfigurieren, bzw anzeigen:

Get-MapiVirtualDirectory -Server EX1

´

Die Parameter zu Konfiguration sind vergleichbar mit denen für RPCoverHTTPS, es gibt im wesentlichen Interne URLs, externe URLs und die Authentifizierungseinstellungen.

Auch die Exchange Organisation kennt nun einen neuen Parameter, hier ist MAPIoverHTTP noch abgeschaltet:

Get-OrganizationConfig | fl name,mapi*

Ob Outlook MAPIoverHTTP nutzen kann erfährt es via Autodiscover.

Es müssen also keine Einstellungen manuell am Outlook Client geändert werden, allerdings fordert Outlook einen Neustart wenn MAPIoverHTTP aktiviert wird.

Vorteile von MAPIoverHTTP

Die Vorteile von MAPIoverHTTP sind schnell erklärt: MAPIoverHTTP hat nicht die Nachteile wie RPCoverHTTP. Bei RPCoverHTTP musste eine RPC Verbindung über das HTTP Protokoll getunnelt werden, das führte zu ein paar Problemen:

Gerade den zweiten Punkte kennen die Notebook Benutzer. Im Büro wird Outlook nicht geschlossen, sondern nur schnell das Notebook eingesteckt, man kommt beim Kunden an und Outlook braucht eine gefühlte Ewigkeit um wieder eine Verbindung zum Exchange Server herzustellen.

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 , das habe ich aber noch nicht getestet.

Wie wird MAPIoverHTTP aktiviert?

Wie schon erwähnt lässt sich MAPIoverHTTP (Stand 03.2014) aktuell nur mit Exchange 2013 SP1 und Outlook 2013 SP1 nutzen.

Die Einrichtung von MAPIoverHTTP ist einfach: Interne und Externe URL konfigurieren, Einschalten, Fertig.

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.

Jetzt muss nur noch MAPIoverHTTP aktiviert werden:

Set-OrganizationConfig -MapiHttpEnabled $true

Ob die Verbindung mit mit MAPIoverHTTP oder mit RPCoverHTTP hergestellt wird, lässt am Outlook Client feststellen. Hier zunächst eine Verbindung via RPCoverHTTPS:

Und hier via MAPIoverHTTP:

Wichtig: Outlook erfordert einen Neustart, wenn MAPIoverHTTP aktiviert wird:

Welche Möglichkeiten zur Fehleranalyse gibt es?

Der wohl einfachste Weg die Funktion von MAPIoverHTTP zu testen, ist es die Healthcheck Seite aufzurufen. Viel mehr als den IIS Server testet man damit allerdings nicht:

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

Etwas weiter geht da schon das Test-Outlook CMDlet, welches über den folgenden Befehl ausgeführt werden kann:

Test-OutlookConnectivity -RunFromServerId EX1 -ProbeIdentity OutlookMapiHttpSelfTestProbe 

Am Aussagekräftigsten sind allerdings die Logfies:

Welche Probleme sich mit MAPIoverHTTP ergeben, muss sich erst noch zeigen.

Exit mobile version