Project

General

Profile

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