Commit graph

4125 commits

Author SHA1 Message Date
Sukchan Lee
9f19210f22 Add trace log for debugging #2287 2023-08-07 22:13:35 +09:00
Sukchan Lee
03c0043e51 Update Roaming Document 2023-08-07 16:12:07 +09:00
Sukchan Lee
0da3d08297 Update document 2023-08-06 23:49:57 +09:00
Sukchan Lee
4ba815a04b Added Roaming Document 2023-08-06 23:38:16 +09:00
bem4444
528fc5d5ba
Update VoLTE Dockerized Tutorial (#2484) 2023-08-03 06:24:35 +09:00
Sukchan Lee
35356e9d9b Fixed SIGPIPE problem (#2411, #2312) 2023-07-26 22:51:26 +09:00
Sukchan Lee
5764f7267d Fixed security vulnerability for malformed packet 2023-07-26 16:32:46 +09:00
Sukchan Lee
b116f077a5
UPF HA - release/establish new PDU session in CM_IDLE (#2471)
See also #2396, #2418
2023-07-25 22:38:38 +09:00
Sukchan Lee
b08b2adc6c [AMF/MME] Remove code that doesn't work (#2013)
Based on the standard document below, when the UE is in the IDLE state,
we checked the implicit timer and tried to send a message to the UE,
but it doesn't work properly.

So, first of all, I deleted the related code.

- TS 24.301 Ch 5.3.7
If ISR is not activated, the network behaviour upon expiry of
the mobile reachable timer is network dependent, but typically
the network stops sending paging messages to the UE on the
first expiry, and may take other appropriate actions

- TS 24.501 Ch 5.3.7
The network behaviour upon expiry of the mobile reachable timer is network dependent,
but typically the network stops sending paging messages to the UE on the first expiry,
and may take other appropriate actions.
2023-07-23 14:54:06 +09:00
Robert Dash
04d402dee6 fix tap mode arp table poisoning 2023-07-22 06:41:44 +09:00
Sukchan Lee
3d62100071 Added missing memory release (#2441, #2450) 2023-07-20 09:40:01 +09:00
Pau Espin Pedrol
e222557f88 [MME] rework sgsn default route config in mme.yaml
Move the config to the sgsn node instead of having a specific route with
specific format "default: route", since anyway internally it's already
applied to the sgsn object.
2023-07-20 06:29:20 +09:00
Sukchan Lee
64a35611d8 [MME] Temporarily disable sgsn settings (#2441) 2023-07-19 21:54:14 +09:00
Sukchan Lee
178d1ff986 Fixed build failure in osmocom/open5gs 2023-07-18 23:20:43 +09:00
Sukchan Lee
7a9d5e57b0 [AMF] Implicit Deregistration (Reset, ConnRefused)
When AMF release the NAS signalling connection,
ran_ue context is removed by ran_ue_remove() and
amf_ue/ran_ue is de-associated by amf_ue_deassociate().

In this case, implicit deregistration is attempted
by the mobile reachable timer according to the standard document,
and amf_ue will be removed by amf_ue_remove().

TS 24.501
5.3.7 Handling of the periodic registration update timer and

Start AMF_TIMER_MOBILE_REACHABLE
mobile reachable timer
The network supervises the periodic registration update procedure
of the UE by means of the mobile reachable timer.
If the UE is not registered for emergency services,
the mobile reachable timer shall be longer than the value of timer
T3512. In this case, by default, the mobile reachable timer is
4 minutes greater than the value of timer T3512.
The mobile reachable timer shall be reset and started with the
value as indicated above, when the AMF releases the NAS signalling
connection for the UE.
2023-07-18 22:27:14 +09:00
Pau Espin Pedrol
11d10fb009 mme: s1ap: Split rx HandoverRequired handling based on HandoverType
This is a preparation towards adding other handover types in the future.
2023-07-18 10:09:30 +09:00
Emanuele Di Pascale
154bff2764 mme: fix missing memset in mme_fd_init
The 'data' struct used to specify the diameter dispatch options for the
MME callbacks was not being initialized properly, which meant that the
App id could contain garbage. This was preventing the callbacks from
being invoked when receiving ISD/CLR requests.
2023-07-18 09:59:20 +09:00
Sukchan Lee
00415b857b Follow-up on #2443 2023-07-18 09:51:45 +09:00
mitmitmitm
02dd09e122 [SMF] Reply with error instead of crashing when IP pool is exhausted 2023-07-18 09:47:22 +09:00
Sukchan Lee
eb34bf6e2c Follow-up on #2428 2023-07-18 08:48:22 +09:00
Sukchan Lee
70ec192d8e Fixed the build error 2023-07-17 10:53:17 +09:00
Sukchan Lee
8535ceab8c [HSS] Modify where to check mongodb version (#2425) 2023-07-15 23:52:13 +09:00
Pau Espin Pedrol
5c0c8ec4f2 mme: s1ap: Implement tx of MME DIRECT INFORMATION TRANSFER
Triggered when receiving a GTPv1C RAN Information Relay message on
Gn interface, targeted at one of the eNBs under the MME.
2023-07-15 23:44:57 +09:00
Pau Espin Pedrol
158bd79bdd mme: s1ap: Implement rx of eNB DIRECT INFORMATION TRANSFER
If destination is a GERAN network, attempt to use the new Gn interface
to forward it to an SGSN if configured to do so.
2023-07-15 23:44:57 +09:00
Pau Espin Pedrol
84ed735204 mme: Introduce initial Gn iface (GTPv1C) support
This interface allows supporting several inter-RAT mobility features
towards pre-rel8-SGSNs (SGSNs without S3/S4 GTPV2C interface).

Related specs:
- 3GPP TS 23.401:
-- "5.6 Network Assisted Cell Change"
-- "5.15 RAN Information Management (RIM) procedures"
--  "Annex D"
- 3GPP TS 23.060 (general GERAN<->GERAN mobility)
- 3GPP TS 29.060
2023-07-15 23:44:57 +09:00
Sukchan Lee
9ba20f6e22 Follow-up on #2428 2023-07-15 23:30:32 +09:00
mitmitmitm
c43444233b [SMF] Don't abort session tear-down on PCF error 2023-07-15 23:29:24 +09:00
mitmitmitm
6273ca5c43 [SMF] Reject session on PFCP sess. est. timeout 2023-07-15 23:29:24 +09:00
mitmitmitm
9cef0f14e3 [SMF] On sess. est. fail, don't reply to AMF twice on the same stream 2023-07-15 23:29:24 +09:00
mitmitmitm
bae6444262 [AMF] Handle N1N2MessageTransfer sess. est. reject from SMF 2023-07-15 23:29:24 +09:00
Pau Espin Pedrol
a7898cb26c gtp1: Add missing RAN INFORMATION RELAY msg
The RAN INFORMATION RELAY message has no associated response, and hence
it should not start T3-RESPONSE timer to retrigger retransmissions.

 TS 29.060 11.1:
 "The Error Indication, Version Not Supported, RAN Information Relay,
 Supported Extension Headers Notification and the SGSN Context Acknowledge
 messages shall be considered as Responses for the purpose of this clause"

 TS 29.060 7.5.14.1:
 "For handling of protocol errors the RAN Information Relay message is treated as a
 Response message."
2023-07-14 07:50:27 +09:00
Pau Espin Pedrol
fa5d9003d7 gtp: xact: Fix unneeded conditionals
The xarg->org is set to a specific value above in the same function, so
no need to check for its value.
2023-07-13 22:25:18 +09:00
David Korczynski
f36fede0c8 Add CIFuzz workflow
Add CIFuzz workflow action to have fuzzers build and run on each PR.

This service is offered by OSS-Fuzz where open5gs already runs. CIFuzz can help
catch regressions and fuzzing build issues early, and has a variety of features
(see the URL above). In the current PR the fuzzers gets build on a pull request
and will run for 300 seconds.

Signed-off-by: David Korczynski <david@adalogics.com>
2023-07-12 22:34:05 +09:00
Pau Espin Pedrol
715038b6d9 cosmetic: mme: Fix trailing whitespace in several files 2023-07-11 21:52:24 +09:00
Matthias Bräuer
946a28ab6c [NRF] Fix crash due to failing assertion on OPTIONS request 2023-07-11 11:14:27 +09:00
Jan Romann
cffd60b356 mac: fix mongodb config path for Apple Silicon 2023-07-07 22:02:23 +09:00
Robert Dash
26141ee2b5 fix boot-looping of UPF with interface in TAP mode 2023-07-01 23:48:46 +09:00
Sukchan Lee
d1f3ce304d Follow-up on #2399 2023-07-01 23:20:56 +09:00
Bostjan Meglic
f616037460 [AMF] Fix search for correct SMF based on SmfInfo
Each SMF's NfProfile can contain multiple SmfInfo items. The issue was
that AMF checked only the first SmfInfo for correct S-NSSAI/NR-TAI
information.

In case of a 5G core setup with SMF handling 2 or more slices, and UE
trying to establish multiple PDU sessions, AMF would report an error
when trying to find the correct serving SMF.

[amf] ERROR: [1:0] (NF discover) No [nsmf-pdusession] (../src/amf/nnrf-handler.c:85)
2023-07-01 23:18:48 +09:00
Rolf Winter
aa13091a8c BTI Wirelss Femto Cell nCELL-F2240 added 2023-07-01 01:11:51 +09:00
Sukchan Lee
7852513c08 [Docs] 5G SCTP Load Balancer Tutorial (#2391) 2023-06-23 07:28:04 +09:00
Sukchan Lee
93012c4512 [DOCS] Added VPP-UPF tutorial 2023-06-21 22:16:10 +09:00
Gaber Stare
12c0310328 [SMF] Decrease sessions metric on OLD Session Release
Since [redesign](8553c77733)
of fivegs_smffunction_sm_sessionnbr gauge, the metric doesn't
expose some decrements. The decreasing of gauge had been
moved out of function stats_remove_smf_session.

It should be decreased every time stats_remove_smf_session
is called, but this particular case is easily reproducible
by killing UPF while the session is established.
2023-06-21 22:11:52 +09:00
Daniel Willmann
ef60207c1e [SMF] Fix Gx/Gy assert() if more than 64 CCRs are sent
The current code uses the cc request number as an index to the
transaction array (xact/xact_data). Since cc request number is a 32 bit
integer this is unfeasible for longer sessions and if more than a
handful of messages are exchanged per session.

The array size was already increased in #2038 which simply delays the
issue.
Furthermore, the current code asserts that cc_request_number is <=
MAX_CC_REQUEST_NUMBER which leads to an out-of-bounds write if
cc_request_number == MAX_CC_REQUEST_NUMBER.

Instead use a smaller array and index into it using cc_request_number
% array size. More than 2 requests should never be in flight at any one
time (initial or update request together with a termination request) so
an array size of 4 should be fine.
2023-06-21 22:07:32 +09:00
Bostjan Meglic
93bcd7fda7 [SMF] Fix a use-after-free bug 2023-06-15 18:33:20 +09:00
Bostjan Meglic
1e64d6602a [AMF,SMF,PCF] Rename the function for calculating NF Instance load
- have a more consistent naming among the NF's
- always have the same prefix (amf_/smf_/pcf_) depending on the NF
- function name is always the same, how the function calculates the load
is NF specific and internal to the function itself (but not the function
name).
2023-06-13 20:44:48 +09:00
Bostjan Meglic
8671b0cc78 [PCF] Fix calculation of NF Instance load information
- the 'if' clause was comparing some value with an always '1' due to
wrong calculation. Consequently, this 'if' statement never executed.
- sizes for session pool and UE pools are directly linked between each
other. We need to count the number of items only in one of the pools to
correctly represent the NF load
- if anything, we should also check the load of the application pool to
determine correct load of the NF
2023-06-13 20:44:48 +09:00
EugeneBogush
31deecb03f fix Gy for 3GPP-User-Location-Info 2023-06-13 06:02:15 +09:00
Pau Espin Pedrol
3a4116123f [SMF] Fix typo in log line 2023-06-07 22:34:22 +09:00
jy
93ad7c6f7a Update 01-genodebs.md
add ASKEY SCE2200 to the Commercial 5G list
2023-06-05 14:09:11 +09:00