Project

General

Profile

Network service (NS) » History » Version 2

lynxis, 01/27/2021 10:05 PM

1 1 lynxis
h1. Network service (NS) / 3GPP 48.016
2
3
libosmocore contains 2 network service implementation:
4
5
* gprs_ns (1)
6
* gprs_ns2
7
8
h3. gprs_ns (1)
9
10
Has been started in 2012. It doesn't use FSMs and can only support
11 2 lynxis
a single type of NS at the same time and only a single bind. Supported NS types:
12 1 lynxis
13
* IP/UDP/ip.access (RESET/BLOCK/UNBLOCK)
14
* IP/UDP/static (Alive)
15
* IP/UDP/SNS dynamic configuration (client only)
16
* Frame Relay over GRE
17
18
h3. gprs_ns2
19
20
The gprs_ns2 has been started to re-implement network service with FSMs in 2020
21 2 lynxis
and has a generalized approach. It can support multiple types of NS at the same time as well
22
multiple UDP binds. Supported NS types:
23 1 lynxis
24
* IP/UDP/ip.access (RESET/BLOCK/UNBLOCK)
25
* IP/UDP/static (Alive)
26
* IP/UDP/SNS dynamic configuration (client only)
27
* Frame Relay
28 2 lynxis
* -frame relay over GRE-
29 1 lynxis
h2. Breaking changes between gprs_ns (1) and gprs_ns2
30
31
The vty configuration is different and *incompatible* between gprs_ns (1) and gprs_ns2. The osmocom projects which uses
32
NS will be migrating to the new gprs_ns2.
33 2 lynxis
34
gprs_ns2 does *not* support frame relay over GRE (frgre). The frgre support has been prepared but without testing devices
35
it has been disabled.
36 1 lynxis
37
h3. osmo-pcu
38
39
The osmo-pcu is configured via the PCU socket from the BTS. The BTS is receiving the related configuration from BSC.
40
With the new gprs_ns2 api it's only possible to configure timeouts.
41
42
valid example for gprs_ns (1) and gprs_ns2:
43
<pre>
44
ns
45
 timer tns-block 3
46
 timer tns-block-retries 3
47
 timer tns-reset 3
48
 timer tns-reset-retries 3
49
 timer tns-test 30
50
 timer tns-alive 3
51
 timer tns-alive-retries 10
52
53
pcu
54
 gb-dialect ip-sns
55
</pre>
56
57
h3. osmo-sgsn
58
59
The osmo-sgsn.cfg needs to be migrated by hand.
60
61
h4. example UDP configuration.
62
63
Old (gprs_ns (1)) configuration
64
65
<pre>
66
ns
67
 timer tns-block 3
68
 timer tns-block-retries 3
69
 timer tns-reset 3
70
 timer tns-reset-retries 3
71
 timer tns-test 30
72
 timer tns-alive 3
73
 timer tns-alive-retries 10
74
 encapsulation udp local-ip 127.0.0.1
75
 encapsulation udp local-port 23000
76
 encapsulation framerelay-gre enabled 0
77
</pre>
78
79
New (gprs_ns2) configuration
80
81
<pre>
82
ns
83
 timer tns-block 3
84
 timer tns-block-retries 3
85
 timer tns-reset 3
86
 timer tns-reset-retries 3
87
 timer tns-test 30
88
 timer tns-alive 3
89
 timer tns-alive-retries 10
90
 bind udp local
91
  listen 127.0.0.1 23000
92
  accept-ipaccess
93
</pre>
Add picture from clipboard (Maximum size: 48.8 MB)