Data over normal GSM call

Ian Stirling OpenMoko at
Fri Apr 11 21:37:56 CEST 2008

Diego Fdez. Durán wrote:
> Can't you initiate a voice call between to FreeRunners and then use the
> mic and mixer devs to modulate the data as sound?

Broadly yes.

The problem is:

A human making mobile - mobile call looks something like this.

1 microphone
2 analog-digital converter
3 GSM encoder
4 radio transmission
5 Add errors due to sunspots
6 radio reception
7 GSM decoder
8 ISDN-like 8KHz 8 bit sampling over mobile companies network
9 Public switched telephone network

And then back again in reverse - with all the codec senses flipped.

Any analog modem signal has to get through the GSM codec - twice - and
survive bit errors. GSM is designed so that single bit errors make
audibly similar output - but not similar numerically.

The GSM codec is basically designed to throw away anything that is not

If you have a perfect radio channel, and can get at the digital data
that would normally go to/from the codec (step 3) it won't help much for
'normal' modems - as you still have the GSM encode/decode cycle at the
network side.

In reality, what you have to do to push any sort of data through this
link is to basically have a data-driven vocoder at one side, that
gabbles - but makes sounds that could in principle be made by human
throats, and a voice recogniser at the other end. This can get 1300bits/sec.

CSD - 'data' GSM calls are different.
Instead of using the normal GSM codec, they use a special codec that is
designed for error-free data transmission.
This can be broken out and transmitted over the normal phone network and
end up in a device like an ISDN modem.
Some ISPs 'normal' modems actually support this by default, so dialing
just works.
However, though this would be really nice to use - it's not free, and in
many countries/telcos costs significant amounts to enable.

More information about the community mailing list