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> |