I"ve been tinkering on a project I have been thinking about for a couple of weeks.

The idea involves running a small http server on the android platform.

A lot of fun and interesting work has been done in this area, including a version of apache that runs on android.

There's only one problem I'm running in to; most mobile carriers use their own (internal) sub networks for mobile connectivity. This makes creating a publicly accessible server running on Android complicated, if not impossible.

Network Adress Translation, VPN's and portforwarding are non starters for what I'm looking to do here

I'd be ok with a 'man in the middle' solution, as long as the server in the middle didn't actually have to pipe data from one peer to the other.

Lots of apps enable a peer2peer connection with the help of a central server: whatsapp, skype, iChat etc.

What is the protocol, if it exists, to establish a simple http session between firewalled peers?