Network service (NS) / 3GPP 48.016¶
libosmocore contains 2 network service implementation:
- gprs_ns (1)
- gprs_ns2
gprs_ns (1)¶
Has been started in 2012. It doesn't use FSMs and can only support
a single type of NS at the same time and only a single bind. Supported NS types:
- IP/UDP/ip.access (RESET/BLOCK/UNBLOCK)
- IP/UDP/static (Alive)
- IP/UDP/SNS dynamic configuration (client only)
- Frame Relay over GRE
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:
- IP/UDP/ip.access (RESET/BLOCK/UNBLOCK)
- IP/UDP/static (Alive)
- IP/UDP/SNS dynamic configuration (client only)
- Frame Relay
frame relay over GRE
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.
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:
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
osmo-sgsn¶
The osmo-sgsn.cfg needs to be migrated by hand.
example UDP configuration.¶
Old (gprs_ns (1)) configuration
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
New (gprs_ns2) configuration
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
Updated by laforge almost 3 years ago · 3 revisions