Project

General

Profile

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
Add picture from clipboard (Maximum size: 48.8 MB)