Osmo-gbproxy » History » Version 8
laforge, 02/20/2016 08:57 PM
1 | 7 | laforge | {{>toc}} |
---|---|---|---|
2 | 1 | laforge | |
3 | 7 | laforge | h1. The Gb proxy |
4 | |||
5 | |||
6 | 1 | laforge | The purpose of the Gb proxy is to aggregate the Gb links of multiple |
7 | BSS's and present them in one Gb link to the SGSN. |
||
8 | |||
9 | More specifically, the Gb proxy terminates the NS-VCs of each BSS |
||
10 | locally. Furthermore, it establishes one NS-VC with the SGSN. |
||
11 | |||
12 | 7 | laforge | Source code available as part of [[OpenBSC]] repository: |
13 | <pre> |
||
14 | 6 | laforge | git clone git://git.osmocom.org/openbsc.git |
15 | 7 | laforge | </pre> |
16 | 6 | laforge | |
17 | 1 | laforge | The proxy then forwards NS-DUs (BSSGP PDUs) between the SGSN and the |
18 | respective BSS (and vice versa). |
||
19 | 7 | laforge | <pre> |
20 | <code class="graphviz"> |
||
21 | 5 | laforge | digraph G { |
22 | 1 | laforge | rankdir=LR; |
23 | nanobts1->OpenBSC [ label="Abis/IP" ]; |
||
24 | 5 | laforge | nanobts2->OpenBSC [ label="Abis/IP" ]; |
25 | 1 | laforge | nanobts1->gb_proxy [ label="Gb/IP" ]; |
26 | nanobts2->gb_proxy [ label="Gb/IP" ]; |
||
27 | gb_proxy->SGSN [ label="Gb/IP or\nGb/FR/GRE/IP" ]; |
||
28 | 5 | laforge | nanobts2 [ label = "nanoBTS 2" ]; |
29 | nanobts1 [ label = "nanoBTS 1" ]; |
||
30 | 7 | laforge | [[OpenBSC]] [ label = "OpenBSC" ] |
31 | 5 | laforge | } |
32 | 7 | laforge | </code></pre> |
33 | 5 | laforge | |
34 | 8 | laforge | {{child_pages}} |
35 | 1 | laforge | |
36 | 7 | laforge | h2. Configuring and using osmo-gbproxy |
37 | |||
38 | |||
39 | 1 | laforge | Like other programs in this project, osmo-gbproxy accepts a number of command line arguments |
40 | but is generally configured by a configuration file (which can be interactively created/edited |
||
41 | from the VTY). |
||
42 | 3 | laforge | |
43 | 1 | laforge | The command line arguments are: |
44 | 7 | laforge | <pre> |
45 | 1 | laforge | -h --help this text |
46 | -d option --debug=DNS:DGPRS,0:0 enable debugging |
||
47 | -c --config-file filename The config file to use. |
||
48 | 3 | laforge | -s --disable-color |
49 | -T --timestamp Prefix every log line with a timestamp |
||
50 | 7 | laforge | -V --version. Print the version of [[OpenBSC]]. |
51 | 3 | laforge | -e --log-level number. Set a global loglevel. |
52 | 7 | laforge | </code></pre> |
53 | 3 | laforge | |
54 | 7 | laforge | There is a wiki page [[osmo-gbproxy_VTY]] with a reference for all VTY commands |
55 | 1 | laforge | |
56 | |||
57 | h2. Advanced use cases |
||
58 | 7 | laforge | |
59 | |||
60 | h3. Cascading proxies |
||
61 | |||
62 | |||
63 | 2 | laforge | You can also cascade multiple Gb proxies behind each other, where a number |
64 | 1 | laforge | of BSS connect to one Gb proxy, which in turn connects to another Gb proxy, |
65 | which then finally connects to the SGSN. |
||
66 | |||
67 | The reason for this type of use can be broken or limited Gb implementations |
||
68 | in proprietary BSS equipment, which fails to re-connect the Gb link after some |
||
69 | intermittent network outage. |
||
70 | |||
71 | |||
72 | 7 | laforge | h2. Design documentation |
73 | |||
74 | |||
75 | There's a more detailed [[osmo-gbproxy_design|design description]] outlining |
||
76 | 1 | laforge | details of the proxy. |