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).

GraphViz image

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.

Last modified 22 months ago Last modified on Oct 16, 2014, 11:15:42 AM