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://git.osmocom.org/openbsc.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
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.
There's a more detailed design description outlining details of the proxy.