There's a way to transfer data between two smartphones with apps that call and hangup each-other without answering. And with zero charge by the carriers.
Cellular roaming fees are scandalous. I'm sure, one day, our offsprings will be mind-boggled when we tell them that we paid more than a dollar to send a few bytes across countries.
The app I'm suggesting can also be used for free local texting.
The side that sends the data initiates the calls, a two second ring means "0", and a four second ring means "1". Notice that usually there's no charge when there is just a ring, if the receiving side doesn't answer.
The app that is receiving the rings notes each ring as a bit of a binary value. After a few dozen rings it converts the message to ASCII text and shows it to the user.
This way of communication might be slow, but a more efficient system can be engineered using more bits, 3 second, 5 second rings and so on.