GAPK status update

Vadim Yanitskiy axilirator at
Fri Sep 8 12:30:05 UTC 2017

Dear Osmocom community,

I have been working on GAPK (GSM Audio Packet Knife) for some
time, and now I would like to share some achievements.

Previously GAPK was represented as a single binary that
could be called with some command line arguments in order
to perform required operations. This is only handy for
humans, but not for other programs, which may also need
to perform some format / codec conversations or audio
capture / playback.

One of such programs is the mobile from OsmocomBB project.
Currently, when you're making a voice call, both audio
capture and playback are only possible on the L1 side,
i.e. on a Calypso based phone. Of course, the audio stream
can be redirected via MNCC socket, but this is not what
a regular OsmocomBB user would like to do. Moreover, there
is a lack of AMR codec support.

Also, there is another GNURadio based project named GR-GSM.
In short, this is a set of blocks for GSM signal reception,
demodulation and further processing. At the moment, one has
TCH Full Rate decoding capabilities only. Audio playback is
not supported yet.

Having these projects in my mind, I have got an idea of
creating a shared library from the GAPK source code. And,
a few days ago I was managed to get the audio playback
working in OsmocomBB. I hope, this library will be also
usable for other projects.

Brief list of changes were made:

  - Composed a shared library named libosmogapk
  - All exposed symbols have got an 'osmo_gapk' prefix
  - Added a pkg-config manifest and a symbol export map
  - Integrated the Osmocom logging framework
  - Benchmarking is now disabled by default
  - Processing queue now based on the linuxlist

  - Fixed program exit due to ALSA buffer underrun
  - Fixed ALSA audio playback from file

  - Old gapk application was renamed to 'osmo-gapk'
    and linked against the library
  - Adjusted verbosity level (normal / debug)
  - Fixed I/O combinations (ALSA, RTP, file...) check

All changes could be found at the fixeria/lib branch of GAPK.
I hope to see them merged, and open for discussions ;)

With best regards,
Vadim Yanitskiy.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the baseband-devel mailing list