Network service (NS) » History » Version 3
laforge, 01/27/2021 10:24 PM
formatting
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 | 3 | laforge | |
30 | 1 | lynxis | h2. Breaking changes between gprs_ns (1) and gprs_ns2 |
31 | |||
32 | The vty configuration is different and *incompatible* between gprs_ns (1) and gprs_ns2. The osmocom projects which uses |
||
33 | NS will be migrating to the new gprs_ns2. |
||
34 | 2 | lynxis | |
35 | gprs_ns2 does *not* support frame relay over GRE (frgre). The frgre support has been prepared but without testing devices |
||
36 | it has been disabled. |
||
37 | 1 | lynxis | |
38 | h3. osmo-pcu |
||
39 | |||
40 | The osmo-pcu is configured via the PCU socket from the BTS. The BTS is receiving the related configuration from BSC. |
||
41 | With the new gprs_ns2 api it's only possible to configure timeouts. |
||
42 | |||
43 | valid example for gprs_ns (1) and gprs_ns2: |
||
44 | <pre> |
||
45 | ns |
||
46 | timer tns-block 3 |
||
47 | timer tns-block-retries 3 |
||
48 | timer tns-reset 3 |
||
49 | timer tns-reset-retries 3 |
||
50 | timer tns-test 30 |
||
51 | timer tns-alive 3 |
||
52 | timer tns-alive-retries 10 |
||
53 | |||
54 | pcu |
||
55 | gb-dialect ip-sns |
||
56 | </pre> |
||
57 | |||
58 | h3. osmo-sgsn |
||
59 | |||
60 | The osmo-sgsn.cfg needs to be migrated by hand. |
||
61 | |||
62 | h4. example UDP configuration. |
||
63 | |||
64 | Old (gprs_ns (1)) configuration |
||
65 | |||
66 | <pre> |
||
67 | ns |
||
68 | timer tns-block 3 |
||
69 | timer tns-block-retries 3 |
||
70 | timer tns-reset 3 |
||
71 | timer tns-reset-retries 3 |
||
72 | timer tns-test 30 |
||
73 | timer tns-alive 3 |
||
74 | timer tns-alive-retries 10 |
||
75 | encapsulation udp local-ip 127.0.0.1 |
||
76 | encapsulation udp local-port 23000 |
||
77 | encapsulation framerelay-gre enabled 0 |
||
78 | </pre> |
||
79 | |||
80 | New (gprs_ns2) configuration |
||
81 | |||
82 | <pre> |
||
83 | ns |
||
84 | timer tns-block 3 |
||
85 | timer tns-block-retries 3 |
||
86 | timer tns-reset 3 |
||
87 | timer tns-reset-retries 3 |
||
88 | timer tns-test 30 |
||
89 | timer tns-alive 3 |
||
90 | timer tns-alive-retries 10 |
||
91 | bind udp local |
||
92 | listen 127.0.0.1 23000 |
||
93 | accept-ipaccess |
||
94 | </pre> |