Network service (NS) » History » Revision 2
Revision 1 (lynxis, 01/27/2021 10:02 PM) → Revision 2/3 (lynxis, 01/27/2021 10:05 PM)
h1. Network service (NS) / 3GPP 48.016 libosmocore contains 2 network service implementation: * gprs_ns (1) * gprs_ns2 h3. gprs_ns (1) Has been started in 2012. It doesn't use FSMs and can only support a single type of NS NS-VL at the same time and only a single bind. time. Supported NS types: NS-VL dialects: * IP/UDP/ip.access (RESET/BLOCK/UNBLOCK) * IP/UDP/static (Alive) * IP/UDP/SNS dynamic configuration (client only) * Frame Relay over GRE h3. gprs_ns2 The gprs_ns2 has been started to re-implement network service with FSMs in 2020 and has a generalized approach. It can support multiple types of NS at the same time as well multiple UDP binds. Supported NS types: NS-VL: * IP/UDP/ip.access (RESET/BLOCK/UNBLOCK) * IP/UDP/static (Alive) * IP/UDP/SNS dynamic configuration (client only) * Frame Relay * -frame relay over GRE- has been prepared but without a test device it has been disable h2. Breaking changes between gprs_ns (1) and gprs_ns2 The vty configuration is different and *incompatible* between gprs_ns (1) and gprs_ns2. The osmocom projects which uses NS will be migrating to the new gprs_ns2. gprs_ns2 does *not* support frame relay over GRE (frgre). The frgre support has been prepared but without testing devices it has been disabled. h3. osmo-pcu The osmo-pcu is configured via the PCU socket from the BTS. The BTS is receiving the related configuration from BSC. With the new gprs_ns2 api it's only possible to configure timeouts. valid example for gprs_ns (1) and gprs_ns2: <pre> ns timer tns-block 3 timer tns-block-retries 3 timer tns-reset 3 timer tns-reset-retries 3 timer tns-test 30 timer tns-alive 3 timer tns-alive-retries 10 pcu gb-dialect ip-sns </pre> h3. osmo-sgsn The osmo-sgsn.cfg needs to be migrated by hand. h4. example UDP configuration. Old (gprs_ns (1)) configuration <pre> ns timer tns-block 3 timer tns-block-retries 3 timer tns-reset 3 timer tns-reset-retries 3 timer tns-test 30 timer tns-alive 3 timer tns-alive-retries 10 encapsulation udp local-ip 127.0.0.1 encapsulation udp local-port 23000 encapsulation framerelay-gre enabled 0 </pre> New (gprs_ns2) configuration <pre> ns timer tns-block 3 timer tns-block-retries 3 timer tns-reset 3 timer tns-reset-retries 3 timer tns-test 30 timer tns-alive 3 timer tns-alive-retries 10 bind udp local listen 127.0.0.1 23000 accept-ipaccess </pre>