Network service (NS) » History » Version 1
lynxis, 01/27/2021 10:02 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 | a single type of NS-VL at the same time. Supported NS-VL dialects: |
||
12 | |||
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 | and has a generalized approach. It can support multiple types of NS-VL: |
||
22 | |||
23 | * IP/UDP/ip.access (RESET/BLOCK/UNBLOCK) |
||
24 | * IP/UDP/static (Alive) |
||
25 | * IP/UDP/SNS dynamic configuration (client only) |
||
26 | * Frame Relay |
||
27 | * -frame relay over GRE- has been prepared but without a test device it has been disable |
||
28 | |||
29 | 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 | |||
34 | h3. osmo-pcu |
||
35 | |||
36 | The osmo-pcu is configured via the PCU socket from the BTS. The BTS is receiving the related configuration from BSC. |
||
37 | With the new gprs_ns2 api it's only possible to configure timeouts. |
||
38 | |||
39 | valid example for gprs_ns (1) and gprs_ns2: |
||
40 | <pre> |
||
41 | ns |
||
42 | timer tns-block 3 |
||
43 | timer tns-block-retries 3 |
||
44 | timer tns-reset 3 |
||
45 | timer tns-reset-retries 3 |
||
46 | timer tns-test 30 |
||
47 | timer tns-alive 3 |
||
48 | timer tns-alive-retries 10 |
||
49 | |||
50 | pcu |
||
51 | gb-dialect ip-sns |
||
52 | </pre> |
||
53 | |||
54 | h3. osmo-sgsn |
||
55 | |||
56 | The osmo-sgsn.cfg needs to be migrated by hand. |
||
57 | |||
58 | h4. example UDP configuration. |
||
59 | |||
60 | Old (gprs_ns (1)) configuration |
||
61 | |||
62 | <pre> |
||
63 | ns |
||
64 | timer tns-block 3 |
||
65 | timer tns-block-retries 3 |
||
66 | timer tns-reset 3 |
||
67 | timer tns-reset-retries 3 |
||
68 | timer tns-test 30 |
||
69 | timer tns-alive 3 |
||
70 | timer tns-alive-retries 10 |
||
71 | encapsulation udp local-ip 127.0.0.1 |
||
72 | encapsulation udp local-port 23000 |
||
73 | encapsulation framerelay-gre enabled 0 |
||
74 | </pre> |
||
75 | |||
76 | New (gprs_ns2) configuration |
||
77 | |||
78 | <pre> |
||
79 | ns |
||
80 | timer tns-block 3 |
||
81 | timer tns-block-retries 3 |
||
82 | timer tns-reset 3 |
||
83 | timer tns-reset-retries 3 |
||
84 | timer tns-test 30 |
||
85 | timer tns-alive 3 |
||
86 | timer tns-alive-retries 10 |
||
87 | bind udp local |
||
88 | listen 127.0.0.1 23000 |
||
89 | accept-ipaccess |
||
90 | </pre> |