Project

General

Profile

Osmo-gbproxy » History » Version 18

steviehs, 10/26/2021 04:43 PM

1 7 laforge
{{>toc}}
2 1 laforge
3 7 laforge
h1. The Gb proxy
4
5
6 10 laforge
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.
7 1 laforge
8 10 laforge
More specifically, the Gb proxy terminates the NS-VCs of each BSS locally.  Furthermore, it establishes one NS-VC with the SGSN.
9
10 18 steviehs
It also contains support for converting from a NS/UDP/IP (Gb over IP) stacking to a frame-relay based NS/FR/GRE/IP stacking in both directions.
11 1 laforge
12 18 steviehs
For Gb/IP the Gb proxy supports both IP Access' proprietary dialect but also IP/SNS as specified in 3GPP TS 48.016  
13
14 16 laforge
Source code available as @osmo-gbproxy.git@ repository:
15 7 laforge
<pre>
16 17 daniel
git clone git://git.osmocom.org/osmo-gbproxy.git
17 7 laforge
</pre>
18 6 laforge
19 1 laforge
The proxy then forwards NS-DUs (BSSGP PDUs) between the SGSN and the
20
respective BSS (and vice versa).
21 9 laforge
22 13 laforge
h2. Deployment scenarios
23
24
h3. Overview (also showing circuit switched side)
25
26 9 laforge
{{graphviz_link()
27 5 laforge
digraph G {
28 1 laforge
  rankdir=LR;
29
  nanobts1->OpenBSC  [ label="Abis/IP" ];
30
  nanobts2->OpenBSC  [ label="Abis/IP" ];
31
  nanobts1->gb_proxy [ label="Gb/IP" ];
32
  nanobts2->gb_proxy [ label="Gb/IP" ];
33 18 steviehs
  pcu1 -> gb_proxy [ label= "Gb/FR/E1 or\nGb/FR/GRE/IP" ];
34
  gb_proxy->SGSN     [ label="Gb/IP or\nGb/FR/GRE/IP or\nGb/" ];
35 1 laforge
  nanobts2 [ label = "OsmoBTS\nOsmoPCU" ];
36 13 laforge
  nanobts1 [ label = "nanoBTS" ];
37 18 steviehs
  pcu1 [ label = "3rd party PCU" ];
38 13 laforge
  OpenBSC [ label = "OpenBSC or OsmoBSC" ]
39 1 laforge
}
40
}}
41 13 laforge
42
h3. Mere aggregation of Gb/IP links towards a SGSN
43
44
This scenario is used where many Gb/IP links need to be aggregated to wards a SGSN.  It is primarily useful in GSM implementations where there is a BTS-colocated PCU (as often seen with small cells, or within Osmocom RAN where [[OsmoPCU:]] co-located next to [[OsmoBTS:]]).
45
46
Osmo-gbproxy will terminate the NS-VCs from all BSS and to the SGSN.  It will then pass through the BSSGP virtual connections from each BSS to the SGSN, while performing special treatment of BVCI=0 (signaling BVCI).
47
48
{{graphviz_link()
49
digraph G {
50
  rankdir=LR;
51
  pcu1->gb_proxy [ label="Gb/IP" ];
52
  pcu2->gb_proxy [ label="Gb/IP" ];
53
  pcu3->gb_proxy [ label="Gb/IP" ];
54
  gb_proxy->SGSN     [ label="Gb/IP" ];
55
  pcu1 [ label = "OsmoPCU" ];
56
  pcu2 [ label = "3rd party PCU" ];
57
  pcu3 [ label = "..."];
58
  SGSN [ label = "SGSN\n(Osmo or 3rd party)" ]
59
}
60
}}
61
62
h3. Conversion of Gb/IP to classic Gb over Frame Relay
63
64
This scenario is used if you have modern, IP based Gb interface from the RAN, but want to interface with traditional, TDM based SGSNs utilizing Gb over frame relay.  osmo-gbproxy doesn't itself directly interface with E1 interface cards, but it uses an external router with frame relay capability which performs Frame Relay encapsulation in GRE over IP.
65
66
{{graphviz_link()
67
digraph G {
68
  rankdir=LR;
69
  pcu1->gb_proxy [ label="Gb/IP" ];
70
  pcu2->gb_proxy [ label="Gb/IP" ];
71
  pcu3->gb_proxy [ label="Gb/IP" ];
72
  gb_proxy->router   [ label="Gb/FR/GRE/IP" ];
73
  router->SGSN     [ label="Gb/FR/E1" ];
74
  pcu1 [ label = "OsmoPCU" ];
75
  pcu2 [ label = "3rd party PCU" ];
76
  pcu3 [ label = "..."];
77
  router [ label = "FR capable Router\ne.g. Cisco 7200" ];
78
  SGSN [ label = "SGSN\n(3rd party)" ]
79 1 laforge
}
80 13 laforge
}}
81
82 18 steviehs
Vice versa this conversion is also possible: you have traditional Gb FR from the RAN and want to connect it to Gb/iP on the SGSN side:
83 13 laforge
84
{{graphviz_link()
85
digraph G {
86
  rankdir=LR;
87 18 steviehs
  pcu1->gb_proxy [ label="Gb/FR/E1" ];
88
  pcu2->gb_proxy [ label="Gb/FR/E1" ];
89
  gb_proxy->SGSN   [ label="Gb/IP" ];
90
  pcu1 [ label = "3rd party PCU" ];
91
  pcu2 [ label = "..."];
92
  SGSN [ label = "SGSN\n(Osmo or 3rd party)" ]
93 14 laforge
}
94
}}
95 13 laforge
96 5 laforge
97 12 laforge
h2. Documentation
98
99
* "User manual":https://ftp.osmocom.org/docs/latest/osmogbproxy-usermanual.pdf
100
* "VTY reference manual":https://ftp.osmocom.org/docs/latest/osmogbproxy-vty-reference.pdf
101
102
Documentation is somewhat minimalistic at this point, as this is not a general-purpose network element but something highly specialized for some niche use cases.  Feel free to contact sales@sysmocom.de in case you would want to hear more about its capabilities.
103
104 8 laforge
{{child_pages}}
105 1 laforge
106 7 laforge
h2. Configuring and using osmo-gbproxy
107
108
109 1 laforge
Like other programs in this project, osmo-gbproxy accepts a number of command line arguments
110
but is generally configured by a configuration file (which can be interactively created/edited
111
from the VTY).
112 3 laforge
113 1 laforge
The command line arguments are:
114 7 laforge
<pre>
115 1 laforge
  -h --help this text
