Sometimes you have to look at the good sides of things going wrong. Every now and then, I use Vodafone's Websession offer in Germany as it is a convenient way to go online occasionally. If it works… Over the summer, unfortunately, I have observed continuous glitches. Everyone has glitches now and then and I wouldn't haven mentioned it at all if it was only a singular occurrence. But this one keeps dragging on.
So here's what's going on: In most failure cases, automatic initial redirect to the payment web portal works, the money is deducted from the account, but anything else either results in nothing or a technical error message on the portal. In most cases, disconnecting and re-connecting a couple of times from the network helps the service to come back to its senses. Not so, however, when I recently needed it. While I was charged and the service kept insisting that it would forward me to the requested page after connecting to the network, it never did no matter how often I tried to re-connect.
So what's the good side of this you might wonder!? Well, the good side is that Wireshark revealed a bit of how the service works and I learnt a couple of things:
First, the services uses a transparent web proxy that redirects all http requests to the landing page with a “moved temporarily” answer to a HTTP GET request for any page until the session is paid for or directly after re-establishing a network connection to display the remaining time of the session.
Second, the web proxy also responds to a request to a web page if there is a problem with the service. In the most recent one, it answered web page requests after a while with a “504 Gateway Timout”. The picture on the left shows how this looks in practice. The server information element of the message is set to “WebProxy/5.0”. From that I assume that each and every requested web page flows through the transparent proxy. This, by the way, is also supported by the network based picture compression that can be deactivated via the Vodafone dashboard software or by including a special http header parameter in every request.
O.k., I've learnt enough this way now, so please Vodafone, fix this service!