I'd be happy to pay a local carrier for a data connection using their infrastructure. What I'm imagining is an app that lets me get a local phone number anywhere. Calls and texts to that number ring and show up in the app. If I move to a new place, I just get a new SIM card for data and create a new local phone number in the app.
WhatsApp is almost this, except it doesn't manage any of the phone numbers, and I'd really prefer to use something that I can pay for that isn't owned by Facebook. I've taken to giving people in Hong Kong my US number as well since that's what is tied to my WhatsApp account and there is a 90% chance that if anyone here is going to try to contact you, they'll do it through WhatsApp.
There are several such apps in the iOS and Android app stores. They work reasonably well.
Also the backhaul of mobile networks is usually VoIP (references to this on Wikipedia date back to 2011 [1]), i.e. even calls starting and ending over the old analog network are converted to VoIP in between.
So what's stopping us is not technology, but exactly these local carriers with their national phone numbers and often also national law around selling these services (e.g. in Japan you need to identify yourself as a resident to buy a phone number). Why do we still need carriers? Because they are operating the local physical infrastructure necessary to connect your phone to the network.
So the problem to solve is to cooperate on an international level to use the physical infrastructure of a country/carrier free of charge while you are paying a different carrier in another country. We just recently (~2 years back?) "solved" this in Europe ("solved" because it only works within time limits generous enough for long term travel but not for permanent relocation). It will eventually happen on a global scale.
[1] https://web.archive.org/web/20110809025050/http://www.eetime...