The Gb proxy

The purpose of the Gb proxy is to aggregate the Gb links of multiple
BSS's and present them in one Gb link to the SGSN.

More specifically, the Gb proxy terminates the NS-VCs of each BSS
locally. Furthermore, it establishes one NS-VC with the SGSN.

Source code available as part of OpenBSC repository:

git clone git://

The proxy then forwards NS-DUs (BSSGP PDUs) between the SGSN and the
respective BSS (and vice versa).

Configuring and using osmo-gbproxy

Like other programs in this project, osmo-gbproxy accepts a number of command line arguments
but is generally configured by a configuration file (which can be interactively created/edited
from the VTY).

The command line arguments are:

  -h --help this text
  -d option --debug=DNS:DGPRS,0:0 enable debugging
  -c --config-file filename The config file to use.
  -s --disable-color
  -T --timestamp Prefix every log line with a timestamp
  -V --version. Print the version of [[OpenBSC]].
  -e --log-level number. Set a global loglevel.

There is a wiki page osmo-gbproxy_VTY with a reference for all VTY commands

Advanced use cases

Cascading proxies

You can also cascade multiple Gb proxies behind each other, where a number
of BSS connect to one Gb proxy, which in turn connects to another Gb proxy,
which then finally connects to the SGSN.

The reason for this type of use can be broken or limited Gb implementations
in proprietary BSS equipment, which fails to re-connect the Gb link after some
intermittent network outage.

Design documentation

There's a more detailed design description outlining
details of the proxy.