Bug #6268
closedosmo-sgsn doesn't handle some Create PDP context responses correctly
100%
Description
In some cases the UPF sends a "Create PDP context response" with a cause other than "Request accepted"
3GPP TS29.060 Ch. 7.3.2 states:
The Cause value indicates if a PDP context has been created in the GGSN or not. A PDP context has not been created in
the GGSN if the Cause differs from "Request accepted", "New PDP type due to network preference" or "New PDP type
due to single address bearer only".
The SGSN only checks for cause "Request accepted", so it assumes the upf rejected the PDP context.
UPF:
11/21 15:20:16.509: [upf] INFO: UE F-SEID[UP:0xd18 CP:0x3bf] APN[internet] PDN-Type[1] IPv4[10.45.0.2] IPv6[] (../src/upf/context.c:483) 11/21 15:20:16.509: [upf] INFO: UE F-SEID[UP:0xd18 CP:0x3bf] APN[internet] PDN-Type[1] IPv4[10.45.0.2] IPv6[] (../src/upf/context.c:483)
SGSN:
Tue Nov 21 15:20:16 2023 <0004> sgsn_libgtp.c:181 PDP(901700000043351/0) Create PDP Context Tue Nov 21 15:20:16 2023 <0000> gprs_sm.c:235 MM(901700000043351/c63d2ae9) <- ACTIVATE PDP CONTEXT REJ: Activation rejected by GGSN
Files
Updated by daniel 8 months ago
- % Done changed from 20 to 40
Patch in osmo-ggsn is merged
This changes the check for osmo-sgsn:
https://gerrit.osmocom.org/c/osmo-sgsn/+/35094
Updated by daniel 8 months ago
Maybe of note: The Fairphone3 I'm using to test this has the APN protocol and APN roaming protocol set as IPv4, still wireshark shows it's requesting IPv4/6:
Packet Data Protocol Address - Requested PDP address Length: 2 0000 .... = Spare bit(s): 0 .... 0001 = PDP type organization: IETF allocated address (1) PDP type number: IPv4v6 address (141) Dynamic addressing
Updated by daniel 8 months ago
After fixing the logic in https://gerrit.osmocom.org/c/osmo-sgsn/+/35094 I can now see an "Activate PDP Context Accept" as a result from the Create PDP context response.
There's still an issue, right now the phone sends a "Deactivate PDP Context Request". The SGSN doesn't touch the PDP address field in this code path (probably because the type doesn't match the one in the request).
Updated by daniel 8 months ago
- % Done changed from 40 to 80
https://gerrit.osmocom.org/c/osmo-ggsn/+/35125 should be the last fix needed. With this the FP3 can now get internet connectivity on my nitb setup using open5gs-smf/upf.