O2 UMTS vs. IMAP-IDLE

Erstes Posting:

Ich hatte immer das Gefühl, daß das recht unzuverlässig läuft und heute hab ich mir das genauer angeschaut. 
Als E-Mail Programm kam ProfiMail 3 zum Einsatz, da man dort im Gegensatz zum Nokia Client genauer sieht, 
was es treibt. Das Ergebnis:

Mit Wlan ist alles kein Problem, alles geht so wie es soll. Damit kann man vermutlich ausschließen, 
das Handy und Server vollkommen defekt sind.

ProfiMail war so eingestellt, daß es alle 3 Minuten eine IDLE Ping (so nenn ProfiMail das, es beendet
 einfach den IDLE Modus und startet in erneut). Der Mailserver(dovecot) sendet alle 6 Minuten eine 
keep alive Nachricht (einfach OK Meldung). Da ProfiMail die Verbindung alle 3 Minuten getrennt wird,
 kommt die keep alive Nachricht nie zum Einsatz. Mit diesen einstellung sollte ein NAT Normalerweise
 die Verbindung aufrecht erhalten.

Erster Test: Die Inbox wird im 10 Sekunden Takt mit E-Mails befüllt. Dementsprechend oft wird der Client 
über neue Nachrichten informiert. Dies funktioniert zuverlässig über mehrere Minuten hinweg.

Zweiter Test: Die Verbindung wird aufgebaut. Es wird eine Mail in die INBOX gelegt. Ein Paket wird zum
 Handy geschickt, es wird laut tcpdump jedoch nicht bestätigt. Mit dem nächsten IDLE Ping wird die neue 
Nachricht erkannt und angezeigt.

Dritter Test: Die Verbindung wird aufgebaut. Es werden mehrer Mails in die INBOX gelegt. Mehrere Pakete
 werden zum Handy geschickt, es wird laut tcpdump jedoch nicht bestätig. Der nächste IDLE Ping wird vom 
Server noch empfangen, jedoch erholt sich die Verbindung nicht.

Vermutung war, dass das O2 Nat, etwas fix ist. Daher hab ich den Mailserver so gepatch, das er im 10 Sekunden
 Takt diese "OK" Meldungen schickt, allerdings kommt immer nur die erste an, die restlichen bleiben wieder 
irgendwo bei O2 hängen. Offentsichtlich können nach 10 Sekunden inaktivität nur vom Handy aus, die Verbindung
 wiederbelebt werden.

Dann folgte eine Testseite, damit das Problem leichter reproduziert werden konnte: http://icantdo.it/o2.php

Damit der Test zuverlässig funktioniert sollten keine weiteren Sprach- und Datenübertragung stattfinden. Die Testseite schickt in immer größer werdenden Abständen eine Textzeile. In funktionierenden Zellen geht da bis 95, in nicht funktionierenden Zellen bis 10,15 oder 20. Der Tests funktioniert mind. mit internen Browsern der Symbian S60 3rd Edition Geräte. Nicht alle Browser zeigen unvollständige Webseiten an.

Zunächst hatte ich die Vermutung, daß es ein Firewallproblem ist. Da sich jedoch herausgestellt hat, daß es von der UMTS Zelle abhängt, ist es eher dort zu suchen. Interessant ist, daß bei ständiger Datenübertragung der Ping Test auch bei normalerweise nicht funktionierenden Zellen geht.

Interessant ist folgender Blogeeintrag:

During the test it was also interesting to see that there is still a noticeable delay of 2.1 seconds in ping times or 
web page access time when no packets were transferred for some time. This is due to the fact that the network releases
 the HSDPA radio connection after some time of inactivity to reduce the power drain on the mobile's battery and also 
the channel usage on the air interface. I experimented a bit and it seems TIM has set the transition timer to 15 seconds.
 Unless TIM has a stupid network implementation which drops the user to PMM IDLE state after this time, the 2.1 seconds
 are the time required for the transition from the FACH to HSDPA (DCH). 

Genau das scheint zu passieren, die Verbindung wird beendet und wenn vom Netz wieder Daten kommen, wird die Verbindung nicht erneut aufgebaut.