Data over GSM Voice

I first heard of the idea of "Data over GSM Voice" from a Defcon 13 Presentation by Wesley Tanner and Nick Lane-Smith. The duo were working on a Bluetooth headset that could perform end-to-end voice encryption, converting the compressed, encrypted voice over the GSM Voice channel by means of a "modem-like" series of tones. The bulk of their presentation was how to model the GSM codec to get good through-put. Nick actually came to a couple of the club meetings and reported it was difficult to get enough bandwidth through this technique to carry a voice conversation.

But you might be asking yourself, "why would anyone try to send modem tones over a GSM voice channel when there's a perfectly good data channel available with most GSM carriers?" Good question. There are essentially two answers.

First, the GSM data channel typically carries some pretty bad latency. With respect to voice encryption, the Cryptophone Guys have a solution that carries encrypted voice over the data channel. Despite the good security features, latency could be an issue. The GSM voice channel, on the other hand, carries low latency, perhaps as little as 100msec end to end. So applications that require low latency like encrypted voice or networked games might find the low latency a big plus.

The other reason is when you make a GSM call, it can be a voice call, a data call or a fax call, not a combination of all three. So when you're talking on the phone to someone and you want to exchange some light digital data, to do it over the data channel would require you to hang up the voice call, dial a data call, exchange the data, hang up the data call, and then reconnect the voice call. It's certainly possible, but could be a pain in the rear for the user. One idea of how this could be used is described on the vCard burst page.

Though end-to-end voice security is important, so is user convenience, and "Data over GSM Voice" can give you both.