116
  -d option --debug=DNS:DGPRS,0:0 enable debugging
117
  -c --config-file filename The config file to use.
118 3 laforge
  -s --disable-color
119
  -T --timestamp Prefix every log line with a timestamp
120 7 laforge
  -V --version. Print the version of [[OpenBSC]].
121 3 laforge
  -e --log-level number. Set a global loglevel.
122 7 laforge
</code></pre>
123 3 laforge
124 7 laforge
There is a wiki page [[osmo-gbproxy_VTY]] with a reference for all VTY commands
125 1 laforge
126
127
h2. Advanced use cases
128 7 laforge
129
130
h3. Cascading proxies
131
132
133 2 laforge
You can also cascade multiple Gb proxies behind each other, where a number
134 1 laforge
of BSS connect to one Gb proxy, which in turn connects to another Gb proxy,
135
which then finally connects to the SGSN.  
136
137
The reason for this type of use can be broken or limited Gb implementations
138
in proprietary BSS equipment, which fails to re-connect the Gb link after some
139
intermittent network outage.
140
141
142 7 laforge
h2. Design documentation
143
144
145
There's a more detailed [[osmo-gbproxy_design|design description]] outlining
146 1 laforge
details of the proxy.
Add picture from clipboard (Maximum size: 48.8 MB)