Gb SNS implementation uses pre-configured IP/port even if it is not part of the SNS-CONFIG
Section 6.2.1 of 3GPP TS 48.016 states:
A pre-configured endpoint shall not be used for NSE data or signalling traffic (with the exception of Size and Configuration procedures) unless it is configured by the SGSN using the auto-configuration procedures.
However, in the current SNS implementation, the initial IP/Port over which we perform the SNS-SIZE + SNS-CONFIG are treated as one of the normal NS-VCs. Specifically, we also perform the NS-ALIVE procedure on it, which is clearly wrong.
- File gprs_ns_TC_sns_1c1u_separate.pcap gprs_ns_TC_sns_1c1u_separate.pcap added
- Status changed from New to In Progress
- % Done changed from 0 to 80
Patch is now in review: https://gerrit.osmocom.org/#/c/libosmocore/+/13291
A test case has been developed in https://gerrit.osmocom.org/#/c/osmo-ttcn3-hacks/+/13292
The pcap file in the attachment shows success:
- the initial connection to the SGSN (port 23000) is used for SNS procedures
- the SNS-CONFIG negotiates only ports 23001 and 23002 shall be used
- NS-ALIVE from PCU are seen to 23001 + 23002 but not to 23000
- If the simulated SGSN should send anything (like an NS-ALIVE) from 23000 to the PCU, the PCU will reject it with NS-STATUS