Push Mail mit Exchange 2003 SP2

Protokolldetails

Natürlich sind alle Funktionen für die Nutzung von Direct Push in den Exchange Server eingebaut. Um das Protokoll zu verstehen, muss man aber wissen, dass es eine Art Exchange Active-Sync-Prozess (EAP) gibt, der quasi zwischen dem Endgerät und dem eigentlichen Exchange Server (genau genommen dem Informationsspeicher) vermittelt.

Bei der ersten Verbindung nach dem Einschalten schickt der Client nun den PING-Befehl. Falls in diesem Befehl ein Heartbeat-Intervall oder eine Liste der zu synchronisierenden Ordner enthalten ist, speichert der EAP diese Informationen in der versteckten Datei AUTDSTATE.XML im Postfach des Anwenders. So muss der Client diese Informationen nur dann erneut übertragen, wenn sie sich ändern, und die benötigte Bandbreite wird auf ein Minimum reduziert. Fehlt also die entsprechende Information im PING-Befehl, so verwendet der EAP die bereits im Postfach gespeicherten Informationen.

Nun meldet sich der EAP beim Informationsspeicher an und registriert sich über den DAVBefehl SUBSCRIBE für Änderungen an den relevanten Ordnern. Sollten zu diesem Zeitpunkt Änderungen seit dem letzten SYNC zwischen Endgerät und Exchange Server passiert sein, antwortet der EAP auf den PING-Befehl mit dem Status 2. Das bedeutet für das Endgerät, dass es nun synchronisieren muss, um die Änderungen zu empfangen. Falls keine Änderungen vorhanden sind, wartet der EAP weiter auf Benachrichtigungen vom Exchange-Informationsspeicher.

Falls der EAP innerhalb des Heartbeats eine Änderungsbenachrichtigung erhält, schickt er ebenfalls eine Antwort mit Status 2 an das Endgerät. Falls nach Ablauf des Heartbeats keine Änderungen am Postfach des Benutzers passiert sind, schickt der EAP eine Antwort mit dem Status 1 an das Endgerät und hört auf, das Postfach des Anwenders auf Änderungen zu überwachen. Der Client muss sich also innerhalb des Heartbeats immer wieder per PING beim Server melden, um die Verbindung aufrechtzuerhalten.

Heartbeat-Intervall

Das Heartbeat-Intervall wird vom Client bestimmt. Um die Lebensdauer der Batterie möglichst hoch zu halten und möglichst wenig Datenverkehr zu generieren, strebt der Client nach dem höchstmöglichen Heartbeat-Intervall. Das tatsächliche Intervall ermittelt der Client anhand der Zuverlässigkeit des Netzwerks, eventuellen Firewall-Timeouts und anderen Faktoren.

In der Standardkonfiguration beträgt das Minimum 1 Minute und das Maximum 45. Diese Einstellungen können Sie in der Registry unter HKLM\SYSTEM\CurrentControlSet\Services\Mas-Sync\Parameters ändern. Bitte beachten Sie aber, dass das Maximum fest auf 59 Minuten verdrahtet ist. Das liegt daran, dass der DAV-Befehl SUBSCRIBE einen Timeout von 60 Minuten hat.