Connect to TCP server with cellular shield

Hi guys,

I need to do something similar to what the OP wants: To send a string of data to a remote server (HTTP PUSH in my case) and I have a random question w.r.t this whole "design".

Does the GSM / GPRS provider need to allow HTTP through their network for it work work properly? I know that if they don't, it won't work, but are there certain GSM / cellular providers who don't allow HTTP PUSH through their networks?

If that is the case though, how else would one be able to send info from an Arduino to a remote server, if USB / Wifi / Bluetooth isn't an option at all? i.e. from an Arduino which is hundreds or even thousands of miles away from the server that needs to get the data?