Great. Now we need a way to send IP packets over a mobile voice call (using the same principles used by old-fashioned modems).
That's surprisingly hard to do ;( Neither android nor iPhone give access to the voice stream.
Useful side-effect: if the OS crashes, your phone call will typically remain alive. (You probably won't be able to hang up without powering off, though, and definitely won't be able to dial another number.) Or, if you have an original iPhone 3G like mine that's sluggish at the best of times, it doesn't affect the phone call. :)