Commit Graph

4206 Commits

Author SHA1 Message Date
Sukchan Lee e92293e0af
[SEPP] Initial Update for 5G Roaming (#2739)
[SEPP] Initial Update for 5G Roaming
2023-11-19 19:34:51 +09:00
Sukchan Lee e12b1be313
[AMF] Fixed crash in ogs_fsm_tran(!tmp) (#2719) (#2722)
This problem can be occurred in the following scenarios.

1. Run NFs(NRF/SCP/SMF/UPF/AUSF/UDM/PCF/BSF/NSSF/UDR) except AMF.
2. Run AMF
3. Run gNB/UE and try to register
4. STOP PCF
5. AMF Crashed

AMF discovered the PCF through SCP during the UE registration process.

At this time, ogs_sbi_nf_fsm_init() is not called,
so AMF does not have state information about PCF.
In other words, AMF state is NULL.

In such a situation, when PCF is terminated at this time,
a crash occurs as AMF attempts to change the PCF state.

So, I've fixed that state information is initialized to solve this problem.
2023-11-04 10:35:33 +09:00
Pau Espin 9d7dc91f21
[SMF] Gy: Keep sending extra AVPs in INITIAL_REQUEST (#2721)
This commit splits filling Requested-Service-Unit, Used-Service-Unit and
QoS-Information into their own helper functions for better readibility,
and then partially reverts 125740727e,
where lots of AVPs were left out of INITIAL_REQUEST messagesi during the
changes made.
After looking through 3GPP TS 32.299 and rfc4006, it seems expected to
send Requested-Service-Unit only during INITIAL_REQUEST, and
Used-Service-Unit during UPDATE_REQUEST, so that part is kept.

However, I am not able to find clear indications that AVPs such as QoS
Information and RAT-Type should not be sent during INITIAL_REQUEST.
So, since we have the info, better set it already during
INITIAL_REQUEST, since the OCS may want to grant different resources
based on that information if available too.
2023-11-01 03:19:10 +09:00
Sukchan Lee 9e88579c4f [DOCS] Open5GS works with eUPF(eBPF/XDP UPF) 2023-10-31 20:57:03 +09:00
Šimon Lukašík 490a3ecb99
A minor typo fix (#2707)
* minor typo fix

* typo fix: faimly -> family
2023-10-28 22:11:58 +09:00
Sukchan Lee e9c15f57e3 Follow-up on #2706 2023-10-28 21:51:08 +09:00
Bostjan Meglic 18fba0d3db
Delete authentication data on UE deregistration (#2706)
* [AUSF] Fix removing UE context on authentication removal request

AUSF crashed when trying to access ausf_ue->sm fields after they were
already deleted.

* [AMF] Delete UE authentication result after UE deregisters from 5G core

Based on TS 29.509 - 5.2.2.2.5 Authentication Result Removal with 5G AKA
method:
In the case that the Purge of subscriber data in AMF after the UE
deregisters from the network or the NAS SMC fails following the
successful authentication in the registration procedure, the NF Service
Consumer (AMF) requests the AUSF to inform the UDM to remove the
authentication result.
2023-10-28 21:48:33 +09:00
Sukchan Lee b2be7393a0
[AMF] Fixed TAC configuration error (#2700) (#2711) 2023-10-28 21:30:32 +09:00
Brias 3c6811a322
[SBI] Ignore unknown enum values and continue parsing (#2622) (#2649)
* [SBI] Ignore unknown enum values and continue parsing (#2622)

* [SBI] Reject empty enum lists (#2622)

Enum lists that are empty due to ignoring
unsupported enum values are also rejected.

* Revert changing `generator.sh`
2023-10-26 22:44:51 +09:00
Sukchan Lee e3c2fd00d9 [SBI] Do not raise ASSERT when not enough CLIENT pool (#2701) 2023-10-25 21:40:37 +09:00
Šimon Lukašík 7a98baf627 Typo fix in systemd open5gs-scpd.service 2023-10-24 07:15:31 +09:00
Sukchan Lee d406fbeb92 Fixed incorrect SMF selection in Multi-SMF (#2557) 2023-10-23 22:40:35 +09:00
Sukchan Lee 125740727e Merge branch 'aseaudi-sigscale-ocs' 2023-10-18 07:10:46 +09:00
Sukchan Lee 783defc52f [SMF] Remove unused varaible in gy-handler.c 2023-10-18 07:09:54 +09:00
Sukchan Lee de7b094191
Merge branch 'main' into sigscale-ocs 2023-10-18 06:54:29 +09:00
Sukchan Lee 7da45cde66 [AMF] mac_failed should be initialized (#2679)
amf_ue->mac_failed flag to be cleared during security mode procedure but it was not.
At this point, the only way to cleare the amf_ue->mac_failed flag is by UE Context Release.
But I'd like to connect UEs as fast as possible without UE Context Release.
2023-10-17 22:28:23 +09:00
Pau Espin 79d3c7078f hss: Don't send IDR for Operator-Determined-Barring changes if Subscriber-Status=SERVICE_GRANTED 2023-10-14 11:41:43 +09:00
Pau Espin e108d6297c HSS: Add support for Operator-Determined-Barring field
* Add "subscriber_status" cmd to open5gs-dbctl to set values for
  "subscriber_status" and "operator_determined_barring" DB fields.
* Add webui View+Edit for those same fields.
* open5gs-hssd now takes those values into account and submits
  Operator-Determined-Barring AVP with DB-retrieved value if
subscriber_status is set to OPERATOR_DETERMINED_BARRING.

For more information, see TS 29.272 section 5.2.2.1.3  and 7.3.30.
2023-10-12 07:17:54 +09:00
Pau Espin 963df4beeb cosmetic: webui: Fix trailing whitespace 2023-10-12 07:17:54 +09:00
Pau Espin 77a624c899 cosmetic: open5gs-dbctl: Fix trailing whitespace 2023-10-11 21:30:47 +09:00
Bostjan Meglic b2a2064beb [AF] Use correct structure when sending modification request
Tests were crashing due to AF using the wrong OpenAPI structure, while
the SBI library tried to convert a different structure to JSON.

Before the added support for nullable fields in OpenAPI documents, both
structures were identical.
2023-10-11 21:10:20 +09:00
Bostjan Meglic 50464d174e [openapi] Add support for nullable fields
Depending on the OpenAPI yaml files, fields can be marked as "nullable".
Which means that the field can be either present, not present, or null.

This feature is important for example in SmContextUpdateData structure,
where many fields are described similar as the following:
This IE shall be included for the modification .... For deleting the
field, it shall contain the Null value.
2023-10-11 21:10:20 +09:00
Emanuele Di Pascale 7ea37ef618 smf: don't assert if we run out of IPs
currently if no IP address is available from the configured
subnets in the SMF when attempting to assign an IP to an UE
we assert and the SMF crashes. Handle the error more gracefully
by returning an error cause instead.
2023-10-11 20:42:31 +09:00
Sukchan Lee 53fe8f1e6d [MME] SGaAP-MO-CSFB-INDICATION w/ TAI/ECGI (#2664)
Added TAI/ECGI to the SGaAP-MO-CSFB-INDICATION message.
2023-10-11 20:37:12 +09:00
Pau Espin cb114eca5e cosmetic: HSS: Fix trailing whitespace 2023-10-10 08:04:01 +09:00
Pau Espin 69022386a6 .gitignore: Add install/ dir
Open5GS documentation instructs to install into open5gs.git/install/
during build [1]:
"""
$ cd open5gs
$ meson build --prefix=`pwd`/install
$ ninja -C build
"""

As a result, this directory appears all the time when using git, since
it's not in the .gitignore file. Add it.

[1] https://open5gs.org/open5gs/docs/guide/02-building-open5gs-from-sources/
2023-10-10 08:03:25 +09:00
Sukchan Lee 499c70d8be Update v2.6.6 changelog 2023-10-04 21:02:56 +09:00
Sukchan Lee d16370fad2 Update v2.6.6 changelog 2023-10-04 20:54:41 +09:00
Sukchan Lee 8d2752f8cd Release v2.6.6 2023-10-04 20:36:38 +09:00
Sukchan Lee 3f9ca906da [PCF] Remove SM Policy Association Terminatation (#2650) 2023-10-04 20:27:47 +09:00
Sukchan Lee 2962d6cbed [WebUI] Fixed when running 'npm run build' (#2564)
> Using external babel configuration
> Location: "/tmp/open5gs-2.6.5/webui/.babelrc"
> Failed to build on /tmp/fdd1769d-9793-45ac-a613-b20e09756073
Error: commons.js from UglifyJs
Name expected [commons.js:8066,6]
    at /tmp/open5gs-2.6.5/webui/node_modules/next/dist/server/build/index.js:182:21
    at /tmp/open5gs-2.6.5/webui/node_modules/webpack/lib/Compiler.js:269:13
    at Compiler.emitRecords (/tmp/open5gs-2.6.5/webui/node_modules/webpack/lib/Compiler.js:375:38)
    at /tmp/open5gs-2.6.5/webui/node_modules/webpack/lib/Compiler.js:262:10
    at /tmp/open5gs-2.6.5/webui/node_modules/webpack/lib/Compiler.js:368:12
    at next (/tmp/open5gs-2.6.5/webui/node_modules/tapable/lib/Tapable.js:218:11)
    at Compiler.<anonymous> (/tmp/open5gs-2.6.5/webui/node_modules/webpack/lib/performance/SizeLimitsPlugin.js:99:4)
    at Compiler.applyPluginsAsyncSeries1 (/tmp/open5gs-2.6.5/webui/node_modules/tapable/lib/Tapable.js:222:13)
    at Compiler.afterEmit (/tmp/open5gs-2.6.5/webui/node_modules/webpack/lib/Compiler.js:365:9)
    at /tmp/open5gs-2.6.5/webui/node_modules/webpack/lib/Compiler.js:360:15 {
  errors: [ 'commons.js from UglifyJs\nName expected [commons.js:8066,6]' ],
  warnings: []
}
Error executing command, exiting
2023-10-03 22:05:57 +09:00
Sukchan Lee 309a61742e Update document for v2.6.5 2023-10-02 20:40:04 +09:00
Sukchan Lee b4a237a80c Update document for v2.6.5 2023-10-02 20:11:49 +09:00
Sukchan Lee 661add96c6 Release v2.6.5 2023-10-02 20:06:31 +09:00
Sukchan Lee a525901c01 [SEPP] add sample roaming pcapng 2023-10-02 19:14:35 +09:00
Sukchan Lee 46333a22b5 [DOCS] Update roaming 2023-10-02 19:06:49 +09:00
Sukchan Lee f6c4eb29e2 [Docs] Update roaming document 2023-10-02 18:51:54 +09:00
mitmitmitm d54a28ed6c [ipfw] Fix memory leak when parsing ipv6 2023-09-27 20:35:33 +09:00
Sukchan Lee 445bf26ef2 [AUSF] Fixed crash due to ausf_ue_add (#2637) 2023-09-25 22:33:03 +09:00
Sukchan Lee 5a220f1a83 [WebUI] fixed a EDIT bug after 10 minutes (#2615)
After the page remains inactive for 10 minutes,
clicking on the edit page will result in a blank screen

when you click on edit after 10 minutes,
all user data is lost. After capturing the network packets,
it can be observed that the frontend sends a fresh request
to the backend for data, and the backend responds correctly,
but the page does not refresh correctly.

`function recent(fetchedAt) {
if (fetchedAt === null) return false;

const interval = 10 * 60 * 1000; // 10 minutes
return ((Date.now() - interval) < fetchedAt);
}`
2023-09-25 22:28:59 +09:00
mitmitmitm 5623b1a0a1 [PFCP] Reply with QER_ID instead of FAR_ID type for QER mismatch 2023-09-25 22:02:19 +09:00
Sukchan Lee 0abfb204ea [SBI] crash when enum is unknown (#2622)
j
The crash is caused by ogs_assert(data) in listEntry_create(void *data).
Reason for the failing assertion is that in

OpenAPI_subscription_data_t *OpenAPI_subscription_data_parseFromJSON(
        cJSON *subscription_dataJSON)

in line 501 of file subscription_data.c the event string is transformed
into an integer/enum value, which in case of an unknown event is 0.

Steps to reproduce:

1. Deploy NRF
2. Run curl --http2-prior-knowledge --header "Content-Type: application/json" --data '{"nfStatusNotificationUri": "test@example.com", "reqNotifEvents": ["unknown"], "subscriptionId": "12345"}' "http://<NRF_IP>:<NRF_PORT>/nnrf-nfm/v1/subscriptions"
2023-09-24 09:56:40 +09:00
Sukchan Lee 317d9bf846 [SBI] crash when queryparam with empty key (#2626)
Fixed crashes when path contains query parameter with an empty key
2023-09-24 09:17:42 +09:00
Sukchan Lee d4f2b545a3 [SBI] Fixed invalid format of subscrCond (#2630)
The format of subscrCond must be 'oneOf'.
2023-09-24 09:01:59 +09:00
Matej Gradisar 227dc1a90d [SMF] return a subnet with available IP addresses
Enables to use multiple UE subnets with the same DNN and family
2023-09-19 21:06:00 +09:00
Matej Gradisar d454e2428f [SMF] Check config file for overlapping UE subnets 2023-09-19 21:06:00 +09:00
Sukchan Lee 48de174a3b [WebUI] Fixed install script (#2619)
WebUI Install script fails if directory /usr/lib/node_modules does not already exist
2023-09-19 21:00:44 +09:00
Sukchan Lee 8a3dbd44ae [MME] Protection code for No IMSI (#2613, #2614) 2023-09-16 22:27:21 +09:00
Sukchan Lee a3a683e5a6 [MME] Implement ENBConfigurationUpdate (#2589) 2023-09-16 20:58:58 +09:00
Sukchan Lee aa746794e7 [GTPU] Fixed Stack-Buffer-Overflow in GTPU (#2609) 2023-09-15 07:17:04 +09:00