Disable the vocoder in the DSP
246tnt at gmail.com
Wed Feb 17 06:49:09 UTC 2016
> I am looking for a way to disable the vocoder for voice calls, i.e.,
> supply my own 260 bits every 20 ms to be sent in the uplink TCH
> instead of the output from the vocoder in the Calypso DSP, and on the
> downlink, receive the bits which would otherwise go into the vocoder.
> My question is: is it possible to do what I seek using the know-how of
> Calypso DSP black magic that has already been amassed by the OsmocomBB
> project? I am thinking of the following 3 possible starting points:
> 1. LCR integration: the mobile app can be configured to route voice
> call audio to the Linux host instead of the phone's earpiece and
> mic, right? At which point does it intercept the standard voice
> path? Does it intercept right where I want it, passing raw
> over-the-air TCH bits to the external host, such that Asterisk or
> whatever has to run the GSM codec, or is the intercept happening at
> the point of linear PCM samples, such that the uplink TCH bits are
> still generated by the DSP black box?
It's neither PCM audio, nor raw TCH bits.
They're the raw codec data ( so 260 bits / 20 ms for FR codec ).
I say they're not the raw TCH bits because the DSP is still doing all
the channel coding / error correction and this process is codec
specific. The bits will be re-ordered and some of them will be
protected by ECC and some won't because the channel coding excpect to
find GSM FR codec bits there.
> 2. The burst_ind branch lets the Linux host see every burst that is
> received on the downlink, right? It would therefore include TCH
> bursts during voice calls, right? This way I should be able to
> capture all of the raw TCH bits on the downlink - but what about
> the uplink?
> 3. I've also read about the Calypso-as-BTS hack - way cool! In order
> to work, this hack must support both receiving and transmitting
> arbitrary bursts, right? If neither option 1 nor option 2 would
> work, do you guys think the Calypso-as-BTS implementation code
> would serve as a starting point for what I seek? I do need to run
> the OsmocomBB phone in the standard MS role, not in the BTS role,
> and I need to place voice calls on the network in the standard
> manner - but with TCH rerouted to my own source and sink for raw
> over-the-air bits.
Both these method provide access to the raw bursts bits, but :
1) that means you need to do all the channel coding yourself
2) they screw so much with the DSP that it can't act as a phone at
all anymore ( FCCH sync broken for instance )
More information about the baseband-devel