Compare commits

...

2560 Commits

Author SHA1 Message Date
Sukchan Lee
d9d3abdd48 Release v2.7.6 2025-07-19 10:32:41 +09:00
Sukchan Lee
c58b8f0819 [SEC/SMF] Handle invalid NAMF_COMM API messages and escalate SBI logs to errors (#4000)
Added a handler to catch invalid NAMF_COMM API messages
and prevent assertion failures, and upgraded related SBI log statements
from warnings to errors.
2025-07-19 09:45:52 +09:00
Sukchan Lee
b9ec94a0d2 Enable parsing of block‑level HTML in Kramdown so Markdown syntax
(e.g. inside <details> tags) is rendered correctly.
2025-07-19 08:03:01 +09:00
Sukchan Lee
fc38ede6a2 [SMF] Fix crash by handling failure in N1 message construction (#3989)
If gsm_build_pdu_session_establishment_accept() fails due to invalid PCO,
the SMF previously hit an assertion and crashed. This patch adds a proper
error check and transitions to the reject state to prevent the crash.

This was originally reported in issue #3969.

A missing error handling path in 'smf_gsm_state_wait_pfcp_establishment'
led to an assertion failure.
2025-07-11 22:39:18 +09:00
Sukchan Lee
7575a7be13 [AMF/MME] Fix crash during S1/X2 handover cancellation by validating UE context association before deassociation (#3983)
Problem:
During inter-eNB/RAN handover scenarios, such as S1/N2 handover followed by X2/Xn handover cancellation,
the UE context may end up partially moved or duplicated across multiple eNBs. If the handover
is canceled by the target eNB and followed by subsequent UE Context Release or PathSwitchRequest
procedures, the MME can crash due to inconsistent context state. Specifically, when deassociating
the mme_ue <-> enb_ue (or amf_ue <-> ran_ue) pair, the code unconditionally resets the association
fields (`mme_ue->enb_ue_id`, `enb_ue->mme_ue_id`, etc.), even if they no longer reflect an actual
association due to the earlier handover cancellation.

Root Cause:
The MME or AMF state machine incorrectly assumes that the associated context IDs are still valid
and proceeds to unlink the context. When the PathSwitchRequest arrives after the UE context has
been (partially or fully) released, the assertion `enb_ue != NULL` or the mismatch in expected ID
(e.g., `mme_ue->enb_ue_id != enb_ue->id`) leads to a crash.

Solution:
This patch introduces stricter association validation before unlinking UE contexts. Specifically:

- The unlinking functions such as `enb_ue_unlink()` and `amf_ue_deassociate()` were replaced with
  more explicit versions: `enb_ue_deassociate_mme_ue()` and `amf_ue_deassociate_ran_ue()`, which
  compare the current context ID with the expected one.
- If the ID mismatch is detected, the deassociation is skipped and a detailed error is logged
  (rather than crashing with an assertion).
- This approach prevents crashes during handover cancellation cases and avoids incorrectly
  cleaning up a context that is already associated with a new peer.

Additionally:
- The same pattern was applied consistently across MME and AMF modules including:
  - `s1ap-handler.c`, `mme-context.c`, `mme-s11-handler.c`, `mme-gtp-path.c`
  - `ngap-handler.c`, `nsmf-handler.c`, `sbi-path.c`
- All previously direct field resets (`xxx_ue->xxx_ue_id = OGS_INVALID_POOL_ID`) are now guarded
  with validation logic.
- Logging was improved to aid in debugging unexpected deassociation cases.

This change improves robustness of the MME/AMF against abnormal handover procedures and
ensures graceful handling of late context release requests or race conditions during
handover cancel and re-establishment.

Fixes: assertion failure in `sgw_ue_check_if_relocated()` during PathSwitchRequest
2025-07-11 22:28:48 +09:00
Sukchan Lee
701505102f [MME/SEC] Validate PDN type in ESM handler and reject unsupported types (#3980)
Add a check to ensure only IPv4, IPv6, or IPv4v6 PDN types are allowed.
For any other (unknown) PDN type, send a PDN Connectivity Reject with cause
Unknown PDN Type instead of proceeding to a fatal assertion.

This prevents the MME from crashing when it receives a malformed NAS message.
2025-07-10 10:32:45 +09:00
Sukchan Lee
cf63dd6319 [AMF/SEC] Avoid AMF crash on late SBI client events by removing ran_ue_find_by_id assertions (#3979)
In certain race conditions, the AMF could receive an SBI response
after the RAN UE context has already been removed.

The ran_ue_find_by_id assertions in
both amf_npcf_am_policy_control_build_create and
amf_nsmf_pdusession_build_create_sm_context would
trigger a fatal abort.

This change removes those assertions so that late SBI client events are
safely ignored and do not crash the AMF.
2025-07-10 07:59:29 +09:00
Sukchan Lee
f168f7586a [SMF] Prevent SMF crash on closed or invalid HTTP/2 streams (#3978)
During PDU Session release, under memory pressure or upon receiving
an RST_STREAM, the SMF could still attempt to process an already-closed
HTTP/2 stream. This led to a fatal assert(stream) in smf_state_operational(),
terminating the entire SMF process even though the error affected
only a single UE context.

This commit adds a null check for the stream before sending the HTTP status.
If the stream has already been removed, SMF now logs an error instead of
asserting.
2025-07-09 22:03:35 +09:00
Sukchan Lee
f47f2bd4f7 [AMF] Add handling to ignore delayed NUDM-SDM responses and prevent AMF crash (#3977)
Previously, if the AMF received an smf-select-data response (or related SBI
messages) from the NUDM-SDM after the UE context had been released, the GMM
state machine would hit an unhandled event and abort with a fatal assertion.

This commit adds a new case for OGS_SBI_SERVICE_NAME_NUDM_SDM
in gmm_state_exception(), explicitly ignoring SBI messages for AM_DATA,
SMF_SELECT_DATA, UE_CONTEXT_IN_SMF_DATA, and SDM_SUBSCRIPTIONS
(with a warning log).

Any truly unexpected resource names now emit an error log instead
of triggering assert_if_reached. As a result, the AMF will safely drop late
NUDM-SDM responses without crashing.
2025-07-09 21:53:21 +09:00
Sukchan Lee
ae5fda2620 [AMF] Ensure AMF gracefully rejects registrations with no subscription slices (#3970)
Previously, malformed S-NSSAI parameters could trigger a fatal assertion in
amf_update_allowed_nssai when the UE had zero slices in its subscription
database. This patch introduces an explicit check for amf_ue->num_of_slice == 0,
logs a clear error message including the UE’s SUPI, and returns false to
reject the registration.

The removed assertion prevents AMF crashes and ensures
that other UEs continue to be served normally.
2025-07-09 21:41:52 +09:00
Sukchan Lee
345800ba94 [SMF] Improve robustness of PCO parsing and building by replacing fatal assertions with error handling (#3969)
Previously, malformed Protocol Configuration Options (PCO) data would trigger
ogs_assert failures in both the generic parser and SMF build routines,
causing the SMF process to abort unconditionally.

This commit replaces those fatal assertions with conditional checks:

In ogs_pco_parse(), switch from ogs_assert(size == data_len) to
ogs_expect(size == data_len), allowing the function to return gracefully.

In SMF's PCO build (smf_pco_build) and all downstream build paths
(including GN, GSM, S5C modules), replace ogs_assert(pco_len > 0)
with explicit if (pco_len <= 0) checks that:

Ensure that malformed or incomplete PCOs no longer crash the process,
but instead are handled cleanly so the network function can continue operating.
2025-07-09 21:28:08 +09:00
Sukchan Lee
bca0a7b6e0 [AMF/SEC] pass AMF UE context to downlink NAS transport to prevent fatal crash (#3950)
When SM Context creation fails (e.g. 504 from SMF) the AMF continued
to build and send a NAS downlink message by dynamically looking up
the AMF UE context from ran_ue->amf_ue_id inside ngap_build_downlink_nas_transport().
If ran_ue_deassociate() had already removed that mapping, the lookup
would return NULL, triggering a fatal assertion and crashing the AMF.

This patch changes:
  1. nas_5gs_send_to_downlink_nas_transport() and
     ngap_build_downlink_nas_transport() signatures to accept an
     explicit amf_ue_t * parameter alongside ran_ue_t *.
  2. All calls to nas_5gs_send_to_downlink_nas_transport() to pass
     the correct amf_ue pointer (from sess->amf_ue_id).
  3. Removal of the dynamic lookup and fatal assertion in
     ngap_build_downlink_nas_transport(), replacing it with
     ogs_assert(amf_ue) on the passed-in context.

By carrying the valid AMF UE context through the call chain, we
ensure that downlink NAS transport always has a correct pointer,
even when the ran_ue-to-amf_ue mapping has been cleared. This
prevents invalid internal state transitions and eliminates the
ngap_build_downlink_nas_transport() crash when handling SMF failures.
2025-07-04 15:30:29 +09:00
Sukchan Lee
465e90f45b [SEC/AMF] Replace SM context release abort with error log (#3946)
SM context release in initial‐context‐setup should not abort the AMF.

Use ogs_error instead of ogs_assert_if_reached to log
the invalid state transition and maintain process availability.
2025-07-04 09:27:29 +09:00
Sukchan Lee
1f30edac27 [SEC/AMF] Add robust error handling for NPCF AM policy control SBI messages (#3948)
This change enhances the GMM state machine’s resilience by explicitly
handling SBI messages from the NPCF AM policy control service.
2025-07-03 10:55:50 +09:00
Sukchan Lee
8e5fed1611 [SEC/AMF] Ignore late NUDM_UECM PUT registration responses (#3947)
Any unexpected HTTP methods or resource names generate an error
and an assertion, ensuring that truly invalid cases are caught.

By adding these checks and early exits, we avoid fatal assertion failures
in scenarios where the AMF’s state machine would otherwise have no matching
transition for a late SBI callback.
2025-07-03 10:13:03 +09:00
Sukchan Lee
c86f9150ec [UPF] Handle session allocation failure gracefully when maximum sessions are reached (#3964)
In upf_sess_add, replace the unconditional assertion on sess with a check
that detects when the session pool is exhausted. If allocation fails,
log an error message (“Maximum number of Session reached”) and
return NULL instead of aborting the process.

This change prevents the UPF from crashing when the PFCP session limit (4096) is
exceeded and allows it to reject additional session establishment requests
cleanly.
2025-07-01 16:52:34 +09:00
Sukchan Lee
67ba7f92bb [SBI] guard against NULL http->content in parse_multipart (#3942)
In lib/sbi/message.c parse_multipart(), http->content may be NULL.
This occurs on empty-body multipart POSTs and causes a segfault.

Add guard to check http->content, log an error, and return OGS_ERROR.
2025-06-28 10:12:54 +09:00
Sukchan Lee
53e9e059ed [NFM] Prevent dispatch of SBI events to NF instance FSMs finalized by SIGTERM (#3938)
In state_operational, guard against dispatching to NF instance FSMs whose
state has been reset to zero by ogs_fsm_fini() in event_termination(). Drop any
incoming SBI events for those instances and log an error, preventing assertion
failures when late HTTP callbacks arrive after an asynchronous SIGTERM shutdown.
2025-06-27 17:12:49 +09:00
Sukchan Lee
db0196cba7 [AMF] Skip unprovisioned sessions to prevent premature error indication (#3951)
In the previous implementation, the AMF would send a Partial-handover error
indication whenever it encountered a session not found in the subscriber DB,
even if valid sessions remained. This resulted in unexpected error responses
during NG handover.

To resolve this, we record the initial SMF transaction count before iterating
through the UE session list. Sessions without a valid SMF context now produce
a warning and are skipped, while continuing to send Handover Notify messages
for provisioned sessions. After processing, we compare the SMF transaction
count to the initial value. If no valid sessions were handled, we send a
Partial-handover error indication.

With this change, unprovisioned sessions no longer trigger a premature error
indication, allowing valid PDU sessions to complete NG handover successfully.
2025-06-27 15:22:08 +09:00
Sukchan Lee
f64a65843a [SBI] use CURL_AT_LEAST_VERSION for MAX_CONCURRENT_STREAMS check
In lib/sbi/client.c, the conditional compilation for
CURLMOPT_MAX_CONCURRENT_STREAMS was using #ifdef, which does not
ensure the option is set when the symbol is undefined.

Replace the check with #if CURL_AT_LEAST_VERSION(7,67,0) so that the
client applies the max concurrent streams setting on supported
libcurl versions. This fixes pool.event always showing the default
value and enables dynamic adjustment according to pool.stream.
2025-06-27 11:10:01 +09:00
Sukchan Lee
52ca325ed5 [AMF] Follow-up on #3880 2025-06-17 17:34:18 +09:00
mitmitmitm
a538e31bed [SMF] If GTPU conf has advert addr, use it in up2cp FAR
SMF constructs up2cp FAR's outer_header_creation with |ogs_gtp_self()->gtpu_ip|
as DST IP address. Therefore, set |ogs_gtp_self()->gtpu_ip| to GTPU advertise
address. If advertise addr is not set, fall back to socket address as usual.
2025-06-10 17:06:27 +09:00
Bostjan Meglic
ceb764b65f [AMF] fix possible crash when receiving SDM Change Notification
In case that "item_change" variable does not hold "new_value", resulting
in a NULL dereferencing crash.
2025-06-08 22:46:05 +09:00
Sukchan Lee
245fcda14d [MME/AMF]: Align reject cause for unknown UE/IMSI with 3GPP TS 29.272 Annex A (#3924)
According to 3GPP TS 29.272 Annex A, when the HSS/UDM responds with
DIAMETER_ERROR_USER_UNKNOWN (5001), the MME/AMF should respond to the UE with
NAS EMM cause #8 (EPS services and non-EPS services not allowed), rather than
cause #11 (PLMN not allowed).

Previously, Open5GS returned cause #11 by default. However, this behavior is
problematic for private LTE environments where multiple operators may use the
same PLMN (e.g., 999/99 as per ITU-T E.212). In such cases, a UE rejected
with cause #11 will add the PLMN to its Forbidden PLMN list (FPLMN), causing
the device to avoid that PLMN for an extended period—even if another
compatible private network using the same PLMN exists.

This patch restores compliance with TS 29.272 by changing the default mapping
from cause #11 to cause #8 in both the 4G MME (emm_cause_from_diameter) and
5G AMF (gmm_cause_from_sbi) when handling unknown subscriber cases.

This ensures:
- Standard-conformant behavior across networks
- Better UE behavior in roaming or private LTE scenarios
- Avoids unnecessary FPLMN blacklisting in UE

Reference Issues:
- #263
- #1281
- #1332
2025-06-08 22:44:48 +09:00
Sukchan Lee
9f5d133657 [AMF/MME] Prevent AMF/MME crash when UE context is deleted (#3910)
Prevent crashes when UE context is missing in AMF and MME by replacing direct
assertions with conditional checks and error logging.

Removed unconditional ogs_assert(ran_ue) in AMF's GMM handlers and
ogs_assert(enb_ue) in MME's EMM handlers.

Now, if the UE context lookup returns NULL, log an error (including SUPI/IMSI,
NAS message type, and IDs), dump the NAS packet in hex for debugging,
and exit the handler gracefully instead of aborting.
2025-06-01 16:21:14 +09:00
Sukchan Lee
2daa44adab [SMF] Include N2 ACK for unchanged tunnel on repeated PathSwitchRequest (#3909)
Fix missing N2 signaling when tunnel information is unchanged,
causing AMF crash on repeated PathSwitchRequest

When a second PathSwitchRequest arrives without any tunnel changes,
the handler previously returned HTTP 204 No Content and omitted N2 information.

This led to a fatal assertion in the AMF SM context, since it expected
to receive updated N2 data even when the tunnel remained the same.

This patch modifies ngap_handle_path_switch_request_transfer to build
and send the N2 SM buffer in the “else” branch.

It calls ngap_build_path_switch_request_ack_transfer to construct
the Path Switch Request Acknowledge N2 message and then delivers it
with smf_sbi_send_sm_context_updated_data_n2smbuf.

A new test case is also added to verify that N2 signaling is correctly
transmitted when tunnel parameters have not changed.
2025-06-01 15:46:53 +09:00
Sukchan Lee
db1887035a [SMF] Handle missing UPF gracefully in SMF session selection (#3907)
In src/smf/context.c:

 - Wrap UPF selection logic in a conditional that checks if pfcp_node
   is non-NULL.

 - If no UPF is available (pfcp_node == NULL), log an error and assert
   that sess->pfcp_node remains NULL, instead of crashing.

 - Only call selected_upf_node() and set up the GTP session when a prior UPF
   entry exists.

In src/smf/gn-handler.c:

 - After invoking smf_sess_select_upf(), verify sess->pfcp_node.

 - If no UPF was selected, log an error ("No UPF available for session") and
   return OGS_GTP1_CAUSE_SYSTEM_FAILURE instead of asserting.

In src/smf/s5c-handler.c:

 - Mirror the same check for sess->pfcp_node after smf_sess_select_upf().

 - If no UPF is available, log an error and return
   OGS_GTP2_CAUSE_SYSTEM_FAILURE.

 - If the selected UPF is not yet PFCP-associated, log a specific error
   message and return OGS_GTP2_CAUSE_REMOTE_PEER_NOT_RESPONDING.

These changes ensure that SMF does not abort when no UPF is configured or
associated; instead, it fails the session request with an appropriate GTP cause.
2025-06-01 13:35:30 +09:00
Sukchan Lee
78bdd63984 [AMF] Follow-up on #3380 2025-05-31 20:51:41 +09:00
Matej Gradišar
799103257b [AMF] Fix UE context transfer when only NRF is client (#3880)
* [AMF] Fix UE context transfer when only NRF is client

If UE context transfer is initiated and the new AMF does not get the
old AMF from NRF or no UE context is retrieved from the old AMF,
we do not want to reject UE registration. Send identity request instead.
Test "transfer-error-case" is added into the commit.

* [tests] Unite tests for UE context transfer

All tests for UE context transfer with different configs are placed
into test folder transfer.

* [tests] Make two binaries for UE context transfer tests

For each test config a different test binary is created.
2025-05-31 20:51:06 +09:00
Pau Espin Pedrol
e93bc6b5c8 [SBI] Log error code description upon query failure
Sometimes (eg res=16) the conn->error buffer is left empty by curl, so
also logging the name of the error code provides some extra useful
information.
2025-05-29 06:02:21 +09:00
Pau Espin Pedrol
73976c938b [AMF] Fix order of IEs in NG Setup Failure
Cause goes before TimeToWait accoding to 3GPP TS 38.413 ASN.1 definition
"NGSetupFailureIEs NGAP-PROTOCOL-IES" and section 9.2.6.3.
2025-05-24 21:32:22 +09:00
Pau Espin Pedrol
8ec8832318 [AMF] cosmetic: Fix trailing whitespace 2025-05-24 21:32:22 +09:00
Sukchan Lee
3c1117d4fd [SBI] Fix parsing and serialization of _links "item" array (#3897)
Previously, Open5GS assumed the _links map contained an array under the key
"items". However, the 3GPP specification (TS29.510 section 4.9.4 and TS29.501
Table 6.1.6.2.25-1) defines this member name as "item".

As a result, when interacting with vendor NRF implementations that use "item",
Open5GS could not find the array and logged "No items", causing JSON errors.

This change updates both serialization and parsing in lib/sbi/custom/links.c:

- In ogs_sbi_links_convertToJSON(), replace the property name "items" with
  "item" when building JSON.
- In ogs_sbi_links_parseFromJSON(), retrieve the array under "item" and adjust
  the error message to "No item" if the member is missing.

With these corrections, Open5GS will correctly handle NRF responses using "item"
and remain compliant with the indirect communication model defined by 3GPP.
2025-05-18 14:32:39 +09:00
Bostjan Meglic
a35b5af124 [AMF] save the correct serving GUAMI for particular UE
In case AMF is configured for multiple PLMN's, it would send a wrong
GUAMI in the Registration Accept message to the UE, also in other NAS
and SBI messages. Previously, it would only send the first configured
PLMN.
2025-05-13 21:20:52 +09:00
Sukchan Lee
78ea40881c [ipfw2] override errx() to prevent exit on error (#3840)
In ipfw2.c errx() would call exit(), aborting the UPF thread on rule parse
errors. Add a macro mapping errx() to ogs_log_message() so errors are logged.
We no longer call exit() and the main loop continues on error.
2025-05-09 16:47:42 +09:00
Sukchan Lee
3a91d2aa3f [SBI] Guard against missing poll.write in session_write_callback to prevent shutdown assertion (#3893, #3807, #2411, #2312)
Prior to this change, `session_write_callback()` unconditionally asserted that
`sbi_sess->poll.write` was non-NULL when the write queue drained, then removed
it from the poll set. In edge cases—particularly when using curl 8.x with
external epoll and `SIGPIPE` disabled—a late `EPOLLOUT` or errant write-ready
notification could arrive after `poll.write` had already been cleared. This
triggered the assertion in `nghttp2-server.c:1765`, aborting the process on
shutdown or session teardown.

This commit replaces the hard assertion with a runtime guard. If `poll.write`
is present, it is removed and reset to NULL as before. If it is already NULL,
we emit an warning log (`ogs_warn`) instead of aborting. This ensures any stray
write events after cleanup are safely ignored, allowing a clean exit without
crashing.

- Wrap `ogs_pollset_remove()` and pointer clear in `if (sbi_sess->poll.write)`
- Log an warning when `poll.write` is unexpectedly absent
- Preserve original behavior when `poll.write` is valid

This change resolves the fatal assertion observed on process exit after the
EPOLLERR/SIGPIPE fix and improves overall shutdown robustness.
2025-05-09 16:03:50 +09:00
Sukchan Lee
9ce109a9e1 [PCF] split PCF_UE context into distinct AM and SM contexts (#3868)
Separate the monolithic PCF_UE structure into PCF_UE_AM and PCF_UE_SM
to fully decouple AM‐ and SM‐policy lifecycles.
2025-05-09 15:12:25 +09:00
herlesupreeth
8e286b67f1 [PCF] Add AF in list of allowed NF types for PCF 2025-05-08 11:20:25 +09:00
Spencer Sevilla
a82a63bb1f need to NULL out poll/sock pointers to prevent mme crash on vlr detach 2025-05-07 21:29:57 +09:00
Sukchan Lee
cfa4457502 [AMF/MME] Remove fatal assertions on oversized SCTP messages in NGAP and S1AP handlers (#3878)
Previously, any SCTP recv would trigger ogs_fatal and an assert_if_reached
when MSG_EOR wasn’t set, causing the AMF or MME to crash on oversized
or fragmented packets. Since we rely on a 32 KB receive buffer and
do not support SCTP reassembly, this change replaces the conditional
fatal/assert logic with a single ogs_error call in both ngap_recv_handler
and s1ap_recv_handler.

Oversized or partial SCTP messages are now logged and dropped instead of
crashing the process.
2025-05-06 17:52:51 +09:00
Sukchan Lee
62cb997552 [AMF/MME] Modify common_register_state to handle missing UE contexts gracefully (#3874)
Previously, both AMF and MME assumed that RAN UE contexts would always
be present, triggering fatal assertions when a context lookup failed.

This change introduces explicit checks in the common_register_state handlers
to detect missing NG and S1 contexts without crashing:
2025-05-06 16:28:48 +09:00
Sukchan Lee
9a524df8c0 Merge branch 'main' of https://github.com/open5gs/open5gs 2025-05-06 15:49:33 +09:00
Sukchan Lee
aab6940cd5 [AMF] improve HTTP/2 timeout handling and error logging (#3862, #3863)
- Check ran_ue existence and abort if NG context has already been removed
- Detect deassociated RAN-UE (invalid amf_ue_id) and
  break to avoid further processing
- Validate AMF-UE ID matches ran_ue->amf_ue_id and skip on mismatch
2025-05-06 15:47:17 +09:00
Sukchan Lee
3b53144ca5 [AMF/MME] default to Non-GBR flow when MBR/GBR parameters are missing (#3858)
- Replace hard assertions on MBR/GBR presence in S1AP e‐RAB setup
  with a runtime check: if any of the four parameters (MBR DL/UL, GBR DL/UL)
  is missing, log an error and treat the bearer as Non-GBR
- Mirror the same logic in SMF’s NGAP build routines for PDU Session Resource
  Setup and Modify transfers: drop the assertions, emit detailed error messages
  with the missing MBR/GBR values, and omit GBR IEs
- Ensures graceful handling of incomplete QoS configurations by defaulting
  to best‐effort (Non-GBR) rather than crashing
2025-05-05 22:06:44 +09:00
Sukchan Lee
2231e48870 [AMF] guard ran_ue to avoid assertion crash [#3851]
If `ran_ue` has already been removed, log a warning using the UE’s SUPI
instead of triggering an assertion failure.
2025-05-05 10:14:48 +09:00
Sukchan Lee
c145fc88aa [NRF] prevent invalid NF type registration DoS (#3846)
Ensure that NFs with invalid types are rejected and never added,
preventing the denial-of-service crash.
2025-05-05 09:54:29 +09:00
Sukchan Lee
e0dc936016 [NRF] reject SELF nf instance in SBI operations (#3845)
Prevent the NRF from processing requests that target its own
instance ID. This prevents a denial of service vulnerability.
If an SBI request attempts to delete or modify the local NRF
instance, respond with 404 Not Found and log an error, avoiding
a crash due to the state machine assertion.
2025-05-05 09:32:25 +09:00
Sukchan Lee
3706479582 [ipfw] guard token parsing loop against buffer overflow
The token parsing loop in ogs_ipfw_compile_rule() lacked a bound on the
number of tokens stored in the 'av' array. This could overflow the stack
buffer when parsing overly long flow descriptions. Add a check to ensure
'i' remains below MAX_NUM_OF_TOKEN-2 before assigning to 'av[i]'.
2025-05-05 07:55:45 +09:00
ethonshield
7b40d5a3f1 Add tutorial doc on how to configure Open5GS with 5G-Sharp-Orchestrator 2025-04-29 22:46:14 +09:00
Spencer Sevilla
4c2f40d2c2 more verbose DNN reject message 2025-04-27 08:15:51 +09:00
Pallavi Das
fba00abd75 Typos Fix 2025-04-27 08:14:54 +09:00
Sukchan Lee
d3edce9e91 [UDM] Update UE state machine to handle authentication retrieval errors (#3864)
- In `udm_ue_state_operational()`:
  - Wrap the call to `udm_nudr_dr_handle_subscription_authentication()`
    in an `if` check.
  - On failure (`false`), log an error via
    `ogs_error("udm_nudr_dr_handle_subscription_authentication() failed")`.
  - Transition the FSM to `udm_ue_state_exception` using `OGS_FSM_TRAN()`.

This change ensures that failures during subscription authentication
REST calls are not silently ignored, and that the UE state machine moves into
an exception state for proper error handling and recovery.
2025-04-19 20:57:39 +09:00
Pallavi Das
cd80aa432e Typos Fix 2025-04-19 20:45:25 +09:00
shellwayxw
90cb00ced3 Always make fqdn a NULL terminated string 2025-04-17 17:14:15 +09:00
shellwayxw
31d3f575d2 Fix stack overflow in ogs_pfcp_extract_node_id() 2025-04-17 17:14:15 +09:00
shellwayxw
726b588d76 Fix integer overflow in PFCP ogs_pfcp_parse_sdf_filter() 2025-04-17 17:14:15 +09:00
Sukchan Lee
1182a99d04 [AMF/MME] Fix potential buffer overflow in ASCII-to-USC2 conversion
In amf_context_parse_config(), update the loop condition to ensure that
((i * 2) + 1) remains below
(OGS_NAS_MAX_NETWORK_NAME_LEN - 1) before performing any writes.
This change prevents potential out-of-bounds memory writes during
the conversion of an ASCII string to USC-2, thereby fixing a buffer
overflow issue.

This issue was observed on Ubuntu 25.04 and reported in the osmocom
nightly package.
2025-04-13 06:55:22 +00:00
Sukchan Lee
9217889f8a [HSS,S6A] Add two Supported-Features AVPs to ULA for 5G-NSA roaming (#3832)
This commit adds support for two Supported-Features AVPs in the
UpdateLocationAnswer (ULA) to enable 5G-NSA roaming. The first AVP
includes subscriber restrictions, while the second AVP signals that NR
as Secondary RAT is supported. Updates include modifications to
lib/diameter/s6a/message.c, lib/diameter/s6a/message.h, and
src/hss/hss-s6a-path.c.
2025-04-06 17:01:54 +09:00
Sukchan Lee
6af18a15c3 [SMF] Add userLocationInfo and timeZone to PCF SM Policy request (#3755)
This commit enhances the SM Policy request sent to the PCF
by incorporating user location information and time zone data.

The SMF now builds a userLocationInfo structure using the session's NR TAI
and NR CGI details, along with a timestamp generated from the current GMT time.

Additionally, the UE's time zone is included in the request context,
and the ratType is explicitly set to NR.
2025-04-06 11:18:49 +09:00
Sukchan Lee
bf1cb6a024 [HSS/DBI] Follow-up on #3829 2025-04-05 18:26:32 +09:00
Farzaneh_sz
51acc388a6 get ifc data from db and insert in cx user data 2025-04-05 18:24:32 +09:00
Sukchan Lee
7dfd9a3964 Release v2.7.5 2025-03-30 22:05:34 +09:00
Sukchan Lee
b326b99f28 [CORE] Fix busy loop and blocking in curl with EPOLLERR handling in Open5GS 2.7.x (#3807, #2411, #2312)
In Open5GS 2.7.x, when using curl 8.x with external epoll, an issue occurred
where the peer connection was closed, triggering EPOLLERR. At this point,
POLL_OUT should have been set to trigger the write event handler, invoking
`event_cb()` and calling `curl_multi_socket_action`. This would allow
`curl_multi_info_read` to execute without blocking.

However, when `event_cb()` wasn't invoked, `curl_multi_socket_action` was
not called, causing `curl_multi_info_read` to block. This resulted in a busy
loop in epoll, continuously checking for the closed peer connection.

This issue specifically affects Open5GS 2.7.x with curl 8.x, and is observed
on Ubuntu versions starting from **noble** and later. It does not occur on
Ubuntu Jammy.

The solution involves globally ignoring SIGPIPE and fixing the epoll logic
to ensure POLL_OUT is triggered when EPOLLERR occurs, allowing `curl_multi_socket_action`
to be invoked and `curl_multi_info_read` to run non-blocking. This resolves
the busy loop and connection issues caused by peer disconnects when using
curl 8.x and external epoll.

This fix improves the stability and performance of Open5GS when used with
curl 8.x and Ubuntu versions **noble** and above.
2025-03-30 21:46:31 +09:00
Sukchan Lee
33fb33be45 Update document for v2.7.4 2025-03-26 20:08:31 +09:00
Sukchan Lee
555395a8e8 Release v2.7.4 2025-03-27 04:46:16 +09:00
Sukchan Lee
ae6cedf8e8 Revert "[SBI] replace calls to free_<nf>_info() with OpenAPI_<nf>_info_free()"
This reverts commit 7ad40395a0.
2025-03-26 10:04:06 +09:00
Sukchan Lee
704083db3b [SBI] Fix improper inclusion of callback headers in non-callback requests (#3798)
This commit fixes an issue where the callback header (3gpp-Sbi-Callback)
was incorrectly added in non-callback requests. Specifically, for registration
(PUT) and subscription requests in the AMF and SMF modules, the callback
header was included even though these are not asynchronous notifications.

Changes include:
- Removing the callback header assignment in src/amf/nudm-build.c and
  src/smf/nudm-build.c for registration and subscription requests.
- Removing the callback header in NRF subscription-related builds in
  lib/sbi/nnrf-build.c where it was not required.
- Adding the callback header only for actual notification or callback
  operations (e.g. in src/amf/nsmf-build.c for N1/N2 transfer failure and
  in src/nrf/nnrf-build.c for NF status notifications).
- Introducing a new callback macro in lib/sbi/message.h for
  Namf_Communication_onN1N2TransferFailure.

This aligns the implementation with the standard, ensuring that callback
headers are only included in genuine callback/notification messages.
2025-03-25 14:50:20 +09:00
Sukchan Lee
1d46a0e475 Update document for v2.7.3 2025-03-23 12:55:19 +09:00
Sukchan Lee
e16a8fc42e Release v2.7.3 2025-03-23 11:56:01 +09:00
Sukchan Lee
708f789792 [UPF/SGWU] fix: validate f_teid_len to avoid TEID swap bug on restart (#3747, #3574)
When UPF/SGW-U is restarted, missing f_teid_len validation causes an error.
This patch adds checks for f_teid_len > 0 in ogs_pfcp_pdr_swap_teid and
in the SGW-U and N4 handler functions.
2025-03-23 11:21:03 +09:00
Sukchan Lee
a5510f1870 [AMF/MME] Fix segfault on NG/S1 handover cancel by checking for NULL target UE (#3789)
When a UE handover occurs, the target UE may already be removed. This
patch adds a NULL pointer check and logs an error instead of causing a
segmentation fault in both enb and sgw deassociation functions.
2025-03-21 20:30:08 +09:00
Bostjan Meglic
fa3edde329 [NAS] add support for 30-seconds unit for GPRS3 timer 2025-03-21 17:52:12 +09:00
Sukchan Lee
63d26667bc [AMF/MME] Fix UE context deletion vulnerability using memento restoration (#3754)
Renamed backup/restore security context functions to save/restore
memento and updated flag to "can_restore_context". Updated AMF and MME
state machines to restore context on failure, preventing malicious
deletion triggered by spoofed NAS messages.
2025-03-21 17:28:47 +09:00
Sukchan Lee
10b161fbb9 [AMF] Refactor AMF Region ID Handling (#3778)
- Changed amf_region_id type from uint16_t to uint8_t in context.h.
- Updated context.c to use ogs_amf_region_id() for extracting and comparing
  the region ID.
2025-03-16 12:22:39 +09:00
Bostjan Meglic
9e6b86b84e [AMF] fix AmfInfo when AMF Set Id was configured beyond 4
AMF Set Id is 10 bits long. Previously only the 2 bits from field "set2"
were used.
2025-03-16 12:12:18 +09:00
Bostjan Meglic
49c5a280da [AMF,SBI] add support for TAI ranges in AmfInfo
- fix an out-of-array-bounds-write to nf_info->amf.nr_tai during list1
TAI parsing, in case that sum of ranges of TAC's was bigger than 16
(OGS_MAX_NUM_OF_TAI).
- add checks for out-of-array-bounds
- fix indents
- fix error check
- subjectively prettify the code

[sbi] DEBUG: ogs_sbi_nf_state_will_register(): ENTRY (../lib/sbi/nf-sm.c:208)
[sbi] ERROR: CHECK CONFIGURATION: No Start/End in TacRange (../lib/sbi/nnrf-build.c:1094)
[sbi] FATAL: ogs_nnrf_nfm_build_nf_profile: Assertion `AmfInfo' failed. (../lib/sbi/nnrf-build.c:342)
[core] FATAL: backtrace() returned 13 addresses (../lib/core/ogs-abort.c:37)

Example configuration with which to trigger AMF crash before the fix:

guami:
  - plmn_id:
      mcc: "001"
      mnc: "01"
    amf_id:
      pointer: 31
      region: 2
      set: 1
  - plmn_id:
      mcc: "999"
      mnc: "93"
    amf_id:
      pointer: 31
      region: 2
      set: 1
  - plmn_id:
      mcc: "010"
      mnc: "310"
    amf_id:
      pointer: 32
      region: 2
      set: 1
tai:
  - plmn_id:
      mcc: "001"
      mnc: "01"
    tac:
      - 1
      - 5-6
  - plmn_id:
      mcc: "999"
      mnc: "93"
    tac:
      - 1
      - 11
  - plmn_id:
      mcc: "010"
      mnc: "310"
    tac:
      - 1011
      - 1020-1030
2025-03-16 12:12:18 +09:00
Bostjan Meglic
8f008c8440 [SBI] replace manual free's with calls to OpenAPI_<struct>_free() 2025-03-16 12:12:18 +09:00
Bostjan Meglic
7ad40395a0 [SBI] replace calls to free_<nf>_info() with OpenAPI_<nf>_info_free() 2025-03-16 12:12:18 +09:00
Sukchan Lee
106a9accd4 [AMF/MME] Fix security context restoration and state transition cleanup (#3756)
- Backup sensitive security context fields (e.g. xres, kasme, rand, autn,
  keys, counters) when transitioning from REGISTERED state.
- Set the can_restore_security_context flag in common_register_state()
  based on whether the transition originates from a REGISTERED or
  de-registered state.
- In emm_state_authentication(), restore the security context and revert
  to the REGISTERED state on authentication failure only if restoration
  is allowed; otherwise, transition to an exception state.
- Remove the redundant unconditional state transition in the cleanup block
  to prevent overriding a valid restoration.
2025-03-16 11:57:14 +09:00
Sukchan Lee
e3dd98cd29 [PFCP] Prevent buffer overflow in PFCP context by using safe string copy (#3775)
Replace unsafe strcpy calls with ogs_cpystrn in both ogs_pfcp_dev_add()
and ogs_pfcp_subnet_add() to ensure proper length checking.

This change prevents potential buffer overflows when handling ifname
and dnn fields, which could otherwise lead to unintended overwrites
(e.g., fd and num_of_range).
2025-03-12 17:50:17 +09:00
Sukchan Lee
70310979c5 [KSI] Update EPC KSI issuance to match 5G Core behavior
Previously, the EPC used the UE-provided KSI directly in the Authentication
Request (except for the special case where the UE sent
OGS_NAS_KSI_NO_KEY_IS_AVAILABLE, which was reset to 0).

This commit changes the EPC to follow the 5G Core approach
for issuing KSI in Attach-Request.

Now, when a Attach Request is received and a new Authentication Vector is
generated, the EPC performs the following steps:

- Extract the KSI value from the UE's request.
- Increment the extracted KSI by 1.
- Use the incremented KSI in the Authentication Request sent to the UE.

This detailed process ensures that the EPC issues the KSI consistently
with 5G Core standards, improving key management and interoperability.
2025-03-10 15:15:47 +09:00
Sukchan Lee
1abc3b6d5f [SMF] Separate EPC-only attach config to avoid NRF register timeout
Previously, sample.yaml was used for both 5GC and EPC attach tests.
Because SMF had SBI configured, it sent a register PUT to NRF even in
EPC-only tests (where nrf/scp was not run), leading to a missing HTTP
response and connection timer expiry.

Now, attach.yaml is used for EPC, preventing the unwanted NRF registration.
2025-03-10 09:53:00 +09:00
jmasterfunk84
ec7c9a80c1 Ignore MIP-H-A-H 2025-03-07 10:23:01 +09:00
Sukchan Lee
cb2359dca0 [PFCP] Validate F-TEID parameters to prevent UPF/SGWU crash (#3747)
This commit introduces robust validation for the F-TEID information element
in the PFCP message handling. Previously, malformed F-TEID values (such as
a zero length, zero TEID, or a TEID exceeding the pool size) could lead
to an assertion failure and crash the UPF.

The changes ensure that:
- The F-TEID length is greater than zero, confirming the IE is present.
- The TEID is a non-zero value, as a valid TEID must be positive.
- The TEID does not exceed the allowed pool size (max_ue * 4 * 16).

If any of these conditions are not met, an error is logged with the F-TEID
length and TEID value, and the function returns an error code
(OGS_PFCP_CAUSE_MANDATORY_IE_INCORRECT), preventing further processing
of the malformed message.
2025-03-07 10:14:57 +09:00
Sukchan Lee
4012f572ed [SBI] Send GOAWAY on shutdown for all sessions to prevent RST (#3470)
When another NF restarts, curl reuses the existing connection, which in
curl 8.9.1 causes the nghttp2 server to send an RST. This commit sends a
GOAWAY frame to every active session on shutdown, ensuring a graceful
termination and avoiding RST errors.

Previous versions such as curl 7.81.0 did not exhibit this behavior.
2025-03-04 14:32:57 +09:00
Sukchan Lee
d187ce245b [SBI] Fix NF recovery failure on NF restart (#3740)
Previously, nf_instance pointers were stored in nf_type_array and
service_type_array. This led to dangling pointers when an NF instance
was removed via ogs_sbi_nf_instance_remove(), causing incomplete cleanup
and improper recovery on UDR or other NF restarts. The issue resulted in
the system falling back to nf_instance->client with the default port 80,
leading to connection failures.

To resolve the problem, nf_instance_id is now stored instead of the
pointer. The validity of an NF instance is verified using
ogs_sbi_nf_instance_find(nf_instance_id), which ensures proper cleanup
and correct recovery.
2025-03-04 14:32:57 +09:00
Sukchan Lee
6c67863971 [SEC] Fix crash when max_num_of_ostreams < 2 2025-02-28 16:44:17 +09:00
Bostjan Meglic
6fe6b88d9b [all] fix possible null dereference when using ProblemDetails
In case that NF do not send ProblemDetails in the response.
Do not assume that ProblemDetails is always present, to prevent null
pointer dereferencing.
2025-02-28 16:15:16 +09:00
Sukchan Lee
8cae6112cc [SEC] Fix crash in eNBDirectInformationTransfer due to missing Inter_SystemInformationTransferType
This commit resolves an issue where the system would crash
when Inter_SystemInformationTransferType was not present.
2025-02-28 14:27:10 +09:00
jmasterfunk84
8bdfdcf5df [AUSF] Cleanup ausf_ue when it is not found in UDM (#3743)
* Remove ausf_ue when unknown in UDM

* cover both error cases
2025-02-28 07:08:03 +09:00
jmasterfunk84
f98d0a780d [AUSF] Check length of SUCI_or_SUPI before trying to process (#3742)
* Check length of supi/suci

* check all the things
2025-02-28 07:07:24 +09:00
Sukchan Lee
1b21eba81e [UPF] Fixes: Crash in upf_sess_set_ue_ip when PDN type is invalid (#3727)
When receiving a PFCP Session Establishment Request with an invalid PDN type(0),
the UPF would crash due to a failed assertion.

This commit improves error handling by:

- Removing the session_type assertion check that caused the crash
- Changing warning log to error log for better visibility
- Returning CAUSE_SERVICE_NOT_SUPPORTED instead of proceeding
  with invalid type

This prevents potential DoS attacks through malformed PFCP messages.
2025-02-24 20:54:35 +09:00
Bostjan Meglic
6a2225bb68 [SBI] retrieve all currently registered NF's on app startup
Before this, there were 2 different ways to search for neighbouring
NF's:

a) in the case AMF was started _before_ UDM, AMF would create
subscription to NRF to notify it when a UDM would (un)register. In this
case, NF instance would remain in AMF's context indefinitely.

b) in the case AMF was started _after_ UDM, AMF would have to use NF
discovery mechanism to search for NF's. In this case, NF instance would
remain in AMF's context for the duration of Search's validity (defaults
to 30 seconds). After validity expires, NF would expire. This means that
for heavy traffic situations, AMF would constantly issue discovery
requests.

[SBI] save only wanted NF instances on NF List Retrieval

When retrieving a list of NF Instances from NRF, save only the NF's that
we want. Check the NF instance against our subscription list for either
the NF type or NF Service.
This can still cause a DoS on NRF when NF starts in case there are 100's
of NF's in the network, but prevents using too much memory on NF.
2025-02-20 20:13:18 +09:00
Spencer Sevilla
ba05380f5b also adding a default config option for newly generated sbi connections 2025-02-14 20:03:09 +09:00
Spencer Sevilla
68c6310717 add option to support curl binding local interface/ip for sbi calls 2025-02-14 20:03:09 +09:00
Bostjan Meglic
b32b1e981b [PFCP] fix crash for when PFCP NodeId is FQDN
Test scenario:
- start 5G core
- wait for 5 minutes after SMF establishes PFCP association to UPF (DNS
query refresh interval)
- register UE and establish PDU session
- crash

[upf] DEBUG: upf_state_operational(): UPF_EVT_N4_MESSAGE (../src/upf/upf-sm.c:51)
[upf] DEBUG: upf_pfcp_state_associated(): UPF_EVT_N4_MESSAGE (../src/upf/pfcp-sm.c:185)
[upf] INFO: [Added] Number of UPF-Sessions is now 1 (../src/upf/context.c:217)
[upf] DEBUG: Session Establishment Request (../src/upf/n4-handler.c:66)
[gtp] INFO: gtp_connect() [127.0.0.8]:2152 (../lib/gtp/path.c:60)
[upf] INFO: UE F-SEID[UP:0x1230 CP:0x5817] APN[local] PDN-Type[1] IPv4[10.46.0.2] IPv6[] (../src/upf/context.c:532)
[upf] INFO: UE F-SEID[UP:0x1230 CP:0x5817] APN[local] PDN-Type[1] IPv4[10.46.0.2] IPv6[] (../src/upf/context.c:532)
[upf] DEBUG: Session Establishment Response (../src/upf/n4-build.c:36)
[pfcp] FATAL: ogs_pfcp_sendto: should not be reached. (../lib/pfcp/path.c:158)
[core] FATAL: backtrace() returned 12 addresses (../lib/core/ogs-abort.c:37)
/open5gs/build/src/upf/../../lib/pfcp/libogspfcp.so.2(ogs_pfcp_sendto+0x1c8) [0x7f73c5ac0888]
/open5gs/build/src/upf/../../lib/pfcp/libogspfcp.so.2(ogs_pfcp_xact_commit+0x170) [0x7f73c5ac3510]
/open5gs/./build/src/upf/open5gs-upfd(+0x109eb) [0x55d7f20f99eb]
/open5gs/./build/src/upf/open5gs-upfd(+0x12351) [0x55d7f20fb351]
/open5gs/build/src/upf/../../lib/core/libogscore.so.2(ogs_fsm_dispatch+0x24) [0x7f73c5b57574]
/open5gs/./build/src/upf/open5gs-upfd(+0xc445) [0x55d7f20f5445]
/open5gs/build/src/upf/../../lib/core/libogscore.so.2(ogs_fsm_dispatch+0x24) [0x7f73c5b57574]
/open5gs/./build/src/upf/open5gs-upfd(+0x77fb) [0x55d7f20f07fb]
/open5gs/build/src/upf/../../lib/core/libogscore.so.2(+0xfb05) [0x7f73c5b4cb05]
/lib/x86_64-linux-gnu/libc.so.6(+0x9ca94) [0x7f73c551ea94]
/lib/x86_64-linux-gnu/libc.so.6(__clone+0x44) [0x7f73c55aba34]
2025-02-13 22:44:43 +09:00
Juan Pontón Rodríguez
f1e1f4a2a9 Update context.c 2025-02-13 20:20:34 +09:00
Sukchan Lee
8715915469 [UDM/UDR] Follow up on #3690 2025-02-11 07:04:42 +09:00
jmasterfunk84
600a7629ad [UDM][UDR] Add support for nssai resource in nudm-sdm (#3690)
* [UDM][UDR] Add support for nssai resource in nudm-sdm

* Resolve Memory Issue

* Protect from multiple field entries, remove macros

* remove request_from_server, make use of xact state

* typo....

* definition cleanup
2025-02-11 07:03:06 +09:00
Sukchan Lee
056b50c9c8 [AMF] Fix crash on duplicate PDU session requests due to NULL SUPI (#3710)
When a duplicate PDU session establishment is received, the AMF logs a
warning and proceeds to update the SM context via the SBI interface. This
process eventually calls amf_nsmf_pdusession_build_create_sm_context(), which
uses the SUPI to build the SBI URI header. If the SUPI is NULL, then the header's
resource component becomes NULL. This leads to a call to ogs_uridup() that
asserts on the NULL value, causing a crash.

This commit adds a check before invoking the SBI update. If the SUPI is NULL,
the update is skipped and a warning is logged. This prevents the invalid URI
build process and avoids the subsequent crash in ogs_uridup().
2025-02-06 21:26:06 +09:00
Sukchan Lee
e31e9965f0 [AMF] Fix AMF crash during UE handover by handling unexpected SBI responses (#3707)
During handover between two gNBs, the AMF enters an invalid state when it
receives an unexpected SBI response from the UDM in the process of sending
a smf-select-data request. This bug could lead to an AMF crash as the state
machine in gmm_state_registration encountered an unknown state.

The fix adds explicit handling for SBI messages with resource names such as
AM_DATA, SMF_SELECT_DATA, UE_CONTEXT_IN_SMF_DATA, and SDM_SUBSCRIPTIONS.
If the HTTP response status is not OK, CREATED, or NO_CONTENT, a warning
is logged and the message is ignored. This prevents the AMF from transitioning
into an abnormal state and improves overall stability during frequent handovers.
2025-02-06 20:56:04 +09:00
Sukchan Lee
07cb42110e [DBI] Improve YAML policy config by adding SUPI range filtering
Previously, policies were configured via YAML files without MongoDB.
This update enhances the YAML approach by adding the 'supi_range' key to
filter policies based on UE SUPI ranges. When both 'supi_range' and
'plmn_id' are provided, both conditions must be met.

Note that PLMN-ID filtering will be deprecated in a future release.
2025-02-05 21:56:15 +09:00
Bostjan Meglic
e5545669fc [AMF] fix saving SDM subscription client info 2025-02-04 21:16:18 +09:00
Sukchan Lee
59f64970dd Update cifuzz 2025-02-04 21:09:20 +09:00
Sukchan Lee
bbfd462406 [PFCP] Fix the compile error (#3689) 2025-02-03 08:50:40 +09:00
Sukchan Lee
9c36fa5ccd [MME] Fix crash related to eNodeB context handling during indirect tunnel responses
Replace enb_ue with source_ue to correctly reference the target eNodeB
context during handover. Added null checks and assertions to ensure proper
session cleanup in both mme-s11-handler.c and s1ap-handler.c.
2025-02-02 11:48:17 +09:00
Sukchan Lee
350bc271fa [SEC] Fix PFCP Message Length Validation in ogs_pfcp_recvfrom (#3689)
This commit modifies the message length check in ogs_pfcp_recvfrom.
Previously, the condition only verified that the received size was less than
the expected length, which could allow messages that are too long to be
processed.

The condition now requires an exact match between the received
size and the expected total PFCP message length, ensuring proper message
validation.
2025-02-02 11:25:14 +09:00
Sukchan Lee
32cf4daf3a [SEC] Improve PFCP Message Validation to Prevent Fragmentation Attacks (#3689)
This commit adds additional checks in the PFCP receive callback to ensure
that a complete PFCP message is received before parsing. A minimum header
length check and a total message length validation are now performed. This
prevents incomplete, fragmented messages from being processed and avoids
potential parsing errors and DoS conditions.
2025-02-02 10:42:31 +09:00
Sukchan Lee
b1462f7236 [UDM] Handle maximum SDM subscription limit gracefully (#3688)
Previously, the function `udm_nudm_sdm_handle_subscription_create()` would
trigger a fatal assertion failure if the maximum number of SDM subscriptions
was reached.

This commit adds error handling to check if the subscription pool allocation
fails.

If `udm_sdm_subscription_add()` returns NULL, an appropriate error message is
logged, and a 400 Bad Request response is sent back to the client instead of
causing a crash.
2025-02-01 12:35:33 +09:00
Sukchan Lee
81f69b436c [DOCS] Update installation guide (#3681)
to conditionally install `libidn-dev` or `libidn11-dev`,
depending on availability, and clarify common dependencies for Debian/Ubuntu.
2025-01-22 17:53:36 +09:00
Sukchan Lee
df11b05a1e Replaced deprecated libidn11-dev with libidn-dev across the project.
This update improves compatibility with newer distributions by modifying
dependency declarations in control files, Dockerfiles, and documentation.
2025-01-19 12:21:51 +09:00
Sukchan Lee
aaa950e6cf [SBI] Guard OpenSSL keylog callback with version check
Wrap SSL_CTX_set_keylog_callback calls with an OpenSSL version check
to ensure compatibility with versions older than 1.1.1.

This prevents compilation issues on earlier OpenSSL releases,
such as those found on Ubuntu 18.04(bionic).
2025-01-19 12:18:52 +09:00
Sukchan Lee
9c370ff89a [PFCP] Reduce DNS spam for FQDN nodes (#3431) (#3664)
Each received PFCP message triggered ogs_pfcp_node_find(), causing a DNS
resolution if node_id was FQDN. Under heavy traffic, this could lead to
excessive DNS queries.

- Implement a 300-second refresh interval to avoid repeated DNS lookups.
- Store last_dns_refresh in each node to defer new queries until needed.
- Treat config-based nodes with no Node ID as UNKNOWN, matching them by IP
  alone until ogs_pfcp_node_merge() updates their ID.
- Validate IPv4, IPv6, or FQDN types in ogs_pfcp_node_merge() and reject
  invalid IDs.
- Provide inline code comments for clarity and maintainability.
2025-01-18 12:15:00 +09:00
Bostjan Meglic
ba6a84d1b3 [pfcp] remove unused memory pool 2025-01-16 18:05:25 +09:00
Bostjan Meglic
78a993c486 [pfcp] fix use-after-free error
Variable was used after it was free'd (put back into the
application's memory pool, but still).
2025-01-16 18:05:25 +09:00
Bostjan Meglic
49d2f76fe1 [pfcp] fix return value
Return value should be a pointer to sockaddr instead of status code.
2025-01-16 18:05:25 +09:00
Sukchan Lee
2e68706f1e [AMF] prevent crash on npcf-am-policy-control SBI response handling (#3671)
This commit addresses an Open5GS bug where the AMF process crashes
when receiving npcf-am-policy-control service responses during UE handovers.
The crash was occurring in the gmm_state_authentication() function
when the AMF encountered an unexpected SBI (Service Based Interface) message
from the PCF related to AM Policy Control requests.

Added a new case block in gmm_state_authentication() to explicitly handle
messages with the service name OGS_SBI_SERVICE_NAME_NPCF_AM_POLICY_CONTROL.
2025-01-16 17:19:44 +09:00
Sukchan Lee
13585a34e3 [Metrics] Added PFCP related measurement 2025-01-12 11:47:12 +09:00
Sukchan Lee
d181ab54cc [PFCP] Refactor PFCP address handling (#3431)
- Replace direct usage of OGS_ADDR/OGS_PORT macros with
  ogs_sockaddr_to_string_static() for consistent IPv4/IPv6 logging.
- Remove redundant stack buffer allocations for address printing.
- Update PFCP node address handling to use addr_list and related
  merges, avoiding obsolete sa_list references.
- Use ogs_pfcp_extract_node_id() and related APIs to safely extract
  PFCP Node ID, improving error handling and reducing stack usage.
2025-01-11 20:33:02 +09:00
Sukchan Lee
8ff1d1b666 [CORE] Refactor ogs_sockaddr_strdup to use static buffer and rename
- Changed ogs_sockaddr_strdup to ogs_sockaddr_to_string_static
- Replaced dynamic allocation with a static buffer
- Updated source and header files accordingly
2025-01-11 20:33:02 +09:00
Sukchan Lee
df079b48d8 [PFCP] Add ogs_pfcp_get_node_id function with util modules (#3431)
Created util.h and util.c to implement the ogs_pfcp_get_node_id function,
which retrieves the node_id from a PFCP message. Utilized the
ogs_pfcp_status_e enum for enhanced error handling, distinguishing
between success, absence, and error states.
2025-01-11 20:33:02 +09:00
Sukchan Lee
ff917e9436 [GTP/PFCP] Enable server to bind to multiple addresses via FQDN resolution (#3431)
Modified the `ogs_gtp/pfcp_context_parse_config` function to iterate through
all configured GTP/PFCP server addresses. When a Fully Qualified Domain
Name (FQDN) resolves to multiple IP addresses, the server now binds and
listens on each IP address individually.

These modifications enhance the flexibility and reliability of the GTP/PFCP
server within Open5GS, allowing it to handle multiple network
interfaces and redundant IP configurations as required.
2025-01-11 20:33:02 +09:00
Sukchan Lee
04ec945e1d [SBI] Follow up on #3655 2025-01-11 20:24:30 +09:00
Bostjan Meglic
90cd67fcca [AMF,SMF] Prevent mapped HPLMN SST to always be set
In case that mapped HPLMN SST was not set by the UE in the request to
Establish PDU Session, AMF/SMF would assume it is set to 0 (since the
recent change to allow SST value 0).
2025-01-11 20:22:46 +09:00
Bostjan Meglic
c331207233 [all] allow value of 0 for S-NSSAI SST
3GPP TS 23.003: 28.4.2 Format of the S-NSSAI

The SST field may have standardized and non-standardized values. Values
0 to 127 belong to the standardized SST range and they are defined in
3GPP TS 23.501 [119]. Values 128 to 255 belong to the Operator-specific
range.
2025-01-11 20:22:46 +09:00
Sukchan Lee
34a9816c7b [SMF] Update comments for PR #3660 2025-01-09 21:02:37 +09:00
herlesupreeth
a38530f4f5 [SMF] Update QoS parameters even when only PFs needs to be added to QoS Flow 2025-01-09 21:00:16 +09:00
Sukchan Lee
fce22ca069 Fix the example configuration for AMF-TLS 2025-01-02 22:08:38 +09:00
Sukchan Lee
f04497ac31 [SBI] Allow direct NRF communication in Model C by configuring delegation modes (#3399)
Introduce client_delegated_config to manage delegation settings for NRF and SCP
separately. This ensures that in Model C, all NRF-related procedures
(registration, heartbeat, deregistration, etc.) communicate directly with the
NRF without routing through the SCP. This change aligns Open5GS behavior with
3GPP standards, providing consistent direct communication for both discovery
and management in Model C, and maintaining indirect communication in Model D.

- Direct Communication with NRF
```
sbi:
  client:
    nrf:
      - uri: http://127.0.0.10:7777
```

- Indirect Communication by Delegating to SCP
```
sbi:
  client:
    scp:
      - uri: http://127.0.0.200:7777
```

- Indirect Communication without Delegation
```
sbi:
  client:
    nrf:
      - uri: http://127.0.0.10:7777
    scp:
      - uri: http://127.0.0.200:7777
    delegated:
      nrf:
        nfm: no    # Directly communicate NRF management functions
        disc: no   # Directly communicate NRF discovery
      scp:
        next: no   # Do not delegate to SCP for next-hop
```

- Indirect Communication with Delegated Discovery
```
sbi:
  client:
    nrf:
      - uri: http://127.0.0.10:7777
    scp:
      - uri: http://127.0.0.200:7777
    delegated:
      nrf:
        nfm: no    # Directly communicate NRF management functions
        disc: yes  # Delegate discovery to SCP
      scp:
        next: yes  # Delegate to SCP for next-hop communications
```

- Default delegation: all communications are delegated to the SCP
```
sbi:
  client:
    nrf:
      - uri: http://127.0.0.10:7777
    scp:
      - uri: http://127.0.0.200:7777
    # No 'delegated' section; defaults to AUTO delegation
```
2025-01-02 17:49:40 +09:00
Sukchan Lee
be5a7e1ded [SBI] Added support for custom port numbers in SBI configuration with FQDN.(#3385)
This update allows the parsing and handling of user-defined port numbers
in the `advertise` field or explicitly in the `server` configuration for
SBI. Users can now specify non-default ports for both binding and
advertising while maintaining compatibility with existing configurations.
The feature includes logic to handle FQDNs with embedded port numbers
(e.g., `example.com:8080`) and ensures proper memory management during
parsing. Updated the client association logic to utilize custom ports
when specified.

Examples:
- Bind to the address on the eth0 and advertise as open5gs-amf.svc.local
```
  sbi:
    server:
      - dev:eth0
        advertise: open5gs-amf.svc.local
```

- Specify a custom port number 7777 while binding to the given address
```
  sbi:
    server:
      - address: amf.localdomain
        port: 7777
```

- Bind to 127.0.0.5 and advertise as open5gs-amf.svc.local
```
  sbi:
    server:
      - address: 127.0.0.5
        port: 7777
        advertise: open5gs-amf.svc.local
```

- Bind to port 7777 but advertise with a different port number 8888
```
  sbi:
    server:
      - address: 127.0.0.5
        port: 7777
        advertise: open5gs-amf.svc.local:8888
```
2024-12-31 22:04:55 +09:00
Sukchan Lee
3f6f2a8846 [SBI] Enable SSL Key Logging for Enhanced Debugging and Analysis (#3647)
- Add `sslkeylogfile` configuration options to `*.yaml.in` in NFs.
- Update `open5gs-common.dirs` to include `var/log/open5gs/tls` directory
- Extend `ogs_sbi_context_s` structure in `context.h` to include `sslkeylog`
- Modify `context.c` to parse and handle `sslkeylogfile` settings
- Update `server.c` and `server.h` to manage the `sslkeylog` field
  in server structures
- Update `ogs_sbi_client_add` and `ogs_sbi_client_remove` functions to handle
  `sslkeylog` field.
- Adjust `meson.build` to create the TLS log directory during installation

This commit introduces SSL key logging functionality to Open5GS,
enabling the capture of SSL/TLS keys. This feature is essential
for debugging encrypted traffic and allows integration with tools
like Wireshark for decrypting TLS sessions.
2024-12-30 21:21:41 +09:00
Sukchan Lee
35a14b595d Merge branch 'sctp-fix' 2024-12-27 09:25:24 +09:00
Sukchan Lee
33960bbb66 [NRF] Implemented PLMN list update handling in nrf_nnrf_handle_nf_update (#3566)
- Added functionality to parse and validate the plmnList JSON array
  during a PATCH request.
- Updated the nf_instance structure with new PLMN data from the request.
- Ensured robust error handling for invalid PLMN entries
  and excessive PLMN counts.
- Responded with appropriate HTTP status codes for success and error scenarios.
2024-12-26 14:38:00 +09:00
Sukchan Lee
2ce9f2b27e [SEC] Fix overflow issue of adjusting the URR access (#3642)
Adjusted the URR access logic to prevent out-of-bounds access
by ensuring the URR ID is within the valid range.
2024-12-25 18:04:42 +09:00
Sukchan Lee
badbefe7b3 [SGsAP] Refactor SCTP socket creation (#3344)
- Removed `create_sctp_socket_from_addr_list` function.
- Introduced direct use of `sctp_socket_family_from_addr_list` in
  `ogs_sctp_server` and `ogs_sctp_client`.
- Ensured proper handling of address family selection for SCTP sockets,
  defaulting to `AF_INET` or `AF_INET6` based on the address list.
- Added error handling for cases where no suitable address family is found.
2024-12-25 12:21:35 +09:00
Sukchan Lee
68375f6c35 [SGsAP] Change SCTP socket to SOCK_STREAM and remove 'addr' field (#3344)
Addressed feedback on commit 33532a5 by switching SGsAP's SCTP socket
from SOCK_SEQPACKET to SOCK_STREAM. This change eliminates the need
for the 'addr' field, as SOCK_STREAM does not require specifying the address
in sctp_sendmsg.

All references to the 'addr' field have been removed from the VLR structure
and related functions, simplifying SCTP message handling and ensuring better
compatibility with multiple addresses.

Updated `sgsap-sctp.c` accordingly to reflect these changes
and improve the reliability of SCTP connections.
2024-12-25 11:09:07 +09:00
Sukchan Lee
08b9e7c55f [DBI] Fix crash in ogs_dbi_auth_info due to invalid SUPI (#3635)
Added checks to validate the SUPI ID in the ogs_dbi_auth_info function
before calling ogs_assert. This prevents a crash when the SUPI ID is malformed,
such as when it does not contain a hyphen.

The fix ensures that invalid SUPI values are logged and handled gracefully,
avoiding assertion failures and crashes in the UDR.
2024-12-24 17:14:50 +09:00
Sukchan Lee
4016293214 [SEC] Fix overflow issue with QFI in QoS flow and adjust URR access (#3642)
- Modified the `ogs_nas_qos_rule_s` structure to increase the size
  of the `identifier` field from 4 bits to 6 bits in order to allow
  for larger QoS Flow Identifiers (QFI).
- Adjusted the URR access logic in `upf_sess_urr_acc_add` to prevent
  out-of-bounds access by ensuring the URR ID is within the valid range.
2024-12-24 16:42:23 +09:00
Sukchan Lee
3b7654061f [SCTP] Refactor SCTP socket creation to use address family from sa_list (#3344)
Refactored the SCTP socket creation logic to dynamically select
the address family based on the provided address list.

A new function, `create_sctp_socket_from_addr_list`, was introduced
to check for the presence of an IPv6 address in the address list and
create an SCTP socket accordingly.

If an IPv6 address is found, it uses AF_INET6; otherwise, it defaults
to AF_INET. This change was applied to both the `ogs_sctp_server` and
`ogs_sctp_client` functions.
2024-12-24 15:30:46 +09:00
Sukchan Lee
33532a5858 [SGsAP] Refactor VLR Lookup to Use Socket Pointers Instead of Addresses (#3344)
Updated the VLR (mme_vlr_t) lookup mechanism to identify VLR instances
using socket pointers rather than IP addresses.

Replaced the `mme_vlr_find_by_addr` function with `mme_vlr_find_by_sock` across
relevant modules, including `mme-context.c`, `mme-context.h`, and `mme-sm.c`.

Adjusted memory management for the `addr` field within the VLR structure
to ensure proper allocation and deallocation. Removed address assignments
in `sgsap-sctp.c` for usrsctp and updated logging to reflect the new socket-based
identification.
2024-12-24 15:22:00 +09:00
Sukchan Lee
b0bfd35c63 [SCTP] Support setting local address (#3344)
Added support for binding to local IP addresses in ogs_sctp_client and
ogs_sctp_server, and correct SGsAP configuration

Implemented the ability to bind to one or multiple local IP addresses using
`sctp_bindx()` in both the `ogs_sctp_client()` and `ogs_sctp_server()` APIs.

Users can now specify local addresses in the configuration files under the new
`local_addresses` field, reducing unnecessary complexity and signaling caused
by binding to `ANY_ADDR`.

This update addresses issue https://osmocom.org/issues/6509 by ensuring
correct operation in multi-interface and complex networking setups.

Additionally, corrected the `sgsap` configuration by changing it
from `server` to `client`, and added support for specifying `local_addresses`
for local binding as follows:

```
sgsap:
  client:
    - address: msc.open5gs.org # SCTP server address configured on the MSC/VL
      local_address: 127.0.0.2 # SCTP local IP addresses to be bound in the M
```
2024-12-23 21:16:15 +09:00
Sukchan Lee
b44d159c7b [SMF] Add check for relay peer in ogs_diam_is_relay_or_app_advertised function (#3589)
Modify the function to return true if the peer is a relay,
otherwise check for advertised application.
2024-12-13 14:56:44 +09:00
Sukchan Lee
6ffd7c978f [BSF] Remove mandatory BSF dependency for PDU session establishment (#3626)
Modified the PCF logic to bypass the BSF dependency when it is not available.
This change ensures that the 5G Core can operate without requiring a BSF,
allowing PDU sessions to be established successfully in setups
where only a single PCF is used.
2024-12-12 17:00:17 +09:00
Sukchan Lee
92515a9721 [NAS] Fix heap-buffer-overflow vulnerability in NAS message decoding (#3622)
Resolved a heap-buffer-overflow issue
in the ogs_nas_5gs_decode_registration_request function caused
by improper handling of empty pkbuf.

Added validation checks to ensure pkbuf size is non-zero
before accessing its data.

Reviewed similar patterns in other decoding functions
to prevent similar vulnerabilities.
2024-12-11 21:21:09 +09:00
AlbertoBerlin
531e301f4d When building a PCO response, if the incoming PCO has MS_SUPPORT_LOCAL_ADDR_TFT_INDICATOR, the SMF will also reply with the indication. Otherwise newer phones will reject the type of TFT that SMF sends for dedicated bearers (e.g. VoNR or VoLTE) because they do include the local address without having advertised support for it. 2024-12-11 20:43:02 +09:00
Bostjan Meglic
7e00910bfc [AMF] save mapped HPLMN from Session Est Req
In case that UE sends "mapped HPLMN" in the Session Establishment
Request, AMF did not save it and forward it in the request to SMF.
2024-12-05 18:34:30 +09:00
Sukchan Lee
1b167ef44d [AMF] Fix state machine crash during UE context transfer in REGISTERED state (#3613)
Added a handler in gmm_state_registered() to process SBI client events
for UE context transfer, preventing fatal errors and AMF crashes during
Initial Registration.
2024-12-05 10:19:03 +09:00
Sukchan Lee
43bcf08d51 [AMF] Resolve crash caused by incorrect handling of UE registration in multiple states (#3608, #3612)
This commit resolves additional crashes in the AMF caused by improper handling
of UE registration requests in various states of the GMM state machine.

The issue occurs when the AMF receives multiple registration requests
from the same UE while the previous UE context is being released,
leading to outdated or invalid authentication vectors being processed.

Although a previous fix addressed this problem in the gmm_state_exception
function, similar crashes were identified in other states within gmm-sm.c.

To address this, the handling of multiple registration requests
from the same UE has been refined across all relevant states.

The fix ensures proper synchronization and validation of UE contexts,
preventing the AMF from processing outdated authentication data and
maintaining stability during such edge cases.
2024-12-04 14:24:01 +09:00
Sukchan Lee
525695501e [PFCP] Add assertion to ensure F-TEID.ch is false before TEID swap (#3036, #3574, #3610)
This prevents incorrect restoration behavior by ensuring the TEID is only
swapped when F-TEID.ch is false, indicating the TEID has already been assigned.
2024-12-03 08:59:34 +09:00
Sukchan Lee
e5f50f53f6 [PFCP] Ensure correct TEID restoration behavior by checking F-TEID.ch value (#3574)
Added a check to ensure that TEID restoration via swap occurs only
when F-TEID.ch is false. In the restoration process, when F-TEID.ch is false,
it indicates that the TEID has already been assigned, and the swap operation is
necessary to restore the TEID. However, if F-TEID.ch is true, it means that
the UPF needs to assign a new TEID for the first time, and performing a swap
in this case would be incorrect.

This check ensures that the swap operation is only triggered
when the TEID is already assigned and prevents potential issues
during the TEID assignment process.
2024-12-02 16:53:38 +09:00
Sukchan Lee
f780f9af45 [AMF] Fix crash due to incorrect handling of UE registration requests (#3608)
This commit addresses an issue in the AMF where it crashes
upon receiving the Nausf_UEAuthentication_Authenticate response
in the gmm_state_exception function.

The crash occurs when the same UE continuously sends registration requests
while the previous UE context is released before the AUSF response is received,
leading to incorrect states in the gmm state machine.

The root cause was a lack of proper handling in the gmm_state_exception function
for the scenario where multiple registration requests from the same UE cause
the AMF to process outdated authentication vectors.

This update introduces a fix to handle this edge case
and prevent the AMF from crashing.
2024-12-02 11:24:20 +09:00
Sukchan Lee
76060ff22b [AMF/MME] Add validation for NAS PDU and mitigate DoS attacks (#3607, #3606, #3131)
- Added handling for empty NAS PDUs to prevent potential heap-buffer-overflow.

- Implemented safeguards to reject invalid NAS messages and mitigate DoS attacks
  by removing S1/NG Context for affected UEs.
2024-12-02 10:07:16 +09:00
liuxiaoxinxinxin
e690005a24 Update ngap-path.c 2024-12-02 10:04:15 +09:00
dchard
c67bddd2b4 [MME] Add fake combined attach
In case an external HSS is used, and the NAM field is set to 0 (PACKET_ONLY),
Open5GS MME will only respond with an "EPS_ONLY" attach accept. This behavior
causes a lot of UEs (mainly phones) to disconnect after 1-2 seconds without
further signalling.

To resolve this, a new flag is introduced:

```
global:
  parameter:
    fake_csfb: true
```

If this flag is set to 'ture', the MME will respond with a combined EPS/IMSI
attach accept even if the HSS NAM field is set to "PACKET_ONLY", or if the
MME has no SGs connection towards a CS core.

By default this flag is false, thus not modifying the original behavior.

Note: some commercial core network vendors do include the LAI part in a
"fake" combined EPS/IMSI attach accept message. As that field is optional, and
testing also indicates that it is not needed, this patch does not implement it.
2024-11-28 22:32:58 +09:00
Sukchan Lee
b8208464a2 [NRF] Remove nfProfileChangesSupportInd from responses (#3585)
According to TS 29.510, the NFProfile structure in the NFDiscovery API does not
include the nfProfileChangesSupportInd attribute. However, Open5GS NRF currently
includes this attribute in NFDiscovery API responses, which has led to
complaints from certain NF vendors.

This commit modifies the nrf_nnrf_handle_nf_discover function
in src/nrf/nnrf-handler.c to ensure that the nfProfileChangesSupportInd
attribute is excluded when constructing NFProfile for NFDiscovery responses.
2024-11-28 20:47:16 +09:00
Sukchan Lee
c3dccf13fc Revert "Removing from discovery responses an invalid nfProfileChangesSupportInd which should not be there"
This reverts commit 02e1729ca6.
2024-11-28 20:46:45 +09:00
AlbertoBerlin
02e1729ca6 Removing from discovery responses an invalid nfProfileChangesSupportInd which should not be there 2024-11-28 20:46:05 +09:00
AlbertoBerlin
df83767653 Support for nf-instance-id as Subscription Condition in subscriptions to notifications from NRF 2024-11-28 20:46:05 +09:00
Pau Espin Pedrol
3358e5128f [MME] Fix typo in log line 2024-11-26 06:44:48 +09:00
Sukchan Lee
0bbbd0166e Added use_upg_vpp parameter for UPG-VPP configuration (#3591)
This commit introduces a new parameter in the global configuration
to support UPG-VPP UPF. When the following setting is added:

```
global:
  parameter:
    use_upg_vpp: true
```

The SMF generates PFCP messages specifically tailored for UPG-VPP UPF.
This allows seamless integration and operation with UPG-VPP
by automatically adapting the message structure to its requirements.
2024-11-25 16:47:03 +09:00
mitmitmitm
f5de72b996 Support non-integer bitrate strings more accurately
TS 29.571 - 5.5.2 Simple Data Types defines BitRate type as

	String representing a bit rate that shall be formatted as follows:

	Pattern: '^\d+(\.\d+)? (bps|Kbps|Mbps|Gbps|Tbps)$'

	Examples: "125 Mbps", "0.125 Gbps", "125000 Kbps"

Taking the "0.125 Gbps" example, rather than round 0.125 down to 0, parse it as
a double-float first before multiplying by 10^9, resulting in 1.25e8 (bps).
2024-11-21 16:39:36 +09:00
Sukchan Lee
f03e220761 [DOCS] Update link of Mesaurement of UPF Performance (#3553) 2024-11-20 10:52:28 +09:00
Bostjan Meglic
5ebb2eb76e [SMF] fix wrong return value (int -> bool) 2024-11-19 17:17:31 +09:00
Bostjan Meglic
cfff6d28aa [AMF] prevent null-dereferencing
Break early in case resouce allocation fails.
2024-11-19 17:17:31 +09:00
nick
1c2098bf71 fix indentation issue in srsenb.yaml and rename srslte.yaml to srsenb.yaml in guide02 docs 2024-11-19 08:43:16 +09:00
Sukchan Lee
1fa8e5468e [AMF/MME] Fix handover failing due to GNB/eNBID hash table handling (#3569)
Resolved an issue where Handover was failing when attempting to handover
from GNB-ID/eNB-ID 1 to GNB-ID/eNB-ID 0.

The problem occurred because the hash table managing GNB_ID values would
remove any entry with the default GNB-ID/eNB-ID of 0 before re-adding entries.

Consequently, any GNB/eNB configured with a GNB-ID/eNB-ID of 0
would be inadvertently deleted whenever another GNB was added.

This fix modifies the handling of the hash table to prevent the default
GNB-ID/eNB-ID (0) from being removed unintentionally, allowing handovers
between GNB-ID/eNB-ID 0 and other GNBs/eNBs to proceed without error.
2024-11-14 16:26:49 +09:00
Sukchan Lee
dd7217acde [MME] Fix handling of unknown PLMN in S1 Setup Request (#3544, #3570)
```
TS36.413

8.7.3 S1 Setup
8.7.3.4 Abnormal Conditions
If the eNB initiates the procedure by sending a S1 SETUP REQUEST message
including the PLMN Identity IEs and none of the PLMNs provided by the eNB
is identified by the MME, then the MME shall reject the eNB S1 Setup Request
procedure with the appropriate cause value, e.g., “Unknown PLMN”
```

Modified code to address abnormal conditions where the eNB initiates
the S1 Setup Request with a PLMN Identity IE that is unrecognized by the MME.

In this case, the MME now properly rejects the S1 Setup Request
with the cause value "Unknown PLMN" in compliance with the 3GPP specification
(8.7.3.4).
2024-11-13 11:17:06 +09:00
Sukchan Lee
1519f73f0f [AMF] for (k, i, j) -> for(i, j, k) (#3544, #3570) 2024-11-13 11:08:50 +09:00
draga
85bb717bf6 fixed function to compare with amf supported plmns 2024-11-13 10:55:36 +09:00
Sukchan Lee
51fd59e7cf [UDM] Prevent crash by limiting the number of TOKENs (#3564)
we modified the ogs_supi_from_suci function to prevent the crash
by limiting the number of tokens parsed
2024-11-11 16:09:45 +09:00
Sukchan Lee
e227d57972 [SBI] Enable Custom Info in User-Agent Header for HTTP/2 Requests (#3555)
In accordance with TS29.500 Section 5.2.2.2 on mandatory HTTP standard headers,
the User-Agent header in HTTP/2 requests is required to include the NF type
of the HTTP/2 client. Additionally, it is specified that the content
of the User-Agent header may be followed by a hyphen and custom information
when needed, providing greater flexibility for identifying the originating
NF type or adding other specific details.

To accommodate this requirement, I modified the code to allow for additional
information to be appended after the NF type in the User-Agent header,
separated by a hyphen.

This change ensures that the User-Agent header format can be customized
as needed for indirect communication scenarios and requests originating
from the SCP, improving compliance with the specification and enhancing
the adaptability of the header format for HTTP/2 communications.
2024-11-07 11:20:40 +09:00
Sukchan Lee
421126682e [SMF] Change the Max Number of PCO from 16 to 32 2024-11-05 16:49:04 +09:00
Sukchan Lee
ae2a3255a5 [CSFB] Fix Location Update for non-EPS (#3381)
While experimenting with CSFB, it was observed that when the UE returns
to E-UTRAN after a CS call, the UE performs a Tracking Area Update
with a combined Tracking Area/Location Area update and IMSI attach.
Currently, Open5GS's MME simply responds with a TAU Accept message
but does not inform the MSC/VLR.

As a result, no further MT (Mobile Terminated) CS/SMS services are possible
in cases where the MSC/VLR only attempts paging on GERAN.
However, some MSC/VLR implementations with fast fallback may still attempt
paging on E-UTRAN, allowing MT CS/SMS services to function intermittently.

According to 3GPP TS 29.118 Section 5.2.2 Procedures in the MME,
specifically Section 5.2.2.2.1, if the timer Ts6-1 is not running,
the MME shall start the location update for non-EPS services procedure
upon receiving a combined Tracking Area Update Request indicating
combined TA/LA updating with IMSI attach. However, SGs timers are not
implemented in Open5GS, which is a separate issue.

To comply with the specification and ensure that the MSC/VLR is informed
when the UE becomes reachable via SGs, the following changes have been
implemented:

1. Delay UEContextReleaseCommand:

When the active_flag is set to 0, the UEContextReleaseCommand is now delayed
until the MME receives the TAU Complete message from the UE. This ensures
that the UE has acknowledged the new P-TMSI before the network releases
the context, maintaining proper synchronization between the UE and the network.

2. Include Mobile Identity Only When P-TMSI Changes:

The Mobile Identity is now included in the Attach/TAU Accept messages
only when the MSC/VLR updates the P-TMSI. This ensures that the UE receives
the Mobile Identity information solely when there is an actual change
in the P-TMSI, preventing unnecessary or incorrect handling
of TAU Complete messages.

3. Send SGsAP-REALLOCATION-COMPLETE Conditionally:

The SGsAP-REALLOCATION-COMPLETE message is now sent to the MSC/VLR
only upon receiving a Attach/TAU Complete message from the UE.
This confirmation indicates that the UE has successfully updated its P-TMSI,
ensuring that the MSC/VLR is accurately informed of the change.

4. Handle P-TMSI Confirmation:

When the MSC/VLR updates the P-TMSI, Open5GS stores the new P-TMSI
in the next field of the mme_ue structure. Upon receiving the TAU Complete
message from the UE, indicating acknowledgment of the new P-TMSI,
Open5GS confirms the update by transferring the P-TMSI from the next field
to the current field. This ensures that the MME maintains an accurate and
up-to-date record of the P-TMSI as confirmed by the UE.
2024-11-05 16:37:45 +09:00
Sukchan Lee
c888e2d62a [SBI] Fixed an issue in SCP TLS communication for Open5GS (#3541)
Fixed an issue in SCP TLS communication for Open5GS where omitted port numbers
in HTTP/HTTPS URIs (e.g., "https://scp.localdomain" implying port 443) were not
handled correctly.

Updated the code to ensure that during FQDN and port comparisons,
cases where the port number is set to 0 are accounted for.

This fix resolves the problem with indirect SBI communication over SCP using TLS
allowing proper connectivity between network functions like BSF and NRF.
2024-11-03 21:47:29 +09:00
Sukchan Lee
2031f7d8a1 [SBI] Make 'global' configuration optional instead of mandatory (#3466)
Previously, the global configuration section was required for NF to start,
which differed from earlier versions where it was optional. This commit modifies
the implementation to make the global section optional again,
allowing NF to start without explicitly defining global settings.

This change restores the previous behavior and improves usability for users
who do not need to customize global settings.
2024-11-01 15:32:46 +09:00
Sukchan Lee
1f42ddace1 [SCP/SEPP] Fixed memory leak in specific exception handling scenarios
The memory leaks occurring in specific exception handling scenarios have been
resolved. For instance, when an HTTP2 connection closes, memory associated
with objects like response messages was not being freed properly.

This update addresses and fixes these issues.
2024-11-01 14:31:11 +09:00
Sukchan Lee
bc02e48d1a [ePDG] Add Node-Identifier IE support in GTPv2 S2b Create-Session-Request for SMF Diameter S6b Routing (#3507)
Implement support for Node-Identifier IE in GTPv2 S2b Create-Session-Request
to SMF for Diameter S6b integration

This patch adds support for processing the Node-Identifier IE within GTPv2
Create-Session-Request messages sent via the S2b interface to the SMF.
When the ePDG includes the Node-Identifier IE containing both host and realm
of the AAA-Server, the SMF now uses this information to populate
the Destination-Realm and Destination-Host AVPs in the Diameter S6b AAR message.

This enables seamless integration and allows the SMF to route requests directly
to the appropriate AAA-Server, enhancing interoperability in setups
where the host and realm data are required by the Diameter network.
2024-10-31 22:22:25 +09:00
Sukchan Lee
ce36143f5c [PFCP] Add Missing 3GPP Interface Type in PFCP Messages
This field was previously omitted, which could lead to
improper handling of interface-specific logic in certain scenarios.

The addition of the 3GPP Interface Type ensures correct behavior
in compliance with the 3GPP standards for PFCP message handling.
2024-10-20 22:54:08 +09:00
Sukchan Lee
151275d708 [PFCP] Fix SGW-U/UPF Bugs and Improve Header Handling
1. Fix SGW-U/UPF bug by comparing QFI only when PDI's QFI is present
Resolved an issue where the QoS Flow Identifier in the GTP-U Extension Header
was incorrectly compared regardless of the presence of PDI's QFI.
Updated the implementation to perform the comparison
only when PDI's QFI is present.

2. Add Outer Header Removal settings to SGW's PDR where necessary
Addressed the absence of Outer Header Removal in the SGW's PDR
by adding it to all required locations, ensuring proper header handling.

3. Remove unnecessary GTP-U Extension Header Removals
Eliminated all instances of GTP-U Extension Header Removal
since they should only be used during handover from 5GS to EPS.
This cleanup prevents improper header removals in other scenarios.

4. Delete unnecessary usage of Network Interface and UE IP Address
Removed all redundant references to Network Interface and UE IP Address,
streamlining the codebase and reducing potential confusion.

5. Change precedence so that Control has higher priority than Data
Adjusted the precedence settings to ensure that Control messages
are given higher priority over Data, enhancing the system's efficiency
and responsiveness.
2024-10-20 18:52:21 +09:00
Sukchan Lee
0e441cf710 [MME] TAI and E_CGI IEs in SGs (#3518)
Added UE's current TAI and E-CGI to SGsAP-LOCATION-UPDATE-REQUEST message
as per TS 29.118 5.2.2.2.1
2024-10-20 16:40:49 +09:00
Sukchan Lee
e3790b45b4 [PFCP] Fix memory free issue causing crash (#3497)
This commit fixes an issue where the system would crash
due to improper memory release after receiving crafted PFCP packets from UEs.
2024-10-17 23:30:04 +09:00
Sukchan Lee
a50c313b81 [SMF] Update QoS Rule Handling (#3513)
1. Set packet filter identifier values to 0 when the UE requests to:
  - Create new QoS rule
  - Modify existing QoS rule and replace all packet filters
  - Modify existing QoS rule and add packet filters - As specified in TS24.501, section 9.11.4.13, Table 9.11.4.13.1.

2. Revise QoS rule modification logic:
  - Instead of replacing packet filters based on their identifiers (EPC approach), update the implementation to delete all existing packet filters within the QoS rule and add new ones.
  - This ensures that when modifying an existing QoS rule to replace all packet filters, the packet filters are correctly reset and updated per 5G Core requirements.
2024-10-17 15:55:34 +09:00
Sukchan Lee
5dc3905c39 [SMF] Fix Packet Filter Identifier handling and limit maximum number (#3505)
- **Correct Packet Filter Identifier Handling:**
  Remove the addition of +1 when searching for the packet filter context using `smf_pf_find_by_identifier()` in the 5G Core SMF. According to 3GPP TS24.008 Section 10.5.6.12 and TS24.501 Section 9.11.4.13, the Packet Filter Identifier should range from 1 to 15 (or 0 to 15) depending on the operation and should be used directly as received from the UE.

- **Adjust Maximum Number of Packet Filter Identifiers:**
  Change the maximum number of Packet Filter Identifiers from **16** to **15** in the SMF to comply with the 3GPP specifications. The standards specify that the number of packet filters shall be greater than 0 and less than or equal to 15 for certain operations.

**Background:**

In the current 5GC implementation, the SMF incorrectly adds +1 to the identifier received from the UE and allows up to 16 identifiers, leading to mismatches and potential communication issues. These discrepancies cause the SMF to fail in correctly locating the packet filter context, resulting in improper QoS rule enforcement.

**Changes Made:**

- **For Packet Filter Identifier Handling:**
  - Updated the SMF code to use the identifier received from the UE directly without modification:
    ```c
    // Corrected code for 5GC:
    pf = smf_pf_find_by_identifier(
            qos_flow, qos_rule[i].pf[j].identifier);
    ```

- **For Maximum Number of Packet Filter Identifiers:**
  - Adjusted the code to enforce a maximum of 15 packet filters as per the specifications.

**Impact:**

- **Compliance:**
  - Ensures that the 5GC implementation of Open5GS adheres to the 3GPP TS24.008 and TS24.501 specifications regarding Packet Filter Identifier handling and limits.

- **Functionality:**
  - Corrects the mapping and management of packet filters between the UE and SMF in 5GC, preventing potential communication issues and misconfigurations.

- **EPC Implementation:**
  - The EPC implementation remains unaffected by these changes. EPC correctly handles the Packet Filter Identifier by decrementing it by 1 before sending it to the UE and adding +1 when searching for the packet filter context.

**Conclusion:**

By making these adjustments, we ensure proper synchronization between the UE and SMF in the 5G Core and maintain compliance with the 3GPP specifications. This fix resolves the mismatches caused by incorrect identifier handling and enforces the correct limit on the number of packet filters, enhancing the reliability and standards compliance of the 5GC implementation without impacting the existing correct behavior in EPC.
2024-10-16 17:24:55 +09:00
Sukchan Lee
063fa42a28 Revert "[SMF] Fix Packet Filter Identifier handling in SMF (#3505)"
This reverts commit f82fc85cc2.
2024-10-16 09:32:16 +09:00
Sukchan Lee
f82fc85cc2 [SMF] Fix Packet Filter Identifier handling in SMF (#3505)
Decrement the Packet Filter Identifier by 1 before sending it to the UE
during GSM message construction. This correction ensures proper synchronization
between the UE and SMF, allowing `smf_pf_find_by_identifier()` to accurately
locate the corresponding `pf` context without adjusting the identifier
during the search.

This fix aligns the 5GC implementation with the EPC behavior,
where the identifier was correctly decremented before transmission to the UE,
preventing mismatches and synchronization issues.
2024-10-15 17:57:11 +09:00
Sukchan Lee
606788361c [SMF] Fixed incorrect prefix length in GTPv2 PAA IE (#3495)
I have modified the PAA's IPv6 prefix length from 8 to 64.
This adjustment ensures that the prefix length now correctly reflects
the standard /64 notation, in accordance with the specifications.
2024-10-11 14:58:14 +09:00
Sukchan Lee
55e5fc92dd [SMF] Fixed interface-type in the Create Bearer Request (#3484)
I wanted to let you know that I have modified the SMF configuration
to send S2b PGW GTP-U instead of S5/S8 PGW GTP-U in WLAN.

This adjustment should ensure that the correct interface type is used,
as per the specifications.
2024-10-11 14:52:09 +09:00
Sukchan Lee
af85bc0a66 [MME] Incorrectly being retrieved from the PLMN-ID (#3480)
The issue was that the PLMN-ID of the TAI was incorrectly being
retrieved from the PLMN-ID of the EUTRAN_CGI.

As a result, when the PLMN-IDs of the TAI and EUTRAN_CGI were improperly set,
the MME would crash.

All issues have now been resolved.
2024-10-07 22:10:39 +09:00
Pau Espin Pedrol
6d80d4322a [PCRF] Support retrieving metrics from freeDiameter thread 2024-09-05 21:51:12 +09:00
Pau Espin Pedrol
0c348cac68 [PCRF] Initial metrics support
This commit doesn't add any PCRF specific metrics, only all the
boilerplate code to instantiate libmetrics and hence have the generic
prometheus metrics available.
2024-09-05 21:51:12 +09:00
Sukchan Lee
3d3f18e342 [PCRF/HSS] Added missing files for enabling metrics (#3442) 2024-09-05 21:28:30 +09:00
Sukchan Lee
778d0cbc59 [PCRF/HSS] Enable Metrics (#3442) 2024-09-05 21:26:27 +09:00
Pau Espin Pedrol
787e555501 [PCRF] Enable ogs_app pollset
This will be needed once metrics are included.
2024-09-05 08:12:46 +09:00
Pau Espin Pedrol
7bf057ce00 [PCRF] Improve diameter logging 2024-09-05 08:11:59 +09:00
Pau Espin Pedrol
95e885bfba [PCRF] cosmetic: Fix trailing whitespace 2024-09-05 08:11:59 +09:00
Pau Espin Pedrol
34220b94cf diameter: stats: Fix unit typo in log 2024-09-05 08:11:59 +09:00
Sukchan Lee
219cda9b4f [MME/AMF] Fixed problem in MacOSX machine
1. transfer needs 192.168.x.50
2. Compilation error in namf-build.c in MaxOSX
3. enb_ue can be NULL in esm-sm.c
2024-09-04 22:00:29 +09:00
Pau Espin Pedrol
3e154f9571 [HSS] Initial support for SWx diameter metrics 2024-09-04 21:28:59 +09:00
Pau Espin Pedrol
5b66e3159a [HSS] Improve SWx diameter debug logs 2024-09-04 21:28:59 +09:00
Pau Espin Pedrol
b2f56b9641 [HSS] Initial support for S6a diameter metrics 2024-09-04 06:36:32 +09:00
Pau Espin Pedrol
7293b5f3e4 [HSS] Initial support for Cx diameter metrics 2024-09-04 06:36:32 +09:00
Pau Espin Pedrol
9db907a56e [HSS] First diameter metric
This commit showcases how to add diameter based metrics to an app.
Follow-up commits will add further metrics for different diameter based
interfaces.
2024-09-04 06:36:32 +09:00
Pau Espin Pedrol
a37a2099fc diameter: Support updating app with private metrics 2024-09-04 06:36:32 +09:00
Pau Espin Pedrol
902a602a2b diameter: Support configuring stats interval through config file 2024-09-04 06:36:32 +09:00
Pau Espin Pedrol
4308ba7f37 [HSS] Improve diameter based interface debug logs
This way it's immediate to know whether stuff happens o nthe rx or the
tx path when looking at logs or even at the code.
2024-09-03 23:16:36 +09:00
Pau Espin Pedrol
91674ffa8a diameter: stats: Split logging to helper function 2024-09-03 22:20:19 +09:00
Pau Espin Pedrol
36d2fb3ebb diameter: stats: Move stats struct outside of context 2024-09-03 22:20:19 +09:00
Pau Espin Pedrol
7fb0690950 diameter: stats: use monotonic clock & avoid drift
We simply want to trigger the event at fixed intervals, we don't really
need the wall time.
2024-09-03 22:20:19 +09:00
Pau Espin Pedrol
9cabb279c0 diameter: stats: Integrate into main loop
There's no real need for a separate thread, it all can run with a timer.
Furthermore, this will ease submitting events towards app so that they
can update diameter metrics.
2024-09-03 22:20:19 +09:00
Pau Espin Pedrol
b5d1e8ac61 diameter: split stats and logger modules
Those 2 modules actually share nothing in common, so they can be totally
separated, making it easy to improve diameter stats in follo-up patches.
2024-09-03 22:20:19 +09:00
Pau Espin Pedrol
9e87c6b1c6 cosmetic: diameter: Fix trailing whitespace 2024-09-03 22:20:19 +09:00
Pau Espin Pedrol
34c922a857 diameter: logger: Use typedef for ogs_diam_logger_t
Same as done mostly everywhere in open5gs types.
2024-09-03 22:20:19 +09:00
Sukchan Lee
b530221dea [AMF] Follow-up on #3409 2024-09-03 22:11:02 +09:00
Matej Gradisar
dab131d375 [AMF] Add UE context transfer and Registration status update states 2024-09-03 22:09:56 +09:00
Matej Gradisar
1a344aeb65 [Tests] Delete unnecessary code 2024-09-03 22:09:56 +09:00
Matej Gradisar
8c293bc710 [AMF] Registation status update and tests 2024-09-03 22:09:56 +09:00
Bostjan Meglic
5cf92c9851 [tests] Upgrade tests for multiple NFs
The test scenario can now deploy multiple AMFs and other NFs.
2024-09-03 22:09:56 +09:00
Sukchan Lee
ed68d0b016 [MME] Follow-up on #3429 #3422 2024-09-03 21:48:25 +09:00
Jiaxun Yang
deef017dfe [MME] config: Document hss_map yaml entry
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
2024-08-29 16:39:45 +09:00
Jiaxun Yang
9d83eba550 [MME] Implement HSS Selection process
Implement HSS selection process as described in TS 29.272 Section 7.16.
Use hss_map config entry to map between plmn and HSS realm & host.

Closes: https://github.com/open5gs/open5gs/issues/3422
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
2024-08-29 16:39:45 +09:00
Pau Espin Pedrol
51aca2826f [MME] 2g->4g: Delay SGSN Context Ack after UE becomes authorized
This commit is a follow-up from previous one, split to ease review.
In this commit, the SGSN Context Ack towards SGSN plus session creation
towards SGW is further delayed until authorizing + SecurityModeCommand
against UE has succeeded, hence meaning we have a fully operating
context to communicate with it.
2024-08-28 11:17:38 +09:00
Pau Espin Pedrol
5b0a0bf6cf [MME] 2g->4g: Delay SGSN Context Ack after Auth-Info towards HSS
As per 3GPP TS 23.401 Annex D.3.6 step 6, "Security functions may be
executed" during TAU (UE cell reselection 2g->4g).

The idea is that the 4G network should check the integrity of the TAU,
and only if iexisting and valid then accept it right away. Otherwise,
an authorization procedure is started.

Until now, during 2g->4g TAU we were retrieving and acking the PDP Context
received from the SGSN and creating the session against the SGW right away.

Tests done so far with real phones ended up in unsuccesful results when
tring to reuse the 4g context derived from 2g, due to yet unknown
reasons.
Hence, with this patch we simply force for now the re-auth and
recreation of security context before completing the TAU. This showed
good results during testing with real phones.

The security context is recreated through:
* S6a 3gpp-Authentication-Info towards HSS
* S1AP/NAS Authentication Request+Response towards UE
* SecurityModeCommand towards UE.

This patch is the first step towards delaying SGSN Context Ack after the whole
authentication is done against the UE. Patches are splitted for ease of
review.
This patch is only delaying session setup after the S6a procedure.
Follow-up patch will delay it further.
2024-08-28 11:17:38 +09:00
Pau Espin Pedrol
c1fb688f15 [MME] S6a AIA: Trigger next step in auth procedure in the FSM
This is a preparatory patch for follow-up patches, making them easier to
review and placing actions in the FSM code.
2024-08-28 11:17:38 +09:00
Pau Espin Pedrol
ad80448c11 [MME] Reject SGSN Context Resp if establishing session fail 2024-08-28 11:17:38 +09:00
Pau Espin Pedrol
561a55f790 cosmetic: MME: Fix trailing whitespace 2024-08-26 22:51:09 +09:00
Sukchan Lee
b6ddd7fffb [SMF] Reject PDU session during establishment(#3408)
In case that UE requests a PDU session with specific SSC Mode
for which it is not authorized, reject the request
instead of trying to continue processing it.
2024-08-26 13:46:36 +09:00
Runamook
19f6e0cf96 MSISDN Subscription-Id in Gx 2024-08-25 10:15:59 +09:00
Sukchan Lee
8305c4d50e [AMF/MME] Avoid crash if tx Security Mode Command fails (#3413)
This can happen if a UE never sends the UE Network Capabilities IE (eg Attach or TAU) when coming from 2G to 4G:

```
08/21 11:45:31.476: [emm] DEBUG: emm_state_security_mode(): ENTRY (/open5gs/src/mme/emm-sm.c:1162) 08/21 11:45:31.476: [mme] DEBUG: [262420000000007] Security mode command (/open5gs/src/mme/nas-path.c:336)
08/21 11:45:31.476: [emm] DEBUG:     Replayed UE SEC[LEN:2 EEA:0x0 EIA:0x0 UEA:0x0 UIA:0x0 GEA:0x0] (/open5gs/src/mme/emm-build.c:385)
08/21 11:45:31.476: [emm] DEBUG:     Selected[Integrity:0x0 Encrypt:0x0] (/open5gs/src/mme/emm-build.c:393)
08/21 11:45:31.476: [emm] ERROR: Encrypt[0x0] can be skipped with EEA0, but Integrity[0x0] cannot be bypassed with EIA0 (/open5gs/src/mme/emm-build.c:447)
08/21 11:45:31.476: [mme] ERROR: emm_build_security_mode_command() failed (/open5gs/src/mme/nas-path.c:343)
08/21 11:45:31.476: [emm] ERROR: emm_state_security_mode: Expectation `r == OGS_OK' failed. (/open5gs/src/mme/emm-sm.c:1171)
```

Instead of crashing the MME/AME, fail gracefuly sending a UeContextReleaseCommand.

Reproduced/tested with a WIP ttcn3 test.
2024-08-25 10:06:32 +09:00
Pau Espin Pedrol
4953628275 [MME] Avoid crash if tx Security Mode Command fails
This can happen if a UE never sends the UE Network Capabilities IE
(eg Attach or TAU) when coming from 2G to 4G:
"""
08/21 11:45:31.476: [emm] DEBUG: emm_state_security_mode(): ENTRY (/open5gs/src/mme/emm-sm.c:1162)
08/21 11:45:31.476: [mme] DEBUG: [262420000000007] Security mode command (/open5gs/src/mme/nas-path.c:336)
08/21 11:45:31.476: [emm] DEBUG:     Replayed UE SEC[LEN:2 EEA:0x0 EIA:0x0 UEA:0x0 UIA:0x0 GEA:0x0] (/open5gs/src/mme/emm-build.c:385)
08/21 11:45:31.476: [emm] DEBUG:     Selected[Integrity:0x0 Encrypt:0x0] (/open5gs/src/mme/emm-build.c:393)
08/21 11:45:31.476: [emm] ERROR: Encrypt[0x0] can be skipped with EEA0, but Integrity[0x0] cannot be bypassed with EIA0 (/open5gs/src/mme/emm-build.c:447)
08/21 11:45:31.476: [mme] ERROR: emm_build_security_mode_command() failed (/open5gs/src/mme/nas-path.c:343)
08/21 11:45:31.476: [emm] ERROR: emm_state_security_mode: Expectation `r == OGS_OK' failed. (/open5gs/src/mme/emm-sm.c:1171)
"""

Instead of crashing the MME, fail gracefuly sending a UeContextReleaseCommand.
2024-08-25 09:50:17 +09:00
Daniel Willmann
28f9de4b41 ogs_fqdn_parse: Write the terminating NULL byte even if the APN is empty
Enter the while loop even if length == 1 (with len being 0) so that the
terminating NULL byte is written to dst.
2024-08-25 09:42:48 +09:00
Daniel Willmann
591f0a2fca ogs_fqdn_parse: Don't fail when parsing the empty APN
The osmocom ttcn3-mme-ogs test uses an APN consisting simply of the NULL
byte. This corresponds to one label of length zero, so simply the APN "".

Since commit 333d3fe1 ogs_fqdn_parse() returning zero is considered an
error in ogs_gtp1_parse_pdp_context().

Fix this by returning a negative value on error in ogs_fqdn_parse() and checking for
that.
2024-08-25 09:42:48 +09:00
Bostjan Meglic
9d878d255d [SMF] Fix handling allowed SSC Modes and Session Types
The standard mandates that one SSC Mode is the default (if UE does not
request one), with up to 2 additional SSC Modes can be selected.
Always check also the default SSC Mode if it can be selected.

Same logic applies for Session Types.
2024-08-25 09:05:17 +09:00
Bostjan Meglic
b6d80cb244 [AMF] add supportedFeatures field in SDMSubscription request
Set flag LimitedSubscriptions in the supportedFeatures field in
SDMSubscription. This flag should be set in case that AMF supports
unique SDM Subscription, notifying UDM in this case of the support.
2024-08-25 08:48:18 +09:00
Sukchan Lee
d57bb9423b update it 2024-08-24 22:21:55 +09:00
Sukchan Lee
681115c4e5 update document 2024-08-24 19:18:55 +09:00
Sukchan Lee
2d2e03507b Remove Date in Support page 2024-08-24 19:15:54 +09:00
Sukchan Lee
0a58a5bcc2 update support page 2024-08-24 19:13:15 +09:00
Sukchan Lee
ecbe26d8d9 Introducing NewPlane 2024-08-24 19:05:32 +09:00
Alexander Couzens
3f36e2b8f2 [MME] mme-gn-handler: 2G->4G: set QoS on the translated bearer
Otherwise the bearer contains qci = 0 and 0 values for the
priority, certain eNodeBs (Ericsson rbs6402) will reject such bearers.
2024-08-21 06:16:35 +09:00
Alexander Couzens
62ddcd8757 [MME] mme-gn-handler: correct ARP for the translated bearer (2G->4G)
The old comment describe the 4G to 2G mobility, not the 2G to 4G.
Correct the comments.
Also set the translated bearer vulnerability to 1, translated bearer
should always vulnerable to it.
2024-08-21 06:16:35 +09:00
Alexander Couzens
b0c3dbe4dd [MME] mme-context.h: fix indention 2024-08-21 06:16:35 +09:00
Sukchan Lee
1efdcd6dfd Merge branch 'main' into issues3388 2024-08-19 16:26:40 +09:00
Sukchan Lee
333d3fe1c6 clang scan-build static analysis findings/resolutions (#3387)
The clang scan-build procedure

```
Assume Ubuntu docker container with open5gs mounted to /src.

Assume these tools are installed to docker container:
sudo apt install -y clang-tools clang

For easy reference to clang scan-build tool:
Put normal open5gs build procedure into a file called /src/build

=======================
Inside docker container:
=======================
export CLANG_OUT_DIR=/src/scan_build_results

scan-build -disable-checker deadcode.DeadStores --override-compiler --keep-going
 --exclude subprojects --exclude tests --exclude lib/asn1c -maxloop 200 -o $CLANG_OUT_DIR -plist-html /src/build 2>&1 | tee /src/logclang.txt

=======================
Results:
=======================
Results are in html format in $CLANG_OUT_DIR - top level index.html
```

Note that in this analysis the following suppressions were assumed:
- no deadcode.DeadStores analysis since those are not functional findings
- exclude lib/asn1c for reason that is outside of open5gs control
- exclude tests for reason that those are not functional findings
- exclude subprojects since those are outside of open5gs control
2024-08-16 16:42:12 +09:00
Bostjan Meglic
ed482784b9 [NRF] Add it's own available services to the NfProfile
This can be used when retrieving a list of registered NRF's and how to
connect to them.
2024-08-16 16:07:21 +09:00
Bostjan Meglic
06df59e654 [AMF] Send 5GMM cause in request to SMF on AMF-initiated session release
Previously, 5GMM cause was not being sent due to missing "is_x_value"
not being set to true.
2024-08-16 16:03:50 +09:00
Bostjan Meglic
a328f9a2f5 [AMF,SMF] Add optional PLMN-ID parameter to SDM GET queries 2024-08-16 16:01:37 +09:00
Sukchan Lee
cba4479c5c [SMF] Follow-up on #3393 2024-08-16 15:56:00 +09:00
Bostjan Meglic
d2e9583d77 [SMF] Handle SDM subscription to UDM during PDU session lifetime
- create SDM subscription to UDM when PDU session is created, just
before sending SMF registration to UDM
- delete SDM subscription when PDU session is released
- handle SDM Change Notification, but not yet process items in it
2024-08-16 15:51:06 +09:00
Sukchan Lee
96a64d7c43 [MME] fix UEContextReleaseCommand encode fail (#3388)
UEContextReleaseCommand fails to encode as an ASN.1 message
if the Group is 0. This is added because there is currently
no exception handling when the gNB sends a Group of 0.
2024-08-15 23:11:41 +09:00
Sukchan Lee
11e51846d7 [MME] Deliver ENB-UE over GTP XACT (#3388)
When a GTP transaction occurs, the ENB-UE associated with the MME-UE may change.
To address this, we have changed the structure to include the ENB-UE
in the GTP transaction, similar to AMF.

When a UEContextReleaseRequest and a Service Request occur simultaneously,
the ENB-UE in the Release Access Bearer Request/Response GTP transaction is
designed to persist even if the ENB-UE Context changes.
2024-08-15 23:00:13 +09:00
Sukchan Lee
a7d594c2b7 [AMF] fix UEContextReleaseCommand encode fail (#3388)
UEContextReleaseCommand fails to encode as an ASN.1 message
if the Group is 0. This is added because there is currently
no exception handling when the gNB sends a Group of 0.
2024-08-15 20:56:35 +09:00
Sukchan Lee
1a22479977 [AMF] Remove ngap_send_amf_ue_context_release_command()
ngap_send_amf_ue_context_release_command() is unnecessary.
So, change ngap_send_amf_ue_context_release_command()
to ngap_send_ran_ue_context_release_command.
2024-08-15 18:32:11 +09:00
Sukchan Lee
37430970f7 Update document for v2.7.2 2024-08-04 21:13:24 +09:00
Sukchan Lee
43fa4857cc Release v2.7.2 (Compilation error fix) 2024-08-04 21:10:00 +09:00
Sukchan Lee
5697cd792e Release v2.7.2 2024-08-04 20:39:12 +09:00
Sukchan Lee
d3a17338a0 Follow-up on #3368
There was an issue with the output of the LOG message.
I fixed it again and applied it to the main branch.

Refer to #3360 #3361 #3363 #3364
2024-08-04 20:22:59 +09:00
Sukchan Lee
b35dee9327 [NRF] Fix the subscription valdityTime (#3360 #3361 #3363 #3364)
NF should accept 204 No Content for Update Subscription requests.
According to 3GPP 29.510 NRF specification document in figure 5.2.2.5.6.1
NRF may return 204 or 200 for success update operations.

2a. On success, if the NRF accepts the extension of the lifetime
of the subscription, and it accepts the requested value for the "validityTime"
attribute, a response with status code "204 No Content" shall be returned.

2b. On success, if the NRF accepts the extension of the lifetime
of the subscription, but it assigns a validity time different than
the value suggested by the NF Service Consumer, a "200 OK" response code shall
be returned. The response shall contain the new resource representation
of the "subscription" resource, which includes the new validity time,
as determined by the NRF, after which the subscription becomes invalid.

I changed it so that all NFs can receive both 200 and 204 STATUS.
I also changed the default behavior of NRFs to respond with 204,
which is NO CONTEXT.
2024-08-04 13:32:53 +09:00
Sukchan Lee
d9a3132400 Tested on FreeBSD-14.1-STABLE (#3350)
- Upgraded libraries to 4.5 to address compile error issues with CXX11 support
- Change the default version of FreeBSD Vagrant to 14.1-STABLE
- FreeBSD Platform documentation also changed to 14.x version
2024-08-03 21:45:52 +09:00
Sukchan Lee
c5025ec64c [MEM] valgrind memcheck findings (#3349)
The proposal out of the valgrind memcheck procedure are
a couple of small patches to open5gs within the patches subdirectory.
2024-08-02 17:30:21 +09:00
Sukchan Lee
9828509668 [DIAM] Added sanity routine to avoid crash 2024-07-25 23:55:53 +09:00
Sukchan Lee
3f23d332bf [TFT] Incrase the number of flows 8->16 (#3343)
TS24.008
10.5.6.12 Traffic Flow Template
Table 10.5.162: Traffic flow template information element

Number of packet filters (octet 3)
The number of packet filters contains the binary coding
for the number of packet filters in the packet filter list.
The number of packet filters field is encoded in bits 4
through 1 of octet 3 where bit 4 is the most significant
and bit 1 is the least significant bit.

For the "delete existing TFT" operation and
for the "no TFT operation", the number of packet filters shall be
coded as 0. For all other operations, the number of packet filters
shall be greater than 0 and less than or equal to 15.

The array of TLV messages is limited to 16.
So, Flow(PDI.SDF_Filter) in PDR is limited to 16.

Therefore, we defined the maximum number of flows as 16.
2024-07-25 23:36:03 +09:00
Sukchan Lee
455f164c60 Revert "[TFT] Incrase the number of flows 8->16 (#3339)"
This reverts commit 919176a9ab.
2024-07-25 23:33:32 +09:00
Sukchan Lee
919176a9ab [TFT] Incrase the number of flows 8->16 (#3339)
TS24.008
10.5.6.12 Traffic Flow Template
Table 10.5.162: Traffic flow template information element

Number of packet filters (octet 3)
The number of packet filters contains the binary coding
for the number of packet filters in the packet filter list.
The number of packet filters field is encoded in bits 4
through 1 of octet 3 where bit 4 is the most significant
and bit 1 is the least significant bit.

For the "delete existing TFT" operation and
for the "no TFT operation", the number of packet filters shall be
coded as 0. For all other operations, the number of packet filters
shall be greater than 0 and less than or equal to 15.

The array of TLV messages is limited to 16.
So, Flow(PDI.SDF_Filter) in PDR is limited to 16.

Therefore, we defined the maximum number of flows as 16.
2024-07-25 23:29:10 +09:00
Sukchan Lee
2b793b3534 [SMF] add debug log in ogs_gtp2_parse_tft()
SMF crashed in ogs_gtp2_parse_tft(). Add debug to find out
how the UE sends a Bearer Resource Modification Request and SMF crashes.
2024-07-20 20:18:15 +09:00
Sukchan Lee
08a9291da1 [MME] Fix the crash after removing ogs_pool_cycle() (#3196) 2024-07-20 20:07:23 +09:00
Sukchan Lee
8d2d037314 [DIAM] Fix the crash when terminating Diameter
When exiting a diameter interface, the session state data could be NULL.
So we added code to check the session state data
to prevent SIGSEGV occurring.
2024-07-20 10:16:28 +09:00
Sukchan Lee
a9a60135f9 [AMF] Fix the crash since validityTime->30s(#3210)
We're experiencing an issue after changing SearchResult.validityTime
from 3600 seconds to 30 seconds.

When AMF finds a PCF through Discovery, it can be deleted
after 30 seconds by ValidityTime.

We have changed our implementation to not send the PCF-ID in this case.

What we need to do is proactively add a part that will re-discover
the PCF when a situation arises where we really need the PCF-ID.
2024-07-20 09:59:26 +09:00
Sukchan Lee
bc3823edc8 Merge branch 'main' of https://github.com/open5gs/open5gs 2024-07-20 07:32:50 +09:00
Sukchan Lee
0af9db84f8 [MME] Fixed Crash in mme-fd-path.c (#3196)
Because mme_ue_find_by_id() and enb_ue_find_by_id() could be NULL,
we should not use assert()
2024-07-20 07:31:14 +09:00
Nikhil Malik
3df4447049 Added NGAP LB blog in docs.md (#3329)
* Update docs.md
2024-07-18 14:55:31 +09:00
Sukchan Lee
eebbfd28b3 UPF Performance enhancement (#3306) (#3318)
* [UPF/SGW-U] Optimizing data-path (#3306)

In ogs_pfcp_up_handle_pdr, there is a copy operation performed on recvbuf,
which can reduce the sending performance in the data path. Personally,
We believe that this copy operation can be eliminated.

Of course, if it is canceled, the recvbuf does not need to be released again
at the location where ogs_pfcp_up_handle_pdr is called. After testing,
it has indeed shown an improvement in performance of approximately 15-18%.

   /*
    sendbuf = ogs_pkbuf_copy(recvbuf);
    if (!sendbuf) {
        ogs_error("ogs_pkbuf_copy() failed");
        return false;
    }*/
    sendbuf = recvbuf;</div>

* update it
2024-07-12 13:32:58 +09:00
Sukchan Lee
1b82ff08b6 [AMF] Added Additional-GUTI to ClearText (#3315)
UE attached to 4G cell, terminates 4G connection,
then attempts 5G cell attach with TAC update - fails connection

Setup a UE on a 4G cell. Also have a 5G cell available to the UE.

Next, disable the 4G cell. The 4G connection terminates normally.

The UE scans the network and finds the 5G cell.

At this time the UE sends a registration to the 5G cell.
Open5gs sent back a reject with reason "Semantically incorrect message".
Then the UE did not try to attach again and lost the call forever.

Compare this scenario with a different core that we tested this scenario on.
With a different core (other than open5gs) the core sent back a reject
also but with a reason "UE can't be derived by network".
Then the UE tried attach again and the 5G call was successful.
Although this was successful for the other core it could be suggested
that not rejecting at all is good behavior.

There is a workaround which is that the Samsung UE could be put into
airplane mode and taken out of airplane mode and at that point
the UE is able to attach to the 5G cell. But this is a lot of manual effort
on the user of the UE which could be avoided with a simple open5gs change.

Note: Issue only happens when registration request + tracking area update
occurs on 5G cell attach following LTE cell being disabled.
If only registration occurs without a tracking area update
(such as the first time system is up) then it is ok with no rejection.

To solve this issue, added Additional-GUTI to the ClearText Group.
2024-07-12 13:23:24 +09:00
Sukchan Lee
6f73a74690 [GTP/PFCP] Use Pool-ID in XACT (#3196)
Due to the possiblity of problems with NS's like SMF using GTP/PFCP,
I changed the transaction memory to the pool id method.
2024-07-10 10:20:19 +09:00
Sukchan Lee
b98731de96 Follow-up on #3282 2024-07-09 22:29:16 +09:00
Emanuele Di Pascale
9ed06f1da1 [MME,SMF]: allow setting of diameter TC_TIMER
... via the YAML configuration
2024-07-09 22:23:47 +09:00
Sukchan Lee
d2ca1dbd13 [MME] Fixed crash on GTP sending timeout (#3196) 2024-07-09 22:20:12 +09:00
Sukchan Lee
3134bcc5e8 [MME] Fixed crash when double free mme_ue (#3196) 2024-07-09 15:58:51 +09:00
herlesupreeth
ed0c1f4efb [SMF]: Issue PFCP session modification request if there are additional flows in RAR 2024-07-08 17:34:37 +09:00
Sukchan Lee
8c97ccf570 [SMF] Fixed a crash when sess is NULL (#3240) 2024-07-08 16:28:07 +09:00
Sukchan Lee
be68ea7b04 [SGWC/SMF] Fixed a crash (#3196)
We're troubleshooting additional crashes that occur
while trying to fix the ogs_pool_cycle() issue.
2024-07-07 20:44:10 +09:00
Sukchan Lee
c920f53d39 [MME] UEContextReleaseCommand cause (#3280)
On 4G only... when UE sent an inactivity UEContextReleaseRequest,
Open5GS sent back UEContextReleaseCommand **with cause=normal-release.
This, in turn, does not allow the Samsung UE to return to the low power state
in our testing of the scenario.

Comparing the behavior of open5gs to other cores that we have tested
the other cores are sending a ** cause=“Radio Network Layer Cause”:
User inactivity ** when the UE sends inactivity. And this is what allows
other cores to transition the UE to the low power state whereas
with open5gs the UE is not entering the low power state.

We've fixed to allow open5gs to come to the same level of compliance
in this area as to the other cores.
2024-07-06 18:23:45 +09:00
Sukchan Lee
d6cc83bae0 [SGWC] Fixed a crash 2024-07-06 17:45:40 +09:00
Sukchan Lee
3e10963168 [MME/GTP] More fix to manage multiple GTP (#3251)
Update Bearer Request
Modify Bearer Context Request
Modify Bearer Context Accept
Update Bearer Response

In the process above, we incorrectly used the Timer
that the MME uses to wait for the eNB.

We used xact's holding timer, which continues to hold the transaction
for further exception handling even after sending the Update Bearer Response.

This timer should end exactly when the Update Bearer Response is sent
by the MME to the SGW-C. Therefore, we have added a new peer timer
in xact for this purpose.
2024-07-06 16:57:39 +09:00
Sukchan Lee
a5d4254141 [GTP] Error Indication with deleting bearer(#3302)
We fixed an issue in #3302 where MME does not send Downlink Data Notification
Acknowledge to SGW-C in Error Indication situation.

However, it did not work properly when this occurred in conjunction
with releasing the bearer as shown below.

>>>Seesion-Termination in Diameter
>>>SMF sends E-RABReleaseCommand and
            Deactivate EPS bearer request context

1. SGW-U received Error Indication
2. SGW-U sends PFCP Report Request to SGW-C
3. SGW-C sends PFCP Report Response to SGW-U
4. SGW-C sends Downlink Data Notification to MME (MME Connected with eNB)

>>> eNB sends E-RABReleaseCommand
>>> UE sends Deactivate EPS bearer context accept

5. MME sends UEContextReleaseCommand to the eNB
6. eNB sends UEContextReleaseComplete to the MME
7. MME sends S1-Paging to the eNB
8. eNB sends Service-Request to the MME
9. MME sends InitialContextSetupRequest to the eNB
10. eNB sends InitialContextSetupResponse to the MME

No bearer context, so cannot send Downlink Data Notification Acknowledge

So, we've fixed it as below.

>>>Seesion-Termination in Diameter
>>>SMF sends E-RABReleaseCommand and
            Deactivate EPS bearer request context

1. SGW-U received Error Indication
2. SGW-U sends PFCP Report Request to SGW-C
3. SGW-C sends PFCP Report Response to SGW-U
4. SGW-C sends Downlink Data Notification to MME (MME Connected with eNB)

>>>>>>>> Since eNB Connected, we send Downlink Data Notification Acknowledge here.

>>> eNB sends E-RABReleaseCommand
>>> UE sends Deactivate EPS bearer context accept

5. MME sends UEContextReleaseCommand to the eNB
6. eNB sends UEContextReleaseComplete to the MME
7. MME sends S1-Paging to the eNB
8. eNB sends Service-Request to the MME
9. MME sends InitialContextSetupRequest to the eNB
10. eNB sends InitialContextSetupResponse to the MME
2024-07-06 16:07:53 +09:00
Sukchan Lee
133fafa395 [MME] Fixed Error Indication (#3302)
We've encountered an issue where Downlink Data Notification Acks are not sent
in the following situations.

1. SGW-U received Error Indication
2. SGW-U sends PFCP Report Request to SGW-C
3. SGW-C sends PFCP Report Response to SGW-U
4. SGW-C sends Downlink Data Notification to MME
(MME Connected with eNB)
5. MME sends UEContextReleaseCommand to the eNB
6. eNB sends UEContextReleaseComplete to the MME
7. MME sends S1-Paging to the eNB
8. eNB sends Service-Request to the MME
9. MME sends InitialContextSetupRequest to the eNB
10. eNB sends InitialContextSetupResponse to the MME

Here, MME needs to send Downlink Data Notification Acknowledge.

So, we've fixed it
2024-07-04 17:42:50 +09:00
Sukchan Lee
555c20c4c5 [POOL] REMOVE ogs_pool_cycle() (#3196) 2024-06-30 22:03:13 +09:00
Sukchan Lee
976f2473b0 [POOL] refactor mem pool in AUSF/PCF/UDM (#3196)
Removed ogs_pool_cycle() from AUSF/PCF/UDM memory pool
and changed it to find by hash id.
2024-06-30 22:03:13 +09:00
Sukchan Lee
ab8e46a03d [POOL] refactor SMF/UPF/SGW-C/SGW-U (#3196)
Removed ogs_pool_cycle() from SMF/UPF/SGW-C/SGW-U memory pool
and changed it to find by hash id.
2024-06-30 22:03:13 +09:00
Sukchan Lee
c151e4fbce [POOL] refactor memory pool in MME (#3196)
Removed ogs_pool_cycle() from MME memory pool
and changed it to find by hash id.
2024-06-30 22:03:13 +09:00
Sukchan Lee
253de8ee25 [POOL] refactor memory pool in AMF (#3196)
Removed ogs_pool_cycle() from AMF memory pool
and changed it to find by hash id.
2024-06-30 22:03:13 +09:00
Sukchan Lee
c1110573d6 [POOL] refactor memory in GTP/PFCP xact (#3196)
Removed ogs_pool_cycle() from GTP/PFCP transacion
and changed it to find by hash id.
2024-06-30 22:03:13 +09:00
Sukchan Lee
6cb518539b [POOL] refactor memory in HTTP server (#3196)
Removed ogs_pool_cycle() from HTTP2 session and stream context
and changed it to find by hash id.
2024-06-30 22:03:13 +09:00
Sukchan Lee
40e146d45a [POOL] change cycle to hash id in xact (#3196)
I created ogs_sbi_xact_find_by_id() with a hash
to replace ogs_sbi_xact_cycle().

Modified to find the xact via xact->id
when making an HTTP request with the SBI client function
and waiting for the HTTP response.
2024-06-30 22:03:13 +09:00
Sukchan Lee
b26f1f310f [POOL] Added hash id to pool (#3196)
Pool library has the following issues with XXX_cycle,
including mme_enb_cycle()/amf_ue_cycle()

```
INIT POOL(SIZE:5)

Alloc Node1
Alloc Node2
Alloc Node3
Alloc Node4
Alloc Node5

Free Node4
Free Node3

PoolCycle(Node4) is NULL (Freed...OK!)
PoolCycle(Node3) is NULL (Freed...OK!)

Alloc Node6
Alloc Node7

PoolCycle(Node4) is Not NULL (Freed...but NOK!)
PoolCycle(Node3) is Not NULL (Freed...but NOK!)
PoolCycle(Node6) is Not NULL (Allocated...OK!)
PoolCycle(Node7) is Not NULL (Allocated...OK!)
```

If we use ogs_poll_alloc() to create and allocate a node,
the correct behavior of calling ogs_pool_free() on this node
and then later calling ogs_pool_cycle() on this node must always return NULL.

However, the behavior of calling ogs_pool_cycle() on this node
in the future may return a “valid” pointer.

To solve the problem, we added hash id to the pool memory and
ogs_pool_find_by_id() function is added.
2024-06-30 22:03:13 +09:00
Daniel Willmann
dc2e167a8f [MME] Avoid duplicate be32toh() in mme_gn_build_sgsn_context_request()
tlv_add_leaf() should already convert the byte order.
2024-06-28 22:39:40 +09:00
Daniel Willmann
71e263c0a1 [MME] Pass PTMSI signature through to mme_gn_build_sgsn_context_request
3GPP TS 23.003 Ch. 2.8.2.2.2 (Mapping in the UE) states "The P-TMSI
signature is sent intact to the MME."
So simply use the PTMSI signature from the TAU and pass it throught to the
SGSN Context Request.
2024-06-28 22:39:40 +09:00
Daniel Willmann
2e180796e4 [MME] Fix GUTI <-> RAI/PTMSI derivation functions
The algorithms described in 3GPP TS 23.003 Ch. 2.8.2.1.2 an 2.8.2.2.2
are not directly the inverse of each other.

To send a SGSN Context Request (in 2G -> 4G mobility) the algorithm in
2.8.2.2.2 has to be done in reverse (like mentioned in 2.8.2.2.3 -
Mapping in the new MME).

When parsing an SGSN Context Request (for 4G -> 2G mobility) the reverse
of 2.8.2.1.2 (as described in 2.8.2.1.3) has to be used.
PTMSI signature handling is added in a separate commit.
2024-06-28 22:39:40 +09:00
nik-netlox
9e19d28c4b Update docs.md 2024-06-25 06:12:54 +09:00
Sukchan Lee
d0f6288484 Remove feature request in Issue template 2024-06-10 10:05:25 +09:00
Sukchan Lee
f0206c79f6 Follow up on #3249 2024-06-05 13:41:21 +09:00
errdemk
0de416e43f [UDM] Added Amf3GppAccessRegistration Information Retrieval Feature 2024-06-05 10:55:59 +09:00
Sukchan Lee
cf7af787dd [AMF/MME] Fix the gNB/eNB ID hash setting
When setting hashes, we typically delete and set hashes that are set to OLD.

A hash set to OLD should be deleted by setting it to NULL,
but here we're deleting it with a value of NEW.

Therefore, we modified it to delete the OLD gNB/eNB ID
instead of NEW by setting a NULL value to Hash as Key.
2024-06-03 21:40:23 +09:00
Sukchan Lee
53a63e1b40 [MME/GTP] Managing multiple GTP xact (#3240)
Consider the following situation.
```
1. SMF->SGW-C->MME: First Update Bearer Request
2. MME->UE:         First Modify EPS bearer context request
3. SMF->SGW-C->MME: Second Update Bearer Request
4. MME->UE:         Second Modify EPS bearer context request
5. UE->MME:         First Modify EPS bearer context accept
6. MME->SGW-C->SMF: First Update Bearer Response
7. UE->MME:         Second Modify EPS bearer context accept
8. MME->SGW-C->SMF: Second Update Bearer Response
```

Until now, only one GTP transaction was managed for one bearer.

Therefore, if the UE does not send an EPS Modify bearer accept to the MME,
and the SMF/SGW-C sends an Update Bearer Request to the MME,
The NEW update bearer request overwrites the OLD that was previously managed.
So we modified it to manage them simultaneously.

However, we don't know if this is the right way to implement it.

So if the SMF/SGW-C sends 5 MMEs of Update Bearer Request and
the UE sends only 3 MMEs of Modify EPS bearer context accept,
we have no way to associate it.

Therefore, it's implemented so that we just process them sequentially and
2 of them are just timeout.
2024-05-31 22:36:41 +09:00
Sukchan Lee
1111b06ac4 [AMF] Fixed issue context transfer (#3052)
When the second AMF, which is the transfer, runs later than the SMF,
there is no client information.

Fixed to pre-create the Client when the Resource URI is transferred.
2024-05-26 15:01:21 +09:00
Sukchan Lee
7062b9c0d6 [AMF] Follow-up on Context transfer (#3052) 2024-05-26 14:40:11 +09:00
Sukchan Lee
2a4d8db72e [MME] Prevent the Session stored in DB (#3220)
Fixed to not change the session information stored in the DB
when transferring context from GERAN to EUTRAN.

Note that the Tracking Area Update Procedure differs
from the Attach Procedure in 5.3.2 in the point
at which HSS and ULR/ULA are performed.

3GPP TS 23.401
Ch 5.3.3 Tracking Area Update procedures

<Attach Procedure>
1. Security-mode complete
2. Update Location Request/Answer
3. Create Session Request/Response

<Tracking Area Update Procedure>
1. Security-mode complete
2. Create Session Request/Response
3. Update Location Request/Answer

When TAU creates a Create Session Request message,
there is no session type information in the Subscriber DB
that is received from HSS in the Update Location.

Therefore, TAU does not reflect the Session Type
but creates PDN Type by reflecting the information
in the Request Type as it is.
2024-05-25 15:14:58 +09:00
Bostjan Meglic
4f7f4ec6e5 [AMF] Fix for storing 5G AKA Confirmation URL
HTTP Location header field does not contain the "5g-aka-confirmation"
substring. Which means that when we try to delete the authentication
from AUSF, it fails.

/nausf-auth/v1/ue-authentications/1
vs
/nausf-auth/v1/ue-authentications/1/5g-aka-confirmation
2024-05-23 23:34:22 +09:00
Pau Espin Pedrol
c6c73c1f70 MME: Gn: Fill PDP Context requested from SGSN with IP allocated by SMF
IP assigned from SMF: session->paa
Static IP read from the Subscriber DB: session->ue_ip

When passing the PDP context information to the SGSN, we actually wanna
provide it with the IP address currently in use.
2024-05-22 07:14:53 +09:00
Pau Espin Pedrol
f401e7df14 Revert "[MME] Fixed ttcn3-mme-test-ogs (#2806) (#315)"
This reverts commit 87d9cdf569.
2024-05-22 07:14:53 +09:00
Sukchan Lee
87d9cdf569 [MME] Fixed ttcn3-mme-test-ogs (#2806) (#315)
Try to fix the following error

"MME_Tests.ttcn:955 : no SGSN Context Response from MME"
      MME_Tests.ttcn:1572 MME_Tests control part
      MME_Tests.ttcn:1457 TC_ue_cell_reselect_eutran_to_geran testcase
2024-05-21 21:06:17 +09:00
Sukchan Lee
02d302b15a [SEC] Fix Assertion ogs_pfcp_parse_volume (#3207) 2024-05-18 21:37:28 +09:00
Sukchan Lee
15ff23de75 [SEC] Fix Assertion ogs_pfcp_parse_sdf_filter (#3207) 2024-05-18 21:37:28 +09:00
Sukchan Lee
b1bf2b10e2 [SEC] Fix Assertion ogs_pfcp_f_seid_to_ip (#3207) 2024-05-18 21:37:28 +09:00
Sukchan Lee
bd4d925f0f [SEC] Fix Assertion ogs_pfcp_parse_user_plane_ip_resource_info() (#3207) 2024-05-18 21:37:28 +09:00
Sukchan Lee
5f425445a8 [SEC] Fix Assertion ogs_gtp2_parse_uli (#3209) 2024-05-18 21:37:28 +09:00
Sukchan Lee
05deed616c [SEC] fix Assertion 0 < ogs_fadn_parse (#3207) 2024-05-18 21:37:28 +09:00
Sukchan Lee
4599b273fa [MME] Problem keep changing PDN-Type (#3209)
If the UE continuously attempts to Attach while changing PDN Type,
it will cause the wrong IP to be assigned.
(e.g PDU-Type : IPv4v6 -> IPv4 -> IPv4v6)

This is because we use two variables at the same time,
one to read and store the Static IP from the Subscriber DB and
one to store the IP assigned from SMF, called session->paa.

When the UE attaches with PDN-Type set to IPv4v6,
MME saves the allocated IP in session->paa.

However, MME thinks it has been assigned a static IP based on the information
in session->paa, so changing the PDN-Type may result in the wrong IP
being assigned.

To solve this problem, I separated the variable(session->paa) that stores
the allocated IP received from SMF and the variable(session->ue_ip) that stores
the Static IP read from the Subscriber DB.

Therefore, the information read from the Subscriber DB
(session->session_type and session->ue_ip) should not be modified.
2024-05-18 14:01:00 +09:00
Sukchan Lee
bba0ebe6a4 [SEC] crash for IMSI/MSISDN/IMEI overflow (#3207)
When using ogs_buffer_to_bcd(), an overflow occurs if the input buffer length
is larger than the output bcd size, causing a crash.

We adjusted the size of the input buffer length using ogs_min as follows.
```
    sgwc_ue->imsi_len = ogs_min(imsi_len, OGS_MAX_IMSI_LEN);
    memcpy(sgwc_ue->imsi, imsi, sgwc_ue->imsi_len);
    ogs_buffer_to_bcd(sgwc_ue->imsi, sgwc_ue->imsi_len, sgwc_ue->imsi_bcd);
```
2024-05-17 20:25:49 +09:00
Sukchan Lee
80ab4c4a1b [NF] Move ogs_log_config_domain() location (#3210)
When we run the test, for example,
./tests/registration/registration simple-init,
wee get an INFO message like the one below.

```
05/17 14:24:03.933: [sbi] INFO: NF EndPoint(addr) setup [127.0.0.200:7777] (../lib/sbi/context.c:474)
```

When we run the code in Open5GS, the log level initially defaults to INFO.

However, for test code, we change the log level to ERROR
by automatically inserting the -e error option into argv.

The reason for this is to prevent WARNING and INFO messages
from appearing when the test code is run.

However, the log level to ERROR is changed at the bottom of
the initialize routine, which caused the above message
to be printed during testing.

To prevent this from being printed, I modified the code
to change that log level to ERROR a little earlier.
2024-05-17 14:54:32 +09:00
Sukchan Lee
95de14c72b [SBI] SearchResult.validityPeriod 3600->30s (#3210)
The validity time for NF Instances obtained through NF Discovery was
not properly implemented. Since the validity was 3600 seconds(1 hour),
which caused 5G Core to not work properly after 3600 seconds(1 hour).

There was an issue where an NF Instance should be deleted
when its validity time expired, but it was not working correctly
due to incorrect use of reference count.

Therefore, I have modified the Validity of NF Instances obtained
through NF Discovery to work properly.

I also changed the default value of valdityPeriod to 30 seconds.
2024-05-17 14:54:32 +09:00
Sukchan Lee
7a9fea8aec [SBI] Re-factor NF Instance Context (#3093)
Fixed not using Reference Count for adding/deleting NF Instances.

Up until now, NF Instances have been managed by referencing the Reference Count.

Initially, when an NF Instance is added, the Reference Count is incremented and
when it is deleted, the Reference Count is decremented.

If a UE discovers another NF Instance through the NF Discovery function,
the Reference Count is incremented. And if a UE de-registers,
the Reference Count of the discovered NF is decremented.

However, there's a problem with this approach.

When other NF is de-registered,
there is no guarantee that it will be 100% notified.

For example, if a UDM is de-registered, but an SCP is de-registered before it,
the AMF will not be notified that the UDM has been de-registered.

In situations where this is not clear, Reference Count cannot be used.

Therefore, we have modified it to not use the Reference Count method.

Also, when a UE connects, it is modified to always search
whether an NF Instance exists by NF Instance ID whenever it is discovered.

To do this, we modified lib/sbi/path.c as shown below.

```diff
@@ -281,13 +281,15 @@ int ogs_sbi_discover_and_send(ogs_sbi_xact_t *xact)
     }

     /* Target NF-Instance */
-    nf_instance = sbi_object->service_type_array[service_type].nf_instance;
+    nf_instance = ogs_sbi_nf_instance_find(
+            sbi_object->service_type_array[service_type].nf_instance_id);
     if (!nf_instance) {
         nf_instance = ogs_sbi_nf_instance_find_by_discovery_param(
                         target_nf_type, requester_nf_type, discovery_option);
-        if (nf_instance)
-            OGS_SBI_SETUP_NF_INSTANCE(
-                    sbi_object->service_type_array[service_type], nf_instance);
+        if (nf_instance) {
+            OGS_SBI_SETUP_NF_INSTANCE_ID(
+                    sbi_object->service_type_array[service_type], nf_instance->id);
+        }
     }
```
2024-05-12 10:24:15 +09:00
Sukchan Lee
9d8d560be7 [DOCKER] Change UID from 1000 to 2000
The ubuntu docker image defaults to UID 1000 as the ubuntu username,
so change the UID of the open5gs default user acetcom to 2000.
2024-05-11 16:26:04 +09:00
Daniel Willmann
eb28c514ea [MME] s11: Allow CreateSessionResponse with no S5c TEID IE
The TEID is already known (provided by SGSN through Gn SGSNContextResponse),
so not mandatory for it to be set.
2024-05-11 01:07:45 +02:00
Pau Espin Pedrol
f16f6e3c6c [MME] s11: Allow CreateSessionResponse with no PAA IE
The PAA is already known (provided by SGSN through Gn SGSNContextResponse),
so not mandatory for it to be set.
2024-05-11 01:07:45 +02:00
Pau Espin Pedrol
190b39a75c cosmetic: [MME] Fix wrong content in comment line 2024-05-11 01:07:45 +02:00
Sukchan Lee
87b4e4535c [SEC] Stack overflow in PCRF/PCF (#3157)
The indexes rx_message.ims_data.num_of_media_component and media_component->num_of_sub can overflow.

```
static int pcrf_rx_aar_cb( struct msg **msg, struct avp *avp,
        struct session *sess, void *opaque, enum disp_action *act)
..
        /* Gwt Specific-Action */
        case OGS_DIAM_RX_AVP_CODE_SPECIFIC_ACTION:
            break;
        /* Gwt Media-Component-Description */
        case OGS_DIAM_RX_AVP_CODE_MEDIA_COMPONENT_DESCRIPTION:
            media_component = &rx_message.ims_data.
                    media_component[rx_message.ims_data.num_of_media_component];

            ret = fd_msg_browse(avpch1, MSG_BRW_FIRST_CHILD, &avpch2, NULL);
            ogs_assert(ret == 0);
            while (avpch2) {
                ret = fd_msg_avp_hdr(avpch2, &hdr);
..
                }

                fd_msg_browse(avpch2, MSG_BRW_NEXT, &avpch2, NULL);
            }

            rx_message.ims_data.num_of_media_component++;
            break;
        default:
            ogs_warn("Not supported(%d)", hdr->avp_code);
            break;
        }
..
}
```
2024-05-01 16:52:10 +09:00
Sukchan Lee
b57722178a [SEC] Heap overflow in open5gs-mmed/s1ap (#3153)
Assert shall be triggered if the mme_enb_t object is corrupted.

```
$ gdb -q -p `pidof open5gs-mmed`
..
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".
0x0000ffff90deb46c in __GI___sigtimedwait (set=set@entry=0xfffffe63be68, info=info@entry=0xfffffe63bda8, timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/sigtimedwait.c:61
61      ../sysdeps/unix/sysv/linux/sigtimedwait.c: No such file or directory.
Breakpoint 1 at 0xaaaabef69250: file ../src/mme/s1ap-handler.c, line 199.
[Switching to Thread 0xffff1efdef00 (LWP 20348)]

Thread 38 "open5gs-mmed" hit Breakpoint 1, s1ap_handle_s1_setup_request (enb=0xffff9029b5a0, message=0xffff1efdc498) at ../src/mme/s1ap-handler.c:199
warning: Source file is more recent than executable.
199         if (maximum_number_of_enbs_is_reached()) {
(gdb) p enb.supported_ta_list
$1 = {{plmn_id = {mcc1 = 0 '\000', mcc2 = 0 '\000', mcc3 = 1 '\001', mnc1 = 15 '\017', mnc2 = 0 '\000', mnc3 = 1 '\001'}, tac = 1} <repeats 256 times>}
(gdb) p enb
$2 = (mme_enb_t *) 0xffff9029b5a0
(gdb) p *enb
$3 = {lnode = {prev = 0x0, next = 0x0}, sm = {init = 0xaaaabef66540 <s1ap_state_initial>, fini = 0xaaaabef66640 <s1ap_state_final>, state = 0xaaaabef66730 <s1ap_state_operational>}, enb_id = 1, plmn_id = {
    mcc1 = 1 '\001', mcc2 = 2 '\002', mcc3 = 3 '\003', mnc1 = 15 '\017', mnc2 = 4 '\004', mnc3 = 5 '\005'}, sctp = {type = 1, sock = 0xfffedc000bd0, addr = 0xfffedc000e70, poll = {read = 0xffff9032a0f0,
      write = 0x0}, write_queue = {prev = 0x0, next = 0x0}}, state = {s1_setup_success = false}, max_num_of_ostreams = 30, ostream_id = 0, num_of_supported_ta_list = 258, supported_ta_list = {{plmn_id = {
        mcc1 = 0 '\000', mcc2 = 0 '\000', mcc3 = 1 '\001', mnc1 = 15 '\017', mnc2 = 0 '\000', mnc3 = 1 '\001'}, tac = 1} <repeats 256 times>}, s1_reset_ack = 0x10f100000110f100, enb_ue_list = {prev = 0x1,
    next = 0x0}}
pwndbg> vmmap enb
LEGEND: STACK | HEAP | CODE | DATA | RWX | RODATA
             Start                End Perm     Size Offset File
    0xffff8edd4000     0xffff8ede4000 ---p    10000      0 [anon_ffff8edd4]
►   0xffff8ede4000     0xffff90650000 rw-p  186c000      0 [anon_ffff8ede4] +0x1517010
    0xffff90650000     0xffff90659000 r-xp     9000      0 /usr/lib/aarch64-linux-gnu/libffi.so.8.1.0
```

The value s1_reset_ack = 0x10f100000110f100 shall contain a function pointer, but has been corrupted.

The following patch will abort the process:

```diff
$ diff --git a/src/mme/s1ap-handler.c b/src/mme/s1ap-handler.c
index dff401ded..55a1f7e1b 100644
--- a/src/mme/s1ap-handler.c
+++ b/src/mme/s1ap-handler.c
@@ -178,6 +178,7 @@ void s1ap_handle_s1_setup_request(mme_enb_t *enb, ogs_s1ap_message_t *message)
                 SupportedTAs_Item->broadcastPLMNs.list.array[j];
             ogs_assert(pLMNidentity);

+           ogs_assert(enb->num_of_supported_ta_list < OGS_ARRAY_SIZE(enb->supported_ta_list));
             memcpy(&enb->supported_ta_list[enb->num_of_supported_ta_list].tac,
                     tAC->buf, sizeof(uint16_t));
             enb->supported_ta_list[enb->num_of_supported_ta_list].tac =
@@ -310,6 +311,7 @@ void s1ap_handle_enb_configuration_update(
                     SupportedTAs_Item->broadcastPLMNs.list.array[j];
                 ogs_assert(pLMNidentity);

+               ogs_assert(enb->num_of_supported_ta_list < OGS_ARRAY_SIZE(enb->supported_ta_list));
                 memcpy(&enb->supported_ta_list[
                         enb->num_of_supported_ta_list].tac,
                         tAC->buf, sizeof(uint16_t));
```
2024-05-01 16:25:33 +09:00
Sukchan Lee
7ea82cb87b [SEC] Heap overflow in open5gs-mmed/s6a (#3156)
An assert shall be triggered.

The vulnerable code path is in src/mme/mme-fd-path.c:

```
/* s6a process Subscription-Data from avp */
static int mme_s6a_subscription_data_from_avp(struct avp *avp,
    ogs_subscription_data_t *subscription_data,
    mme_ue_t *mme_ue, uint32_t *subdatamask)
{
...
    /* AVP: 'MSISDN'( 701 )
     * The MSISDN AVP is of type OctetString. This AVP contains an MSISDN,
     * in international number format as described in ITU-T Rec E.164 [8],
     * encoded as a TBCD-string, i.e. digits from 0 through 9 are encoded
     * 0000 to 1001; 1111 is used as a filler when there is an odd number
     * of digits; bits 8 to 5 of octet n encode digit 2n; bits 4 to 1 of
     * octet n encode digit 2(n-1)+1.
     * Reference: 3GPP TS 29.329
     */
    ret = fd_avp_search_avp(avp, ogs_diam_s6a_msisdn, &avpch1);
    ogs_assert(ret == 0);
    if (avpch1) {
        ret = fd_msg_avp_hdr(avpch1, &hdr);
        ogs_assert(ret == 0);
        if (hdr->avp_value->os.data && hdr->avp_value->os.len) {
            mme_ue->msisdn_len = hdr->avp_value->os.len;                /* 1 */
            memcpy(mme_ue->msisdn, hdr->avp_value->os.data,
                    ogs_min(mme_ue->msisdn_len, OGS_MAX_MSISDN_LEN));   /* 2 */
            ogs_buffer_to_bcd(mme_ue->msisdn,
                    mme_ue->msisdn_len, mme_ue->msisdn_bcd);            /* 3 */
            *subdatamask = (*subdatamask | OGS_DIAM_S6A_SUBDATA_MSISDN);
        }
    }
```
2024-05-01 14:51:11 +09:00
Sukchan Lee
e89aa79efe [SEC] Stack overflow in open5gs-hssd/s6a (#3155)
An assert shall be triggered if a stack corruption occurs.

The vulnerable code path is in src/hss/hss-s6a-path.c:

```
static int hss_ogs_diam_s6a_air_cb( struct msg **msg, struct avp *avp,
        struct session *session, void *opaque, enum disp_action *act)
{
..
    ogs_plmn_id_t visited_plmn_id;
..
    ret = fd_msg_search_avp(qry, ogs_diam_visited_plmn_id, &avp);
    ogs_assert(ret == 0);
    ret = fd_msg_avp_hdr(avp, &hdr);
    ogs_assert(ret == 0);
    memcpy(&visited_plmn_id, hdr->avp_value->os.data, hdr->avp_value->os.len);
```
2024-04-30 22:25:52 +09:00
Sukchan Lee
048a74005b [SEC] Heap overflow in parse PLMN-ID (#3154)
An assert shall be triggered if sepp_node is corrupted.

```
pwndbg> p *sepp_node
$5 = {
  lnode = {
    prev = 0x0,
    next = 0xaaaac920c638
  },
  receiver = 0xaaaac9230990 "sepp2.localdomain",
  negotiated_security_scheme = OpenAPI_security_capability_TLS,
  target_apiroot_supported = true,
  plmn_id = {{
      mcc1 = 6 '\006',
      mcc2 = 6 '\006',
      mcc3 = 6 '\006',
      mnc1 = 6 '\006',
      mnc2 = 6 '\006',
      mnc3 = 6 '\006'
    } <repeats 12 times>},
  num_of_plmn_id = 6710887,
  target_plmn_id_presence = false,
  target_plmn_id = {
    mcc1 = 0 '\000',
    mcc2 = 0 '\000',
    mcc3 = 0 '\000',
    mnc1 = 0 '\000',
    mnc2 = 0 '\000',
    mnc3 = 0 '\000'
  },
  supported_features = 1,
  sm = {
    init = 0xaaaaada181fc <sepp_handshake_state_initial>,
    fini = 0xaaaaada18390 <sepp_handshake_state_final>,
    state = 0xaaaaada194b4 <sepp_handshake_state_established>
  },
  t_establish_interval = 0xffffa7d6c4e0,
  client = 0xaaaac91af010,
  n32f = {
    client = 0xaaaac91af090
  }
}
pwndbg> p/x sepp_node.num_of_plmn_id
$6 = 0x666667
```
2024-04-30 22:10:45 +09:00
Sukchan Lee
f6c0ded7b4 [NSSF] Added POST nnrf-nfm/nf-status-notify
When NSSF was first implemented, nf-status-notify was not required.

This is because there was no need to be notified
if other NFs were registered or de-registered in the NRF.

However, this situation changed with the addition of SEPP.

NSSFs can be notified whenever a SEPP registers or de-registers an NRF.

Therefore, we added nf-status-notify,
which was not implemented when the NSSF was originally created.
2024-04-30 21:35:42 +09:00
Sukchan Lee
819861be2f [DOCS] Update Helm Chars Links (#3173) 2024-04-27 09:18:11 +09:00
Sukchan Lee
4c00edd839 Update document for v2.7.1 2024-04-19 21:24:08 +09:00
Sukchan Lee
426fa3f84a Release v2.7.1 2024-04-19 21:22:24 +09:00
Pau Espin Pedrol
c0a520f32a systemd: network: Add explicit routes towards tundev for UE pool of addresses
When running the open5gs package with systemd network config, the 1st IP address
of the UE pool configured in open5gs-upfd config file for ogstun is
being assigned to the interface through this file.
That was discussed as being a desirable default setup.

However, in the event a user wants a setup where no IP address is
assigned to the tundev, then it's not enough removing the IP address,
because then the implicit routing rules regarding the subnet of the IP
address added automatically by the kernel are also removed.

This patch adds config sections to set up the routing explicitly, with
the aim to get the routing still applied if the user decides to comment
out the IP address, so that packets are still forwarded properly in that
case.

Related: https://osmocom.org/issues/6361
2024-04-19 08:32:19 +09:00
Sukchan Lee
d14304461b Oops! Fix the compile error! 2024-04-18 21:32:25 +09:00
Sukchan Lee
a9b1b116b3 [SBI] Generate URI via HTTP.location as is (#3058)
A friend in the community was trying to connect an SMF made by another
manufacturer with an SBI interface and found a big problem with Open5GS.

All of the code in the part that generates the Resource URI
from HTTP.location is invalid.

For example, suppose we create a Resource URI with SMContext as below.
{apiRoot}/nsmf-pdusession/<apiVersion>/sm-contexts/{smContextRef}

In this case, Open5GS extracted the {smContextRef} part of the HTTP.location
and appended it to the beginning
{apiRoot}/nsmf-pdusession/<apiVersion>/sm-contexts/.

This implementation may not work properly if the apiRoot changes.
Consider a different port number as shown below.

<HTTP.location>
127.0.0.4:9999/nsmf-pdusession/v1/sm-contexts/1

The SMF may send an apiRoot to the AMF with a changed port number,
in which case the AMF must honor it.

Therefore, instead of extracting only the smContextRef from HTTP.location,
we modified it to use the whole thing to create a Resource URI.

We modified all NFs that use HTTP.location in the same way, not just SMFs.
2024-04-18 21:24:07 +09:00
Oliver Smith
4ab22dc98e docs: quickstart: add configure logging section
Add a section that explains how to fix duplicate timestamps in
journalctl.
2024-04-18 21:08:35 +09:00
Oliver Smith
8abd35580b configs, docs: adjust to logger config change 2024-04-18 21:08:35 +09:00
Oliver Smith
7973e45d16 [CORE] logger: add option to disable timestamps
Add an option to disable printing the timestamp. This is useful to not
have duplicate timestamps, when stderr is piped into a logging system
that adds timestamps on its own. For example with systemd's journald:

$ journalctl -u open5gs-smfd
Apr 10 13:25:18 hostname open5gs-smfd[1582]: 04/10 13:25:18.274: [app] INFO: Configuration: '/etc/open5gs/smf.yaml' (../lib/app/ogs-init.c:130)

Configuration change:
```
<OLD Format>
logger:
  file: /var/log/open5gs/smf.log

<NEW Format>
logger:
  file:
    path: /var/log/open5gs/smf.log
```

Example config, to have no timestamps on stderr:
```
logger:
  default:
    timestamp: false
  file:
    path: /var/log/open5gs/smf.log
    timestamp: true
```
2024-04-18 21:08:35 +09:00
Sukchan Lee
f960047ccb [SMF/UPF] Follow-up on Pull #3137 (Issues #2975) 2024-04-14 09:19:07 +09:00
Sukchan Lee
a6830b30a0 [SMF/UPF] Changes subnet configuration (#2975)
The way subnet is set up has changed as shown below.

```
<OLD Format>
smf:
  session:
    - subnet: 10.45.0.1/16

<NEW Format>
smf:
  session:
    - subnet: 10.45.0.0/16
      gateway: 10.45.0.1
```

For more information, please refer to Pull Request #2975.
2024-04-13 19:31:19 +09:00
Sukchan Lee
2b6369e9d9 [SMF] crash when malformed NAS message (#3132)
A malformed PDU Session Modification Request is sent from UE
after Registration Complete.

```
Crash 1:
04/12 15:00:44.031: [amf] INFO: [imsi-999700000000001:1:11][0:0:NULL] /nsmf-pdusession/v1/sm-contexts/{smContextRef}/modify (../src/amf/nsmf-handler.c:837)
04/12 15:00:46.569: [nas] FATAL: ogs_nas_parse_qos_flow_descriptions: Assertion `descriptions->length' failed. (../lib/nas/5gs/types.c:486)
04/12 15:00:46.569: [core] FATAL: backtrace() returned 11 addresses (../lib/core/ogs-abort.c:37)
../src/smf/../../lib/nas/5gs/libogsnas-5gs.so.2(ogs_nas_parse_qos_flow_descriptions+0x162) [0x7e6e7a5a4e5d]
../src/smf/open5gs-smfd(+0x8c6ec) [0x5dd6c333d6ec]
../src/smf/open5gs-smfd(+0x2d69b) [0x5dd6c32de69b]
../src/smf/../../lib/core/libogscore.so.2(ogs_fsm_dispatch+0x119) [0x7e6e7b216c0c]
../src/smf/open5gs-smfd(+0x288b3) [0x5dd6c32d98b3]
../src/smf/../../lib/core/libogscore.so.2(ogs_fsm_dispatch+0x119) [0x7e6e7b216c0c]
../src/smf/open5gs-smfd(+0xf2d8) [0x5dd6c32c02d8]
../src/smf/../../lib/core/libogscore.so.2(+0x1197a) [0x7e6e7b20797a]
/lib/x86_64-linux-gnu/libc.so.6(+0x94ac3) [0x7e6e7a094ac3]
/lib/x86_64-linux-gnu/libc.so.6(+0x126850) [0x7e6e7a126850]
04/12 15:00:46.613: [app] ERROR: Signal-NUM[17] received (Child status change) (../src/main.c:81)
04/12 15:00:46.613: [sbi] WARNING: [92] HTTP/2 stream 19 was not closed cleanly before end of the underlying stream (../lib/sbi/client.c:626)
04/12 15:00:46.613: [scp] WARNING: response_handler() failed [-1] (../src/scp/sbi-path.c:539)
04/12 15:00:46.613: [amf] ERROR: [1:0] No SmContextUpdateError [500] (../src/amf/nsmf-handler.c:866)
04/12 15:00:46.613: [amf] ERROR: AMF_SESS_CLEAR (../src/amf/amf-sm.c:484)
04/12 15:00:46.613: [amf] INFO: [Removed] Number of AMF-Sessions is now 0 (../src/amf/context.c:2551)
04/12 15:00:50.596: [nrf] WARNING: [c466ec64-f8fe-41ee-a888-194dc4363612] No heartbeat (../src/nrf/nrf-sm.c:260)
04/12 15:00:50.596: [nrf] INFO: [c466ec64-f8fe-41ee-a888-194dc4363612] NF de-registered (../src/nrf/nf-sm.c:205)
04/12 15:00:50.596: [sbi] INFO: [c466ec64-f8fe-41ee-a888-194dc4363612:1] NF removed (../lib/sbi/nnrf-handler.c:750)
04/12 15:00:50.596: [sbi] INFO: [c466ec64-f8fe-41ee-a888-194dc4363612:1] NF removed (../lib/sbi/nnrf-handler.c:750)
04/12 15:00:55.094: [pfcp] WARNING: [10] LOCAL  No Reponse. Give up! for step 1 type 1 peer [127.0.0.4]:8805 (../lib/pfcp/xact.c:599)
04/12 15:00:55.094: [upf] WARNING: No Heartbeat from SMF [127.0.0.4]:8805 (../src/upf/pfcp-sm.c:329)
04/12 15:00:55.094: [upf] INFO: PFCP de-associated [127.0.0.4]:8805 (../src/upf/pfcp-sm.c:199)
04/12 15:01:02.599: [pfcp] WARNING: [11] LOCAL  No Reponse. Give up! for step 1 type 5 peer [127.0.0.4]:8805 (../lib/pfcp/xact.c:599)
04/12 15:01:06.098: [upf] WARNING: Retry to association with peer [127.0.0.4]:8805 failed (../src/upf/pfcp-sm.c:107)

Crash 2:
04/12 15:16:39.748: [amf] INFO: [imsi-999700000000001:1:11][0:0:NULL] /nsmf-pdusession/v1/sm-contexts/{smContextRef}/modify (../src/amf/nsmf-handler.c:837)
04/12 15:16:42.155: [nas] FATAL: ogs_nas_parse_qos_rules: Assertion `size+sizeof(rule->flow.flags) <= length' failed. (../lib/nas/5gs/types.c:961)
04/12 15:16:42.155: [core] FATAL: backtrace() returned 11 addresses (../lib/core/ogs-abort.c:37)
../src/smf/../../lib/nas/5gs/libogsnas-5gs.so.2(ogs_nas_parse_qos_rules+0x12d1) [0x7d1affbd2d72]
../src/smf/open5gs-smfd(+0x8b446) [0x629a57861446]
../src/smf/open5gs-smfd(+0x2d69b) [0x629a5780369b]
../src/smf/../../lib/core/libogscore.so.2(ogs_fsm_dispatch+0x119) [0x7d1affd05c0c]
../src/smf/open5gs-smfd(+0x288b3) [0x629a577fe8b3]
../src/smf/../../lib/core/libogscore.so.2(ogs_fsm_dispatch+0x119) [0x7d1affd05c0c]
../src/smf/open5gs-smfd(+0xf2d8) [0x629a577e52d8]
../src/smf/../../lib/core/libogscore.so.2(+0x1197a) [0x7d1affcf697a]
/lib/x86_64-linux-gnu/libc.so.6(+0x94ac3) [0x7d1afea94ac3]
/lib/x86_64-linux-gnu/libc.so.6(+0x126850) [0x7d1afeb26850]
04/12 15:16:42.199: [sbi] WARNING: [92] HTTP/2 stream 13 was not closed cleanly before end of the underlying stream (../lib/sbi/client.c:626)
04/12 15:16:42.199: [scp] WARNING: response_handler() failed [-1] (../src/scp/sbi-path.c:539)
04/12 15:16:42.199: [app] ERROR: Signal-NUM[17] received (Child status change) (../src/main.c:81)
04/12 15:16:42.200: [amf] ERROR: [1:0] No SmContextUpdateError [500] (../src/amf/nsmf-handler.c:866)
04/12 15:16:42.200: [amf] ERROR: AMF_SESS_CLEAR (../src/amf/amf-sm.c:484)
04/12 15:16:42.200: [amf] INFO: [Removed] Number of AMF-Sessions is now 0 (../src/amf/context.c:2551)
04/12 15:16:49.858: [nrf] WARNING: [23f1aee2-f901-41ee-a488-85a58e1e3420] No heartbeat (../src/nrf/nrf-sm.c:260)
04/12 15:16:49.858: [nrf] INFO: [23f1aee2-f901-41ee-a488-85a58e1e3420] NF de-registered (../src/nrf/nf-sm.c:205)
04/12 15:16:49.859: [sbi] INFO: [23f1aee2-f901-41ee-a488-85a58e1e3420:1] NF removed (../lib/sbi/nnrf-handler.c:750)
04/12 15:16:49.859: [sbi] INFO: [23f1aee2-f901-41ee-a488-85a58e1e3420:1] NF removed (../lib/sbi/nnrf-handler.c:750)
04/12 15:16:59.364: [pfcp] WARNING: [5] LOCAL  No Reponse. Give up! for step 1 type 1 peer [127.0.0.4]:8805 (../lib/pfcp/xact.c:599)
04/12 15:16:59.364: [upf] WARNING: No Heartbeat from SMF [127.0.0.4]:8805 (../src/upf/pfcp-sm.c:329)
04/12 15:16:59.364: [upf] INFO: PFCP de-associated [127.0.0.4]:8805 (../src/upf/pfcp-sm.c:199)
```

So, I've fixed it.
2024-04-13 15:03:09 +09:00
Sukchan Lee
3cfa8ba301 [AMF/MME] NAS message in an invaild state (#3131)
In InitialUEMessage, send a NAS message with a message type
other than Registration Request, Deregistration Request, or Service Request,
the following messages from UE will not be accepted.

We found this issue in not only the initial state but multiple states.
We believe if an attacker has the ability to inject a NAS message to the core,
it can perform a DoS attack on the victim UE.

So, I've fixed that The MME/AMF deletes MME_UE_S1AP_ID/AMF_UE_NGAP_ID,
and will not accept any following messages from the UE.
2024-04-13 13:25:09 +09:00
Sukchan Lee
cd76dc641d [SEC] Crash and Protocol Violations
The AMF will crash on the following locations when it receives a sequence
of NAS messages from a UE.

- ogs_nas_encrypt: Assertion `pkbuf->len' failed. (../lib/nas/common/security.c:86)
- gmm_state_authentication: Assertion `r != OGS_ERROR' failed. (../src/amf/gmm-sm.c:1561)

Besides the crashes found above, an incorrect protocol transition
is identified in Open5GS. Without any Registration/Attach Request message,
when the Identity Response message sent, the Core Network responds
with an Authentication Request message. According to the standard,
only the Registration/Attach Request message can start a state transition
from the 5GMM/EMM-DEREGISTERED state to the 5GMM/EMM-COMMON-PROCEDURE-INITIATED.

So I've modified the relevant code to address these issues.
2024-04-09 16:23:49 +09:00
Sukchan Lee
09410eba08 Revert "udpate it"
This reverts commit 6814de5c57.
2024-04-09 11:20:16 +09:00
Sukchan Lee
6814de5c57 udpate it 2024-04-09 11:18:57 +09:00
Pau Espin Pedrol
34b930b4e5 RFC: [HSS] Initial global metrics 2024-04-09 08:35:46 +09:00
Sukchan Lee
3b820b1dbe Revert "RFC: [HSS] Initial global metrics"
This reverts commit 253b09f589.
2024-04-09 08:35:15 +09:00
Sukchan Lee
01ef8ea6f2 Revert "[HSS] Initial Diameter S6a and Cx metrics"
This reverts commit d3a779e715.
2024-04-09 08:35:09 +09:00
Pau Espin Pedrol
d3a779e715 [HSS] Initial Diameter S6a and Cx metrics 2024-04-09 07:14:49 +09:00
Pau Espin Pedrol
253b09f589 RFC: [HSS] Initial global metrics 2024-04-09 07:14:49 +09:00
Pau Espin Pedrol
cfd4f28f8a cosmetic: Fix trailing whitespace 2024-04-09 07:13:51 +09:00
Pau Espin Pedrol
b30604b289 [SMF] Initial implementation of Final-Unit-Indication
Only "Terminate" action is implemented so far, and it will be used
regardless of the action provided by the OCS.
2024-04-09 07:13:33 +09:00
Sukchan Lee
bbdfca29bf [SGWC] Fixed crashing when Create Bearer Response occurs after Delete Bearer Response (#3109)
If a Create Bearer Response occurs after a Delete Bearer Response,
SGW-C crashes.

The execution is stopped by the following ASSERT
because it tries to access the UL Tunnel
deleted by the Delete Bearer Response.

```
03/28 17:28:41.229: [gtp] DEBUG: [7] LOCAL Find GTPv2 peer [172.22.0.9]:2123 (../lib/gtp/xact.c:949)
03/28 17:28:41.229: [gtp] DEBUG: [7] LOCAL Receive peer [172.22.0.9]:2123 (../lib/gtp/xact.c:966)
03/28 17:28:41.229: [gtp] DEBUG: [7] LOCAL UPD RX-96 peer [172.22.0.9]:2123 (../lib/gtp/xact.c:448)
03/28 17:28:41.229: [sgwc] DEBUG: Create Bearer Response (../src/sgwc/s11-handler.c:707)
03/28 17:28:41.229: [gtp] DEBUG: [7] LOCAL Commit peer [172.22.0.9]:2123 (../lib/gtp/xact.c:629)
03/28 17:28:41.230: [gtp] DEBUG: [7] LOCAL Delete peer [172.22.0.9]:2123 (../lib/gtp/xact.c:1149)
03/28 17:28:41.230: [sgwc] FATAL: sgwc_s11_handle_create_bearer_response: Assertion `ul_tunnel' failed. (../src/sgwc/s11-handler.c:802)
03/28 17:28:41.231: [core] FATAL: backtrace() returned 8 addresses (../lib/core/ogs-abort.c:37)
./open5gs-sgwcd(+0x189b7) [0x5b3c92cf09b7]
./open5gs-sgwcd(+0x13c6d) [0x5b3c92cebc6d]
/open5gs/install/lib/x86_64-linux-gnu/libogscore.so.2(ogs_fsm_dispatch+0x113) [0x70600ed63402]
./open5gs-sgwcd(+0x629d) [0x5b3c92cde29d]
/open5gs/install/lib/x86_64-linux-gnu/libogscore.so.2(+0x11754) [0x70600ed54754]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x8609) [0x70600ecfc609]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x43) [0x70600ec21353]
```

To solve this problem, I have modified to handle the exception appropriately,
display the error situation in the Cause of the Create Bearer Response,
and proceed with the execution.
2024-04-07 22:51:46 +09:00
Pau Espin Pedrol
e078b33f0c [SMF] Fix Volume/Time Threshold conversion Gy->PFCP
AS shown in 3GPP TS 29.244 C.2.1.1 diagram, the meaning of Threshold
value is different in Diameter Gy and in PFCP interfaces.
In Diameter Gy the value sets the trigger for the "remaining credit",
while in PFCP the value sets the trigger for the "used credit".

ThresholdPFCP = Quota - ThresholdGy
2024-04-07 08:51:24 +09:00
Sukchan Lee
8484a5af60 [GTP] Incorrect destination TEID=0 (#3043)
If eg. PCRF or AAA diameter link is not yet ready (eg. PCRF crashed),
and a client sends a CreateSessionRequest announcing its ow F-TEID,
then open5gs-smfd answers with Create Session Response Cause=
"Remote peer not responding", but it is not setting the received F-TEID
in the header of the response, instead it sends with TEI=0.

As a result, the peer cannot match the CreateSessionResponse,
and needs to rely on its own timeout timer to figure out
that specific request failed.

To address this issue, I modified the GTP Response message to check
the Sender F-TEID and send it accordingly, setting the destination TEID
to the value of the Sender F-TEID.

I've made this modification only for SMF, but MME and SGW-C have not done so;
if you need to, you can work from the examples in SMF.

Similarly, the same situation can happen with PFCP. If anyone needs to do this
in the future, I think you can work on it this way.
2024-04-06 16:39:32 +09:00
Pau Espin Pedrol
990bfe96a8 [SMF] Gy: Check Multiple-Services-Credit-Control Result-Code in CCA-I
This is the continuation of commit
12158eebb8, which only checked the code in
CCA[Update], but not in CCA[Initial].

The handling in CCA[Initial] is a bit more complex since depending on
the outcome, we may end up with a Result-Code != SUCCESS in MSCC but the
session may still be created at the OCS because the message Result-Code
= SUCCESS. In that scenario, we want to abort setting up the PDN session
but we still need to make sure we terminate the Gy session that was just
created.
2024-04-05 21:35:36 +09:00
gstaa
eb2b19b39c Include cause in HTTP response ProblemDetails (#3051)
Cause is set according to particular NF standard.

Additionally:
- OGS_SBI_HTTP_STATUS_MEHTOD_NOT_ALLOWED typo fixed.
- [PCF] Fixed SM Policy establishment error handling
2024-04-04 23:29:20 +09:00
Pau Espin Pedrol
3ee4bb7d3c pfcp: Fix missing fields in ogs_pfcp_build_update_urr()
Flag bitmask check elements are reordered to follow same order as
IEs in 3GPP TS 29.244 7.5.4.4 "Update URR".
2024-04-04 23:23:32 +09:00
Pau Espin Pedrol
74fcd9b9c6 cosmetic: upf: Add missing lines between functions 2024-04-04 23:23:32 +09:00
Sukchan Lee
da5d424ed9 [MME] Incorrect behavior of SGsAP+Dedicated-Bearer (#3072)
First of all, it crashes when creating a Dedicated Bearer
on the default Session that is created for the first time.
This behavior should be possible, so the related ASSERT is removed.

Next, the InitialContextRequest is modified
during the Attach Request to include the first Bearer.

Finally, there was an issue where trying to create a Dedicated Bearer
with SGsAP enabled resulted in an InitialContextSetupRequest message
with a PTI of zero. This is because MME initializes the PTI to 0
upon receiving the Create Bearer Request while processing SGsAP.

All of these issues has been fixed.
2024-04-01 22:13:36 +09:00
Sukchan Lee
d32cc14a71 [DBI] mongoc version not checked correctly #3086
checks mongoc version with

which can unexpectedly return false in case of mongoc versions such as 2.3.4.

So, I've fixed it as below.
2024-03-31 20:41:50 +09:00
Sukchan Lee
e8a3b76af3 [SMF] Crash SMF when no GTP-C config (#3094)
When GTP-C secition of smf.yaml is deleted as follows to run smf as 5G,
it crashed.

```diff
--- smf.yaml.orig       2024-03-26 14:13:12.000000000 +0900
+++ smf.yaml    2024-03-26 14:29:40.701508424 +0900
@@ -23,9 +23,6 @@
     client:
       upf:
         - address: 127.0.0.7
-  gtpc:
-    server:
-      - address: 127.0.0.4
   gtpu:
     server:
       - address: 127.0.0.4
@@ -47,7 +44,7 @@
 #    - ::1
 #  ctf:
 #    enabled: auto   # auto(default)|yes|no
-  freeDiameter: /root/open5gs/install/etc/freeDiameter/smf.conf
+#  freeDiameter: /root/open5gs/install/etc/freeDiameter/smf.conf

 ################################################################################
 # SMF Info
Open5GS daemon v2.7.0-119-g581d255

03/26 14:39:42.844: [app] INFO: Configuration: 'install/etc/open5gs/smf.yaml' (../lib/app/ogs-init.c:130)
03/26 14:39:42.845: [app] INFO: File Logging: '/root/open5gs/install/var/log/open5gs/smf.log' (../lib/app/ogs-init.c:133)
03/26 14:39:42.913: [metrics] INFO: metrics_server() [http://127.0.0.4]:9090 (../lib/metrics/prometheus/context.c:299)
03/26 14:39:42.913: [smf] WARNING: No diameter configuration (../src/smf/fd-path.c:30)
03/26 14:39:42.913: [smf] FATAL: smf_gtp_open: Assertion `ogs_gtp_self()->gtpc_sock || ogs_gtp_self()->gtpc_sock6' failed. (../src/smf/gtp-path.c:253)
03/26 14:39:42.913: [core] FATAL: backtrace() returned 8 addresses (../lib/core/ogs-abort.c:37)
./install/bin/open5gs-smfd(+0x391ab) [0x55d28319b1ab]
./install/bin/open5gs-smfd(+0x10046) [0x55d283172046]
./install/bin/open5gs-smfd(+0xf3de) [0x55d2831713de]
./install/bin/open5gs-smfd(+0xfcf9) [0x55d283171cf9]
/lib/x86_64-linux-gnu/libc.so.6(+0x29d90) [0x7f0a145f9d90]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80) [0x7f0a145f9e40]
./install/bin/open5gs-smfd(+0xf305) [0x55d283171305]
Aborted (core dumped)
```

So, Fixed to run SMF with GTP-C disabled for 5G.
2024-03-31 20:25:25 +09:00
Oliver Smith
be7d08bffc logrotate: fix reload failures
Do not attempt to run "systemctl reload" on the open5gs services, unless
they are running. This fixes the logrotate service failing on this
postrotate script, if units are not running or not installed.
2024-03-27 20:37:36 +09:00
Sukchan Lee
581d255c53 Revert "[GTP/PFCP]] incorrect dst TEI=0/SEID=0 (#3043)"
This reverts commit a667525041.
2024-03-26 08:04:26 +09:00
Sukchan Lee
390a9dd637 [MME] incorrect behavior of the SGsAP
1. According to ETSI TS 129 118 4.1, if the Network Access Mode (NAM) is set
   to "Packet only," no SGs association should be established.

2. If the NAM is set to "Packet and Circuit," and the SGs association is
   rejected by the CS core, this rejection should only impact
   the SGs association itself and not result in a UE attach rejection
   for a UE with a valid HSS account.
2024-03-24 20:31:56 +09:00
Sukchan Lee
7c14073533 [UDM] Added validation for pubkey
a cryptographic vulnerability in the SUCI decryption routines
of Open5GS 5G—specifically Profile B, which uses P-256 (secp256r1)
for its elliptic curve routines.

If a mobile device user passes a public key within its SUCI
that does not correspond to a valid point on the P-256 elliptic curve,
the Open5GS UDM will not check the point
before running elliptic curve operations with it and returning a response
to the mobile device user.

If the public key is not checked to be a valid point, an attacker can leverage
this behavior to extract the Profile B private key from the UDM,
as has been done in other domains
(https://owasp.org/www-pdf-archive/Practical_Invalid_Curve_Attacks_on_TLS-ECDH_-_Juraj_Somorovsky.pdf).

Note that Profile A is not similarly vulnerable to this, as it is impossible
to construct an invalid point on a curve25519 elliptic curve.

There was some work that went into developing a practical proof of concept
of this kind of attack against free5gc last year; it can be found here:

https://www.gsma.com/security/wp-content/uploads/2023/10/0073-invalid_curve.pdf

And here is the free5gc security advisory:

https://github.com/advisories/GHSA-cqvv-r3g3-26rf

To mitigate this issue in Open5GS, the public key of the UE must be validated
by the UDM prior to use. Adding a validation function such as the following
should work:

I designed this code based on information from https://crypto.stackexchange.com/questions/90151/verify-that-a-point-belongs-to-secp256r1.
2024-03-24 14:09:10 +09:00
Sukchan Lee
cf4ad1f248 [PFCP] Session removal while waiting PFCP reply (#3040)
'node_timeout' and some other functions can remove a smf_sess_t
while that session is still waiting for a PFCP reply
and has an active PFCP xact.

In this case, xact->data points to the deleted session
and xact's timeout function (sess_5gc_timeout for example)
eventually refers to this already freed session.

This fix prevents duplicate deletes from occurring by checking to see
if the session context has already been deleted when the timeout occurs.

Additionally, it moves session deletions out of timer callbacks into
state machine by reselect_upf().

Due to the way 'ogs_timer_mgr_expire' calls timer callbacks,
one must not stop or expire timers from within a timer callback.

And now one must not remove sessions from within a timer callback.
2024-03-24 09:50:23 +09:00
Sukchan Lee
a667525041 [GTP/PFCP]] incorrect dst TEI=0/SEID=0 (#3043)
If eg. PCRF or AAA diameter link is not yet ready (eg. PCRF crashed), and
a client sends a CreateSessionRequest announcing its ow F-TEID,
then open5gs-smfd answers with Create Session Response Cause=
"Remote peer not responding", but it is not setting the received F-TEID
in the header of the response, instead it sends with TEI=0.

As a result, the peer cannot match the CreateSessionResponse, and needs
to rely on its own timeout timer to figure out that specific request failed.

This also happens in PFCP, so to solve this problem, I added teid/seid_presence
to the interface that sends the error message as shown below.

void ogs_gtp2_send_error_message(ogs_gtp_xact_t *xact,
        int teid_presence, uint32_t teid, uint8_t type, uint8_t cause_value);
void ogs_pfcp_send_error_message(
    ogs_pfcp_xact_t *xact, int seid_presence, uint64_t seid, uint8_t type,
    uint8_t cause_value, uint16_t offending_ie_value);
2024-03-23 10:06:16 +09:00
Sukchan Lee
1dc4300203 [AMF] ran_ue can be NULL in IMPLICIT Dereg (#2999)
When we try to send an SBI message to SMF to release a session,
sometimes ran_ue is NULL. This happens when the Mobile Reachable Timer expires
and Implicit Deregistration is triggered.

To account for this case, we added the `ran_ue` parameter to the SBI interface
and made it work even if it is NULL.
2024-03-22 06:51:09 +09:00
Pau Espin Pedrol
3b5e851f5d [SMF] Gy: Remove 3GPP-RAT-Type AVP from Multiple-Services-Credit-Control AVP
This AVP is optional and was added in later releases of the 3GPP TS
32.299 spec. For instance, it shows up in Release 16 (V16.2.0), but
doesn't show up in Release 12 (V12.7.0).

Some OCS, like PortaOne OCS, implement older versions of the release
(V12.14.0), and hence fail when receiving the 3GPP-RAT-Type inside
Multiple-Services-Credit-Control AVP.
Since nowadays we also send the 3GPP-RAT-Type in PS-Information AVP,
which has been specified for longer time (it already shows up in
V12.7.0), drop it from Multiple-Services-Credit-Control to have greater
compatibility with other vendors.
2024-03-21 07:14:06 +09:00
Pau Espin Pedrol
d0b31177cc [SMF] Gy: Include 3GPP-RAT-Type AVP in PS-Information AVP
The AVP is optional, but used by some OCS vendors like PortaOne OCS make
use of it.
2024-03-21 07:14:06 +09:00
Pau Espin Pedrol
6420e80fe6 [SMF] Gy: Split PS-Information AVP creation into its own function
Makes the already long function easier to follow, since there's one
level less of encapsulation inside it.
2024-03-21 07:14:06 +09:00
Pau Espin Pedrol
ca5a29dbe3 [SMF] Gy: Use correct QoS AVP descriptor from Gy instead of Gx one 2024-03-21 07:13:55 +09:00
Pau Espin Pedrol
12158eebb8 [SMF] Gy: Check Multiple-Services-Credit-Control Result-Code 2024-03-21 07:13:44 +09:00
Matej Gradišar
e1820e4e54 UE context transfer (#3052)
* [SBI] Handle and store AMF info

* [SBI] Add "target GUAMI" discovery option

* [SBI] Handle UeContextTransfer request and response messages

* [AMF] Handle NF discovery from AMF to AMF

* [AMF] Add UE Context Transfer Request/Response from AMF to AMF

* [SCP] Handle UeContextTransfer

* Follow-up on #3052

* [AMF] force authentication after 'Ue context transfer' for now

* [AMF] force authentication after 'Ue context transfer' for now

---------

Co-authored-by: Sukchan Lee <acetcom@gmail.com>
2024-03-21 07:07:25 +09:00
Pau Espin Pedrol
ea122da9fc [SMF] Allow Gy CCA event to contain NULL gtp_xact
This happens for instance when the session is terminated due to a
rejection coming from the OCS, hence no originating GTP xact producing
the tear down.
2024-03-20 07:03:18 +09:00
Pau Espin Pedrol
32a275b9a8 [SMF] smf_gy_send_ccr: Allow NULL xact
The xact may well be NULL, eg. when tearin down the session
(send_ccr_termination_req_gx_gy_s6b()) because OCS rejected an update:
Hence there's no GTP xact originating the tear down, aka e->gtp-xact
passed to the function is NULL.

smf_gx_send_ccr() is already handling this case properly, contrary to smf_gf_send_ccr().
2024-03-20 07:03:18 +09:00
Pau Espin Pedrol
10a0647f09 [SMF] Gy: Tear down session when CCR-Update is rejected by OCS 2024-03-20 07:03:18 +09:00
Bostjan Meglic
f66c65b9cf [SBI] Fix handling "dnn" URL parameter
Split handling discovery and other URL parameters into 2 distinct sets,
to prevent bugs with overlaps.
2024-03-18 17:59:57 +09:00
Sukchan Lee
4ee3ea08c4 Add special sponsors mobi 2024-03-18 06:49:28 +09:00
Sukchan Lee
7063d853e7 [SBI] Preamble parsing issues in MIME (#3058)
When building the MIME Multipart Media Encapsulation format
within an SBI message in the NF of a third-party product,
Open5GS does not parse properly if it contains a Preamble CRLF.

For example,

```
    TCP/HTTP2
    Stream: Data, Stream ID: 1, Length 841
    MIME Multipart Media Encapsulation, Type: multipart/related, Boundary: "gc0pJq08jU534c"
--->Preamble: 0d0a
    First boundary: --gc0pJq08jU534c\r\n
    Encapsulated multipart part: (application/json)
    Boundary: \r\n--gc0pJq08jU534c\r\n
    Encapsulated multipart part: (application/vnd.3gpp.5gnas)
    Boundary: \r\n--gc0pJq08jU534c\r\n
    Encapsulated multipart part: (application/vnd.3gpp.ngap)
    Last Boundary: \r\n--gc0pJq08jU534c--\r\n
```
2024-03-17 10:36:29 +09:00
Sukchan Lee
a1a0a8c0a6 [MME] Race condition between S1AP and S6A
Assume the UE has Attached, the session has been created,
and is in the IDLE state with the UEContextRelease process.

This could result in the following call flow.

1. TAU request without Integrity Protected
2. Authentication request/response
3. Security-mode command/complete

MME can be performed simultaneously by the HSS(S6A) and UE(S1AP).

Update-Location-Request
Service request
Service reject
Delete Session Request
Delete Session Response
Update-Location-Answer
UEContextReleaseCommand for Service reject
TAU reject
UEContextReleaseCommand for TAU reject
UEContextReleaseComplete
UEContextReleaseComplete

MME crashes when UE sends a service request(S1AP) during ULR/ULA(S6A) with HSS,
which has been fixed.
2024-03-16 23:08:07 +09:00
Pau Espin Pedrol
a1bd80515b [MME] Assign valid PTI to sess created by mobility from 2G
Transaction Identity doesn't map 1-to-1 with Procedure Transaction
Identity: The value ranges change, and PTI cannot use value 0 8which
means unused).
Hence, for now let's simply set the PTI to a valid default value instead
of asserting during mme_sess_add:
Assertion `pti != OGS_NAS_PROCEDURE_TRANSACTION_IDENTITY_UNASSIGNED'

Related: https://github.com/open5gs/open5gs/issues/3020
2024-03-09 06:03:43 +09:00
Pau Espin Pedrol
b31fc343d1 cosmetic: Document spec references for unassigned identity values 2024-03-08 21:51:36 +09:00
mitmitmitm
a2b0284172 [SMF] Don't FSM_TRAN smf-sm into incorrect state 2024-03-08 21:14:07 +09:00
Pau Espin Pedrol
054323ba8d [mme] cosmetic: Document spec references stating NSAPI=EBI 2024-03-08 06:46:31 +09:00
Sukchan Lee
322719f3e7 [SEC] Vulnerabilities have been resolved (#2945)
Reachable assertion in amf_ue_set_suci

Location: src/amf/context.c:1968

```
void amf_ue_set_suci(amf_ue_t *amf_ue,
        ogs_nas_5gs_mobile_identity_t *mobile_identity)
{
    amf_ue_t *old_amf_ue = NULL;
    amf_sess_t *old_sess = NULL;
    char *suci = NULL;

    ogs_assert(amf_ue);
    ogs_assert(mobile_identity);

    suci = ogs_nas_5gs_suci_from_mobile_identity(mobile_identity);
    ogs_assert(suci);
```

Exploitable by: Base Station
Severity: denial of service
2024-03-06 07:20:50 +09:00
Sukchan Lee
199f4c7add [AMF] Fixed crash in no context setup (#2999)
Remove ogs_assert((__sESS)->gsm_message.n1buf) from AMF_SESS_STORE_5GSM_MESSAGE
because N1 buffer can become NULL during PDU session release.
2024-03-04 21:03:07 +09:00
Sukchan Lee
152b4400f8 Fixed docs for changing WebUI port 3000 => 9999 2024-03-02 16:57:45 +09:00
Sukchan Lee
2ceca49161 [MME/AMF] Fixed crash following Handover Request (#3014)
1. HandoverRequired
2. HandoverRequest
3. HandoverFailure
4. UEContextReleaseCommand
5. HandoverPreparationFailure

If UEContextReleaseComplete is not received,
the Source-UE will have the Target-UE.

6. HandoverRequired

There may be cases where the Source UE has a Target UE
from a previous HandoverRequired process. In this case,
it is recommended to force the deletion of the Target UE information
when receiving a new HandoverRequired.

7. HandoverRequest
8. HandoverFailure
9. UEContextReleaseCommand
10. UEContextReleaseComplete
11. HandoverPreparationFailure

... Crashed ...
2024-02-29 23:02:38 +09:00
Matej Gradisar
24b9150c15 [SMF] Check config file for overlapping UE subnets for subnets with no DNN 2024-02-28 12:06:02 +00:00
Sukchan Lee
4d7f2fb661 [SMF] Memory leak in Handling APCO IE (#3010) 2024-02-28 20:51:20 +09:00
Pau Espin Pedrol
32de75b1a5 [SMF] Setup Gy session when creating UE session over S2b interface
So far the Gy session creation triggered by S2b interface (ePDG) was not
implemented. Fix it.
2024-02-28 11:42:33 +00:00
Pau Espin Pedrol
4aaac999f7 [SMF] Handle APCO IE in S2b GTPv2C CreateSessionRequest/Response
This IE is used by UEs registering through S2b interface (ePDG) to
obtain DNS and P-CSCF server address information.
2024-02-28 11:40:31 +00:00
Sukchan Lee
0dd2ad6557 [MME] Added log messages to find memory problem 2024-02-27 21:16:50 +09:00
Sukchan Lee
9a515e9b1d [GTP-U] Fixed a stack overflow bug (#3003) 2024-02-23 19:59:04 +00:00
Sukchan Lee
41d8934677 [SMF] Added Bi-Directional Flow (#2909)
For bi-directions, the rules are created in the same form as for downlink
as shown below, so to apply them for uplink, we need to swap the rules
according to the interface.

RX : permit out from <P-CSCF_RTP_IP> <P-CSCF_RTP_PORT> to <UE_IP> <UE_PORT>
GX : permit out from <P-CSCF_RTP_IP> <P-CSCF_RTP_PORT> to <UE_IP> <UE_PORT>
PFCP : permit out from <P-CSCF_RTP_IP> <P-CSCF_RTP_PORT> to <UE_IP> <UE_PORT>
RULE : Source <P-CSCF_RTP_IP> <P-CSCF_RTP_PORT> Destination <UE_IP> <UE_PORT>
TFT : Local <UE_IP> <UE_PORT> REMOTE <P-CSCF_RTP_IP> <P-CSCF_RTP_PORT>

RX : permit in from <UE_IP> <UE_PORT> to <P-CSCF_RTP_IP> <P-CSCF_RTP_PORT>
GX : permit out from <P-CSCF_RTP_IP> <P-CSCF_RTP_PORT> to <UE_IP> <UE_PORT>
PFCP : permit out from <P-CSCF_RTP_IP> <P-CSCF_RTP_PORT> to <UE_IP> <UE_PORT>
RULE : Source <UE_IP> <UE_PORT> Destination <P-CSCF_RTP_IP> <P-CSCF_RTP_PORT>
TFT : Local <UE_IP> <UE_PORT> REMOTE <P-CSCF_RTP_IP> <P-CSCF_RTP_PORT>
2024-02-17 20:43:15 +01:00
Sukchan Lee
843c4950ac [ASN1C] Fixed asn1c library on 32bit (#2934)
APER encoding fails when using the asn_uint642INTEGER function on a 32-bit machine as shown below.

```C
   asn_uint642INTEGER(AMF_UE_NGAP_ID, 0xffffffff);
   ...
   aper_encode_to_buffer(...)
```

INTEGER APER encode/decode functions seem to be operating internally with long variables instead of intmax_t.
That is probably the reason of the failure.

@v0-e fixed this issues in the mouse07410/asn1c pull request.
https://github.com/mouse07410/asn1c/pull/176
https://github.com/mouse07410/asn1c/pull/177
2024-02-12 14:00:06 +09:00
Sukchan Lee
94bd68aa7b [MME] Follow-up on #2916
When there is no MME-UE Context, going to cleanup without setting
s6a_message could cause a segmentation fault.

We fixed the problem by moving the location of setting s6a_message
to before cleanup.
2024-02-08 18:46:45 +09:00
Sukchan Lee
290df460ef Added UPF performance test with NextEPC 2024-02-05 06:29:36 +09:00
Sukchan Lee
82398811db [UPF] Report after Session was Deleted (#2936)
The UPF is sending Session Report Request after the Session was Deleted,
when the Gy interface is active.

UPF is sending PFCP session report request after the session has been deleted
when the Gy interface is active. This is because some of the timers related to
the report are not deleted when the session is deleted.

We have fixed it to delete all the timers in the session
when the SESSION is deleted.
2024-02-04 09:32:33 +09:00
Sukchan Lee
8762425fbc [AMF] Fixed sm_context_ref failed (#2603, #2917) 2024-02-03 16:59:47 +09:00
Sukchan Lee
7e8f145973 Rollback Pull Request (#1911)
Problems with Purge-UE-Request/Answer can occur in the following situations

1. Attach Request
2. Authentication request
3. Authentication reject
4. UEContextReleaseCommand
5. UEContextReleaseComplete
6. Purge-UE-Request
7. Attach Request
8. Purge-UE-Answer
9. (UE Context Remove)

To resolve this issue, we have changed to delete the UE-Context
via mme_ue_remove() immediately upon receiving UEContextReleaseComplete()
without calling mme_s6a_send_pur().
2024-02-03 16:18:26 +09:00
Sukchan Lee
d1d3ec6fcb [SEC] Several vulnerabilities have been resolved.
1. Reachable assertion in ogs_nas_5gmm_decode

Location: lib/nas/5gs/decoder.c:4445

```c
int ogs_nas_5gmm_decode(ogs_nas_5gs_message_t *message, ogs_pkbuf_t *pkbuf)
{
    int size = 0;
    int decoded = 0;

    ogs_assert(pkbuf);
    ogs_assert(pkbuf->data);
    ogs_assert(pkbuf->len);
```

When a NAS payload is received over `src/amf/context.c:1675`NGAP that has no data, the ogs_assert(pkbuf->len) assertion will be triggered.

2.Reachable assertion in ogs_nas_emm_decode

```
int ogs_nas_emm_decode(ogs_nas_eps_message_t *message, ogs_pkbuf_t *pkbuf)
{
    int size = 0;
    int decoded = 0;

    ogs_assert(pkbuf);
    ogs_assert(pkbuf->data);
    ogs_assert(pkbuf->len);
```

Nearly identical to (1), but for LTE.

3. Reachable assertion in nas_eps_send_emm_to_esm

```
int nas_eps_send_emm_to_esm(mme_ue_t *mme_ue,
        ogs_nas_esm_message_container_t *esm_message_container)
{
    int rv;
    ogs_pkbuf_t *esmbuf = NULL;

    if (!mme_ue_cycle(mme_ue)) {
        ogs_error("UE(mme-ue) context has already been removed");
        return OGS_NOTFOUND;
    }

    ogs_assert(esm_message_container);
    ogs_assert(esm_message_container->length);
```

The ESM message payload may be 0-length, as the length is determined by a field in the NAS payload (which can be chosen arbitrarily by an attacker). This leads to the length assertion above being triggered.

5. Reachable assertion and incorrect hash calculation in ogs_kdf_hash_mme

```
void ogs_kdf_hash_mme(const uint8_t *message, uint8_t message_len, uint8_t *hash_mme)
{
    uint8_t key[32];
    uint8_t output[OGS_SHA256_DIGEST_SIZE];

    ogs_assert(message);
    ogs_assert(message_len);
    ogs_assert(hash_mme);

    memset(key, 0, 32);
    ogs_hmac_sha256(key, 32, message, message_len,
            output, OGS_SHA256_DIGEST_SIZE);

    memcpy(hash_mme, output+24, OGS_HASH_MME_LEN);
}
```

When handling NAS attach requests or TAU requests, the ogs_kdf_hash_mme function is passed the NAS payload. However, the length field is represented as an unsigned 8-bit integer, which the passed length of the packet may overflow. This leads to the passed value being truncated.

When the passed value is a multiple of 256, the above assertion (ogs_assert(message_len)) is triggered. Otherwise, the hash is computed on only the first n bits of the message (where n = actual_message_len % 256).
2024-02-03 10:41:12 +09:00
Sukchan Lee
be12610fb6 [AMF/MME] No STATE Change for the EMM/GMM-STATUS 2024-02-03 10:16:16 +09:00
Sukchan Lee
47419be650 [AMF/SMF] Resolved the Issue of Session Release Based on the Order of N1/N2 Messages (#2917)
There is an issue with SESSION RELEASE not working properly
depending on the PDU session release complete order
in the PDUSessionResourceReleaseResponse.

If the AMF receives PDUSessionResourceReleaseResponse
followed by PDU session release complete, it works correctly.

However, if it receives PDU session release complete
followed by PDUSessionResourceReleaseResponse, it does not work correctly
and sends an Error Indication to the UE/gNB.

To fix this issue, we added pdu_session_release_complete_received and
pdu_session_resource_release_response_received to the content
so that CLEAR_SM_CONTEXT_REF() is executed when both are received.
2024-02-03 09:42:09 +09:00
Sukchan Lee
3f0979dab2 [MME] Fixes crash in building s1ap message
Because a race condition can occur between S6A Diameter and S1AP message,
the following error handling code has been added.

1. InitialUEMessage + Attach Request + PDN Connectivity request
2. Authentication-Information-Request/Authentication-Information-Answer
3. Authentication Request/Response
4. Security-mode command/complete
5. Update-Location-Request/Update-Location-Answer
6. Detach request/accept

In the ULR/ULA process in step 6, the PDN Connectivity request is
pushed to the queue as an ESM_MESSAGE because the NAS-Type is still
an Attach Request.

See the code below in 'mme-s6a-handler.c' for where the queue is pushed.

  if (mme_ue->nas_eps.type == MME_EPS_TYPE_ATTACH_REQUEST) {
      rv = nas_eps_send_emm_to_esm(mme_ue,
              &mme_ue->pdn_connectivity_request);
      if (rv != OGS_OK) {
          ogs_error("nas_eps_send_emm_to_esm() failed");
          return OGS_NAS_EMM_CAUSE_PROTOCOL_ERROR_UNSPECIFIED;
      }
  } else if (mme_ue->nas_eps.type == MME_EPS_TYPE_TAU_REQUEST) {
      r = nas_eps_send_tau_accept(mme_ue,
              S1AP_ProcedureCode_id_InitialContextSetup);
      ogs_expect(r == OGS_OK);
      ogs_assert(r != OGS_ERROR);
  } else {
      ogs_error("Invalid Type[%d]", mme_ue->nas_eps.type);
      return OGS_NAS_EMM_CAUSE_PROTOCOL_ERROR_UNSPECIFIED;
  }

If you perform step 7 Detach request/accept here,
the NAS-Type becomes Detach Request and the EMM state changes
to emm_state_de_registered().

Since the PDN, which is an ESM message that was previously queued,
should not be processed in de_registered, the message is ignored
through error handling below.

Otherwise, MME will crash because there is no active bearer
in the initial_context_setup_request build process.

See the code below in 's1ap-build.c' for where the crash occurs.
  ogs_list_for_each(&mme_ue->sess_list, sess) {
      ogs_list_for_each(&sess->bearer_list, bearer) {
          ...
          if (mme_ue->nas_eps.type == MME_EPS_TYPE_ATTACH_REQUEST) {
          } else if (OGS_FSM_CHECK(&bearer->sm, esm_state_inactive)) {
              ogs_warn("No active EPS bearer [%d]", bearer->ebi);
              ogs_warn("    IMSI[%s] NAS-EPS Type[%d] "
                      "ENB_UE_S1AP_ID[%d] MME_UE_S1AP_ID[%d]",
                      mme_ue->imsi_bcd, mme_ue->nas_eps.type,
                      enb_ue->enb_ue_s1ap_id, enb_ue->mme_ue_s1ap_id);
              continue;
          }
          ...
      }
  }
2024-02-02 21:17:41 +09:00
Sukchan Lee
93110d011e [GTP-U] Fixed ogs_pfcp_find_gtpu_resource()(#2923)
As mentioned in the sgwu.yaml configuration file, it is possible to configure multiple addresses with different source_interface values for the gtpu interface.

Following the this section, I defined two addresses, one with source_interface set to 0 and another with source_interface set to 1. My expectation was to see different addresses for the two PDRs in the Session Establishment Response message during session establishment. However, both addresses were the same, and it was the address I had set for source_interface = 0.

When I looked into the code, I found the reason for the issue. In the lib/pfcp/context.c file, on line 1185, the function that determines the address is called as follows:

...
        } else {
            ogs_gtpu_resource_t *resource = NULL;
            resource = ogs_pfcp_find_gtpu_resource(
                    &ogs_gtp_self()->gtpu_resource_list,
                    pdr->dnn, OGS_PFCP_INTERFACE_ACCESS);
            if (resource) {
...
In the last parameter of this function, a constant value, OGS_PFCP_INTERFACE_ACCESS, is used. This causes every PDR with any source_interface to be considered as "access," and the value 0 is used for its interface.

I replaced the value with pdr->src_if, and the bug was resolved.
2024-01-30 22:39:34 +09:00
Pau Espin Pedrol
88a77f7bc5 [SMF,MME] Gn: Set Maximum SDU Size QoS field to 1500
Before this patch, it was set as 0, which is Reserved in Network to MS
direction.
2024-01-27 07:11:44 +09:00
Pau Espin Pedrol
a613be8c4c [SMF,MME] Gn: Set Delivery of erroneous SDUs QoS field to No
Before this patch, it was set as 0, which is Reserved in Network to MS
direction.
2024-01-27 07:11:44 +09:00
Pau Espin Pedrol
d95c82b21c [SMF,MME] Gn: Set Delivery order QoS field to No
Before this patch, it was set as 0, which is Reserved in Network to MS
direction.
2024-01-27 07:11:44 +09:00
Pau Espin Pedrol
a5feccf4c8 [SMF] Fix fixed-0 IPCP identifier in PCO ack 2024-01-27 07:10:55 +09:00
Sukchan Lee
3886891833 [MME] Crash due to a race condition
A race condition can occur in the following situations.
In conclusion, we can use this situation to determine
whether or not the UE Context has been removed and avoiding a crash.

For example, suppose a UE Context is removed in the followings.

1. Attach Request
2. Authentication-Information-Request
3. Authentication-Information-Answer
4. Authentication Request
5. Authentication Response(MAC Failed)
6. Authentication Reject
7. UEContextReleaseCommand
8. UEContextReleaseComplete

The MME then sends a Purge-UE-request to the HSS and deletes
the UE context as soon as it receives a Purge-UE-Answer.

Suppose an Attach Request is received from the same UE
between Purge-UE-Request/Answer, then the MME and HSS start
the Authentication-Information-Request/Answer process.

This can lead to the following situations.

1. Purge-UE-Request
2. Attach Request
3. Authentication-Information-Request
4. Purge-UE-Answer
5. [UE Context Removed]
6. Authentication-Information-Answer

Since the UE Context has already been deleted
when the Authentication-Information-Answer is received,
it cannot be processed properly.

Therefore, mme_ue_cycle() is used to check
whether the UE Context has been deleted and
decide whether to process or
ignore the Authentication-Information-Answer as shown below.
2024-01-25 23:27:34 +09:00
Pau Espin Pedrol
609c234f0b Document Gy interface spec reference 2024-01-25 07:05:33 +09:00
Pau Espin Pedrol
64598fab2e Document Gx interface spec references 2024-01-25 07:05:33 +09:00
Pau Espin Pedrol
29ea85ca4c cosmetic: pcrf/pcrf-gx-path.c: Fix trailing whitespace 2024-01-25 07:05:33 +09:00
Bostjan Meglic
dcdfc970ce initialize variables before using them 2024-01-22 17:34:59 +09:00
Bostjan Meglic
a3afc4764c memset input/output structure inside the function
Instead of checking if caller memset'ted the structure to zero, memset
it inside the function regardless.
There is no added benefit of a memset() + memcmp() to check if caller
cleared the structure used for outputing data from the database.
2024-01-22 17:34:59 +09:00
Bostjan Meglic
e650b66305 fix mismatch of parameters between prototype and declaration 2024-01-22 17:34:59 +09:00
jmasterfunk84
2583fd3c08 Introduce ability for multiple SDM_Subscriptions 2024-01-21 13:16:21 +09:00
Sukchan Lee
b94173ab41 [AMF/MME] Fixed M-TMSI pool release (#2307)
M-TMSI pool release was incorrectly modified and has now been corrected.
2024-01-21 11:58:43 +09:00
Gaber Stare
d7b896affb [SMF] Build URR at bearer modification 2024-01-20 08:20:24 +09:00
Sukchan Lee
97e1b1bd30 [PFCP] Fixed incorrect TLV names (#2887)
Fixed standards documentation that described incorrect TLV names.
2024-01-19 23:40:20 +09:00
Pau Espin Pedrol
60691b02d2 [MME] Gn: Introduce initial support for 2G->4G cell reselection
In an Inter-RAT setup a UE could perform a TAU coming from a 2G/3G network.
In that case the UE/MS is unknown to the MME and it should request the
SGSN context (MM, PDP) from the old SGSN. This is done through the following
GTPv1C message exchange on the Gn interface of SGSN and MME:
SGSN <- MME: SGSN Context Request
SGSN -> MME: SGSN Context Response
SGSN <- MME: SGSN Context Acknowledge

Diagram with full set of steps can be found at 3GPP TS 23.401 D.3.6.

This commit doesn't aim to be a complete implementation of the mentioned
procedure, since it's quite a complex one, with lots of fields and logic
required. This so far only implements in general the minimally
successful case by filling as much as possible the required set of
fields.
This will allow for a base onto which do incremental improvements and
fixes while testing against UEs and SGSNs (such as osmo-sgsn, which
doesn't yet support this procedure but will potentially earn it soon).

The reverse direction, aka UE issuing cell reselection 4G->2G was
already implemented (same as here, initial non-complete implementation)
in open5gs-mmed in commit 3d693da73e.

Related: https://osmocom.org/issues/6294
2024-01-17 23:05:19 +09:00
Sukchan Lee
4088cdf17d [MME] Hangs on an invalid S1AP message
Within the PathSwitchRequest packet,
the E-RABToBeSwitchedDLList has two bearers.

If the E-RAB-ID of both bearers is 5, the MME's list memory is destroyed
and the MME crashes. To fix this issue, we modified the code so that
the MME can work correctly with invalid S1AP messages.
2024-01-17 20:17:55 +09:00
Pau Espin Pedrol
52be56b839 [MME] Match any SGSN in same RAI if none with specific RAI+CI found
This will be useful for other procedures where only the RAI is known,
but not the specific CI. This is the case of idle mobility from Gb or Iu
to EUTRAN, where MME needs to request contexts based on the RAI mapped
in the GUTI obtained from the UE during TAU.
This also makes the config more resilient in RIM scenario, where an SGSN
can be picked now even if CI doesn't match, instead of failing or faling
back to the default route SGSN.
2024-01-16 06:37:29 +09:00
Pau Espin Pedrol
078bfc90da [GTPv1] Introduce APIs to decode MM Context and PDP Context IEs
They will be used in a follow-up patch implementing GERAN->EUTRAN idle
mobility.
2024-01-16 06:37:10 +09:00
Pau Espin Pedrol
feaa86fc9c [GTPv1] Fix encoding of MM Context IE if NRSNRA bit not set
The len byte, describing the length of the field coming after it,
is always expected according to the struct definition.
2024-01-16 06:37:10 +09:00
Pau Espin Pedrol
afa2c2c9e0 [CRYPT] Add ogs_kdf_kasme_idle_mobility()
This function is needed by a follow-up patch implementing initial
support for GERAN->EUTRAN idle mobility.
2024-01-16 06:36:44 +09:00
Sukchan Lee
b0cf9fcbe7 [AMF] Issue during Concurrent UE Registration (#2839)
While they were continuing their fuzzy testing and developing PacketRusher, an unusual issue with the AMF was observed. The problem arises when a single Ethernet frame containing three bundled SCTP chunks is sent. This behavior is reproduced with PacketRusher when attempting to concurrently register two UEs with the same MSIN.

The expected behavior is that the PDU Session Establishment Accept is sent inside a DownlinkNASTransport to RAN UE NGAP ID 1. However, it is actually sent inside an InitialContextSetupRequest to RAN UE NGAP ID 2. The MAC of this NAS message is invalid for the Security Context of RAN UE NGAP ID 2 (probably valid for RAN UE NGAP ID 1)
2024-01-13 23:16:50 +09:00
Emanuele Di Pascale
21f99ad08d MME: support for IDR EPS_USER_STATE
keep track of whether we failed to page the UE, as that is
needed to provide the correct user state to the HSS.
2024-01-13 12:00:20 +09:00
Emanuele Di Pascale
77d94c0301 lib/diameter/s6a: add EPS-User-State
and the MME-related children
2024-01-13 12:00:20 +09:00
Bostjan Meglic
84569ccbdc [SBI] Fix conversion of AMBR bitrates from string to integer
When the input string contains a number and a unit too large to be
represented by a 64-bit variable, AMF/SMF would crash due to conversion
resulting in a negative value and unable to be used in compiling NAS-PDU
container.
Now the value gets clipped at int64_t maximum value.

Failed to encode ASN-PDU [-1] (../lib/asn1c/util/message.c:42)
2024-01-10 22:45:46 +09:00
Bostjan Meglic
a4babef9eb [AMF] Add initialRegistrationInd field in Amf3GppAccessRegistration request to UDM 2024-01-10 22:37:56 +09:00
herlesupreeth
48323bd299 Update VoLTE tutorials 2024-01-10 21:49:48 +09:00
Sukchan Lee
be1305b903 Added SEPP debian package (#2861) 2024-01-09 22:12:16 +09:00
Pau Espin Pedrol
ba59c8309a cosmetic: mme: Fix trailing whitespace 2024-01-09 21:33:01 +09:00
Bostjan Meglic
21b7cd487a [DBI] Fix code indent 2024-01-09 17:50:37 +09:00
Bostjan Meglic
ad216c0b77 [core] Fix a couple of warnings when using C++ compiler or more strict settings
../lib/core/ogs-list.h:62:24: warning: invalid conversion from 'void*' to 'ogs_list_t*' {aka 'ogs_list_s*'} [-fpermissive]
../lib/core/ogs-rbtree.h:79:32: warning: invalid conversion from 'const void*' to 'const ogs_rbnode_t*' {aka 'const ogs_rbnode_s*'} [-fpermissive]

[SBI] Fix compiler error - possible uninitialized variable

[SCP] Fix compiler error - Error: this condition has identical branches

In case of additional compiler warnings turned on, the compiler warns
about potentially unused variables. Fix those issues.
2024-01-09 17:50:22 +09:00
Pau Espin Pedrol
7d60b13d3a lib/proto/conv: Introduce API ogs_ip_to_paa()
The counterpart API ogs_paa_to_ip() was already present, but this was
missing. It will be required in open5gs-mmed in a follow-up patch.
2024-01-06 07:44:14 +09:00
Pau Espin Pedrol
4ab275ad70 Rename and move ogs_gtp2_paa_to_ip() to lib/proto/conv
Both types are defined under lib/proto/type.h, and the conversion
function is used in several different protocols, so let's better move it
to generic lib/proto/conv.h and remove the "gtp2" prefix.
2024-01-06 07:44:14 +09:00
Pau Espin Pedrol
b3845d5b0b [MME] Constify params in mme-context and depending APIs 2024-01-06 07:42:32 +09:00
Pau Espin Pedrol
2a840297f8 cosmetic: Fix trailing whitespace 2024-01-06 07:42:32 +09:00
Pau Espin Pedrol
3457435071 [MME] Fix potential null ptr dereference
The assert is checking for sess->session->name, but afterwards there's a
check to skip ses->session not being null, which means the assert can
crash while dereferencing sess->session.
2024-01-06 07:42:32 +09:00
Sukchan Lee
b1515a16ff [SMF] Fixes crash when PDU session release
I've resolved an issue where sending continuous
'PDU Session Release Request' message to the same session,
when more than two sessions were created, was causing an SMF crash.

For your reference, this problem did not occur
when only one session was created.
2024-01-05 21:15:34 +09:00
Pau Espin Pedrol
8f58b55e14 [MME] Fix incorrect function name printed in error line 2024-01-05 05:52:56 +09:00
Pau Espin Pedrol
27d2f86103 lib/gtp/xact: Fix tx of SGSN Context Acknowledge 2024-01-04 06:57:18 +09:00
Pau Espin Pedrol
389ccaed16 lib/gtp/xact: Fix rx of SGSN Context Response 2024-01-04 06:57:18 +09:00
jmasterfunk84
ad2154ac2a [HSS] Add hss_event_init after change to event system (#2838)
* Add hss_event_init after change to event system

* also include hss_event_final
2024-01-03 21:15:16 +09:00
Pau Espin Pedrol
1f8f20da34 lib/proto/types.{c,h}: Constify several parameters 2024-01-03 07:10:09 +09:00
Pau Espin Pedrol
55844d1eed ogs-conv.{c,h}: Constify several parameters 2024-01-03 07:10:09 +09:00
Pau Espin Pedrol
9b729b2c6f cosmetic: ogs-conv.c: Fix trailing whitespace 2024-01-03 07:10:09 +09:00
Pau Espin Pedrol
7d9f6181f3 [MME] cosmetic: Fix typo in comment 2024-01-02 21:25:42 +09:00
jmasterfunk84
f0de33833b Use SUPI not SUCI in error message 2023-12-31 11:30:27 +09:00
Sergey Yarin
0b93bd2ca9 Update 01-genodebs.md
Add a Nokia pico BTS to the list of tested hardware
2023-12-29 17:55:18 +09:00
Sukchan Lee
5d26416cd5 [DOCS] 5G Roaming with Mutual TLS by @infinitydon 2023-12-28 06:58:03 +09:00
Pau Espin Pedrol
6cb20185fa cosmetic: mme: emm-*.c fix trailing whitespace 2023-12-23 09:57:11 +09:00
Pau Espin Pedrol
3d693da73e [MME] Gn: Introduce initial support for 4G->2G cell reselection
In an Inter-RAT setup a UE could perform a RAU coming from a 4G network.
In that case the UE/MS is unknown to the SGSN and it should request the
SGSN context (MM, PDP) from the MME. This is done through the following
GTPv1C message exchange on the Gn interface of SGSN and MME:
SGSN -> MME: SGSN Context Request
SGSN <- MME: SGSN Context Response
SGSN -> MME: SGSN Context Acknowledge

This commit doesn't aim to be a complete implementation of the mentioned
procedure, since it's quite a complex one, with lots of fields and logic
required. This so far only implements in general the minimally
successful case by filling as much as possible the required set of
fields.
This will allow for a base onto which do incremental improvements and
fixes while testing against UEs and SGSNs (such as osmo-sgsn, which
doesn't yet support this procedure but will potentially earn it soon).

This commit doesn't implement the reverse direction, aka UE issuing cell
reselection 2G->4G. Initial support for this scenario will hopefully be
added soon as a follow-up patch, similar to this one.

Related: https://osmocom.org/issues/6294
2023-12-23 09:56:55 +09:00
Sukchan Lee
080f5bfd70 [NRF] crash after sending invalid message (#2808)
NRF crash after receiving
curl --http2-prior-knowledge http://127.0.0.10:7777/nnrf-disc/v1/nf-instances?target-nf-type=AUSF&requester-plmn-list=[{"mcc":"999","mnc":"70"}]&requester-nf-type=AMF&service-names=nausf-auth&target-plmn-list=[{"mcc":"999","mnc":"70"}]
curl --http2-prior-knowledge http://127.0.0.10:7777/nnrf-disc/v1/nf-instances\?target-nf-type=AUSF\&requester-plmn-list=%5B%7B%22mcc%22%3A%22999%22%2C%22mnc%22%3A%2270%22%7D%5D\&requester-nf-type\=AMF\&service-names=nausf-auth\&target-plmn-list=%5B%7B%22mcc%22%3A%22999%22%2C%22mnc%22%3A%2210%22%7D%5D
2023-12-23 09:55:19 +09:00
Pau Espin Pedrol
ea7708bcfc lib/gtp: Fix xact logic for gtp1 messages with intermediate stage
As per TS 29.060:
The Initial/request message is "SGSN Context Request", sent by peer A.
Peer B sends a response message "SGSN Context Response" with same SeqNr.
Peer A sends a response message "SGSN Context Acknowledge" with same
SeqNr.
If Peer B doesn't see a "SGSN Context Acknowlegde", it should keep
retransmitting "SGSN Context Response" as usual.
2023-12-22 06:04:18 +09:00
Pau Espin Pedrol
14932a7254 [MME] Split Gn local TEID generation from S11 TEID generation 2023-12-22 06:04:03 +09:00
Pau Espin Pedrol
6a9c7f16c1 Revert "[MME] Gn: Introduce initial support for 4G->2G cell reselection"
This reverts commit 5a31af36e0.
2023-12-22 06:02:11 +09:00
jmasterfunk84
2390a22504 Add space to inprove readbility of error 2023-12-21 22:14:24 +09:00
Pau Espin Pedrol
75f32e07de xact: Fix debug message printed when not needed 2023-12-21 22:13:45 +09:00
Pau Espin Pedrol
ab51ba9dd5 cosmetic: mme: Fix trailing whitespace 2023-12-21 22:12:20 +09:00
Pau Espin Pedrol
5a31af36e0 [MME] Gn: Introduce initial support for 4G->2G cell reselection
In an Inter-RAT setup a UE could perform a RAU coming from a 4G network.
In that case the UE/MS is unknown to the SGSN and it should request the
SGSN context (MM, PDP) from the MME. This is done through the following
GTPv1C message exchange on the Gn interface of SGSN and MME:
SGSN -> MME: SGSN Context Request
SGSN <- MME: SGSN Context Response
SGSN -> MME: SGSN Context Acknowledge

This commit doesn't aim to be a complete implementation of the mentioned
procedure, since it's quite a complex one, with lots of fields and logic
required. This so far only implements in general the minimally
successful case by filling as much as possible the required set of
fields.
This will allow for a base onto which do incremental improvements and
fixes while testing against UEs and SGSNs (such as osmo-sgsn, which
doesn't yet support this procedure but will potentially earn it soon).

This commit doesn't implement the reverse direction, aka UE issuing cell
reselection 2G->4G. Initial support for this scenario will hopefully be
added soon as a follow-up patch, similar to this one.

Related: https://osmocom.org/issues/6294
2023-12-21 22:11:49 +09:00
Pau Espin Pedrol
7728172a83 [CRYPT] Constify several input parameters
This allows easily spotting input vs output parameters, as well as
make it easier for compiler to find out bugs and optimize code.
2023-12-20 20:04:23 +09:00
Pau Espin Pedrol
9349743295 lib/proto: Constify params of ogs_id_get_{type,value}() 2023-12-20 20:04:23 +09:00
Pau Espin Pedrol
5061a3aec0 [MME] Store decoded PAA into session->ue_ip and session_type
This will be used by the Gn interface to obtain the UE IP and provide
it to new SGSN when transmitting SGSN Context Response.
2023-12-19 06:57:35 +09:00
Pau Espin Pedrol
414f81fcd5 [MME] Store received PGW S5C IP address in mme_sess_t
This information will be required by the Gn interface in MME when
answering an SGSN with an "SGSN Context Response" message during MS cell
reselection EUTRAN->GERAN.
2023-12-19 06:57:18 +09:00
Stare Gaber
4655507a00 [AMF] Fix deregistration request De-registration type 2023-12-19 06:47:54 +09:00
Sukchan Lee
4eb4a93cbd Merge branch 'main' of https://github.com/open5gs/open5gs 2023-12-17 10:23:21 +09:00
Sukchan Lee
dcaccb4105 Added open5gs-sepp in debian package 2023-12-17 10:22:39 +09:00
mitmitmitm
cecb87b346 Fix small typo in ogs_pfcp_sendto 2023-12-16 18:44:36 +09:00
Pau Espin Pedrol
8c01f3387d constify src param of ogs_fqdn_{build,parse}() 2023-12-13 23:02:50 +09:00
Pau Espin Pedrol
3b6b8ebf4f lib/proto/types.c: Fix trailing whitespace 2023-12-13 23:02:50 +09:00
Sukchan Lee
1ba3fd3cf8 [AMF/MME] UEContextReleaseCommand after Interity Protected (#2786) (#2794)
* [AMF/MME] UEContextReleaseCommand in Integrity (#2786)

Modified not to send UEContextReleaseCommand in Integrity Unprotected
NAS message such like Registration or Service request.

* [AMF/MME] UEContextReleaseCommand after Interity Protected (#2786)

Modified not to send UEContextReleaseCommand in Integrity Unprotected
NAS message such like Registration or Service request.
2023-12-13 17:54:37 +09:00
Pau Espin Pedrol
b0f381416b gtp/v1: Specify 'P-TMSI Signature' as uint24_t 2023-12-12 08:14:40 +09:00
Pau Espin Pedrol
204ac35a66 gtp/v1: Specify 'MS Validated' IE as uint8
This field is a fixed size 1 byte with all bits set as spare (1) and the
lsb set as 0 ("No") or 1 ("Yes").
2023-12-12 08:14:40 +09:00
Sukchan Lee
1041f37a34 [DOCS] Added UPF performance test 2023-12-09 18:29:03 +09:00
Oliver Smith
66c39f2085 [MME] [AMF] Set Daylight Saving Time (#2766)
Fix DST always being set to 0 ("No adjustment for Daylight
Saving Time").

Related: 3GPP TS 24.008 § 10.5.3.12
2023-12-06 20:24:33 +09:00
Sukchan Lee
177e561ba8 [WebUI] Fix launch problem in docker (#2767) (#2769) 2023-12-04 22:16:10 +09:00
Sukchan Lee
83e35bb2de Release v2.7.0 2023-12-04 21:14:37 +09:00
Sukchan Lee
d0a1bedd22 [AMF] Increase the number of SLICE 512 to 1024 (#2761)(#2765) 2023-12-04 20:46:58 +09:00
Sukchan Lee
e42048e8a5 Reset the number of TA, SLICE, and PLMN supported by AMF/MME(#2761) (#2765)
* update it

* update it

* update it

* update it

* update it

* udpate it

* uupdate it
2023-12-03 23:52:29 +09:00
Sukchan Lee
f68a1f3283 [AMF] Modification to context setup (#2729) (#2764)
Send out PduModifySessionRequest while no other PDU-related procedure is
in progress (i.e. InitialContextSetupResponse was alreay received).
2023-12-01 23:20:18 +09:00
joereith
a4f8baa1f0 Update 03-VoLTE-dockerized.md (#2763)
* Update 03-VoLTE-dockerized.md

adding "-" in docker-compose commands and added filename t the docker-compose command

* Adding up command to docker-compose

Need to bring docker images up to run the Open5Gs system.
2023-11-30 06:41:46 +09:00
Sukchan Lee
ab64ff9514 [IPv6] Fixed to include MTU in SLAAC RA (#2754) (#2758) 2023-11-28 17:38:51 +09:00
Sukchan Lee
4739198c5d [SCTP] Fixed a crash on SIGPIPE (#2734) (#2757) 2023-11-28 16:10:48 +09:00
Oliver Smith
5070ddfa3e [MME] [AMF] Add no_time_zone_information param (#2745)
Allow network operators to omit the time zone in the 4G EMM Information
and 5G Configuration Update. This is useful for better compatibility
with some UEs.

The parameter is optional according to:
* 4G: 3GPP TS 24.301 Table 8.2.13.1
* 5G: 3GPP TS 24.501 Table 8.2.19.1.1
2023-11-27 22:26:12 +09:00
Oliver Smith
c6372255d5 editorconfig: new file (#2746)
Add a file that allows editors to automatically use the right
indentation format when working with the open5gs source tree.
2023-11-27 22:21:35 +09:00
gstaa
060acee5df [AMF] Fix Nudm_SDM_Get for re-registration (#2751)
Bug:

In case that AMF does not have subscription data for the UE,
PDU session remains unreleased after implicit de-registeration.

The exact test case:
- UE registered (integrity protection applied)
- UE deregistered (Nudm_SDM_Unsubscribe, Nudm_UECM_Registration (purgeFlag))
- UE registered, PDU session activated

    UE data are still stored in AMF. So if integrity protected applies,
    the steps 4 - 14 [ETSI TS 123 502 V16.7.0](https://www.etsi.org/deliver/etsi_ts/123500_123599/123502/16.07.00_60/ts_123502v160700p.pdf) are skipped.
    Only AM Policy Association Establishment is performed.
- UE is moved out of radio coverage, 2 x (4 min + Timer t3512) expires

Result: UE is implicitly de-registered, PDU session is not released

The steps of implicit de-registeration:
  1. Implicit Timer Expiration
  2. UDM_SDM_Unsubscribe
  3. UDM_UECM_Deregistration
  4. PDU session release request
  5. PDUSessionResourceReleaseCommand + PDU session release command
  6. PDUSessionResourceReleaseResponse
  7. AM_Policy_Association_Termination

So PDU session release is performed after the confirmation of
UDM_UECM_Deregistration.
Since there is no UDM_SDM subscription, the UDM steps are skipped
and PDU session is not released.

Fix:

If the AMF does not have subscription data for the UE which registers,
the AMF registers with the UDM using Nudm_UECM_Registration and
retrieves subscription data with Nudm_SDM_Get.

[ETSI TS 123 502 V16.7.0](https://www.etsi.org/deliver/etsi_ts/123500_123599/123502/16.07.00_60/ts_123502v160700p.pdf), 4.2.2.2.2 General Registration, 14a-c:
> If the AMF does not have subscription data for the UE, the AMF retrieves the Access and Mobility Subscription data, SMF
> Selection Subscription data, UE context in SMF data and LCS mobile origination using Nudm_SDM_Get.
2023-11-27 22:19:29 +09:00
Sukchan Lee
ee964f48dd [AMF/MME] Fixed crash when receiving invalid packet (#2737) (#2755) 2023-11-27 22:16:11 +09:00
Sukchan Lee
ab1c3493c6 [NRF] Fixed crash due to invalid PATCH body (#2735) 2023-11-25 22:03:28 +09:00
Sukchan Lee
7278714133 [AMF] Fixed Nudm_UECM_Registration crash (#2733)
1. UE sends RegistrationRequest to AMF.
2. AMF sends Nudm_UECM_Registration to UDM.
3. UE sends RegistrationRequest to AMF.
4. GMM state is gmm_state_authentication
5. UDM sends Nudm_UECM_Registration response to AMF.
6. AMF crashs since no Handler in gmm_state_authentication state
2023-11-25 21:21:23 +09:00
Sukchan Lee
a19dcde05a [SBI] Follow-up on (#2725)(#2557) 2023-11-24 17:39:03 +09:00
Bostjan Meglic
adcdcf6426 [SBI] Change discovery option TAI from array to single item (#2725)
According to 3GPP TS 29.510, the search parameter "tai" should be a
single item, not an array of items.

TS 29.510: Table 6.2.3.2.3.1-1:
URI query parameters supported by the GET method on this resource

Revert "[SBI] Change discovery option TAI from array to single item"

This reverts commit b4beff1ae16c64b3c6d84d8bdb47c36e19b705f2.

wip
2023-11-22 20:37:06 +09:00
Bostjan Meglic
18b1095697 [SBI] Fix minor memleak when creating S-NSSAI discovery option (#2740) 2023-11-21 21:39:04 +09:00
Sukchan Lee
2d8ea152df Update feature list 2023-11-20 21:56:27 +09:00
Sukchan Lee
9479f29f3d [ASN.1] Fix buffer overflow (mouse07410/asn1c#134) (#2742) 2023-11-20 21:16:35 +09:00
Sukchan Lee
d2f2fa0402 Update document 2023-11-19 19:50:28 +09:00
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 Pedrol
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 Pedrol
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 Pedrol
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 Pedrol
963df4beeb cosmetic: webui: Fix trailing whitespace 2023-10-12 07:17:54 +09:00
Pau Espin Pedrol
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 Pedrol
cb114eca5e cosmetic: HSS: Fix trailing whitespace 2023-10-10 08:04:01 +09:00
Pau Espin Pedrol
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
Sukchan Lee
bfe8ae659e Fixed MacOSX compile error (Follow-up on #2581) 2023-09-14 07:04:27 +09:00
Sukchan Lee
bd74c259ec [AMF/MME] Fix crash during snow-3g encrypt (#2581)
There was a memory problem in the encryption using snow_3g_f8,
so AMF/MME crashed.

To solve this problem, we used the snow-3g encryption library
created as below.

https://github.com/rcatolino/libressl-snow3g

However, it seems that this library cannot be used to create
integrity hash like snow_3g_f8.

So, we decided to keep both snow-3g libraries for the time being.

1. lib/crypt/snow3g* : for INTEGRITY (NIA1, EIA1)
2. lib/crypt/openssl/snow3g* : for ENCRYPTION (NEA1, EEA1)
2023-09-13 23:22:46 +09:00
Sukchan Lee
05ed95d623 [GTPU] Fixed PDCP SN handling (#2584, #2477)
Scenario is handover on S1AP, data forwarding is enabled, and
the Source ENB is forwarding DL PDCP packets to EPC(SGWU)
with PDCP SN included. SGWU is also forwarding these packets
to the Target ENB.

However the PDCP SN is not present in the forwarded packets
from SGWU to Target ENB.

I modified this part, and there was the same problem in 5GC, fixed it as well.

A lot of code in GTP-U has been modified,
so if you have any problems, please let us know right away.
2023-09-10 22:37:42 +09:00
Sukchan Lee
260eabb317 [SMF] Invalid Message(SmContextCreateData) (#2590)
curl --noproxy '*' --http2-prior-knowledge -X POST --header "Content-Type: multipart/related" --data-binary @pdu http:/192.168.29.231:7777/nsmf-pdusession/v1/sm-contexts
Attaching file 'pdu'

SMF crashes as not able to decode the message properly. SmContextCreateData is not accessible.
2023-09-07 22:38:45 +09:00
Sukchan Lee
2fbc445d32 [PFCP] Fixed Possible heap buffer overflow (#2585)
After examining the call stack and reading the source code, I found that
in /lib/core/ogs-pool.h line 152: (pool)->array[i] = i+1;
then in lib/pfcp/context.c line 78: pdr_random_to_index[ogs_pfcp_pdr_teid_pool.array[i]] = i;
ogs_pfcp_pdr_teid_pool.array[i] may exceed the size of pdr_random_to_index, leading to a heap-buffer-overflow.
2023-09-06 07:14:51 +09:00
Sukchan Lee
2aa12449aa [NRF] Fixed NRF crash when Custom nfType (#2576)
NF Instance Registration to reproduce crash:

curl -v -X PUT -d '{"nfInstanceId":"0b8a8d59-af80-4fb7-8645-b832fd69d94a","nfType":"CUSTOM_INF","nfStatus":"REGISTERED","ipv4Addresses":["127.0.13.37"]}' --http2-prior-knowledge http://127.0.0.10:7777/nnrf-nfm/v1/nf-instances/0b8a8d59-af80-4fb7-8645-b832fd69d94a
2023-09-05 22:11:19 +09:00
Sukchan Lee
2f8ae91b0b Fixed dynamic-stack-buffer-overflow (#2578, #2577) 2023-09-05 21:58:05 +09:00
Gabriel
78f64aaccb Update open5gs-dbctl
This is now consistent with the webui (check /webui/src/components/Subscriber/Edit.js:175)
2023-09-05 07:10:39 +09:00
Sukchan Lee
298fed260b [UDM] Fixed crash for invalid SUCI (#2571)
Modifications were made to resolve the following assertion..

Invalid HNET PKI Value [0] (../lib/sbi/conv.c:135)
ogs_supi_from_supi_or_suci: Expectation `supi' failed. (../lib/sbi/conv.c:262)
udm_ue_add: Assertion `udm_ue->supi' failed. (../src/udm/context.c:144)
backtrace() returned 8 addresses (../lib/core/ogs-abort.c:37)
2023-09-04 07:03:16 +09:00
Sukchan Lee
d3a10ed0ca [WebUI] Update NodeJS installation Guide 2023-09-03 20:03:47 +09:00
Sukchan Lee
dcdf821542 [AMF] amf_ue_set_suci: Assertion suci (#2567)
Cannot convert SUCI in `Not implemented SUPI format [4]`
2023-09-03 17:59:10 +09:00
theodorsm
d5eff9e24a Fix typo and remove trailing whitespaces in nas-security 2023-09-02 08:24:24 +09:00
Carlos Giraldo
902a348f1d Update docs.md 2023-08-30 19:58:21 +09:00
Sukchan Lee
7a3d551752 [TLV] Oops! Fixed my mistake on pull #2549 2023-08-26 16:35:27 +09:00
Sukchan Lee
5c726684b3 [TLV] GTP parser crashg from FuzzingLabs
See below for details
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=61780#c1
2023-08-26 16:30:29 +09:00
Sukchan Lee
654fe4010c [GTP] gtp_message_fuzz: Abrt in ogs_abort
See below for details.
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=59414
2023-08-24 22:19:42 +09:00
Sukchan Lee
04f7958420 [SMF] Deregister issue during sess release (#2537)
A situation in which you establish two sessions and release both of them.

In the first SESSION, the UE normally sent PDUSessionResourceReleaseResponse
and PDU session release complete. However, these were not sent when releasing
the second SESSION.

At this point, when the UE tried to do a deregistration,
the SMF was not properly handling the exception.

I've just fixed this.
2023-08-24 21:26:23 +09:00
Sukchan Lee
5469ae9855 [WebUI] Fixed a crash when editing Subscribe
After the UE performs Registration/Attach, SQN field is created.

If we edit subscriber information when SQN value is present, WebUI crash occurs.

It is because the way to handle Long Type(SQN:Long) is different
when the mongoose version is 6 or higher.

To avoid this crash, we use the mongoose version down to 5.x first.
2023-08-23 23:30:58 +09:00
Sukchan Lee
7f088730ed [SBI] nghttp2 SETTING ACK should be sent (#2385)
Whether or not to send a Setting ACK is determined by the nghttp2 library.
Therefore, when nghttp2 informs us that it want to send an SETTING frame
with ACK by nghttp2_session_want_write(), we need to call session_send()
directly to send it.
2023-08-20 21:08:20 +09:00
Sukchan Lee
4b0bade80e [TLV] PFCP parser crash from FuzzingLabs (#2523) 2023-08-18 22:19:46 +09:00
Sukchan Lee
fc4072590e [SMF] Added SMF registrations (#2514, #2524) 2023-08-18 20:21:08 +09:00
Sukchan Lee
e01f46eb6c Use x1000 multiplier for Kbps, Mbps, ... etc. (#2515)
NAS, GTP, PFCP, SBI, all except S1AP/NGAP use x1000 multiplier for Kbps, Mbps, Gbps ... etc.

From now on in WebUI all units also use a multiplier of x1000.
2023-08-13 18:19:45 +09:00
Sukchan Lee
af67b2486b [SBI] UDR stores PEI instead of PCF 2023-08-13 11:49:01 +09:00
Sukchan Lee
d33d67b2af [AMF/MME] Defaults 9 minutes for T3412/T3512 2023-08-13 11:16:06 +09:00
Sukchan Lee
e625f9222a [AMF/MME] Follow-up on #2491 2023-08-11 09:44:19 +09:00
Sukchan Lee
e7f7c4274e [SMF] Fix crash on double policy deletion (#2489) 2023-08-10 22:14:48 +09:00
Sukchan Lee
93e05f481b S1Setup failure with invalid MCC/MNC (#2491) 2023-08-10 15:40:05 +09:00
Sukchan Lee
84ed9a0dd3 UE slice shall be also available in RAN (#2482)
Changed to that registration can be accepted only
when the UE slice is available in the RAN slice.
2023-08-09 16:06:39 +09:00
Abdelmuhaimen Seaudi
782e2accc7 add search with msisdn (#2495)
* add search with msisdn

* add 2nd msisdn
2023-08-08 22:35:52 +09:00
gstaa
f22fbb45da [UPF] Fix wrong number of QoS flows metric (#2490) 2023-08-08 22:32:06 +09:00
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
mitmitmitm
9f5be6c356 [SMF/PFCP] Send framed routes in both UL and DL pdrs 2023-06-03 09:20:16 +09:00
Bostjan Meglic
9e20617a8f [PFCP] Fix calculation of AMBR
When converting bitrates from bits per second to kilobits per second,
if the conversion results in fractions, the resulting value should be
rounded upwards
2023-06-03 09:19:52 +09:00
Bostjan Meglic
22cca3eb48 [NAS] Improve algorithm for conversion of bitrate to NAS
The improved algorithm better handles some odd bitrates.
With the current version, the bitrates 63 Kbps and 65 Kbps would get
converted into 48 Kbps (unit 16 Kbps x 3) and 64 Kbps (unit 64 Kbps x
1).
Especially in the first case, the conversion error is quite signicant.

Current version tries to find the biggest 'unit', while the 'value' is
still above 0.
With the updated version, the algorithm tries to find the 'unit' low
enough, that the resulting 'value' can still fit into the 16-bit space
without overflow.
2023-06-03 09:19:52 +09:00
Bostjan Meglic
bbc397013b [SBI,NAS] Fix conversion of bitrate between OpenAPI/NAS and internal representation
From the OpenAPI document,TS29571_CommonData.yaml : BitRate
String representing a bit rate; the prefixes follow the standard symbols from The International
System of Units, and represent x1000 multipliers, with the exception that prefix "K" is
used to represent the standard symbol "k".
2023-06-03 09:19:52 +09:00
Sukchan Lee
2152d67480 [Docs] Update night build URI 2023-05-29 20:49:52 +09:00
Sukchan Lee
f969309f11 [CORE] Rollback ogs_pool_init/final (#2339)
ogs_pool_init() shall be used in the initialization routine.
Otherwise, memory will be fragment since this function uses system malloc()

Compared with ogs_pool_init()

ogs_pool_create() could be called while the process is running,
so this function should use ogs_malloc() instead of system malloc()
2023-05-28 22:50:28 +09:00
Sukchan Lee
31f95ce2e0 [SBI] Fixed Invalid S-NSSAI format (#2337) 2023-05-28 21:53:52 +09:00
Sukchan Lee
ad86e8f49b [Docs] fixed CURL generates 16 ERROR
Refer to https://github.com/curl/curl/issues/3750
2023-05-28 17:12:56 +09:00
jmasterfunk84
90883351ed Updated SRS 5G SA Tutorial URL 2023-05-28 09:49:30 +09:00
Alexander Couzens
c8b81094db [HSS] SWx: SAR & MAR: set mandatory User-Name on failure cases
Multimedia-Auth-Answer and Server-Assignment-Answer
defines the AVP User-Name as mandatory. It must also be
present on failure cases.

See 3GPP TS 29.273 Rel 17.
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
2023-05-25 22:48:54 +09:00
Arjun Singh
81a261c200 [Fuzzing] bug fix 59062 and increasing converge
Signed-off-by: Arjun Singh <ajsinghyadav00@gmail.com>
2023-05-25 22:47:47 +09:00
mitmitmitm
928a80ef26 [PFCP] Support PFCP advertise address in F-SEID 2023-05-25 22:46:52 +09:00
mitmitmitm
cd485944cb [PFCP] Fix IPv4 PFCP advertise addresses 2023-05-25 22:46:52 +09:00
Eugene Bogush
b391cc589d relocation of user-location-info on top level 2023-05-25 22:42:54 +09:00
Gaber Stare
6856dfd6b7 [SMF] Expose metrics for nr. of PDU session creations
[ETSI TS 128 552 V16.9.0](https://www.etsi.org/deliver/etsi_ts/128500_128599/128552/16.09.00_60/ts_128552v160900p.pdf):

Registration type label is not provided.
A nonstandard PLMNID label is added to achieve uniqueness.

- 5.3.1.3 Number of PDU sessions requested to be created by the SMF

PLMNID and SNSSAI are defined during PDU session creation processing.
Some requests can be rejected during processing before label values are known.
Those requests are not counted under particular labels.
To count also such requests, the basic metric with empty labels is exposed too.

```
fivegs_smffunction_sm_pdusessioncreationreq{plmnid="",snssai=""} 1
fivegs_smffunction_sm_pdusessioncreationreq{plmnid="00101",snssai="1000009"} 1
```

- 5.3.1.4 Number of PDU sessions successfully created by the SMF
```
fivegs_smffunction_sm_pdusessioncreationsucc{plmnid="00101",snssai="1000009"} 1
```

- 5.3.1.5 Number of PDU sessions failed to be created by the SMF
```
fivegs_smffunction_sm_pdusessioncreationfail{cause="400"} 1
```

Example for one successful and one failed (during creation processing) PDU session creation:

```
fivegs_smffunction_sm_pdusessioncreationreq{plmnid="",snssai=""} 2
fivegs_smffunction_sm_pdusessioncreationreq{plmnid="00101",snssai="1000009"} 1

fivegs_smffunction_sm_pdusessioncreationsucc{plmnid="00101",snssai="1000009"} 1

fivegs_smffunction_sm_pdusessioncreationfail{cause="400"} 1
```
2023-05-25 21:38:15 +09:00
Sukchan Lee
34f3faba47 [PCF] Always expose SNSSAI label (#2320) 2023-05-25 21:15:01 +09:00
Sukchan Lee
99f7da154e Release v2.6.4 2023-05-21 08:50:12 +09:00
Sukchan Lee
691d8ea13a [AMF] Fixed crashes with assertion (#2312)
AMF crashes with amf_nnssf_nsselection_handle_get assertion failure.
2023-05-21 07:51:43 +09:00
Sukchan Lee
5c7263a5e5 [AMF/MME] Fixed crashes by M-TMSI (#2307) 2023-05-14 10:37:29 +09:00
Sukchan Lee
e567a01ae8 [SGWU/UPF] Fixed crashed by gTPTunnel (#2313)
SGWU/UPF crashes with ogs_pfcp_setup_far_gtpu_node
by a special crafted gTPTunnel.transportLayerAddress
2023-05-14 10:19:37 +09:00
Sukchan Lee
16387078cd [AMF] Fixed crash if served_tai_index < 0 (#2059) 2023-05-14 09:07:32 +09:00
Sukchan Lee
63df530bb4 [SBI] Fixed a bug with encoder/decoder of scpPorts
(#2310, #2274)
2023-05-14 07:05:23 +09:00
Sukchan Lee
1ba7a73abd Update document (#2274, #1127) 2023-05-08 23:21:35 +09:00
Sukchan Lee
7ce1137a10 [SMF] Disable Network Service request while ACTIVATING
Disable Network triggered service request
while UE triggered service request

(#2294)
2023-05-08 22:33:50 +09:00
Sukchan Lee
4265b2a2bc [MME] try to fix the #2287 issue 2023-05-05 18:06:25 +09:00
Arjun
1f078cb3c6 [Fuzzing] oss-fuzz support for fuzzing (#2283)
* [Fuzzing] oss-fuzz support for fuzzing

Signed-off-by: Arjun Singh <ajsinghyadav00@gmail.com>

* [Fuzzing] fix error 2284

Signed-off-by: Arjun Singh <ajsinghyadav00@gmail.com>

---------

Signed-off-by: Arjun Singh <ajsinghyadav00@gmail.com>
2023-05-05 17:20:11 +09:00
Shigeru Ishida
0c3fd10c24 [MME] add facility to select smf(pgwu) by tac and e_cell_id.
[mme.yaml]
# o SMF selection by eNodeB TAC
#   (either single TAC or multiple TACs, DECIMAL representation)
#
#   gtpc:
#     - addr: 127.0.0.4
#       tac: 26000
#     - addr: 127.0.2.4
#       tac: [25000, 27000, 28000]
#
# o SMF selection by e_cell_id(28bit)
#   (either single or multiple e_cell_id, HEX representation)
#
#   gtpc:
#     - addr: 127.0.0.4
#       e_cell_id: abcde01
#     - addr: 127.0.2.4
#       e_cell_id: [12345, a9413, 98765]
2023-05-05 10:23:46 +05:00
Sukchan Lee
2a8a0b5e4a Update document for MongoDB (#2279) 2023-05-01 21:49:52 +09:00
Sukchan Lee
6de2f8e8f9 Release v2.6.3 2023-04-26 10:52:19 +09:00
Sukchan Lee
e7cda4b134 Update MongoDB document (#2272) 2023-04-26 10:15:51 +09:00
Victor Ezekiel
8dcd846bf1 FIX: 22.04 (jammy) gpg keyring addition
On ubuntu 22.04 (Jammy)
```bash
$ echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
```
2023-04-26 10:12:32 +09:00
Bostjan Meglic
e55a87ec7d [APP] Fix number of items of memory pool for subscriptions to NRF
The subscriptions to NRF should be tied to the number of NF's and number
of services per NF that we support, instead of number of UE's.

This decreases memory usage of each NF slightly, depending on the
configuration.
2023-04-24 21:48:11 +09:00
Sukchan Lee
7580d3df16 Follow-up #2551 2023-04-22 07:53:22 +09:00
Sukchan Lee
b8c8468a1b Merge branch 'gstaa-gh_upf_metrics_wrong_dnn' 2023-04-22 07:52:53 +09:00
Sukchan Lee
e0f6ba3571 Merge branch 'gh_upf_metrics_wrong_dnn' of https://github.com/gstaa/open5gs into gstaa-gh_upf_metrics_wrong_dnn 2023-04-22 07:30:28 +09:00
Sukchan Lee
01d3db4b6e [MME/SMF] Added Extended-PCO in 4G/LTE (#2261) 2023-04-22 00:06:50 +09:00
Sukchan Lee
de7e0d3b45 [SBI] Fixed an issue with FQDN/TLS (#2252) 2023-04-21 22:37:07 +09:00
gstaa
9e0467e534 Merge branch 'main' into gh_upf_metrics_wrong_dnn 2023-04-17 06:47:15 +02:00
Sukchan Lee
aed52a9ad8 [GTP-U] Send Error Indication for unknown PDR 2023-04-16 12:30:36 +09:00
Sukchan Lee
d2e2a58232 [PFCP] Implement the Restoration Indication 2023-04-16 12:30:36 +09:00
Sukchan Lee
642d9e2e18 [PFCP/GTP] SEID/TEID Randomness (#1303) 2023-04-16 12:30:36 +09:00
Javi
ca5e039f46 Add ambr_speed option, this allow to change the speed value and version value of the script 2023-04-14 20:49:49 +09:00
Gaber Stare
2e3d287afc [UPF metrics] Use APN/DNN to expose dnn label
SMF started to provide APN/DNN in PFCP Establishment.
APN/DNN is used to provide dnn label of metric fivegs_upffunction_upf_qosflows.
2023-04-14 05:14:23 +00:00
Bostjan Meglic
7686507eaa [AMF] Fix N2 Handover - copy PDU session info
After N2 Handover (1 AMF, multiple gNB's) was successfully executed, the
PDU session was not properly released afterwards on PDU Session Release
Request from UE.

The reason was that after N2 Handover the new 'ran_ue' context did not
have any information about the active PDU sessions.

Copy the information about PDU sessions from old ran_ue context to the
new one.
2023-04-13 21:27:40 +09:00
Abdelmuhaimen Seaudi
69831c43f5 add support for sigscale ocs
added several changes to correctly work with sigscal ocs offline charging
2023-04-12 22:31:01 +02:00
Bostjan Meglic
bc3b27339e [SMF] Check if session has been removed already between different events
This fix is needed to prevent SMF crash in case that one of the
neighbouring NF (AMF) crashed in the middle of the procedure.
2023-04-05 21:25:54 +09:00
Bostjan Meglic
200414ccca [AMF] Check if session has been removed already between different events
This fix is needed to prevent AMF crash in case that one of the
neighbouring NF (SMF) crashed in the middle of the procedure.
2023-04-05 21:25:54 +09:00
Sukchan Lee
456fbfec6f Document Update for v2.6.2 2023-04-04 22:19:48 +09:00
Sukchan Lee
bef0104f49 Release v2.6.2 2023-04-04 22:06:02 +09:00
Sukchan Lee
32019df0f0 Fixed MacOSX compile error 2023-04-04 21:53:39 +09:00
Sukchan Lee
e828f98bb6 [SMF] Fixed Gy Service-Context-Id 2023-04-04 21:33:55 +09:00
Sukchan Lee
b9a3157467 [PFCP] SGWU/UPF Restoration (#2223)
TS23.007 17.4.1
19A PFCP based restart procedures

After a PFCP entity has restarted, it shall immediately update all local Recovery Time Stamps and shall clear all remote
Recovery Time Stamps. When peer PFCP entities information is available, i.e. when the PFCP Association is still alive,
the restarted PFCP entity shall send its updated Recovery Time Stamps in a Heartbeat Request message to the peer
PFCP entities before initiating any PFCP session signalling.
2023-04-04 21:22:03 +09:00
Sukchan Lee
939b311b2d [UPF] Remove Metrics in Data Plane (#2210) 2023-04-01 11:48:24 +09:00
af-gokhan
4f066f893e Update 01-genodebs.md
Tested with MTK 750 based CPE and works. 40 MHz BW test data: DL 260 Mbps / UL 115 Mbps / Latency 10ms
2023-03-28 07:30:36 +09:00
Gaber Stare
65f379640c [SMF] Release PDU session with skipInd
Follow-up on [#2048](https://github.com/open5gs/open5gs/pull/2048)

AMF crashes when 'skipInd' field is missing:
```
amf  | 03/21 07:45:04.092: [amf] FATAL: [imsi-001010000000000] No skipInd (../src/amf/namf-handler.c:392)
amf  | 03/21 07:45:04.092: [amf] FATAL: amf_namf_comm_handle_n1_n2_message_transfer: should not be reached. (../src/amf/namf-handler.c:393)
```
In case of CM_CONNECTED skipInd is not important.
In case of CM_IDLE the proper relase would contain skipInd.
2023-03-27 22:17:40 +09:00
Sukchan Lee
d469809192 [AMF/MME] PLMN access control
These mechanisms are described in the GSMA roaming guidelines.
Chapters called Access Control.

For 4g: https://www.gsma.com/newsroom/wp-content/uploads//IR.88-v21.0.pdf
For 5g: https://www.gsma.com/newsroom/wp-content/uploads//NG.113-v6.0.pdf
2023-03-25 09:59:20 +09:00
InferCom2
5f37777280 Updated open5gs-dbctl (#2185)
* updated to use with mongosh

* removing upsert option on insertOne

* Adding runtime permission
2023-03-25 06:56:34 +09:00
Sukchan Lee
28d5659aa5 Follow-up on #2178 2023-03-24 23:04:32 +09:00
Gaber Stare
6f593432a4 [AMF metrics] Initial histogram support
Version of histogram support without ogs_metrics_spec_new_ex().
Buckets are now, just like labels, passed to ogs_metrics_spec_new() as a pointer.
2023-03-24 23:03:49 +09:00
Sukchan Lee
7e1848f5de [SMF] Remove PFCP RR selection (#2186)
Missing to remove PFCP RR setting when setting is modified in #953.
2023-03-24 15:56:46 +09:00
Sukchan Lee
84e46a0ff1 [MME] Add protection code for INVALID S1AP (#2184) 2023-03-23 20:50:41 +09:00
Bostjan Meglic
df25013e54 [AMF] Do not issue SBI requests to other NF's if RAN UE already disconnected 2023-03-23 20:33:43 +09:00
Richard
3bf6941cc4 Removing debug for go live. 2023-03-19 22:26:13 +00:00
Richard
9d30dba6c5 Changed time to 13:30GMT 2023-03-19 13:21:42 +00:00
Richard
2624a86b18 Adding stale-issue workflow
Adding stale issue workflow to close and archive old issues. Dry-run first.
2023-03-19 13:19:15 +00:00
Sukchan Lee
424f382265 [AMF/MME] Support TAI Range 2023-03-19 18:31:45 +09:00
Sukchan Lee
2944fa2549 [AMF/MME] for num_of_XXX variable (uint8_t -> int) 2023-03-19 18:31:45 +09:00
Gaber Stare
e923f204aa [AMF, PCF] Don't free unallocated memory
SMF already handles the freeing in labels correctly.
In the same manner the memsets are moved to the beginning of the
problematic functions in AMF and PCF.
2023-03-18 16:39:31 +09:00
Bostjan Meglic
a73814dad2 [AMF] Fix Network Initiated Deregistration
When UDM issues a SDM Data Change Notification with request to modify
RAT restrictions, AMF would crash when it tried to send a SDM
subscription delete as part of Network Initiated Deregistration.

Function amf_ue_sbi_discover_and_send() changed from returning boolean,
to returning integer (one of OGS_OK/OGS_ERROR/...).
2023-03-18 16:35:44 +09:00
Sukchan Lee
6b17bffdfd [SBI] Modified Exception handler on error (#2169) 2023-03-15 20:41:22 +09:00
Bostjan Meglic
5f377d0126 [PCF] Fix crash when both IPv4 and IPv6 Frame Routes are set
When both IPv4 and IPv6 Frame Routes are set, IPv4 Frame Route list
was subsequently cleared.
When UE tried to deregister, PCF would crash when it tried to free the
Frame Routing list.
2023-03-15 17:59:53 +09:00
Sukchan Lee
7c87389b16 [SBI] Check POST format in Subscription (#2152)
POST requests to {apiRoot}/nnrf-nfm/v1/subscriptions/{subscriptionID} return an error
2023-03-12 23:00:14 +09:00
Sukchan Lee
dd2c85b1b0 [SBI] Conforms standard in Subscription API(#2152)
POST requests to {apiRoot}/nnrf-nfm/v1/subscriptions return
a HTTP Location header in 201 respose
in the form {apiRoot}/nnrf-nfm/v1/subscriptions/{subscriptionID}
2023-03-12 23:00:14 +09:00
Sukchan Lee
ad9e5b28cf [SBI] Added Handler for Subscription PATCH (#2152) 2023-03-12 22:06:19 +09:00
Sukchan Lee
cf0a94f369 [BSF] Removed MongoDB in BSF configuration file 2023-03-11 18:52:26 +09:00
Bostjan Meglic
359882fd49 [AMF] Fix handling Service Request
In case that handling Service Request results in an error, AMF sends a
Service Reject and sets UE's context to exception state. Without the
'break', the code would set UE's context to registered state.
2023-03-11 18:45:52 +09:00
Sukchan Lee
69c080c8f2 [NAS/GTP/PFCP] Upgrade IE to Release-17
As raised in #2147, AMF fails to decode S1 UE Network Capability.

So I reviewed all IE in NAS, GTP and PFCP and fixed it for Release-17.
2023-03-11 18:42:30 +09:00
Sukchan Lee
85f150cde1 Update document for v2.6.1 2023-03-09 00:18:30 +09:00
Sukchan Lee
30e420b7a8 Release v2.6.1 2023-03-09 00:11:11 +09:00
Sukchan Lee
66b2f6120e Release v2.6.1 2023-03-08 23:59:33 +09:00
Sukchan Lee
cb7c8a7854 Upgrade to Release-17 2023-03-06 22:45:56 +09:00
Sukchan Lee
0fd6562e48 Update document for v2.6.0 2023-03-06 22:36:39 +09:00
Sukchan Lee
8d08955783 Release v2.6.0 2023-03-06 22:29:04 +09:00
Sukchan Lee
cedec3a7b9 Added log message for troubleshooting #2117 2023-03-06 21:19:42 +09:00
Sukchan Lee
ff4eab2e51 [SMF] Fixed crash during UPF-HA process (#2115) 2023-03-06 21:04:43 +09:00
Gaber Stare
e6ba84bbef [AMF] Expose more metrics
[ETSI TS 128 552 V16.9.0](https://www.etsi.org/deliver/etsi_ts/128500_128599/128552/16.09.00_60/ts_128552v160900p.pdf)

5.2.2 Registration procedure related measurements

SNSSAI labels are not provided.

- Number of registration requests received by the AMF is
exposed for each registration type.
```
fivegs_amffunction_rm_reginitreq 1
fivegs_amffunction_rm_regmobreq 0
fivegs_amffunction_rm_regperiodreq 0
fivegs_amffunction_rm_regemergreq 0
```

- Number of successful initial registrations at the AMF is
exposed for each registration type.
```
fivegs_amffunction_rm_reginitsucc 1
fivegs_amffunction_rm_regmobsucc 0
fivegs_amffunction_rm_regperiodsucc 0
fivegs_amffunction_rm_regemergsucc 0
```

- The existing counter of failed registrations at the AMF
is exposed separately for each registration type.
```
fivegs_amffunction_rm_reginitfail
fivegs_amffunction_rm_regmobfail
fivegs_amffunction_rm_regperiodfail
fivegs_amffunction_rm_regemergfail
```

5.2.5.2 Measurements for 5G paging

Number of 5G paging procedures initiated at the AMF:
```
fivegs_amffunction_mm_paging5greq 1
```
Number of successful 5G paging procedures initiated at the AMF:
```
fivegs_amffunction_mm_paging5gsucc 1
```

5.2.11 Authentication procedure related measurements

Number of authentication requests:
```
fivegs_amffunction_amf_authreq 2
```
Number of authentication rejections:
```
fivegs_amffunction_amf_authreject 1
```
Number of failed authentications due to parameter error:
```
fivegs_amffunction_amf_authfail{cause="21"} 1
```

5.2.8 UE Configuration Update procedure related measurements

Number of UE Configuration Update commands requested by the AMF:
```
fivegs_amffunction_mm_confupdate 2
```
Number of UE Configuration Update complete messages received by the AMF:
```
fivegs_amffunction_mm_confupdatesucc 1
```
2023-03-06 20:18:35 +09:00
Sukchan Lee
e41afff7ac Added N32 Interface to implement SEPP 2023-03-05 22:55:36 +09:00
Sukchan Lee
a8790713d7 [Release-17] Upgrade PFCP to v17.7.1 2023-03-05 22:33:01 +09:00
Sukchan Lee
3b8a1386e4 [Release-17] Upgrade GTPv1/v2 to v17.4.0/v17.7.0 2023-03-05 12:37:14 +09:00
Sukchan Lee
fd9c211005 [PFCP/GTP] Fixed security bug (#2127,#2128,#2129) 2023-03-05 08:35:30 +09:00
Sukchan Lee
62b6b42e88 [Release-17] Upgrade NAS to v17.8.0 2023-03-04 23:47:40 +09:00
Sukchan Lee
c3f0c57554 Follow-up on #2100 2023-03-04 23:43:36 +09:00
Bostjan Meglic
10168f1f19 [AMF] Disallow handling service requests unless UE is already registered 2023-03-04 23:43:14 +09:00
Sukchan Lee
4d44b1843e [Release-17] Upgrade SBI to v17.x.0 2023-03-01 19:56:49 +09:00
Sukchan Lee
969c116e77 [SBI] Crash occurs when ENUM in the MAP (#2103) 2023-03-01 17:50:25 +09:00
Sukchan Lee
ce668c556c [SBI] Fixed openapitools MAP generation (#2103)
MAP was generated incorrectly because {{#items}}..{{#items}} was
missing.

Because of this, If scpInfo has scpPort, NRF crashes.
2023-02-26 10:01:08 +09:00
mitmitmitm
1d8324af9f [PFCP] Support pfcp advertise address 2023-02-24 20:53:28 +09:00
Sukchan Lee
10477ecdc9 [Release-17] Upgrade S1AP/NGAP to v17.3.9 2023-02-21 21:48:06 +09:00
Ali Shirvani
2ccd19e3f5 Update 01-quickstart.md 2023-02-21 16:56:50 +09:00
Sukchan Lee
712d4b50aa Remove MACOSX in github CI 2023-02-21 16:53:59 +09:00
mitmitmitm
22be888dae Don't left-shift by negative amount, which is UB according to C17 2023-02-20 21:00:16 +09:00
Sukchan Lee
82e9016164 [AMF/SMF] Fixed a crash (#2030, #2074, #2085) 2023-02-20 20:49:48 +09:00
Richard
2618e3da78 Removed 'bug' from auto-labels on new issue template 2023-02-20 09:32:13 +00:00
Richard
bafb29cd3a Updated bugreport.yaml
Fixed a typo/hangover from sense-checking
2023-02-18 16:13:12 +00:00
Sukchan Lee
0df402bd49 [SBI] Move HNET PKI conf inside UDM 2023-02-18 12:41:08 +09:00
Sukchan Lee
05fbaf6958 [SBI] HTTP2-TLS verification - ConfFile Changed
You should add the following configuration if you would not use TLS.

sbi:
    server:
      no_tls: true
    client:
      no_tls: true
2023-02-18 10:58:29 +09:00
Richard
3e61c5984d Fixed typos in GitHub templates and bug schemas (#2080) 2023-02-17 12:41:00 -10:00
Richard
03791d4844 updated bugreport.yaml template 2023-02-17 21:43:38 +00:00
Richard
4746eaf5a7 Issue housekeeping (#2078)
* Added GitHub issue templates and config.yaml for issue templating

* Fixed capitalisation of labels.
2023-02-18 06:08:59 +09:00
Spencer Sevilla
5f55ece521 [gtpc] silently handle OGS_GTP2_CAUSE_UE_ALREADY_RE_ATTACHED (#17)
no need to log "GTP Failed"; just handle silently or move on.
2023-02-16 11:57:00 -10:00
Sukchan Lee
b80db453e8 [GTP/PFCP] Follow-up on #2073 2023-02-17 06:55:22 +09:00
Spencer Sevilla
d30fcbb848 [pfcp] response_timeout should not call ogs_pfcp_xact_delete (#2072)
* [pfcp] response_timeout should never call ogs_pfcp_xact_delete (#50)

* also remove ogs_pfcp_xact_delete since never called

* also had to catch one more ogs_pfcp_sendto()

---------

Co-authored-by: Spencer Sevilla <spencer@MacBook-Air.local>
2023-02-17 06:50:50 +09:00
Sukchan Lee
512cc2d01b Further Follow-up on #2063 2023-02-16 22:16:20 +09:00
Sukchan Lee
1c79b36cce [DOCS] Removed missing link 2023-02-15 08:44:57 -10:00
Sukchan Lee
e20faeb1ef Follow-up on #2069 2023-02-14 23:07:23 -10:00
Bostjan Meglic
dfcd3431c3 [SBI] Fix possible crash when handling PatchItems in NFProfile PATCH req 2023-02-14 23:01:56 -10:00
Bostjan Meglic
cef5b38087 [SBI] Do not treat removed streams as errors when sending responses
This is in line with the implementation with microhttpd server
(mhd-server.c).
2023-02-14 10:12:26 -10:00
Sukchan Lee
74fdb14f7a [MME] KeNB derive from TAU(active flag=1) (#2063)
TS33.401
7 Security procedures between UE and EPS access network elements
7.2 Handling of user-related keys in E-UTRAN
7.2.7 Key handling for the TAU procedure when registered in E-UTRAN

If the "active flag" is set in the TAU request message or
the MME chooses to establish radio bearers when there is pending downlink
UP data or pending downlink signalling, radio bearers will be established
as part of the TAU procedure and a KeNB derivation is necessary.
2023-02-13 06:33:22 -10:00
Sukchan Lee
888e58a94e [AMF] Network Deregister (#2056, #2014, #2021)
Fixed a crash on explicit network-initiated deregister
with SUBSCRIPTION_WITHDRAWN
2023-02-10 23:09:39 +09:00
Bostjan Meglic
474b2d4134 [SBI,NF] Don't treat SBI connection errors as asserts 2023-02-07 22:49:11 +09:00
Sukchan Lee
8973a0bfdc [AMF] Delete UERadioCapability (#2040, #1917)
23.501 (5G NAS stage 2)
5.4.4.1:
"When the AMF receives Registration Request with the Registration type set
to Initial Registration or when it receives the first Registration Request
after E-UTRA/EPC Attach with Registration type set to Mobility Registration
Update, the AMF deletes the UE radio capability."
2023-02-07 22:29:53 +09:00
Sukchan Lee
f7a4d64f00 [AMF] Network-Initiated Deregister (#2014, #2021)
I accidentally missed one so I added it again.
2023-02-06 21:09:19 +09:00
Sukchan Lee
b88dcecc29 [TEST] Reduce paging wait time 2023-02-05 12:17:43 +09:00
Sukchan Lee
b44fa29a7d [AMF/MME] Delete UERadioCapability (#2040, #1917)
o TS24.301(4G/LTE)
  5.5.1 Attach procedure
  5.5.1.2 Attach procedure for EPS services
  5.5.1.2.4 Attach accepted by the network

If the attach request is accepted by the network,
the MME shall delete the stored UE radio capability information
or the UE radio capability ID, if any.

o TS24.501(5G)
  5.5.2 De-registration procedure
  5.5.2.1 General

When the AMF enters the state 5GMM-DEREGISTERED for 3GPP access,
the AMF shall delete the stored UE radio capability information
or the UE radio capability ID, if any.
2023-02-05 12:03:00 +09:00
Sukchan Lee
b7905725ac [SBI] HTTP/2 user-agent header (#2048)
Open5GS now checks User-AGENT only in SCP.
2023-02-05 09:50:44 +09:00
Sukchan Lee
b6aa3aba5b Follow-up on #2048 2023-02-04 22:41:11 +09:00
Flander Bojan
af07cc75ec Support for UPF HA - release/establish new PDU session 2023-02-04 22:40:33 +09:00
Sukchan Lee
bae3998c31 [SBI/NF] Follow-up on #2045 2023-02-04 21:35:12 +09:00
Bostjan Meglic
c791d97ed7 [NF] Fix double-free crash when NF is under heavy load
<nf>/init.c:<nf>_main() :
ogs_pollset_poll() receives the time of the expiration of next timer as
an argument. If this timeout is in very near future (1 millisecond),
and if there are multiple events that need to be processed by
ogs_pollset_poll(), these could take more than 1 millisecond for
processing, resulting in the timer already passed the expiration.

In case that another NF is under heavy load and responds to an SBI
request with some delay of a few seconds, it can happen that
ogs_pollset_poll() adds SBI responses to the event list for further
processing, then ogs_timer_mgr_expire() is called which will add an
additional event for timer expiration. When all events are processed
one-by-one, the SBI xact would get deleted twice in a row, resulting in
a crash.

0  __GI_abort () at ./stdlib/abort.c:107
1  0x00007f9de91693b1 in ?? () from /lib/x86_64-linux-gnu/libtalloc.so.2
2  0x00007f9de9a21745 in ogs_talloc_free (ptr=0x7f9d906c2c70, location=0x7f9de960bf41 "../lib/sbi/message.c:2423") at ../lib/core/ogs-memory.c:107
3  0x00007f9de95dbf31 in ogs_sbi_discovery_option_free (discovery_option=0x7f9d9090e670) at ../lib/sbi/message.c:2423
4  0x00007f9de95f7c47 in ogs_sbi_xact_remove (xact=0x7f9db630b630) at ../lib/sbi/context.c:1702
5  0x000055a482784846 in amf_state_operational (s=0x7f9d9488bbb0, e=0x7f9d90aecf20) at ../src/amf/amf-sm.c:604
6  0x00007f9de9a33cf0 in ogs_fsm_dispatch (fsm=0x7f9d9488bbb0, event=0x7f9d90aecf20) at ../lib/core/ogs-fsm.c:127
7  0x000055a48275b32e in amf_main (data=0x0) at ../src/amf/init.c:149
8  0x00007f9de9a249eb in thread_worker (arg=0x55a483d41d90) at ../lib/core/ogs-thread.c:67
9  0x00007f9de8fd2b43 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
10 0x00007f9de9063bb4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100
2023-02-04 21:25:46 +09:00
Sukchan Lee
79f73fae2a [Gx/Gy] MAX_CC_REQUESTER_NUMBER(32->64) (#2038)
Incrased MAX_CC_REQUESTER_NUMBER from 32 to 64
2023-02-04 20:53:44 +09:00
Sukchan Lee
8a92c7e219 [AMF] Network-Initiated Deregister (#2014, #2021)
Fixed a bug network-initiated implicit/explict deregistration
2023-02-04 20:43:31 +09:00
Bostjan Meglic
5f9b941d25 Remove not valid UTF-8 characters
These UTF-8 characters are causing issues with static code analysis
tools.

Error: encoding error in ./lib/crypt/zuc.c
'utf-8' codec can't decode byte 0x97 in position 3948: invalid start byte
Python3 requires input character data to be perfectly encoded;
it also requires perfectly correct system encoding settings.
Unfortunately, your data and/or system settings are not.
2023-01-31 00:22:16 +09:00
Sukchan Lee
f9ba6637c1 Update Document for Frame Routing (#2035) 2023-01-29 22:54:54 +09:00
Sukchan Lee
8a6c36daca [AMF] Network Initiated De-Register (#2014, #2021)
Resolved Network Initiated Implicit/Explicit De-Registration
2023-01-29 22:44:44 +09:00
Sukchan Lee
131ecb4a44 [CORE] Add defense code to ogs_pkbuf_copy (#2032)
Added a defense code to prevent NF crash when ogs_pkbuf_copy() size is 0.
2023-01-29 16:45:42 +09:00
Sukchan Lee
b7386284a7 [NRF] Fixed a crash during NRF discovery (#2034)
Other NF instances are obtained through NRF
or created directly through configuration files.

Other NFs created by the config file should not be passed
through NRF discovery or anything like that.

Since self-created NF Instances do not have an ID,
they are implemented to exclude them from NRF Discovery.
2023-01-29 11:22:45 +09:00
Sukchan Lee
610b998038 [AMX] Fixed a crash due to deregistration (#2021)
Fixed an issue where AMF would crash
if an implicit deregistration occurred twice.
2023-01-29 09:09:52 +09:00
Sukchan Lee
f50591a8f7 Added Service-MAP to Requester-Features (#2027)
ALWAYS Added Service-MAP to Requester-Features in Discovery Option
2023-01-29 01:35:47 +09:00
Sukchan Lee
728ca41103 [MME] Fixed crash due to Paging routine (#2017) 2023-01-27 16:42:23 +09:00
mitmitmitm
739cb599d1 [UDR] Read framed routes from DB send them in sm-data
The framed routes are stored in mongo as

 {
     "imsi" : "$IMSI",
     ...,
     "slice" :
     [{
         ...,
         "session" :
             ...,
             "ipv4_framed_routes" : ["10.45.33.0/24", "10.45.35.0/24"],
         }],
     }],
 },
2023-01-26 22:37:58 +09:00
mitmitmitm
11568bbff7 ogs_session_s.framed_routes type change to (char **)
OpenAPI_list_t wasn't optimal as it created a dependency on ogs-sbi.h.
2023-01-26 22:37:58 +09:00
Sukchan Lee
2051bcaefd Follow-up on #2013 2023-01-26 21:25:07 +09:00
Sukchan Lee
b82a898646 update it 2023-01-26 21:22:24 +09:00
jmasterfunk84
1e6b1d4f7b [MME] Implicit Network-initiated Deregistration (#2013)
* [MME] Introduce aging timers

* Creating three new timers
* mirroring work done by gstaa on the AMF
* Implicit detach procedures added
* Fix for detach from unknown UE

* no Purge Timer, no config, expanded code
2023-01-26 21:22:17 +09:00
Sukchan Lee
9e6cff7225 Merge branch 'MMENetworkDeregTimers' of https://github.com/jmasterfunk84/open5gs into jmasterfunk84-MMENetworkDeregTimers 2023-01-26 21:15:32 +09:00
Sukchan Lee
95e5d95faf [AMF] Fixed crashes from malformed 5GS-ID (#2020) 2023-01-26 20:48:55 +09:00
Sukchan Lee
85981effc7 [AMF/AMF] Not assert for ogs_asn_copy_ie() (#2018)
Does not raise an assertion even if open5gs cannot handle the ASN in
ogs_asn_copy_ie()
2023-01-25 23:16:59 +09:00
Sukchan Lee
3715b9ece3 [CORE] OGS_MAX_SDU_LEN->OGS_HUGE_LEN Stack (#2008)
Changed all OGS_MAX_SDU_LEN in the stack to OGS_HUGE_LEN.
2023-01-25 22:24:51 +09:00
jmasterfunk84
ee2eded848 Merge branch 'main' into MMENetworkDeregTimers 2023-01-24 12:47:33 -06:00
jmasterfunk84
e96b6be245 no Purge Timer, no config, expanded code 2023-01-24 12:35:47 -06:00
Sukchan Lee
596a2f1b5e [SBI] Fixed crash if no BW Unit(Xbps) (#2000) 2023-01-24 21:55:06 +09:00
Sukchan Lee
218b31d006 [CORE] Increase SDU buffer to 32k (#2008) 2023-01-24 21:43:20 +09:00
Sukchan Lee
43eb5f3d7f Fixed warning 2023-01-24 19:06:01 +09:00
Sukchan Lee
b108ae0aff [PFCP] buffer overflow in ALPINE (#1911, #2009)
A buffer overflow occurred in ALPINE
because the size of the pfcp message structure increased by

    ogs_pfcp_tlv_framed_route_t framed_route[8];
    ogs_pfcp_tlv_framed_ipv6_route_t framed_ipv6_route[8];
2023-01-24 19:03:00 +09:00
Sukchan Lee
11aac6a164 [CORE] Rollback ogs_pkbuf_copy() from (#2012)
In the previous #2012 working, I've added ogs_pkbuf_free() for original
buffer. But, this rasied double free. So, I've rollback it,
2023-01-24 00:17:10 +09:00
Sukchan Lee
c6fd4ae6b8 [LOG] remove ogs_expect_or_return()/return_val() 2023-01-24 00:01:36 +09:00
Sukchan Lee
ed5cd4d513 [MME] Fixed a crash when no UE context (#2016) 2023-01-23 18:49:12 +09:00
Sukchan Lee
54331d77ee [UPF] URR time threshold log to info (#1997) 2023-01-23 15:58:55 +09:00
Sukchan Lee
f8aedb3abe remove old document 2023-01-23 11:08:44 +09:00
Sukchan Lee
184461c411 Update document for v2.5.8 2023-01-23 11:08:30 +09:00
Sukchan Lee
689574a2d9 [AMF/MME] Fixed crash when no NG/S1 context(#2012) 2023-01-23 10:37:22 +09:00
Sukchan Lee
a8f83989f4 Follow-up on #2009 2023-01-23 09:29:00 +09:00
mitmitmitm
f6439b998c [SMF] Handle framed routes, forward them to UPF and PCF 2023-01-23 09:26:26 +09:00
mitmitmitm
990abbab2c [UPF] Handle framed routes 2023-01-23 09:26:26 +09:00
mitmitmitm
3e980e006f [PCF] Handle framed routes, forward them to BSF 2023-01-23 09:26:26 +09:00
mitmitmitm
88209f52df [BSF] Handle Ipv4FrameRouteList, save it into context 2023-01-23 09:26:26 +09:00
mitmitmitm
337a4e5159 [PFCP] Allow up to 8 framed routes for each IP type 2023-01-23 09:26:26 +09:00
Sukchan Lee
ff261681c0 [PROTO] Increase SDU buffer 8k->16k (#2008) 2023-01-21 12:58:43 +09:00
Sukchan Lee
df4c83372d [AMF] Fixed MEMORY LEAK (#1925) 2023-01-21 09:02:44 +09:00
Sukchan Lee
a712d865cd [METRICS] Re-order init/final (#1985, #2001) 2023-01-20 21:16:45 +09:00
jmasterfunk84
5c3f10aa0e [MME] Introduce aging timers
* Creating three new timers
* mirroring work done by gstaa on the AMF
* Implicit detach procedures added
* Fix for detach from unknown UE
2023-01-18 20:39:27 -06:00
Sukchan Lee
0e0085c69f [UPF] Fixed bug when 2 PDRs with same TEID (#2003) 2023-01-18 23:31:54 +09:00
Sukchan Lee
ce7b60dbb5 [AMF] Fixed RM metric RegisteredSubNbr (#2001) 2023-01-18 22:29:44 +09:00
Sukchan Lee
0fcf2bd6d1 Update document for v2.4.13 and v2.5.7 2023-01-17 17:46:21 +09:00
Sukchan Lee
b9adea2a60 Version update 2023-01-14 12:12:02 +09:00
Sukchan Lee
8e2e6491f7 Update document for 2.5.7 2023-01-14 12:11:10 +09:00
Sukchan Lee
d630cf6521 Update document for v2.4.13 2023-01-14 12:10:45 +09:00
Sukchan Lee
4933c7ee24 More follow-up on #1911 2023-01-14 10:34:21 +09:00
Sukchan Lee
01a7b3c9b8 Follow-up on #1991 2023-01-14 09:20:52 +09:00
jmasterfunk84
3fd7ecc9a2 [MME] Add Purge-UE Capability (#1991)
* [MME] Add Purge-UE Capability

* Add OGS_GTP_..._PURGE_AND_REMOVE to split CLR case
2023-01-14 09:13:48 +09:00
Sukchan Lee
5128ebc6c6 [SMF] Added User-ID, APP_DNN, S-NSSAI (#1986)
Added User-ID, APP_DNN, S-NSSAI in N4 PFCP Session Establishment Request
2023-01-13 10:28:40 +09:00
ridzafauzi
92efca1fbf changed error tagged log to info tagged log for handling 5g guti information during Configuration Update procedure 2023-01-11 23:12:20 +09:00
Sukchan Lee
c0a61fb71e [PCRF] More fixes for crashes (#1981) 2023-01-10 16:13:44 +09:00
Bostjan Meglic
ddfd7b9373 [pfcp] Fix code style 2023-01-09 21:47:30 +09:00
Sukchan Lee
7f9afa0213 [AMF] More Follow-up on #1987 2023-01-08 20:02:18 +09:00
Sukchan Lee
9f4a9790e3 [AMF] Follow-up on #1987
[AMF] Implicit Network-initiated Deregistration

    Two timers are introduced (both with duration of T3512 + 4 min):
    -MOBILE_REACHABLE
    -IMPLICIT_DEREGISTRATION
    MOBILE_REACHABLE is set when NAS connection for the UE is released.
    IMPLICIT_DEREGISTRATION is set when MOBILE_REACHABLE expires.

    On MOBILE_REACHABLE expiry Paging is ignored.
    On IMPLICIT_DEREGISTRATION expiry:
    -UE's RM_State is set to DEREGISTERED
    -UE is Nudm_SDM_Unsubscribed
    -UE is Nudm_UECM_Deregistered
    -PDU sessions are released
    -AM policies are deleted

    Existing flag amf_ue->network_initiated_de_reg is used.
2023-01-08 13:53:48 +09:00
Gaber Stare
bfd5cefe53 [AMF] Implicit Network-initiated Deregistration
Two timers are introduced (both with duration of T3512 + 4 min):
-MOBILE_REACHABLE
-IMPLICIT_DEREGISTRATION
MOBILE_REACHABLE is set when NAS connection for the UE is released.
IMPLICIT_DEREGISTRATION is set when MOBILE_REACHABLE expires.

On MOBILE_REACHABLE expiry Paging is ignored.
On IMPLICIT_DEREGISTRATION expiry:
-UE's RM_State is set to DEREGISTERED
-UE is Nudm_SDM_Unsubscribed
-UE is Nudm_UECM_Deregistered
-PDU sessions are released
-AM policies are deleted

Existing flag amf_ue->network_initiated_de_reg is used.
2023-01-08 13:48:32 +09:00
Sukchan Lee
8553c77733 [METRICS] Fixed a core dump in SMF/UPF/PCF (#1985) 2023-01-07 21:17:14 +09:00
Sukchan Lee
2ec1f484b4 [PCRF] Fixed a crash (#1981)
An assertion was fired when switching between video and audio.
2023-01-07 15:21:17 +09:00
Sukchan Lee
4510176da2 [MME] Clear UE Context for Attach Reject (#1848)
Attach Reject + PDN Connectivity Reject need to clear UE Context
2022-12-27 21:08:48 +09:00
Sukchan Lee
8373d0e331 SIDF only required in UDM, not AUSF (#1779) 2022-12-25 20:12:26 +09:00
Sukchan Lee
0d2c31fe06 Fixed SMF-METRICS bug in EPC 2022-12-25 17:33:13 +09:00
Matej Gradisar
1d93e7a7bc New AMF ID in SMF session context for 'inter-AMF change or mobility' 2022-12-25 00:11:17 +09:00
Sukchan Lee
79d46be086 Introduced Subscription identifier de-concealing
o Generate the private key as below.
   $ openssl genpkey -algorithm X25519 -out /etc/open5gs/hnet/curve25519-1.key
   $ openssl ecparam -name prime256v1 -genkey -conv_form compressed -out /etc/open5gs/hnet/secp256r1-2.key

 o The private and public keys can be viewed with the command.
   The public key is used when creating the SIM.
   $ openssl pkey -in /etc/open5gs/hnet/curve25519-1.key -text
   $ openssl ec -in /etc/open5gs/hnet/secp256r1-2.key -conv_form compressed -text

In ausf/udm.yaml

 hnet:
    o Home network public key identifier(PKI) value : 1
      Protection scheme identifier : ECIES scheme profile A
    - id: 1
      scheme: 1
      key: /etc/open5gs/hnet/curve25519-1.key

    o Home network public key identifier(PKI) value : 2
      Protection scheme identifier : ECIES scheme profile B
    - id: 2
      scheme: 2
      key: /etc/open5gs/hnet/secp256r1-2.key

    o Home network public key identifier(PKI) value : 3
      Protection scheme identifier : ECIES scheme profile A
    - id: 3
      scheme: 1
      key: /etc/open5gs/hnet/curve25519-1.key

    o Home network public key identifier(PKI) value : 4
      Protection scheme identifier : ECIES scheme profile B
    - id: 4
      scheme: 2
      key: /etc/open5gs/hnet/secp256r1-2.key

Related to #1779
2022-12-24 20:22:45 +09:00
mitmitmitm
0ebe07c83d [mongo] Use "ping" command instead of "serverStatus"
"serverStatus" on the "admin" database may fail due to insufficient privileges.
2022-12-21 23:15:34 +09:00
Bostjan Meglic
38aadb77e0 [SMF] Fix metric bearers_active
Metric 'bearers_active' was incremented in only one code path
(smf_bearer_add() for 4G only), while it was decremented from two paths
(smf_bearer_remove() for both 4G and 5G).
Increment metric also for 5G path (smf_qos_flow_add()), so it won't get
decremented into negative values.
2022-12-17 16:27:42 +09:00
Gaber Stare
b56c33479e Add NF load to NRF Heartbeat
The current load percentage of the NF Service Consumer is provided
in the payload body of the PATCH request when periodically
contacting the NRF (heart-beat).

AMF: ratio between currently connected ran_ue and maximum number of them
SMF: ratio between current PDU sessions and maximum available
PCF: ratio between current AM+SM policy associations and maximum available
     or ratio between currently connected UEs and maximum number of them
     (the load which is higher)
AUSF, UDM: ratio between currently connected UE and maximum number of them
BSF: ratio between current sessions and maximum available
NSSF: ratio between currently used NSIs and maximum number of them

NRF currently doesn't determine that the NF Profile has changed.
2022-12-14 22:53:56 +09:00
Sukchan Lee
9c64662764 Update document 2022-12-11 12:06:25 +09:00
Sukchan Lee
13fd9afbd1 Update document 2022-12-11 11:55:31 +09:00
Lester
bd080f5095 free socket fd
call ogs_sock_destroy to free sock when fail to get socket fd
2022-12-09 16:10:44 +09:00
mitmitmitm
6ad320a97c [AMF] Fix deletion of auth data from AUSF 2022-12-09 07:25:12 +09:00
Gaber Stare
3edceecf66 [SMF] Add SM metrics support
Expose SM metrics with labels according to ETSI TS 128 552 V16.13.0 in
SMF by using hash.

The metrics are named respecting the rule:
<generation>_<measurement_object_class>_<measurement_family_name>_<metric_name_as_in_TS_128_552>
Existing gauge sessions_active is renamed!

Since slice itself is not unique, the plmnid label is exposed in
addition to snssai.

Exposed metrics example:
-standard gauges:
fivegs_smffunction_sm_sessionnbr{plmnid="00101",snssai="1000009"} 0
fivegs_smffunction_sm_qos_flow_nbr{plmnid="00101",snssai="1000009",fiveqi="9"} 0

-nonstandard counters:
fivegs_smffunction_sm_n4sessionestabfail{cause="71"} 68
fivegs_smffunction_sm_n4sessionreport 1
fivegs_smffunction_sm_n4sessionreportsucc 1
fivegs_smffunction_sm_n4sessionestabreq 1
2022-12-08 20:57:11 +09:00
Gaber Stare
4c76a254ee [AMF] Add RM metrics support
Expose RM metrics with labels according to ETSI TS 128 552 V16.13.0 in
AMF by using hash.

The metrics are named respecting the rule:
<generation>_<measurement_object_class>_<measurement_family_name>_<metric_name_as_in_TS_128_552>

Since slice itself is not unique, the plmnid label is exposed in
addition to snssai.

RegInitFail is exposed as an alternative to RegInitReq and RegInitSucc
counters so cause label can be provided. It counts rejected registrations
and rejected authentications.
Rejected authentications are counted under label cause="0".

Exposed metrics example:
-standard gauge:
fivegs_amffunction_rm_registeredsubnbr{plmnid="00101",snssai="1000009"} 1

-nonstandard counter:
fivegs_amffunction_rm_reginitfail{cause="3"} 4
2022-12-08 20:57:11 +09:00
Bostjan Meglic
3e22059916 [SMF] fix crash due free-ing invalid pointer
In case that database is (manually) corrupted for a specific UE, SSC
mode and ARP preemption vulnerability fields are not set correctly,
SMF will crash when trying to build a request to create PCF association.

Function smf_npcf_smpolicycontrol_build_create() will end prematurely,
and when cleaning up resources it will try to free() up invalid pointer,
which was not set to 0 at beginning of the function.

[smf] ERROR: SSCMode is not allowed (../src/smf/nudm-handler.c:165)
[sbi] DEBUG: STATUS [201] (../lib/sbi/nghttp2-server.c:443)
[sbi] DEBUG: SENDING...: 3 (../lib/sbi/nghttp2-server.c:451)
[sbi] DEBUG: {
} (../lib/sbi/nghttp2-server.c:452)
[sbi] DEBUG: STREAM closed [1] (../lib/sbi/nghttp2-server.c:962)
[smf] ERROR: No Arp.preempt_cap (../src/smf/npcf-build.c:132)
<crash>

0  __GI_abort () at ./stdlib/abort.c:107
1  0x00007f9348fe43b1 in ?? () from /lib/x86_64-linux-gnu/libtalloc.so.2
2  0x00007f9349aef745 in ogs_talloc_free (ptr=0x7f9348e38dab <_int_free+1675>,
    location=0x5591b8675d27 "../src/smf/npcf-build.c:181") at ../lib/core/ogs-memory.c:107
3  0x00005591b8653c45 in smf_npcf_smpolicycontrol_build_create (sess=0x7f9343070010, data=0x0)
    at ../src/smf/npcf-build.c:181
4  0x00007f9349abc2b4 in ogs_sbi_xact_add (sbi_object=0x7f9343070010,
    service_type=OGS_SBI_SERVICE_TYPE_NPCF_SMPOLICYCONTROL, discovery_option=0x7f9338006d90,
    build=0x5591b86531d0 <smf_npcf_smpolicycontrol_build_create>, context=0x7f9343070010, data=0x0)
    at ../lib/sbi/context.c:1699
5  0x00005591b86580be in smf_sbi_discover_and_send (service_type=OGS_SBI_SERVICE_TYPE_NPCF_SMPOLICYCONTROL,
    discovery_option=0x0, build=0x5591b86531d0 <smf_npcf_smpolicycontrol_build_create>, sess=0x7f9343070010,
    stream=0x7f9344fce0a0, state=0, data=0x0) at ../src/smf/sbi-path.c:110
6  0x00005591b864e9da in smf_nudm_sdm_handle_get (sess=0x7f9343070010, stream=0x7f9344fce0a0,
    recvmsg=0x7f933f52d5a0) at ../src/smf/nudm-handler.c:290
7  0x00005591b8600c96 in smf_gsm_state_wait_5gc_sm_policy_association (s=0x7f9343070610, e=0x7f9338076730)
    at ../src/smf/gsm-sm.c:523
...
2022-12-07 21:21:01 +09:00
Sukchan Lee
1be6176e8d Follow-up on #1940 - Fixed compile error 2022-12-07 20:41:18 +09:00
Sukchan Lee
fbd9ada101 Follow-up on #1940 2022-12-06 22:59:06 +09:00
Gaber Stare
0c2a3b0f39 [PCF] Add metrics support
Expose metrics with labels according to ETSI TS 128 552 V16.13.0 in
PCF by using hash.

The metrics are named respecting the rule:
<generation>_<measurement_object_class>_<measurement_family_name>_<metric_name_as_in_TS_128_552>

Since slice itself is not unique, the plmnid label is exposed in
addition to snssai.

AM policy:
fivegs_pcffunction_pa_policyamassoreq and
fivegs_pcffunction_pa_policyamassosucc do not expose snssai label
since it is not available at the time of exposure.
plmnid is defined during AM policy processing, so not to lose the
difference to ...succ, the basic metric
fivegs_pcffunction_pa_policyamassoreq is preserved.

SM policy:
snssai is defined during SM policy processing, so not to lose the
difference to ...succ, the basic metric
fivegs_pcffunction_pa_policysmassoreq is preserved.

Those 2 basic metrics retain their position but are exposed with empty
labels.
Metrics with labels are called later, when the label values are known.

Exposed metrics example:
-standard counters:
fivegs_pcffunction_pa_policyamassoreq{plmnid=""} 3
fivegs_pcffunction_pa_policyamassoreq{plmnid="99970"} 3
fivegs_pcffunction_pa_policyamassosucc{plmnid="99970"} 3
fivegs_pcffunction_pa_policysmassoreq{plmnid="",snssai=""} 3
fivegs_pcffunction_pa_policysmassoreq{plmnid="99970",snssai="1000009"} 3
fivegs_pcffunction_pa_policysmassosucc{plmnid="99970",snssai="1000009"} 3

-nonstandard gauge (added for controlling purposes -
same metric as existing metric on AMF and SMF):
fivegs_pcffunction_pa_sessionnbr{plmnid="99970",snssai="1000009"} 0
2022-12-06 22:57:24 +09:00
Gaber Stare
40b4c9d1c9 [UPF] Add metrics support
Expose metrics with labels according to ETSI TS 128 552 V16.13.0 in
UPF by using hash.

The metrics are named respecting the rule:
<generation>_<measurement_object_class>_<measurement_family_name>_<metric_name_as_in_TS_128_552>

5qi is not available in UPF.
To present 5qi to the user, MN will have to maintain a table qfi->5qi
for each QoS flow (will have to get information from SMF).
So UPF has to expose qfi. qfi itself is not useful. When used, UPF will
have to expose additional label to define the session (e.g. source
interface).

Label dnn is set to value of APN/DNN received in Establishment.
Since SMF does not add APN/DNN to Establishment, the label is empty.
When APN/DNN will be set by SMF, it should be added to sess in UPF
and used in metrics on Modification and Deletion.

Both datavolumeqosleveln3upf are exposed in bytes.
MN is providing the transformation to kbits.

fivegs_upffunction_upf_qosflows should expose the number of QFIs used in
sessions, but exposes number of QER rules, which is currently equal to
QFIs.
The label snsssai is not provided since the slice is not available on UPF.

Exposed metrics example:
Standard counters:
fivegs_ep_n3_gtp_indatapktn3upf 28637
fivegs_ep_n3_gtp_outdatapktn3upf 14729
fivegs_upffunction_sm_n4sessionestabreq 4
fivegs_upffunction_sm_n4sessionestabfail{cause="66"} 1
fivegs_upffunction_sm_n4sessionestabfail{cause="71"} 68
fivegs_upffunction_sm_n4sessionestabfail{cause="68"} 4
fivegs_upffunction_sm_n4sessionestabfail{cause="72"} 15
fivegs_upffunction_sm_n4sessionestabfail{cause="75"} 3
fivegs_upffunction_sm_n4sessionestabfail{cause="65"} 4
fivegs_upffunction_sm_n4sessionreport 0
fivegs_upffunction_sm_n4sessionreportsucc 0
fivegs_ep_n3_gtp_indatavolumeqosleveln3upf{qfi="1"} 39792997
fivegs_ep_n3_gtp_outdatavolumeqosleveln3upf{qfi="1"} 737548
Nonstandard gauge (added for controlling purposes -
same metric as existing metric on AMF and SMF):
fivegs_upffunction_upf_sessionnbr 1
Standard gauge:
fivegs_upffunction_upf_qosflows{dnn=""} 1
2022-12-06 22:57:24 +09:00
Sukchan Lee
a5fd315e11 [SBI] Case-Insensitive inside MIME message (#1939) 2022-12-05 21:30:24 +09:00
Lester
0fe904d593 free replybuf after sent replay message 2022-12-05 12:05:39 +09:00
Miguel Borges de Freitas
f1aff3c233 amf: fix regression for smf selection 2022-12-04 15:12:15 +09:00
Sukchan Lee
bd30e5534b [AMF] Fixed a crash while NGReset (#1928) 2022-12-04 15:01:43 +09:00
Sukchan Lee
817007d0ae [AMF] Wrongly sending PDU Session Release (#1925) 2022-12-04 14:32:19 +09:00
Sukchan Lee
a4dc990bf1 Added more log in GTP Error (#1920) 2022-12-02 09:10:49 +09:00
Sukchan Lee
fa5b2fe075 [SBI] Remove redundant code (#1923) 2022-11-30 17:01:30 +09:00
Sukchan Lee
0861a045ef [UPF] Fixed an infinte loop when ext_len is 0 2022-11-30 16:40:57 +09:00
Sukchan Lee
b9c6906017 Fixed manual of sgwu.yaml conf 2022-11-29 23:40:53 +09:00
Sukchan Lee
f3654b7547 [AMF/MME] Added missing T3423 in conf (#1905) 2022-11-29 23:32:44 +09:00
Sukchan Lee
944adaabbf [AMF/MME] Added Timer Configuration (#1905) 2022-11-29 23:22:16 +09:00
mitmitmitm
ea09a7921a [AMF] Handle am-data/subscribedUeAmbr change notification
When such a notification arrives from UDM, notify the GNB of the new values
AMBR uplink/downlink values.
2022-11-29 23:10:49 +09:00
mitmitmitm
3b043b082a [AMF] Handle am-data/ratRestrictions change notification
When such a notification arrives from UDM, delete the corresponding SDM
subscription from the UDM and deregister the UE if it becomes RAT restricted.
2022-11-29 23:10:49 +09:00
mitmitmitm
3870216a6b [AMF] Add support for SDM subscription and authentication deletion 2022-11-29 23:10:49 +09:00
mitmitmitm
9364cd7513 [AMF] Allow unspecified (infinity) ue_ambr up/downlink limits 2022-11-29 23:10:49 +09:00
mitmitmitm
4ec5dedaf4 [AUSF] Handle UEAuthentication DELETE 2022-11-29 23:10:49 +09:00
mitmitmitm
bdc9c1373f [UDM/UDR] Handle UEAuthentication authRemovalInd 2022-11-29 23:10:49 +09:00
mitmitmitm
89c3f3e1c0 [UDM] Handle SDM unsubscribe 2022-11-29 23:10:49 +09:00
mitmitmitm
dbd0e654c8 OpenAPI: Add functions OpenAPI_list_clear and OpenAPI_list_insert_prev 2022-11-29 23:10:49 +09:00
Sukchan Lee
02054bea31 [WebUI] Install on MongoDB below v6.0 (#1910) 2022-11-27 11:07:43 +09:00
Sukchan Lee
9170617df1 [AMF/MME] forget UE Radio Capability (#1917)
forgetting the UE Radio Capabilities
when UE is sending NAS "De-Registration Request" with "type = Switch-off
2022-11-27 09:03:44 +09:00
Sukchan Lee
f85ff227c8 Continue to fix alpine stack overflow (#1911) 2022-11-27 00:11:34 +09:00
Sukchan Lee
d82f338246 Fixed alpine stack overflow (#1911) 2022-11-27 00:03:56 +09:00
Sukchan Lee
8ce18b3828 [AMF/MME] Refactor SM to prevent crash (#1912) 2022-11-26 21:38:46 +09:00
Lester
3f772823a6 get amf_ue from sess
amf_ue will be null and cause a coredump when type is OGS_SBI_OBJ_SESS_TYPE.
2022-11-26 18:27:50 +09:00
mitmitmitm
a951d683d2 OpenAPI: AnyType for ChangeItem's newValue and origValue properties 2022-11-24 17:30:38 +09:00
mitmitmitm
b85ad61e2b OpenAPI: Generate patch_item.[ch] from OpenAPI specifications 2022-11-24 17:30:38 +09:00
mitmitmitm
36734cac7c OpenAPI: Move any_type.[ch] from custom/ into sbi/openapi/model/
This makes it possible to have object values of type "any_type" in OpenAPI
specifications.
2022-11-24 17:30:38 +09:00
Sukchan Lee
b06569da28 Oops! errata 2022-11-24 13:42:51 +09:00
Sukchan Lee
8efa60d211 Removed MongoDB from WebUI install-script (#1824) 2022-11-24 13:20:39 +09:00
Sukchan Lee
cb8c87f996 Fixed MacOSX Test code 2022-11-23 21:06:15 +09:00
Sukchan Lee
cede8ff83c update document 2022-11-22 23:43:35 +09:00
Sukchan Lee
007033330a Fixed test code for MacOSX Ventura 2022-11-22 17:16:31 +09:00
Sukchan Lee
ffe7f846e1 Fixed prometheus-client-c branch next to open5gs 2022-11-21 22:09:18 +09:00
Sukchan Lee
982ac61894 Prometheus metrics set to default 2022-11-21 22:06:29 +09:00
Sukchan Lee
57f1f2c21a Fixed crash after 48 hours of running (#1893) 2022-11-18 23:28:35 +09:00
Bostjan Meglic
b084edeee1 [metrics] Fix log output for metrics
Even if the configured log level for the application was set to "error",
the first "info" message of the metrics library was output to the log.
Reorder the initialization of the metrics library.
2022-11-15 23:50:15 +09:00
Sukchan Lee
1c3876517f Update document 2022-11-15 13:43:16 +09:00
Sukchan Lee
8b83e0af10 Update document 2022-11-15 11:21:18 +09:00
Sukchan Lee
aa565b5fee Update document 2022-11-15 11:06:12 +09:00
Sukchan Lee
07f4ae3af7 Added OSS Notice 2022-11-14 23:11:57 +09:00
Sukchan Lee
10766521e5 Changed the location of Osmocom nightly build 2022-11-13 09:51:30 +09:00
Sukchan Lee
d39bafc6d6 [SBI] Introduced HTTP2-TLS based on #1865
Verfication is not implemented.
2022-11-12 10:47:18 +09:00
Sukchan Lee
0859dd4453 Follow-up on #1865 2022-11-12 09:37:43 +09:00
Flander Bojan
4ba90fbd3b Fix TLS error handling 2022-11-12 09:30:31 +09:00
Flander Bojan
141c345b75 Add TLS support 2022-11-12 09:30:31 +09:00
Sukchan Lee
517bb6ad85 Follow-up on #1886 2022-11-10 15:14:01 +09:00
lost_res
3730db615e Update 01-quickstart.md
Change S1AP bind address for external eNB.
2022-11-10 15:11:12 +09:00
Yarin Sergey
935f50bb24 Build WebUI from local source
Use local copy of source code to build WebUI,
instead of downloading the code from Github.
2022-11-08 23:02:46 +09:00
Bostjan Meglic
ba8a7ce1af [AMF] Add implicit_unsubscribe field to SDMSubscription 2022-11-08 15:57:21 +09:00
Sukchan Lee
4106207150 Rollback WebUI (#1882) 2022-11-07 22:57:33 +09:00
Yarin Sergey
4091484215 Build webui from local source
Use local copy of source code to build webui,
instead of downloading the code from Github.
2022-11-07 22:47:59 +09:00
Sukchan Lee
ddf09f270a [SMF] Fixed PTI when PDU Session Reject 2022-11-07 16:51:51 +09:00
Sukchan Lee
95459f8376 [WebUI] Change installation script (#1824) 2022-11-06 20:11:24 +09:00
Sukchan Lee
77c92eb37b Release v2.5.5 2022-11-04 20:39:19 +09:00
Sukchan Lee
0d4cd88379 Fixed the WebUI installation 2022-11-04 17:55:32 +09:00
Sukchan Lee
0a9f2e5c40 Fix the WebUI installation bug 2022-11-04 17:52:23 +09:00
Sukchan Lee
1cc6736fa8 Squashed commit of the following:
commit 5070c19a5469269d036bf243ebdb2740aefc7b8d
Author: Sukchan Lee <acetcom@gmail.com>
Date:   Fri Nov 4 15:46:35 2022 +0900

    updte it

commit e49107f46152ff6dce5658b48cfb2c31df61724a
Author: Sukchan Lee <acetcom@gmail.com>
Date:   Fri Nov 4 11:03:37 2022 +0900

    update it

commit a55b977e044b1d74ccc8a19f1dbf8194c3cd7daa
Author: Sukchan Lee <acetcom@gmail.com>
Date:   Fri Nov 4 10:50:41 2022 +0900

    update it

commit 0ff0930d99bfeb91134271dae0941b4c454d1a3d
Author: Sukchan Lee <acetcom@gmail.com>
Date:   Fri Nov 4 10:09:35 2022 +0900

    update it

commit 8cb5038b66d4a605446c6fc200b77f645f7ad328
Author: Sukchan Lee <acetcom@gmail.com>
Date:   Fri Nov 4 09:39:08 2022 +0900

    update it

commit 0a6829dfb6470f3d9b786363d49387fdc688e33b
Author: Sukchan Lee <acetcom@gmail.com>
Date:   Fri Nov 4 09:06:22 2022 +0900

    update it

commit ea85035300d9a42cc5f8f7ee300d28cd055f0f1c
Author: Sukchan Lee <acetcom@gmail.com>
Date:   Thu Nov 3 21:36:17 2022 +0900

    update it

commit e86ba621de332d3f712569cf0580fc8a5321adbd
Author: Sukchan Lee <acetcom@gmail.com>
Date:   Thu Nov 3 17:39:27 2022 +0900

    update it

commit 2c05df84eabeba7c277c622e5d810768b2895961
Author: Sukchan Lee <acetcom@gmail.com>
Date:   Thu Nov 3 16:20:47 2022 +0900

    update it

commit 43c88aed3f2001fdbc28ce0f11cc21dfcdc5906f
Author: Sukchan Lee <acetcom@gmail.com>
Date:   Wed Nov 2 22:17:37 2022 +0900

    update it

commit b374db4e02e7dd153944f5a6fdc2a50c434dfa09
Author: Sukchan Lee <acetcom@gmail.com>
Date:   Wed Nov 2 22:05:53 2022 +0900

    update it
2022-11-04 17:39:29 +09:00
Sukchan Lee
fa35b06963 Follow-up on #1876 2022-11-04 14:58:47 +09:00
Bostjan Meglic
00a86c5a73 [SBI] Do not send empty arrays when registering to NRF
OpenAPI dictates that certain arrays should have at least one item,
otherwise they should not be present.
This includes lists for IPv4/v6 addresses, TAI/TAC lists, ...

Add a check if there is at least 1 item, before creating an array.
Also move variable declarations to inner blocks, to prevent some
accidental usage out of wanted scope.
2022-11-04 14:58:33 +09:00
Sukchan Lee
406e3f07dc Release v2.5.4 2022-11-01 21:22:09 +09:00
EugeneBogush
5fd4fe9379 added open5gs-scp 2022-11-01 21:04:00 +09:00
Sukchan Lee
e9db0b0889 Release v2.5.3 2022-10-31 07:26:52 +09:00
EugeneBogush
2a2d5c5cfa fix for scp daemon (#1872)
* fix

* fix2

* fix
2022-10-31 07:14:53 +09:00
Sukchan Lee
9a7b75eb3b Release v2.5.2 2022-10-30 14:24:37 +09:00
Sukchan Lee
15e3c1f166 Fix to avoid port (7777) conflicts on Mac OS X 2022-10-30 13:58:28 +09:00
Sukchan Lee
cca53fb8e8 SCP had a serioud memory problem and fixed it 2022-10-30 13:35:25 +09:00
Sukchan Lee
243bf9850a [NAS] Discard message if Integrity failed (#1848) 2022-10-29 21:31:18 +09:00
Sukchan Lee
78359374ab Document update for v2.5.1 2022-10-29 12:47:04 +09:00
Sukchan Lee
3e22805941 Release v2.5.1 2022-10-29 12:41:27 +09:00
Sukchan Lee
0df2cba257 Support SMF Security Indication IE (#1851) 2022-10-29 12:26:09 +09:00
Sukchan Lee
f1c0b6d239 Fixed a bug WebUI for production build (#1824) 2022-10-28 14:44:06 +09:00
mitmitmitm
b9f6432e54 [AMF] Support REREGISTRATION_REQUIRED in dereg notify 2022-10-26 14:40:41 +09:00
Sukchan Lee
ead6f8e973 Update document for v2.5.0 2022-10-25 23:30:08 +09:00
Sukchan Lee
5ef88fcd01 Release v2.5.0 2022-10-25 22:49:28 +09:00
Sukchan Lee
67dd7d8633 Added missing files(SCP for systemd) 2022-10-25 22:35:58 +09:00
Sukchan Lee
844ec8a810 Release v2.5.0 2022-10-25 21:29:12 +09:00
Sukchan Lee
e3ba32c85d Fixed the bug of SGW-C session deletion (#1825) 2022-10-25 21:22:14 +09:00
Sukchan Lee
b151642fa1 SCP is added in Debian package 2022-10-25 21:20:09 +09:00
Sukchan Lee
e81265f015 Fixed the WebUI to Support MongoDB 6.0(#1824) 2022-10-25 21:15:44 +09:00
Sukchan Lee
ec4acd4eca remove warning in MacOSX (#1797) 2022-10-25 21:14:53 +09:00
Sukchan Lee
5ccb5f0f99 SCP(Model D) is now the default setting. 2022-10-22 11:26:04 +09:00
Sukchan Lee
7a14f2c505 Update README.md 2022-10-18 22:34:38 +09:00
Sukchan Lee
24e20f2503 Follow-up on #1827 2022-10-13 17:52:02 +09:00
jmasterfunk84
8fb85db310 [DBI] Disable Change Streams with mongo Version
Support for change stream is only available in mongoc >=1.9.0
- Disabled related functions in dbi.
Support for bson to json used in debug statement only in libbson >=1.7.0
- Simple debug message in lower versions
2022-10-13 17:33:35 +09:00
Sukchan Lee
0daef1686a Follow-up on #1827 2022-10-11 17:50:41 +09:00
Sukchan Lee
82863653eb Follow-up on #1828 2022-10-11 17:44:55 +09:00
Bostjan Meglic
395707831a [AMF] Reject registration requests when pool for UE contexts is empty
AMF does not crash anymore when a new UE registration request arrives,
and there is no available space left in UE context pool. Now it just
rejects the request with an error.
2022-10-11 17:35:50 +09:00
Bostjan Meglic
b019dce982 [AMF] Increase size of TMSI pool
Each UE context has 'current' and 'next' TMSI values. AMF first
allocates the 'next' value, before confirming it and releasing the
'previous'. This means that we potentially need pool size of 2x the
amount of maximum configured UE.

Without this change, AMF would crash in case that there are 'x'
configured maximum amount of UE, and there are already 'x' registered
UE.

[gmm] INFO: Registration request (../src/amf/gmm-sm.c:135)
[gmm] INFO: [suci-0-001-01-1234-0-1-1000000000]    SUCI (../src/amf/gmm-handler.c:149)
[gmm] DEBUG:     OLD TSC[UE:0,AMF:0] KSI[UE:7,AMF:0] (../src/amf/gmm-handler.c:179)
[gmm] DEBUG:     NEW TSC[UE:0,AMF:0] KSI[UE:7,AMF:0] (../src/amf/gmm-handler.c:186)
[amf] FATAL: amf_m_tmsi_alloc: Assertion `m_tmsi' failed. (../src/amf/context.c:2160)
[core] FATAL: backtrace() returned 13 addresses (../lib/core/ogs-abort.c:37)
2022-10-11 17:35:38 +09:00
Sukchan Lee
704fe72d11 Updated SBI module
- Introduced NF_INSTANCE_ID/NF_INSTANCE_TYPE
- Skip SCP in configuration validation
2022-10-08 11:48:12 +09:00
Sukchan Lee
3955e9ba8d Revert the previous commit on #1797 2022-10-07 14:06:30 +09:00
Sukchan Lee
d1ed8aa61d [SMF] Update PFCP report error situation (#1819) 2022-10-07 10:41:53 +09:00
Bostjan Meglic
a99a76d916 [AMF,UDM] Add support to subscribe to SDM changes
AMF subscribes to UDM for each registered UE.

At the moment, UDM does not send callback to AMF when any of the UE's
properties in the database changes.
At the moment, AMF does properly parse the ModificationNotification, but
does not do anything useful.
2022-10-06 21:20:10 +09:00
safaorhann
e9aaceee98 fix dropped_dl_traffic_threshold ie. 2022-10-06 10:40:08 +09:00
Sukchan Lee
dc6ca962bb Follow-up on #1797 2022-10-06 10:10:31 +09:00
Spencer Sevilla
be2af54682 ogs_info swaps CP and UP SEIDs 2022-10-05 17:41:42 +09:00
Sukchan Lee
6d27fbb8cc Follow-up on #1797 2022-10-05 14:50:52 +09:00
jmasterfunk84
15680003b5 [MME] Cancel Location while Idle (#1797)
* Cancel Location while Idle Fix

* Forgot about SGSAP on MME Change.

Added "action" to sgsap_send_detach..

* Make handle_clr uniform with other handlers

* Added Robustness for Any Detach Type

* Memory wasn't freed upon CLR for unknown IMSIs

* Moving MME Detach to new PR
2022-10-05 11:06:01 +09:00
Sukchan Lee
7c8722d9d4 [SBI] Client Request timeout
TS29.500
Ch 6.11 Detection and handling of late arriving requests

In Open5GS, this part was hard-corded.

HTTP2 Client sends a request and waits for 10 seconds.
If no response is received from the HTTP2 Server,
HTTP2 Client performs the exception handling.

In this commit, HTTP2 client sends Header with setting Max-Rsp-Time to 10 seconds.
However, HTTP2 server has not yet been implemented to process this value.
The server is still processing using hard-corded values (10 seconds).
2022-10-03 11:43:34 +09:00
Sukchan Lee
c537166d37 Follow-on up #1794 2022-10-02 19:41:52 +09:00
jmasterfunk84
1f2a8678ed [MME] Support for Insert Subscriber Data (#1794)
* [MME] Support for Insert Subscriber Data

* Supported AVPs in IDR will overwrite existing subscription information
* Provide error on partial APN updates
* IDR and ULA use same function to process AVPs
* Move subdatamask values into s6a, so both HSS and MME can use them
* Updates are not actioned at this time.  A Re-attach is required for
  most changes to take effect

* Memory issue on IDR exceptions

* Remove of handling MSIDSN change until DSR is used
2022-10-02 19:36:24 +09:00
Sukchan Lee
35ae3317b7 Added Release Notes for v2.4.11 2022-10-01 14:18:09 +09:00
Sukchan Lee
eace5007b2 Release v2.4.11 2022-10-01 13:54:42 +09:00
Sukchan Lee
71a1516b03 [Security] Fixed a crash for port scanning (#1767) 2022-10-01 13:28:41 +09:00
Sukchan Lee
1acb7f72b4 [UPF] test code for unspecified address (#1776) 2022-10-01 13:23:15 +09:00
Sukchan Lee
773c7df3e6 [5GC] Fixed session deletion in a BSF (#1725) 2022-10-01 13:11:13 +09:00
Bostjan Meglic
f71022ad4a [AMF] Fix for switching state when sending Deregistration Request fails
Provide pointer to state machine, instead of pointer to timer structure.
Bug was noticed when switching compiler optimization to -O2.
2022-10-01 13:08:38 +09:00
Sukchan Lee
4b26dd2a5c Follow-on up #1793 2022-10-01 13:07:54 +09:00
Dibas Das
f72a1edc6e Fix UL and DL URR Usage Report 2022-10-01 13:07:04 +09:00
Sukchan Lee
1d153d8b78 Commercial Term by NeoPlane - https://neoplane.io/ 2022-09-26 14:53:38 +09:00
Sukchan Lee
0c6258d108 Merge branch 'main' of https://github.com/open5gs/open5gs into main 2022-09-26 14:29:52 +09:00
Sukchan Lee
8b10dc1edc Changes new GA4 in Google Analytics 2022-09-26 14:29:19 +09:00
Sukchan Lee
7d5fbc6e06 [MME] Added protection code if no PDN-Type (#1756) 2022-09-25 22:41:11 +09:00
Sukchan Lee
e08b8f04e8 [DOC] iptable setting for security (#1768) 2022-09-25 21:12:32 +09:00
Sukchan Lee
87bc82b245 Follow-on up #1754 2022-09-25 19:23:09 +09:00
Bostjan Meglic
2d4fbf92eb [config,metrics] Move metrics configuration section under respective NF section
Without this change, using metrics with core setup configurations
(configs/vonr.yaml for example) would not be possible. Having one
metrics section for whole config file causes every NF to start metrics
server on same port causing an abort.
2022-09-25 19:17:49 +09:00
Sukchan Lee
721f5e212c [GTP] Changes the print message (#1772) 2022-09-25 19:16:32 +09:00
Spencer Sevilla
e704ac108e add addr/port to pfcp assoc/de-assoc logs (#40)
pfcp association log adds addr/port
2022-09-25 18:58:53 +09:00
Sukchan Lee
fdc84406e0 [SGWC] Fixed a crash (#1765)
Session context could be deleted before a response message is not
received from SMF
2022-09-25 18:55:04 +09:00
Sukchan Lee
31fcedc12e Follow-up on #1770 2022-09-25 16:42:46 +09:00
Spencer Sevilla
0759c2da5a [core] fix timer overflow on 32bit systems (#16)
must cast ts.tv_sec to 64bits before we multiply it to prevent 32bit math and overflow
2022-09-25 16:41:50 +09:00
Sukchan Lee
724fa56843 Fixed HTTP2 crashes for random JSON data (#1769) 2022-09-25 15:06:37 +09:00
Sukchan Lee
c2f6a020a7 [TLV] Added more debug information (#1767) 2022-09-25 09:17:23 +09:00
Sukchan Lee
3ad74923c1 Update document 2022-09-24 21:58:18 +09:00
Sukchan Lee
a0d643e17f Follow-up on #1758 2022-09-23 21:25:58 +09:00
jmasterfunk84
7f5476b111 [HSS] Enable Change Streams (#1758)
* [HSS] Enable Change Streams
* Enable Events and Timers in HSS
* Integrate change streams in dbi
* mongodb should be configured with replica sets enabled to use feature
* Change streams are optional in HSS
* Timer will poll change stream for changes in the database
* As changes are detected, event is created to perform the correct
  action

* Changes made as suggested
2022-09-23 21:24:50 +09:00
Sukchan Lee
2b8db5d488 Follow-up on #1757 2022-09-23 20:42:04 +09:00
Gaber Stare
d3d4e5ce60 [AMF] Add amfInfoList to NFProfile
The actual configured GUAMIs and TAIs are used to form NF profile.
Comparing to SMF the "info" section is not introduced into amf.yaml!
Each amf_id (region, set) produces a separate Info in the InfoList.
Guami list consists of all GUAMIs of particular Info.
taiList consists of all TAIs for all PLMNs of particular Info.

Examle:

amf.yaml:
    guami:
      - plmn_id:
          mcc: 999
          mnc: 70
        amf_id:
          region: 2
          set: 2
          pointer: 4
      - plmn_id:
          mcc: 001
          mnc: 01
        amf_id:
          region: 2
          set: 1
      - plmn_id:
          mcc: 001
          mnc: 02
        amf_id:
          region: 2
          set: 2
    tai:
      - plmn_id:
          mcc: 001
          mnc: 01
        tac: [1, 2, 3]
    tai:
      - plmn_id:
          mcc: 002
          mnc: 02
        tac: 4
      - plmn_id:
          mcc: 001
          mnc: 02
        tac: 10
    tai:
      - plmn_id:
          mcc: 004
          mnc: 04
        tac: [6, 7]
      - plmn_id:
          mcc: 005
          mnc: 05
        tac: 8
      - plmn_id:
          mcc: 999
          mnc: 70
        tac: [9, 10]

"amfInfoList":  {
        "1":    {
                "amfSetId":     "002",
                "amfRegionId":  "02",
                "guamiList":    [{
                                "plmnId":       {
                                        "mcc":  "999",
                                        "mnc":  "70"
                                },
                                "amfId":        "020084"
                        }, {
                                "plmnId":       {
                                        "mcc":  "001",
                                        "mnc":  "02"
                                },
                                "amfId":        "020080"
                        }],
                "taiList":      [{
                                "plmnId":       {
                                        "mcc":  "001",
                                        "mnc":  "02"
                                },
                                "tac":  "00000a"
                        }, {
                                "plmnId":       {
                                        "mcc":  "999",
                                        "mnc":  "70"
                                },
                                "tac":  "000009"
                        }, {
                                "plmnId":       {
                                        "mcc":  "999",
                                        "mnc":  "70"
                                },
                                "tac":  "00000a"
                        }]
        },
        "2":    {
                "amfSetId":     "001",
                "amfRegionId":  "02",
                "guamiList":    [{
                                "plmnId":       {
                                        "mcc":  "001",
                                        "mnc":  "01"
                                },
                                "amfId":        "020040"
                        }],
                "taiList":      [{
                                "plmnId":       {
                                        "mcc":  "001",
                                        "mnc":  "01"
                                },
                                "tac":  "000001"
                        }, {
                                "plmnId":       {
                                        "mcc":  "001",
                                        "mnc":  "01"
                                },
                                "tac":  "000002"
                        }, {
                                "plmnId":       {
                                        "mcc":  "001",
                                        "mnc":  "01"
                                },
                                "tac":  "000003"
                        }]
        }
}
2022-09-23 20:37:47 +09:00
Sukchan Lee
ce7d631064 [GTP/PFCP] TLV length more acceptable (#1780)
Acceptable even if the TLV length is smaller than expected
2022-09-23 13:13:34 +09:00
Sukchan Lee
65d959a032 Updated favicon.ico in Document 2022-09-22 23:16:51 +09:00
Sukchan Lee
2762d6fd2d Sponsors logo updated to be dark-mode friendly 2022-09-20 11:15:19 +09:00
Sukchan Lee
d63360a22d [DOC] Fixed alphabet order 2022-09-16 10:19:27 +09:00
neg2led
608df3b5a8 Add tested Ericsson gNodeBs and eNodeBs 2022-09-16 10:12:44 +09:00
Sukchan Lee
8228e446ae Added commercial 5G 2022-09-16 09:09:59 +09:00
Bostjan Meglic
0f5d968149 [SMF] Wait for both N1&N2 release signals before releasing session
When UE would send a request to release PDU session, AMF would
eventually send "PDU Session Resource Release Command" downlink to both
UE (N1) and gNB (N2). Each UE and gNB would then reply with "PDU Session
Resource Release Response" indicating they released their own resources.

Usually the first one to respond would be gNB. SMF made an assumption
that this would always be the case. And it would wait for signal that UE
resources were freed, before releasing session resources. But
occasionally the situation is that UE responds first, and SMF releases
resources prematurely.

This situation does not normally occur. But under high stress (100's of
UE PDU releases at the same time) this happens occasionally.
According to the standard, this situation is perfectly normal.

3GPP TS 23.502 Rel. 16
4.3.4.2 UE or network requested PDU Session Release for Non-Roaming and
Roaming with Local Breakout
...
Steps 8-10 may happen before steps 6-7.
...
2022-09-13 21:39:21 +09:00
Sukchan Lee
5520cb65a5 Follow-up on #1744 2022-09-13 17:03:18 +09:00
jmasterfunk84
775520d7a8 Introduce Cancel Location and Insert Subscriber Data features to HSS. (#1744)
* Introduce Cancel Location and Insert Subscriber Data features to HSS.
* HSS database will keep track of last known MME and Update Time
* Purged UE flag is established in HSS for future PUR handling
* HSS Thread will connect to database and watch change stream
  mongoDB must be configured with a Replica Set to use this
* HSS will send IDR if subscription data changes
* HSS will send CLR to old MME if MME host or realm changes
* Function created to allow ULA and IDR to generate Subscription-Data AVP
* MME Hostname and Realm shown in WebUI

* Resolve freeDiameter errors

During a ULR, if database does not contain a last known MME, a CLR is being sent to a Null destination.  This will ensure that a destination is available in the database before sending the CLR.

* Removed change streams.  Added PUR handling.

* newline needed at end of file.

* Removed temp variable.

* * Change WebUI to 2x2 display
* Including UE Purged indicator
* Using pointers in ogs_subscription_data_t
* better memory mangement with pointers
* Tweak to Destination used by hss_s6a_send_idr to use last known MME

* Check for null mme_host and mme_realms

Do this before trying to compare the strings.
2022-09-13 16:48:20 +09:00
Sukchan Lee
53d75e74cb Added Release Notes for v2.4.10 2022-09-09 10:32:40 +09:00
Sukchan Lee
a0b7865a43 Release v2.4.10 2022-09-09 09:40:50 +09:00
Sukchan Lee
1f165c1c33 Follow-up on #1747 2022-09-08 23:17:04 +09:00
Bostjan Meglic
31a3788021 [AMF] Handle APN/DNN names as case-insensitive
In case that APN name sent from UE does not case-match with the one
configured in the database, AMF would reject the registration with the
message:

[gmm] WARNING: [imsi-xxx] DNN Not Supported OR Not Subscribed in the
Slice (../src/amf/gmm-handler.c:1051)
2022-09-08 23:13:47 +09:00
Sukchan Lee
f54bccacf5 Support service-based NF subscription 2022-09-08 22:12:01 +09:00
Bostjan Meglic
87cd34d300 Minor typo fix 2022-09-07 18:01:21 +09:00
jmasterfunk84
eb55e4ee3a Also format for pcc_rule. UE and SMF look okay as medium_data as first section. 2022-09-07 17:58:32 +09:00
jmasterfunk84
36254e5df4 When using longer APN name, it is obscured due to short field. 2022-09-07 17:58:32 +09:00
Bostjan Meglic
51669d73a0 [AMF] Accept Deregistration Notification from UDM only for registered UE (#1737)
Add additional check when receiving Deregistration Notification from
UDM. UE should already be in registered state before accepting the
request and deregistering the UE.

Also add additional check that PCF association policy exists before
sending a delete request to PCF.
2022-09-06 19:47:42 +09:00
EugeneBogush
e55d4d8300 removing extra lines
I did not find the purpose of their use
2022-09-05 23:35:18 +09:00
Sukchan Lee
c716a1294a [CORE] Check if timer is double free in SBI module 2022-09-03 15:59:39 +09:00
Sukchan Lee
acc36a344f [PCF] Check NF service configuration
* npcf-smpolicycontrol - enabled or disabled
* npcf-policyauthorization - enabled or disabled

Only one of npcf-smpolicycontrol and npcf-policyauthorization cannot be enabled. (../src/pcf/sbi-path.c:151)

They can be enabled or disabled together.
2022-09-03 13:07:00 +09:00
Bostjan Meglic
9c84570a48 [SBI] Send NF discovery query with service-names delimited with comma
OpenAPI specification for sending NF discovery query with
"service-names" parameter is defined as folowing:

- name: service-names
  ...
  style: form
  explode: false

According to OpenAPI specification, this means array items
should be delimited with a comma character (example: /users?id=3,4,5).
2022-09-03 10:43:59 +09:00
Sukchan Lee
d87d61e851 Follow-up on #1729 2022-09-03 09:20:48 +09:00
mitmitmitm
af1f8d4f4a [SMF] Handle upCnxState=ACTIVATING by replying with 200 instead of 204
According to TS 29.502 5.2.2.3.2.2., we should reply with a 200 response
including the upCnxState attribute.
2022-09-03 09:08:27 +09:00
Sukchan Lee
c28faf00ea Added simple test program
./tests/registration/registration simple-test
./tests/vonr/vonr simple-test
./tests/attach/attach simple-test
./tests/volte/volte simple-test
2022-09-03 07:28:48 +09:00
Sukchan Lee
fcb15b69f7 [MME] Fixed buffer overflow (#1728) 2022-09-02 23:39:59 +09:00
Sukchan Lee
1d17e68c56 [ALL] Removing trailing whitespace and tab 2022-09-02 23:38:39 +09:00
Sukchan Lee
5295c108ad Added Service-based NF discovery
== Known limitation ==
Placing npcf-smpolicycontrol and pcf-policyauthorization
in different NFs is not supported. Both npcf-smpolicycontrol
and pcf-policyauthorization should be placed in the same NF.
2022-09-02 23:04:57 +09:00
Alexander Couzens
b175394839 [SMF] fixup send 3GPP-Charging-Characteristics on Gx if received on S5/8c
- Gy instead of Gx AVP was used.
- Use correct avp position and avp variables.

Fixes: 657eef9169 ("[SMF] send 3GPP-Charging-Characteristics on Gx if received on S5/8c")
2022-08-31 06:38:08 +09:00
Sukchan Lee
c7830a78e6 [Conf] Changed MTU size from 1500 to 1400 2022-08-28 23:10:36 +09:00
Sukchan Lee
eab29fad9a Follow up on #1715
* Changed <TAB> to <SPACE>*4

* Changed snprintf to ogs_snprintf
2022-08-27 18:43:34 +09:00
Alexander Couzens
657eef9169 [SMF] send 3GPP-Charging-Characteristics on Gx if received on S5/8c
The 3GPP-Charging-Characteristics is an operator specific AVP
(optional). The 3GPP-Charging-Characteristics can be filled by the HSS
and forwarded by the MME towards the SMF.
2022-08-27 18:36:54 +09:00
Alexander Couzens
41e4460769 diameter: Gx: add AVP 3GPP-Charging-Characteristics
The 3GPP-Charging-Characteristics is an operator specific AVP
(optional). The 3GPP-Charging-Characteristics can be filled by the HSS
and pass through to the Gx interface.

See ETSI 29.212 5.4.0.1 for further details.
2022-08-27 18:36:54 +09:00
Sukchan Lee
9f98d421a0 [SBI] Added config for service-names discovery 2022-08-27 10:49:07 +09:00
Sukchan Lee
f020732ce9 [SBI] Support service-names in discovery option 2022-08-27 00:12:22 +09:00
Bostjan Meglic
e79e35dd74 [metrics] Fix double-free on application exit (#1717) 2022-08-26 18:15:32 +09:00
Sukchan Lee
9b10d70c77 [NRF] Fixed library load error 2022-08-26 10:57:11 +09:00
Sukchan Lee
83a20b82c7 Follow up on #1714
* Changed sprintf to ogs_snprintf

* Limited to 80 column
2022-08-25 16:35:27 +09:00
jmasterfunk84
49349cdb75 [MME] Dictionary Updates and IDR Support (#1714)
* Add Diameter Dictionary Elements

* Initial IDR Framework

* Resolve Compile Issues

* Moving Closer

* Compile error

* Somewhat Working stuffing Code

* Add Timestamp Changes

* Cleanup some of this code.  mme_s6a_handle_idr in s6a-handler.c removed for now, since it will only come in handy when IDR flag is set to request current location, which would involve breaking out into paging.  I think there's a few other things we can do just within fd-path first.

* further removal of mme_s6a_handle_idr
2022-08-25 15:43:21 +09:00
Bostjan Meglic
def99aff7f [SMF] Fix abort on app exit when no Diameter configuration
In case that SMF was configured to run without Diameter, it would crash
on application exit due to uninitialized variables/pointers.

ERROR  pid:unnamed in fd_sess_handler_destroy@sessions.c:324: ERROR: Invalid parameter '(handler && ( ((*handler) != ((void *)0)) && ( ((struct session_handler *)(*handler))->eyec == 0x53554AD1) ))', 22
[smf] FATAL: smf_gx_final: Assertion `ret == 0' failed. (../src/smf/gx-path.c:1353)
2022-08-24 01:39:24 +09:00
Sukchan Lee
242b138597 [MME] UE-initiated detach removes S1 only (#1698) 2022-08-20 01:08:20 +09:00
Sukchan Lee
9bb9a4cae9 [MME] Detach removed MME-UE context (#1698) 2022-08-20 00:17:55 +09:00
Sukchan Lee
321c8d4cf9 [SGsAP] Changed message if Paging failed (#1701)
The problem occurred in the following scenario:

1. VLR sent PAGING-REQUEST to the MME
2. MME sent S1-Paging to the UE
3. Paging failed
4. MME responded SERVICE-REQUEST to the VLR
5. VLR sent DOWNLINK-UNITDATA to the MME
6. Even though there is no S1 Context,
   MME try to sent DownlinkNASTransport message to the UE.
7. So, the problem occurred.

I've changed the number 4 PAGING-REJECT instead of SERVICE-REQUEST.
2022-08-19 18:58:55 +09:00
Sukchan Lee
909f407c20 [MME] Fixed GTP transaction crash (#1696) 2022-08-19 17:23:10 +09:00
Sukchan Lee
a9694d6474 [MME] Follow-up Cancel Location Handling (#1698) 2022-08-19 16:52:39 +09:00
jmasterfunk84
c98333bbfe [MME] Cancel Location Handling (#1698)
* CLR while idle is broken after 7031856cd7

Cancel Location Request arriving while UE is idle will not proceed to paging due to this check for S1 connection.  Using new flag "isAnswer" to bypass this check to allow paging to occur when we are not doing a AIA/ULA related procedure.

* No Context Setup is required when sending the detach request.  If the paging was due to wanting to send a Detach Request to the UE, then we fast track to sending the detach request.

* emm-sm.c:
In the case of MME initiated detach while UE is idle, there is no initial conext setup.  We go right from the service request after paging into sending the detach request.  TS23.401

mme-path.c:
Using nas_eps.type in the case of MME Initiated Detach while UE is idle does not work.  nas_eps.type would represent the service request.

mme-s11-handler.c:
After S11 action, no action should be taken.  We want to wait for the detach accept from the UE before proceeding with the S1 release (detach).

* InitialContextSetup should occur for detach.
2022-08-19 16:44:06 +09:00
Sukchan Lee
444e182288 [PFCP] security vulnerability continued in d99491a 2022-08-16 20:32:42 +09:00
Sukchan Lee
dbf6971dcf [DOCS] Updated if subscribers changed [#1694] 2022-08-14 15:36:41 +09:00
Sukchan Lee
c835556623 Fixed Defects reported by Coverity Scan 2022-08-13 23:49:55 +09:00
Sukchan Lee
dbb52592d8 Removed duplicated document link 2022-08-13 17:45:39 +09:00
Sukchan Lee
291b63f41a Update docs @s5uishida 2022-08-13 10:17:38 +09:00
Sukchan Lee
f78f042d75 Update docs @nickvsnetworking and @@s5uishida 2022-08-13 09:44:23 +09:00
herlesupreeth
7162684486 [SMF]: Update stored PCO IE requested over Gn in SMF context
As per 3GPP TS 29.060 version 15.3.0, section 7.3.3, 7.3.4, 7.3.5 and 7.3.6

Only if PCO IE is included in Update/Delete PDP Context Request then it
must be present in Update/Delete PDP Context Response.

In order to reflect on whether the request contained PCO IE or not
the SMF context containing the GTP request needs to be updated
i.e. update if present else clear the contents
2022-08-13 09:30:28 +09:00
herlesupreeth
16ea972937 [SMF]: Update stored PCO IE requested in GTPv2 over S5c in SMF context
As per 3GPP TS 29.274 version 10.5.0, section 7.2.9 and 7.2.10,
Only if PCO IE is included in Delete Session Request then it
must be present in Delete Session Response.

In order to reflect on whether the request contained PCO IE or not
the SMF context containing the GTP request needs to be updated
i.e. update if present else clear the contents
2022-08-13 09:30:28 +09:00
Sukchan Lee
603a746f49 Lower Linux version cannot change HTTP2 max stream
CURLMOPT_MAX_CONCURRENT_STREAMS can be supported as of curl 7.67.0
2022-08-12 17:11:23 +09:00
Sukchan Lee
d99491aca5 [PFCP] Fixed security protection
Check the length to prevent buffer overflow attacks.
2022-08-12 15:38:40 +09:00
Sukchan Lee
e6a14cb73d Move src/../nf-sm.[ch] to lib/sbi/nf-sm.[ch] 2022-08-12 14:03:53 +09:00
Sukchan Lee
ec9fe7b31d [SBI] CLIENT max concurrent streams to 16384 2022-08-10 12:31:50 +09:00
Sukchan Lee
db37bc8944 [SBI] Increased the max stream number 2022-08-10 11:03:10 +09:00
Sukchan Lee
4cb657c804 [MME] Changed CauseNas_detach in DETACH (#1676) 2022-08-06 14:00:54 +09:00
Sukchan Lee
da20b2d035 [GTP] gtp_peer override the pool size of GTP node 2022-08-06 13:54:05 +09:00
Sukchan Lee
700c71ef4c Changed configuration name from gnb to peer
And restored gtp_peer configuration
2022-08-05 16:56:36 +09:00
Sukchan Lee
f772bf3a62 [PFCP] Revert Changes 5e18b2b and d21e9aa
To protect malicious or buggy, we need to check that session context is NULL.
2022-08-04 09:55:17 +09:00
Sukchan Lee
cca3027e90 [NRF] Fixed the nfInstanceUri (#1683) 2022-08-03 17:32:15 +09:00
Sukchan Lee
e88c43e8df [Diameter] Fixed Coding convention (#1680) 2022-08-03 14:34:21 +09:00
jmasterfunk84
415e5276ba [MME+HSS] AVP Occurring Too Many Times
Do not Set Origin-Hosts with fd_msg_rescode_set before potential use of ogs_diam_message_experimental_rescode_set.  This results in multiple Origin-Host/Realm AVPs.
2022-08-03 14:32:57 +09:00
Sukchan Lee
d21e9aa5e0 [PFCP] Revert Changes 5e18b2b 2022-08-03 14:13:35 +09:00
Sukchan Lee
7231dafbf1 [SBI] Fixed nf_instance memory leak
- Rollback commit ed3444eef5
- Do not modify reference count when REGISTER/DEREGISTER notified from NRF
2022-08-02 09:44:13 +09:00
Sukchan Lee
7031856cd7 [MME] Changed S1AP_Cause in S1AP Release (#1676)
S1AP_CauseNas_detach -> S1AP_CauseNas_normal_release
2022-07-31 12:38:11 +09:00
Sukchan Lee
5524dc5e29 Refact paging module (#1676) 2022-07-30 14:44:34 +09:00
jmasterfunk84
47cbaca149 [MME] Introduce support for S6a Cancel Location Request
- Added diameter dictionary definitions for Cancel Location
- Cancel Location will completely remove UE from MME, allow for a fresh IMSI attach to occur on next attempt.
- T3422 is used for detach request.
- Added new handling for s6a events in mme-sm, as not all s6a messages are at attach now.  Maybe there's something in a state machine I should've been using here instead of a new flag?

- Testing was completed with UE in idle and connected.  With CLR flags indicating re-attach required and without.  Also sending CLR after UE detach.  And then sending again when mme_ue is empty.
2022-07-30 14:37:43 +09:00
Sukchan Lee
ff5023e95b Release v2.4.9 2022-07-25 21:50:06 +09:00
Sukchan Lee
9b762158a6 Refine code of discovery option param (#1671) 2022-07-24 19:47:04 +09:00
Sukchan Lee
4e8492e878 Oops! Warning removed! 2022-07-24 15:15:06 +09:00
Sukchan Lee
a5010a61ef Support Discovery Optional Parameter (#1671)
To support target-nf-instance-id in the discovery,
Discovery optional parameter is implemeted
2022-07-24 15:10:09 +09:00
jmasterfunk84
eb03704015 Moving handling of assigning sub level cc into the pdn to s11. 2022-07-24 12:29:01 +09:00
jmasterfunk84
68140efce4 [MME] Handle Charging Characteristics
Found no support for HSS provided charging characteristics.  Following TS32.251 A.4:
- Use PDN level CC, if one wasn't provided then use subscription level CC
- Don't send CC in S11 if it wasn't included
2022-07-24 12:29:01 +09:00
jmasterfunk84
d2ef555ce4 Set default Network-Access-Mode to 0
For HSS's which do not include the NAM, the MME should not treat this as a fatal error.  MME should just assume PACKET_AND_CIRCUIT (0), as was decided in a previous PR.
2022-07-23 00:26:55 +09:00
Bostjan Meglic
7e6568d800 [SMF] Send PDU Session Establish Accept to serving AMF
In case there are multiple AMF registered to NRF, SMF would pick only
the first AMF from the list.
In the case of sending PDU Session Establishment Accept from SMF to
AMF, this would mean a high chance of failure since the AMF might
be different than the original requester, and would not know about a
particular UE.

Modify SMF to use ServingNfId field from original request
SmContextCreateData from AMF to determine to which AMF should it send
PDU Session Establishment Accept message.
2022-07-22 12:24:26 +09:00
Bostjan Meglic
9a958d7af8 [SBI] Add function to request NF Instance from NRF by providing it's Instance Id 2022-07-22 12:24:26 +09:00
Bostjan Meglic
83b28b5649 [tests] Fix running unit tests inside docker environment
The issue was introduced with the commit, which builds Open5GS from
local sources instead of downloading them each time from Github.

Fixes: d2cbcf711 ("[build] Use local sources to build applications (#1583)")
2022-07-21 21:07:35 +09:00
Sukchan Lee
eb50d64271 Add more protection code for (#1652) 2022-07-21 17:13:32 +09:00
Sukchan Lee
9aa5559c5f Refactor for the UERANSIM 500 test (#1652) 2022-07-21 12:41:19 +09:00
Sukchan Lee
f35afa2ff7 Add missing pkbuf_free() (#1652) 2022-07-21 01:00:44 +09:00
Sukchan Lee
776103698d Oops! Redundant code is removed (#1652) 2022-07-21 00:35:08 +09:00
Sukchan Lee
2b41a215d7 Fixed the crash in UERANSIM 500 test (#1652) 2022-07-21 00:02:31 +09:00
Sukchan Lee
da1905b36c fixed the memory leak in test program 2022-07-20 12:08:17 +09:00
Sukchan Lee
fb95f1ff71 Fixed ASSERT when context has already been removed 2022-07-19 19:42:24 +09:00
Sukchan Lee
668cc59f94 [AMF] Fixed 5GMM cause in Reject message (#1660)
When a UE that requests slices tries to connect and there are no slices configured, the reject message is:

5GMM cause = 0x7 (5GS Services not allowed)

however it should be:

5GMM cause = 0x3e (No network slices available)

All 5GMM cause value in reject message is reviewed in this commit
2022-07-19 12:42:02 +09:00
Sukchan Lee
3885cb20d9 [asn1c] rework aper from mouse07410/asn1c#94
Merge @pespin the following work
- mouse07410/asn1c#93
- mouse07410/asn1c#100
2022-07-16 14:30:00 +09:00
Sukchan Lee
5e18b2bd13 [SCP] Support of Indirect Communication 2022-07-16 13:27:18 +09:00
Sukchan Lee
1518a4f334 [CORE] Increased memory pool for poll (#1652) 2022-07-13 16:54:55 +09:00
Sukchan Lee
80ee4c8aa8 [SBI] incrased session pool of server (#1652) 2022-07-12 17:31:36 +09:00
Bostjan Meglic
aa3cded11a [AMF] Handle namf-callback DeregNotify message from UDM
UDM may send a Deregistration Notification to AMF, to deregister
specific UE from the network - Network-Initiated Deregistration.
Deregistration procedure includes sending Deregistration Request to UE,
starting a timer T3522, releasing PDU sessions from SMF, releasing PCF
policies from PCF, and waiting for Deregistration Accept from UE.

Not yet implemented is:
- to prevent deregistration of UE in case it has any emergency sessions,
- page UE when UE is in IDLE mode.
2022-07-11 22:53:21 +09:00
Bostjan Meglic
0633774972 [SBI] Add support for DeregistrationData in SBI messages 2022-07-11 22:53:21 +09:00
Bostjan Meglic
d1a2971990 [NAS] modify library to include both directions of deregistration requests
Definitions in NAS library now include both directions of deregistration
requests/accepts - from UE and from network.
2022-07-11 22:53:21 +09:00
Bostjan Meglic
babc30940a [AMF] Do not send Deregistration Event to UDM when UE deregisters
According to TS 23.502, 4.2.2.2.2, AMF sends Registration event to UDM
in the following cases:
- If the AMF has changed since the last Registration procedure, or
- if the UE provides a SUPI which doesn't refer to a valid context in
the AMF,
- or if the UE registers to the same AMF it has already registered
to a non- 3GPP access (i.e. the UE is registered over a non-3GPP access
and initiates this Registration procedure to add a 3GPP access).

In case that UE re-registers to the network with a GUTI, it bypasses
authentication check to the AUSF. In this case, AMF does not send
Registration event to UDM.
Consequently, when UE deregisters again, AMF would send a Deregistration
Event to a UDM, which does not have a context for it.

3GPP standard does not say when AMF sends Deregistration Event to UDM,
only that it is optional.

These (De-)Registration events are for (de-)registering AMF to the UDM
for serving the UE. And not for (de-)registering UE itself for purpose
of tracking when UE is registered on the network.

This partially reverts commit 7be7029ac4
2022-07-11 22:44:07 +09:00
Sukchan Lee
fce0eb4800 [SBI] fixed wrong request-nf-type (#1650) 2022-07-08 21:36:52 +09:00
Oliver Smith
fe11ee161c d/open5gs-upf.postinst: don't restart service in chroot
Don't attempt to restart systemd-networkd if systemd is not running
(e.g. installing open5gs inside a chroot).

Fix for:
  System has not been booted with systemd as init system (PID 1). Can't operate.
  Failed to connect to bus: Host is down
  dpkg: error processing package open5gs-upf:amd64 (--configure):
   installed open5gs-upf:amd64 package post-installation script subprocess returned error exit status 1
2022-07-05 10:22:36 +09:00
Sukchan Lee
eabe8dfec5 [PFCP] Added UE IP address in the EPC (#1642) 2022-07-04 17:37:00 +09:00
Networkmama
29525b21a4 [SMF] copy UE ip address to uplink PDR rules.
This helps UPF to add ACL based on src ip

Signed-off-by: Networkmama <networkmama12@gmail.com>
2022-07-04 17:34:40 +09:00
Sukchan Lee
af4021bff4 [PFCP] Fixed a endianness Apply Action (#1640) 2022-07-04 17:30:19 +09:00
Sukchan Lee
318fc25535 [CORE] Added memory check (#1638) 2022-07-01 21:49:31 +09:00
Bostjan Meglic
6adf541346 [CORE] Fix detection of a failed memory allocation 2022-07-01 21:38:47 +09:00
Bostjan Meglic
ab11220dcc [ALL] Fix differences in function parameter names between definition and declaration 2022-07-01 21:38:47 +09:00
Bostjan Meglic
114f783d06 [MISC] Add support for static code analysis
Static code analysis can be executed with following commands:
  meson build
  ninja -C build analyze-cppcheck
  ninja -C build analyze-clang-tidy

These commands are available only if additional tools are installed:
  - cppcheck
  - clang-tidy
  - clang-tools is optional if you want to paralelize the clang-tidy

In case of cppcheck analysis, a file called build/cppchecklog.log is
created with the analysis results.

In case of clang-tidy analysis, some checks are disabled. See file
.clang-tidy, and reenable them if you see fit.
Also it does not scan all the files in the project, since some of them
are imported from other sources. It does not scan any sources under:
  - subprojects/
  - lib/asn1c/
  - lib/ipfw/
2022-07-01 21:38:47 +09:00
Sukchan Lee
50be661cf9 Fixed a crash when slice/session overflow (#1637) 2022-06-30 13:33:16 +09:00
Sukchan Lee
ad159d1755 [GTP] Refine error code path without assertion
Refer to #1635, #1620, #1606, #1594
2022-06-30 10:53:19 +09:00
Sukchan Lee
b1d982a1ee [PFCP] Refine error code path without assertion
Refer to #1635, #1620
2022-06-30 10:35:03 +09:00
Sukchan Lee
0be5e765c8 Revert "[SGWC] pfcp: Retrieve sess when SEID=0 (#1620)"
This reverts commit 9700563023.
2022-06-30 09:11:38 +09:00
Sukchan Lee
6332f10593 Revert "[GTP] context when TEID=0 (#1620, #1606, #1594)"
This reverts commit 0d61f7a7f9.
2022-06-30 09:11:31 +09:00
Sukchan Lee
051c19b7c8 Changes MAX TLV MORE to 16
OGS_MAX_NUM_OF_PDR is 16, but OGS_TLV_MAX_MORE is 8.
To match the size of two macros, increased OGS_TLV_MAX_MORE to 16.
2022-06-29 14:35:01 +09:00
Pau Espin Pedrol
b5956e5596 [UPF] N4: Remove unnecessary assert (#1634) 2022-06-29 11:10:43 +09:00
Sukchan Lee
52d5c61794 [GTP] avoid abort for ogs_gtp_node_new() (#1633) 2022-06-29 11:07:44 +09:00
Pau Espin Pedrol
c5a545039f [GTP] Avoid abort if ogs_gtp_node_new() returns NULL (#1633)
* [GTP] Avoid abort if ogs_gtp_node_new() returns NULL

* [SGWC] Avoid abort if ogs_gtp_node_add_by_addr() returns NULL
2022-06-29 10:28:18 +09:00
Sukchan Lee
2dd577f88c [SCTP] Add protection code jumbo frame (#1632) 2022-06-28 16:58:15 +09:00
Sukchan Lee
0d61f7a7f9 [GTP] context when TEID=0 (#1620, #1606, #1594) 2022-06-28 15:32:14 +09:00
Sukchan Lee
9700563023 [SGWC] pfcp: Retrieve sess when SEID=0 (#1620) 2022-06-28 13:20:46 +09:00
Pau Espin Pedrol
5eaf66262a [SMF] pfcp: Retrieve sess when response with SEID=0 is received (#1620)
3GPP TS 29.244 7.2.2.4.2 documents that the peer will set SEID=0 in the
response when we request something for a session not existing at the peer.
If that's the case, we still want to locate the local session which
originated the request, so let's store the local SEID in the xact when
submitting the message, so that we can retrieve the related SEID and
find the session if we receive SEID=0.
2022-06-28 11:19:57 +09:00
Pau Espin Pedrol
a3593c6890 [SMF] Gn: QoS Profile and PCO IE improvements (#1631) 2022-06-27 21:51:14 +09:00
Sukchan Lee
8fe2e506c0 [PFCP] Added Network Instance to CP-UP FAR (#1630) 2022-06-25 07:56:28 +09:00
Sukchan Lee
df68b231b8 [PFCP] Added DNN/APN in FAR (#1629, #1630) 2022-06-24 20:30:40 +09:00
Sukchan Lee
f4eddf91b5 Set v4/v6 flags in local F-TEID (#1625) 2022-06-24 15:16:54 +09:00
Networkmama
99fd6c449a [SMF] Set v4/6 flag in F-TEID IE request type (#1625)
Signed-off-by: Networkmama <networkmama12@gmail.com>
2022-06-24 15:11:16 +09:00
Pau Espin Pedrol
7762da6992 [SMF] pfcp-sm: Fix ogs_fsm_dispatch() on NULL sess (#1628)
It was spotted that if DeleteSessionReq sent by SMF is answered by UPF
with cause="Session context not found", then it contains SEID=0 (this is
correct as per specs). Hence, since SEID=0 session is not looked up, so
sess=NULL.

A follow up commit improves the situation by looking up the SEID in the
originating request message in that case.
2022-06-23 23:38:52 +09:00
Pau Espin Pedrol
bfe214aafa [UPF] Avoid crash if no default subnet configured (#1624)
In that case, ogs_pfcp_ue_ip_alloc() will fail with  the error message
"CHECK CONFIGURATION: Cannot find subnet [...]" and the assert will make
upf crash.
That's not desirable, let's keep it running and simply reject the
request. The error log is big enoguh to find out.
2022-06-23 22:04:01 +09:00
Pau Espin Pedrol
96d689a402 [SGWC,SMF] Add specific config opt max.gtp_peer to set gtp_node mempool size (#1623)
This is needed specially for SMFs handling a pool of SGWs.
2022-06-23 22:03:48 +09:00
Pau Espin Pedrol
3501cb0a5b [SMF] track and fix scenario where gtp node mempool becomes full (#1622)
* [SMF] Avoid abort() if gtp_node mempool becomes full

Related: https://github.com/open5gs/open5gs/issues/1621

* [SMF] metrics: Add new ctr tracking gtp_node allocation failures

This metrics is useful to track whether at some point the mempool went
full, so that config needs to be updated to increase the mempool size.
2022-06-23 22:03:34 +09:00
Sukchan Lee
b58ebda556 Change Default MCC/MNC 901/70 -> 999/70 (#1331) 2022-06-23 21:37:47 +09:00
Pau Espin Pedrol
20d3dc0167 [CORE] fsm: Add asserts to validate ogs_fsm_t is not null (#1619) 2022-06-23 20:48:06 +09:00
Bostjan Meglic
c9598fb9c6 [SBI] Fix memory leak for nghttp2 session (#1618)
Delete nghttp2 session to prevent memory leaks.
The issue was detected using valgrind.
2022-06-23 20:43:36 +09:00
Pau Espin Pedrol
13421119c3 [SMF] Gy: Send Multiple-Services-Indicator AVP only during Initial CCR (#1616)
Gy (3GPP TS 32.299 ) refers to AVP in DCCA (RFC4006).

RFC4006 5.1.2:
"[...] by including the Multiple-Services-Indicator AVP in the first
interrogation."

Nokia's infocenter documentation also states it's sent during Initial CCR
only: "(CCR-I only)".
2022-06-21 23:56:56 +09:00
Sukchan Lee
50cfb5f3ac Initialize pgw_s5u_teid (#1559) 2022-06-20 22:36:51 +09:00
Bostjan Meglic
d2cbcf7118 [build] Use local sources to build applications (#1583)
"build" Docker image previously downloaded latest version of Open5GS
from github, and built the project from that.
Use local source files for building instead.
2022-06-19 18:18:09 +09:00
Sukchan Lee
0f93ec23ab [MME/AMF] Fixed network name encoding (#1614) 2022-06-19 18:16:11 +09:00
Sukchan Lee
c528e0d5bc [SBI] Change NfInstance.Id to Optional 2022-06-18 23:56:12 +09:00
JagannathS
0313910ac6 Added show commands in the dbctl (#1613) 2022-06-17 06:27:24 +09:00
Bostjan Meglic
361c3b7387 [SBI] Fix invalid read beyond allocated memory (#1610)
Valgrind memcheck tool reports an error, of invalid read beyond the
allocated memory.

Function "write_cb()" already allocates (realloc) +1 byte and
null-terminates the data. But the length "conn->size" does not contain
this extra null-terminated byte.
When a copy of the received data is made in "check_multi_info()", it
does not include the null character, resulting in potentially a
non-null terminated string.
Later on when parsing the data, "strlen()" will read beyond the
allocated memory to search for the null character, resulting in an
invalid read.

==1994== Invalid read of size 1
==1994==    at 0x484ED24: strlen (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==1994==    by 0x4D3F401: cJSON_ParseWithOpts (cJSON.c:1109)
==1994==    by 0x4D3F65C: cJSON_Parse (cJSON.c:1197)
==1994==    by 0x4C927DE: parse_json (message.c:913)
==1994==    by 0x4C972D8: parse_content (message.c:1790)
==1994==    by 0x4C90096: ogs_sbi_parse_response (message.c:589)
==1994==    by 0x136431: amf_state_operational (amf-sm.c:248)
...
==1994==  Address 0x668371d is 0 bytes after a block of size 253 alloc'd
==1994==    at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==1994==    by 0x5107D7F: ??? (in /usr/lib/x86_64-linux-gnu/libtalloc.so.2.3.3)
==1994==    by 0x510814B: _talloc_memdup (in /usr/lib/x86_64-linux-gnu/libtalloc.so.2.3.3)
==1994==    by 0x4871568: ogs_talloc_memdup (ogs-strings.c:184)
==1994==    by 0x4CA7755: check_multi_info (client.c:475)
...
2022-06-15 22:32:23 +09:00
jmasterfunk84
59a457fa40 Update mme-sm.c (#1609) 2022-06-15 06:13:49 +09:00
Pau Espin Pedrol
038d383584 [CORE] Compare port in ogs_sockaddr_is_equal() (#1608) 2022-06-15 06:13:15 +09:00
Bostjan Meglic
7be7029ac4 Send deregistration event from AMF to UDM (#1599)
* [SBI] Fix converting PatchItem to JSON

* [UDR] Add support for endpoint for patching subscription data

Add support for PATCH HTTP method for the following endpoint:
/subscription-data/{ueId}/context-data/amf-3gpp-access

Currently does not change any data in the database.

* [UDM] Add support for endpoint for patching subscription data

Add support for the following endpoint, HTTP PATCH method:
/nudm-uecm/v1/{ueId}/registrations/amf-3gpp-access

The endpoint is used when UE deregisters from the core, and AMF
sends a subscription modification request with "purgeFlag" set.

* [UDM] Add check for same GUAMI when patching subscription data

* [AMF] Send deregistration event to UDM

When UE sends deregistration request, AMF needs to send a
Nudm_UECM_Deregistration request to UDM.
The order of requests is now the following:
- send PDU session release to SMF
- send deregistration event to UDM
- send AM policy control release to PCF
2022-06-14 23:44:02 +09:00
Pau Espin Pedrol
720b4d3c4c [SMF] Gn: Drop already implemented TODO (#1604) 2022-06-13 23:58:39 +09:00
Pau Espin Pedrol
4d9112870c configs: use proper default IP address for metrics server (#1603)
* configs: use proper default IP address for metrics server

Let's use the IP address assigned to each process by default when
configuring the HTTP Prometheus server. Otherwise having several
processes listening on 0.0.0.0 cause collisions.

* configs: mme.yaml: Fix trailing whitespace
2022-06-13 23:13:58 +09:00
Safa Orhan
58a9d31fd8 Apply action ie (#1601) 2022-06-13 19:51:40 +09:00
Safa Orhan
0a3746c24d PR open5gs#1581 (#1600) 2022-06-13 19:44:36 +09:00
Sukchan Lee
1daac541cf Oops! removed one time in the document 2022-06-12 17:18:03 +09:00
Sukchan Lee
9087a480a8 Update document for v2.4.8 2022-06-12 17:06:36 +09:00
Sukchan Lee
9d43646816 Release v2.4.8 2022-06-12 16:29:24 +09:00
Sukchan Lee
240c10888d [GTP] Fixed bugs if gNB changed (#1515, #1586) 2022-06-12 15:54:27 +09:00
Sukchan Lee
9c3b7dfe4b Added RRCEstablishmentCause to Test-Msg Param 2022-06-12 14:32:53 +09:00
Sukchan Lee
2aa40ca8c8 [PFCP] Added Data Status IE (#1582) 2022-06-12 09:02:59 +09:00
Sukchan Lee
12353178fb Upgrade PFCP to v16.9.1 (#1581) 2022-06-11 23:51:00 +09:00
Sukchan Lee
b98c2c13f6 [SUCI] Handling exceptions for invalid RI (#1570)
If Routing Indicator is wrong, we forcely set to '0'.
2022-06-10 23:19:00 +09:00
Sukchan Lee
9d94b33c7b meson: Rollback libmicrohttpd >= 0.9.40
Ubuntu 18.04 (bionic) should continue to be supported until April 2023.
So I modified mhd_server to support older versions of libmicrohttpd.
2022-06-10 21:35:37 +09:00
Sukchan Lee
6c5a8a135a Reorder smf_gtp_node objects free (#1593)
smf_gtp_node_pool were properly freed.

However, the seqence was wrong, so we got a warning message.

To solve this problem, I've moved smf_gtp_node_alloc/free
from gtp_path.[ch] to context.[ch]
2022-06-10 21:08:15 +09:00
Pau Espin Pedrol
b116630fe8 meson: Depend explicitly on libmicrohttpd >=0.9.61 (#1595)
Recent commit re-enabling SBI HTTP/1.1 support
(10bdf39505cf525b95886c140b3c2e82e7427d29) started using libmicrohttpd's
API MHD_create_response_from_buffer_with_free_callback(), which is only
available starting from v0.9.61.
As a result, compilation in xUbuntu 18.04 started failing with errors
about the function not being found, since it ships with libmicrohttpd
v0.9.59.
Depending on 0.9.61 is fine since it's quite old (november 2018) and all
major current distros should for sure have an >= one. Let's simply bump
the version check so that it fails in an informative manner.
2022-06-10 20:53:55 +09:00
Pau Espin Pedrol
28089e2b59 [SMF] Fix smf_gtp_node objects not freed during shutdown (#1593) 2022-06-10 00:06:13 +09:00
Sukchan Lee
b1e7477904 [CORE] Improve logging error in PFCP (#1591) 2022-06-09 23:36:33 +09:00
Pau Espin Pedrol
5238771295 [CORE] Improve logging error in ogs_gtp_sendto() (#1591) 2022-06-09 23:32:11 +09:00
Carlos Giraldo
cfe21c61da Structure AMF and MME metrics code similar to SMF (#1590)
* AMF metrics initial support

* MME metrics initial support

* set amf/mme metrics.[c|h] similar to smf
2022-06-09 21:39:03 +09:00
Sukchan Lee
0b97954208 Re-added to handle an exceptional case (#1589) 2022-06-09 21:35:59 +09:00
Bostjan Meglic
5084f6a71d [AMF] Add support for SUCI protection schemes A and B (#1589)
For null protection scheme the SUCI needs to be BCD encoded. Whereas for
protection scheme profiles A and B the SUCI needs to be converted from
hexadecimal to ASCII.

This still needs the support for protection schemes A and B in UDM to
work.
2022-06-09 21:27:58 +09:00
Carlos Giraldo
109949d335 MME initial metrics support (#1587) 2022-06-09 06:23:51 +09:00
Pau Espin Pedrol
9e25482d99 [SMF] Gn: Fixes handling/transmitting APN-AMBR IE (#1588) 2022-06-09 06:22:56 +09:00
Carlos Giraldo
816575dc8d AMF metrics initial support (#1585) 2022-06-08 17:54:46 +09:00
Pau Espin Pedrol
28e40a0f1b Initial metrics support based on Prometheus (#1571)
* Initial metrics support based on Prometheus

This commit introduces initial support for metrics in open5gs.

The metrics code is added as libogsmetrics (lib/metrics/), with a well
defined opaque API to manage different types of metrics, allowing for
different implementations for different technologies to scrap the
metrics (placed as lib/metrics/<impl>/. The implementation is right now
selected at build time, in order to be able to opt-out the related dependencies
for users not interested in the features. 2 implementations are already
provided in this commit to start with:
* void: Default implementation. Empty stubs, acts as a NOOP.
* prometheus: open5gs processes become Prometheus servers, offering
  states through an http server to the Prometheus scrappers. Relies on
  libprom (prometheus-client-ci [1] project) to track the metrics and format
  them during export, and libmicrohttpd to make the export possible through
  HTTP.

[1] https://github.com/digitalocean/prometheus-client-c

The prometheus-client-c is not well maintained nowadays in upstream, and
furthermore it uses a quite peculiar mixture of build systems (autolib
on the main dir, cmake for libprom in a subdir). This makes it difficult
to have it widely available in distros, and difficult to find it if it
is installed in the system. Hence, the best is to include it as a
meson subproject like we already do for freeDiameter. An open5gs fork is
requried in order to have an extra patch adding a top-level
CMakeList.txt in order to be able to includ eit from open5gs's meson
build. Furthermore, this allows adding bugfixes to the subproject if any
are found in the future.

* [SMF] Initial metrics support

* [SMF] Add metrics at gtp_node level

* docs: Add tutorial documenting metrics with Prometheus
2022-06-08 05:51:02 +09:00
Pau Espin Pedrol
a9badd5520 GTP, SMF: More dec/enc improvements in QoS Profile IE MBR and GBRE fields (#1584) 2022-06-07 22:13:53 +09:00
Sukchan Lee
18cca7f5e4 Re-enabling HTTP/1.1 (#1570) 2022-06-06 22:20:52 +09:00
Sukchan Lee
828fa23d16 Increase Apply Action size to 2 bytes (#1581) 2022-06-06 21:12:18 +09:00
mitmitmitm
a6abe1fffb [NRF] Don't abort if there are too many registered NF instances (#1579)
Reply with an error instead.
2022-06-06 20:54:59 +09:00
Pau Espin Pedrol
7dd5d27a71 [GTPv1] Several QoS Profile IE enc/dec fixes and improvements (#1575) 2022-06-03 06:56:28 +09:00
Pau Espin Pedrol
e32139009b [SMF] Gn: Avoid building QoS Profile IE twice in UpdatePdpContextResp (#1574) 2022-06-03 01:02:14 +09:00
Pau Espin Pedrol
502a886e43 [CORE] ogs-sockaddr: Fix trailing whitespace (#1573) 2022-06-02 20:20:16 +09:00
Pau Espin Pedrol
d99382d5bc [CORE] Improve log error messages in ogs_ipsubnet() (#1572) 2022-06-02 20:19:55 +09:00
Sukchan Lee
8b3fa5ff9f Follow-up the contribution #1566, #1567 2022-05-31 21:44:53 +09:00
Pau Espin Pedrol
e1e8018919 [SMF] Avoid crash if Create{Session,PdpContext}Resp fails to be sent (#1566)
* [SMF] Gn: Drop unreachable return line

* [SMF] Avoid crash if Create{Session,PdpContext}Resp fails to be sent

Crash spotted in a running open5gs-smfd process, triggered by:
ERROR: ogs_gtp_sendto() failed (1:Operation not permitted) (../lib/gtp/path.c:119)
ERROR: ogs_gtp_xact_commit: Expectation `rv == OGS_OK' failed. (../lib/gtp/xact.c:730)
ERROR: smf_gtp2_send_create_session_response: Expectation `rv == OGS_OK' failed. (../src/smf/gtp-path.c:451)
FATAL: smf_gsm_state_wait_pfcp_establishment: Assertion `OGS_OK == smf_gtp2_send_create_session_response( sess, gtp_xact)' failed. (../src/smf/gsm-sm.c:676)

* [SMF] Avoid crash if Delete{Sesson,PdpContext}Resp fails to be sent

Let's simply continuing with release of the session, there's not much we
can do about it. Peer will eventually realize the conn is no longer
there.
2022-05-31 21:27:42 +09:00
Pau Espin Pedrol
c2bda0b576 [GTP] Several fixes and improvements around ogs_gtp_xact_find_by_xid (#1567)
* [GTP] Add missing msg types to ogs_gtp_xact_get_stage()

* [GTP] Avoid returning wrong xact by xif if none found

* [GTP] Avoid crash if ogs_gtp_xact_get_stage() fails

* [GTP] Rename s/ogs_gtp_xact_get_stage/ogs_gtp2_xact_get_stage/
2022-05-31 21:24:00 +09:00
Sukchan Lee
b6f2146594 [SGWC] Update remote PGW GTPv2-C address (#1560)
In Create Sesion Response, we updated remote PGW GTPv2-C address.
2022-05-28 17:06:36 +09:00
Miguel
78b1dc77ff Update open5gs-dbctl (#1562)
I added four additional commands which are useful in case not using the GUI (add UE using a specific APN, add UE using a specific slice and APN, modify a slice adding an APN, modify an UE adding a new slice + APN)
2022-05-28 11:10:03 +09:00
endika
de0ba3f9dc fix tipo in amf logs (#1558) 2022-05-26 20:12:30 +09:00
Pau Espin Pedrol
c18e9f32cb [PGW] Gy+PFCP improvements (#1555)
* [SMF] Gy,PFCP: Improve {Time,Volume} {Threshold,Quota} handling

* [UPF] Implement URR Usage Report for ValidityTime/TimeQuota/TimeThreshold

* [UPF] Implement Usage report trigger for Volume Quota/Threshold

* [SMF] Set Gy Reporting-Reason based on PFCP Report Trigger
2022-05-24 22:54:30 +09:00
Bostjan Meglic
2c2ce143a3 Fix minor typos (#1554)
* Fix minor typo in log output

* Remove unused struct members
2022-05-24 21:01:54 +09:00
Sukchan Lee
933f0b04c7 [TEST] Added IPv6 in GTPU (#1515) 2022-05-23 23:51:02 +09:00
Sukchan Lee
7d496e182b Update document for v2.4.7 2022-05-21 19:48:56 +09:00
Sukchan Lee
dd845a2bb2 Release v2.4.7 2022-05-21 19:22:11 +09:00
Sukchan Lee
1679f57ac7 [CORE] fix the linked-list bug (#1187) 2022-05-21 18:54:42 +09:00
Pau Espin Pedrol
b6fe640641 [SMF] Gy CCR: Clarify use of Reporting-Request and set it to FINAL in TERMINATION_REQ (#1552) 2022-05-21 06:00:56 +09:00
Sukchan Lee
a6927e18e6 [SBI] fixed mem leak SessionManagement (#1551) 2022-05-21 17:51:31 +09:00
Bostjan Meglic
8efa364f89 Change handling of SessionManagementSubscriptionData as an array (#1551)
According to the following standards the response to the endpoint
/nudm-sdm/${supi}/sm-data should be an array of
SessionManagementSubscriptionData objects, instead of only one object.

TS 29.503 version 16.6.0
TS 29.505 version 16.4.0

UDR now responds to the request with only item in the array.
UDM copies all items as is.
SMF uses only the first item in the array, even if there are more
present.
2022-05-20 17:33:49 +09:00
Pau Espin Pedrol
43a7259781 [SMF] Prevent concurrent access to ogs_pool allocating smf_event (#1546) 2022-05-20 05:57:27 +09:00
Supreeth Herle
aba1867902 Fix AN-Trusted AVP sent in CCR (#1542)
AN-Trusted AVP is only relevant for non-3GPP access networks e.g. WLAN.
This commit adds a check for non-3GPP access network in order to include
AN-Trusted AVP in CCR or not.
Also, clears the M bit for AN-trusted AVP as per TS 29.212 version 16.4.0, Table 5.4.0.1
2022-05-19 13:25:49 +09:00
Sukchan Lee
12d189af07 Document Update 2022-05-17 23:37:41 +09:00
Sukchan Lee
d6c8d49ef4 Update Document for v2.4.6 2022-05-17 23:30:16 +09:00
Sukchan Lee
1983d9d7a7 Release v2.4.6 2022-05-17 22:44:05 +09:00
Sukchan Lee
6710c13a44 update it 2022-05-17 21:44:52 +09:00
Sukchan Lee
67fd2efd76 [HOTFIX] Receive PTI information 2022-05-18 16:04:51 +09:00
Sukchan Lee
c6c8dc1256 [PFCP] Support Multi-CP with One-UP
A problem occurred when there was one SGWU/UPF and multiple SGWC/SMF.

When SGWU and UPF create a session, if the SEID is the same,
the existing session information is used without creating an additional session.

These problems were solved by using the F-SEID including IP information
in the process of checking the existing session.
2022-05-18 10:29:58 +09:00
Pau Espin Pedrol
46621538af [SMF] Improve 3GPP-User-Location-Info in Gn,Gx,Gy (#1539)
* [GTP] Fix trailing whitespace

* [SMF] Improve 3GPP-User-Location-Info in Gn,Gx,Gy
2022-05-17 10:29:11 +09:00
Sukchan Lee
b2f2016a67 Fix the compile error 2022-05-15 23:40:51 +09:00
Sukchan Lee
e0a487f479 [SMF] Optimiza Session Modification Message
For video in VoNR, multiple QosFlow is required in one session.

In the past, since only one Session Modification Message was supported,
QoS-Flow was put into several Session Messages one by one and processed.

Now that multiple QoS-Flows can be supported,
it is optimized to process one session modification message.
2022-05-15 23:35:41 +09:00
Sukchan Lee
a7e2a071e0 Merge branch 'main' of https://github.com/open5gs/open5gs into main 2022-05-15 22:38:38 +09:00
Sukchan Lee
f97f5f794d Merge branch 'althea-net-sctp_crash_upstream' into main 2022-05-15 22:38:29 +09:00
Sukchan Lee
afc562f7d5 [MME] refine Pull Request (#1497) 2022-05-15 22:37:38 +09:00
Sukchan Lee
478723203f Merge branch 'sctp_crash_upstream' of https://github.com/althea-net/open5gs into althea-net-sctp_crash_upstream 2022-05-15 22:22:01 +09:00
Sukchan Lee
c391ac1334 [SMF] Apply 5G Core into GSM (#1498) 2022-05-15 06:27:54 +09:00
Pau Espin Pedrol
fe7f9d85bb [SMF] Store IMEI from GTPv1C/2C and append AVP in Gy CCR (#1535) 2022-05-14 21:32:32 +09:00
Pau Espin Pedrol
c5715d6695 [SMF] Gy CCR: append 3GPP-RAT-Type AVP (#1536) 2022-05-14 06:15:28 +09:00
Sukchan Lee
bb4a8f34d4 [AMF] Fix the bug NGResetAck (#1525) 2022-05-14 02:43:01 +09:00
Sukchan Lee
71572ae563 [PFCP] fixed memcpy (#1531)
dnn ‘memcpy’ reading 808 bytes from a region of size 128
2022-05-13 18:26:54 +09:00
Sukchan Lee
e2159b1240 [SMF] memory free Charging Characteristics (#1532) 2022-05-13 18:18:04 +09:00
Pau Espin Pedrol
99f59be5d7 [SMF] Store Charging Characteristics IE from GTPv1C/2C and append AVP in Gy CCR (#1532) 2022-05-13 06:32:20 +09:00
Sukchan Lee
4d2f7726b9 X2 handover with SGW change (#1367, #1459) 2022-05-12 22:52:36 +09:00
Pau Espin Pedrol
11d4be1779 [SMF] Store Selection Mode IE from GTPv1C/2C and append as 3GPP-Selection-Mode AVP in Gy CCR (#1530)
* [GTPv1C] Make Selection Mode IE uint8

* [SMF] Store Selection Mode in GTPv1C and GTPv2C

* [SMF] Gy CCR: append 3GPP-Selection-Mode AVP
2022-05-12 22:43:12 +09:00
Pau Espin Pedrol
5d478e2488 Pespin/pr (#1529)
* [SMF] rename function s/gtp/gtp2/

* [SMF] Store GTPC version in session

So far we always depended on an xact being present in the code path in
order to know which kind of session it is (GTPv1C vs GTPv2C). Let's
instead store that information in smf_sess_t so that we have it always
available in an easy way.

* [SMF] Move smf_sess_t GTPv1C specifics into gtp substruct

* [SMF] Gy CCR: append 3GPP-NSAPI AVP
2022-05-12 21:42:45 +09:00
Sukchan Lee
333e53d0dd Update sponsor size 2022-05-11 20:45:16 +09:00
Sukchan Lee
53a96022d9 Merge branch 'main' of https://github.com/open5gs/open5gs into main 2022-05-11 20:40:19 +09:00
Sukchan Lee
908d5884dc Add Telet Sponsor 2022-05-11 20:40:03 +09:00
Pau Espin Pedrol
e8d6b0be20 [SMF] Append PDP-Address AVP to Gy CCR msg (#1527)
* [SMF] Append PDP-Address AVP to Gy CCR msg

* [SMF] Gy CCR: Move some AVPs under Service-Information/PS-Information

They belong there. Nokia infocenter documentation seems to be document
the possibility to configure its software to have it in top level, but
that's not what 3GPP TS 32.299 states, so let's stick to it.

* [SMF] Gy CCR: append 3GPP-PDP-Type AVP

* [SMF] Gy CCR: append 3GPP-Charging-Id AVP

* [SMF] Gy CCR: append SGSN-Address AVP

* [SMF] Gy CCR: append GGSN-Address AVP
2022-05-11 15:53:24 +09:00
Sukchan Lee
7a9d06097e [PFCP] fix the unnecessary code (#1523) 2022-05-10 22:58:19 +09:00
Pau Espin Pedrol
3a28ddce37 [PFCP] Fix typo in log line (#1526) 2022-05-10 22:40:32 +09:00
Supreeth Herle
6ffdce598a Fix attach reject when ULA subscription data does not contain MSISDN (#1524)
Issue:
When the ULA - Subscription Data does not contain MSISDN, the Create Session Request
from MME to SGW does not contain MSISDN IE resulting in SMF throwing following log

smf        | 05/09 15:20:53.683: [smf] ERROR: No MSISDN (../src/smf/s5c-handler.c:82)
sgwc       | 05/09 15:20:53.683: [sgwc] ERROR: No Context in TEID (../src/sgwc/s5c-handler.c:104)
mme        | 05/09 15:20:53.683: [mme] ERROR: No Context in TEID (../src/mme/mme-s11-handler.c:122)

As per 3GPP TS 29.274 version 16.5.0, table 7.2.1-1: MSISDN IE shall only be included
in Create Session Request if its provided in subscription data from the HSS. This commit
fixes this by removing the mandatory MSISDN IE check in SMF.
2022-05-10 21:23:03 +09:00
Sukchan Lee
6e81564972 Add new sponsor 2022-05-05 00:06:24 +09:00
Pau Espin Pedrol
76fecdb54e [SMF] Store MSISDN from GTPC and pass it in Gy CCR (#1519) 2022-05-04 05:37:44 +09:00
Pau Espin Pedrol
aa6f3ef8d6 [SMF] gn-handler: Fix typo in error message (#1517) 2022-05-03 21:14:19 +09:00
Sukchan Lee
3508e09a41 [GTPU] IPv6 RS/RA with QFI Extended Header (#1506) 2022-04-30 11:50:30 +09:00
Sukchan Lee
b558da30c6 [GTPU] Fixed to Send Unnecessary EndMarker (#1506) 2022-04-30 10:23:12 +09:00
Sukchan Lee
de2ecd6400 [GTP2] Fixed handling multi-bearer messages(#1498) 2022-04-29 21:28:16 +09:00
Abderaouf KHICHANE
41f743af62 update instructions for adding a subscriber with Python (#1507) 2022-04-27 21:36:34 +09:00
Sukchan Lee
d50a5a44f9 [SBI] cJSON v1.7.7 -> v1.7.15 (#1503) 2022-04-23 02:42:53 +09:00
Pau Espin Pedrol
2de12e32f4 [SMF] Integrate session tear down cycle into sess->sm (#1500)
* [SMF] smf_sm.c Fix indentation

* [SMF] gsm-sm: log fsm events

* [SMF] Integrate session tear down cycle into sess->sm
2022-04-20 21:42:18 +09:00
Spencer Sevilla
23ef30553e initial draft of sctp crash fix 2022-04-18 11:56:43 -07:00
Sukchan Lee
79de674fd8 [PFCP] F-TEID allocation by SMF (#1466) 2022-04-16 14:08:56 +09:00
Pau Espin Pedrol
5f979d0cc3 [SMF] Parallelize Gx+Gy CCR Initial (#1491)
There's no real need to having to wait until Gx is processed in order to
set up Gy. This speeds up time required to set up the UE session.
2022-04-15 07:00:32 +09:00
Sukchan Lee
433d5f6bf3 Distinguish the type of session creation 2022-04-14 17:34:55 +09:00
Sukchan Lee
80cd9d725f [SBI] fixed HTTP2 header values is 0 (#1488) 2022-04-14 11:28:37 +09:00
Sukchan Lee
28746c1cd8 [SMF] Change gtp_message to gtp2_message in SM 2022-04-14 11:20:10 +09:00
Sukchan Lee
bb5d497298 [SMF] fix an invalid error GTP message 2022-04-14 11:18:21 +09:00
Sukchan Lee
079bb5c40e Remove sctp test in MacOSX CI (#1489) 2022-04-14 10:31:20 +09:00
Pau Espin Pedrol
e61b469489 [SMF] Inegrate session setup cycle into sess->sm (#1489)
It allows for much better control on the lifecycle of the session, and
already shows some missing tear down paths in case of errors.
It also clarifies the existence of "sess" pointer in several paths.

The code also becomes clearer overall, since all the transitions and
logic to send next messages are put together.

Tear down of the session will be integrated into gsm-sm in a follow-up
patch.

The 5gc session setup is only partially moved to gsm-sm, and left as an
exercise for users wishin to improve 5gc support.
2022-04-14 10:30:58 +09:00
Pau Espin Pedrol
e3da7c9934 Rename GTPv2C specifics to gtp2 prefix (#1485)
In the past only GTPv2C was supported, and had the "gtp" generic prefix.
Later on, GTPv1C support was added, and "gtp1" prefix was used.
Let's move GTPv2C specific bits to have "gtp2" prefix too, and leave
"gtp" prefix for generic stuff among different GTP versions.
2022-04-13 07:07:39 +09:00
Supreeth Herle
8c22d8a20c Send EMM Cause when Attach Request type is not same as HSS Network-Access-Mode (#1484)
This commit adds EMM Cause to Attach accept message when
Attach Request has COMBINED EPS IMSI ATTACH but the HSS
Network-Access-Mode is configure for EPS ONLY.
2022-04-13 07:06:49 +09:00
Sukchan Lee
e5ff03b249 [SBI] Change the reference count (#1440)
Change the client's reference count method
to use the same method as nf_instance
2022-04-10 20:09:27 +09:00
Sukchan Lee
49c34605db [SBI] fixed the SMF discover bug (#1440) 2022-04-09 13:24:40 +09:00
Sukchan Lee
ff242cd6ea [Gy] Follow-up PRs (#1479) 2022-04-09 10:41:02 +09:00
Pau Espin Pedrol
2be12903cb [SMF] Introduce optional Gy interface support (#1479)
The use of the Gy interface (SMF acting as CTF towards an OCS node) is
mandated through configuration file. Default value "enable: auto" will
only make use of it in case a Diameter peer announcing support for the
Credit-Control Application is found.

Upon subscriber session creation, and after auth check over Gx, the SMF
will create a Gy session with the OCS and only after that step the SMF
will accept the session back to the subscriber.
The OCS may then grant some traffic volumes/time and ask to be notified
back with updated measurements.
In order to get the measurements, the SMF relies on PFCP URR configured
to the UPF through Session Repoort Request messages.
When closing the subscriber session, the SMF will also terminate the Gy
session at the OCS.

So far only some specifics parts of the Gy interface as well as the PFCP
side are implemented. Those should be enough to at least have
volume/time thresholds granted by the OCS, which then will be able to
track subsriber resource use.

This patch doesn't implement the OCS side of the Gy interface, that's
left as a future exercise. The interface was tested using an OCS
emulator implemented in TTCN-3 [1]

[1] https://cgit.osmocom.org/osmo-ttcn3-hacks/
2022-04-09 08:26:28 +09:00
Pau Espin Pedrol
7455424d29 Fix trailing whitespace (#1478) 2022-04-09 08:19:59 +09:00
Sukchan Lee
832ab156e9 Revert "Revert "Functionality for send sms with using IMS service. (#1477)""
This reverts commit b732d7bcc5.
2022-04-09 00:45:37 +09:00
Sukchan Lee
0b3df3e3db Revert "Introduce Gy interface (#1471)"
This reverts commit 106f2729c3.
2022-04-09 00:45:26 +09:00
Sukchan Lee
b5ad0feffc Revert "[Gy] use WARN log-level if No Gy Diameter Peer"
This reverts commit 05551f120f.
2022-04-09 00:45:14 +09:00
Sukchan Lee
b732d7bcc5 Revert "Functionality for send sms with using IMS service. (#1477)"
This reverts commit aa6368132e.
2022-04-09 00:42:43 +09:00
Sukchan Lee
05551f120f [Gy] use WARN log-level if No Gy Diameter Peer 2022-04-09 00:39:21 +09:00
Pau Espin Pedrol
106f2729c3 Introduce Gy interface (#1471)
TODO:

* Use an event for the report, like SMF_EVT_N4_TIMER?

*  Properly set Service identifier in Gy CCR

* SMF: Properly set pkt/octet volumes in Gy CCR
** Update when receiving PFCP Modify Response.

* Figure out best way to require Gy through config file in open5gs-smfd.

* Create a new sess-sm.c which handles smf_sess_t state through
  Gx+Gy+PFCP creation, modification and tear down. This way we can do
stuff in parallel, for instance Gx+Gy. It will alsoavoid duplicating
some code paths due to Gy being optional.
2022-04-09 00:08:58 +09:00
EugeneBogush
aa6368132e Functionality for send sms with using IMS service. (#1477)
* Update

* update

* Update

* update

* new version of profile for send sms

* update

* update

Co-authored-by: root <root@lfv.unassigned-domain>
Co-authored-by: eug <eug@lfv.unassigned-domain>
2022-04-08 23:20:06 +09:00
Pau Espin Pedrol
fb8ebcdbea [UPF] Add initial support for URR Usage Report (#1476) 2022-04-08 23:10:42 +09:00
Pau Espin Pedrol
52672cff65 [DIAM] Add Gy interface support to lib/diameter (#1474)
This commit adds required blocks in lib/diameter to be able to handle Gy
messages later in open5gs apps.

The Gy interface is mainly decribed in 3GPP TS 32.299  and 3GPP TS
32.251, which in turn refers to Diameter protcols defined in RFC4006.
This interface allows charging managment through an external OCS node.
2022-04-08 21:13:02 +09:00
Pau Espin Pedrol
0df2e9f0ba [UPF] cosmetic: Fix trailing whitespace (#1473) 2022-04-08 21:12:52 +09:00
Pau Espin Pedrol
77f7bb7af7 [PFCP] Use proper IE to signal triggers in Usage Report (#1472)
The "Report Triggers" is sent SMF->UPF to tell in which situations a
report should be sent.
The "Usage Report Trigger" is sent UPF->SMF to indicate which situation
triggered the report.
2022-04-08 21:12:42 +09:00
Pau Espin Pedrol
8286b1c417 [SMF] Gx: Fix crash receiving DIAMETER_UNABLE_TO_DELIVER (#1469) 2022-04-06 23:57:55 +09:00
Pau Espin Pedrol
5be48be634 [SMF] Gx: Prevent sending Gx messages to non-PCRF Diameter peers (#1468) 2022-04-06 20:48:26 +09:00
Sukchan Lee
110a63fdfa [SMF] Handle for PCRF not to respond (#1445) 2022-04-03 22:49:12 +09:00
Sukchan Lee
e213f65406 Improve data-path performance using talloc_pool()
allocate a talloc pool for GTP to ensure it doesn't have to go back
to the libc malloc all the time.
2022-04-02 13:36:23 +09:00
Sukchan Lee
1c9a48bfb1 [Doc] Update CentOS Stream 8 (#1450) 2022-04-01 22:33:49 +09:00
Sukchan Lee
77f66e1f0e Migrating to CentOS Stream 8 in Vagrant (#1450) 2022-04-01 22:28:32 +09:00
Sukchan Lee
3121d183f0 [HSS/PCF] Store IMEISV instead of IMEI (#1464) 2022-04-02 00:46:05 +09:00
Sukchan Lee
8f603e2049 [WebUI] Added IMEI in View (#1464) 2022-04-01 20:08:20 +09:00
Sukchan Lee
35201f6ed1 Fix the MacOSX CI (#1454) 2022-03-31 23:06:52 +09:00
Sukchan Lee
24d20bb20b Update automatic CI (#1454) 2022-03-31 22:55:27 +09:00
Sukchan Lee
f2aa15d99f Added MacOSX to the Running OS for CI (#1454) 2022-03-31 21:31:10 +09:00
Sukchan Lee
c76c7d597d Oops! Rollback Meson Continuous integration 2022-03-31 20:26:58 +09:00
Sukchan Lee
9c4287f467 update it1 2022-03-31 20:24:31 +09:00
Sukchan Lee
2def8bb31b update it 2022-03-31 19:51:51 +09:00
EugeneBogush
f557fc8eaa Add/update current imei of UE in subscriber profile (#1464)
* first commit

* fix

Co-authored-by: root <root@lfv.unassigned-domain>
2022-03-31 19:35:30 +09:00
Sukchan Lee
82241f5b84 Added Meson Continuous Integration (#1454) 2022-04-01 02:31:57 +09:00
Pau Espin Pedrol
fbfb72c1b7 [PFCP] Support multiple Usage Report IEs in all messages (#1461)
* [PFCP] Properly check down_data_report inclusion building SessionReportRequest

* [PFCP] Support multiple Usage Report IEs in all messages
2022-03-31 09:43:35 +09:00
Sukchan Lee
038fb680f4 Revert configuration for backward compatibility 2022-03-31 02:15:13 +09:00
Sukchan Lee
da8c934326 [Test] Fix the SBI running[1] 2022-03-28 23:09:24 +09:00
Sukchan Lee
88016a769f [SMF] fix missing initialization memory (#1458) 2022-03-28 22:22:24 +09:00
Pau Espin Pedrol
acd6610508 [SMF] Gx: Add Destination-Host AVP to CCR (#1458)
Catch Origin-Host during CCA and set it as Destination-Host during
subsequent CCRs. This way we ensure UPDATE/TERMINATION Requests are sent
back explicitly to the same Diameter peer. Moreover, it seems
freediameter relies on this AVP to properly send the message over the
correct SCTP association when several diameter peers are available.
2022-03-28 22:00:28 +09:00
Pau Espin Pedrol
4b8d3a845a [PFCP] Support associating multiple URRs to a PDR (#1456)
* [PFCP] Fix trailing whitespace in message generation files

* [PFCP] message gen: Support multiple URR ID IEs in Create PDR group

* [PFCP] Support associating multiple URRs to a PDR

According to 3GPP TS 29.244:
"""
A PDR shall contain:
- zero, one or more URRs, which contains instructions related to traffic measurement and reporting.
"""
2022-03-28 21:56:58 +09:00
Sukchan Lee
825b06b6e0 Update document for v2.4.5 2022-03-27 20:12:30 +09:00
Sukchan Lee
12c656efd0 Improve Slice/DNN selection (#1438), (#1440) 2022-03-27 17:50:31 +09:00
Sukchan Lee
ced37a6201 fix the slice issues (#1438), (#1440) 2022-03-26 23:53:53 +09:00
Pau Espin Pedrol
38e2dee17f [PFCP] Handle Measurement Information in Create/Update URR IEs (#1453) 2022-03-26 00:33:32 +09:00
Pau Espin Pedrol
89636fa8d3 [PFCP] Handle Measurement Information in Create/Update URR IEs (#1452) 2022-03-26 00:07:34 +09:00
Pau Espin Pedrol
cc0d147f5c Fix trailing whitespace (#1451) 2022-03-25 23:35:27 +09:00
Pau Espin Pedrol
12bac7a917 [PFCP] Avoid requiring optional fields in Update URR IE (#1449) 2022-03-25 05:58:40 +09:00
Sukchan Lee
41553de7a4 [MME] Exception handle - APN duplicated (#1431) 2022-03-24 21:52:42 +09:00
Sukchan Lee
2cb06b3085 remove pool related configuration (#1431) 2022-03-23 15:14:18 +09:00
Sukchan Lee
224d1caca1 change log-level WARNING to INFO 2022-03-22 22:52:10 +09:00
Sukchan Lee
37af21a88d [MEM] fix the pkbuf problem (#1431) 2022-03-22 22:47:45 +09:00
Sukchan Lee
fe5fd0f760 Update sponsors 2022-03-19 20:26:49 +09:00
Pau Espin Pedrol
ab5f47ef59 [SMF] PFCP Session Report Req: Allow receiving multiple bits in Report Type (#1442)
3GPP TS 29.244 sec 8.2.21 "Report Type" states:
At least one bit shall be set to "1". Several bits may be set to "1".
2022-03-17 16:23:43 +09:00
Sukchan Lee
72ecd1c005 [SMF] Remove T_RELEASE_HOLDING timer 2022-03-17 16:07:19 +09:00
Pau Espin Pedrol
7f6f35fe6f [UPF] Improve logging around IP spoofing (#1441)
* [UPF] Fix Trailing whitespace

* [UPF] Improve logging around IP spoofing

Related: https://github.com/open5gs/open5gs/issues/1435
2022-03-16 21:59:50 +09:00
Sukchan Lee
bf77318602 [MME] re-factor to check a piggybacked ESM (#1431) 2022-03-16 20:48:48 +09:00
Sukchan Lee
a6ec206998 Change EPERM to OGS_EPERM (#1436,#1404) 2022-03-16 20:32:19 +09:00
Pau Espin Pedrol
f060da45d5 [CORE] time: Add APIs to manage NTP 32-bit timestamps (#1439)
These will be further needed in PFCP in the future, as well as in other
Diameter based interfaces (such as Gy).
Let's put all implementation details in APIs so that devs don't need to
care about those details every time.
2022-03-16 11:25:30 +09:00
Pau Espin Pedrol
80ce991aa6 [CORE] Improve SO_BINDTODEVICE error log line (#1436) 2022-03-16 11:25:21 +09:00
Sukchan Lee
bcf53124d5 Improve the socket option configuration (#1404)
o GTP-C Option (Default)
  - so_bindtodevice : NULL

  gtpc:
    addr: 127.0.0.7
    option:
      so_bindtodevice: vrf-blue

o GTP-U Option (Default)
  - so_bindtodevice : NULL

  gtpu:
    addr: 127.0.0.7
    option:
      so_bindtodevice: vrf-blue

o PFCP Option (Default)
  - so_bindtodevice : NULL

  pfcp:
    addr: 127.0.0.7
    option:
      so_bindtodevice: vrf-blue

o SBI Option (Default)
  - tcp_nodelay : true
  - so_linger.l_onoff : false

  sbi:
    addr: 127.0.0.10
    option:
      tcp_nodelay: false
      so_linger:
        l_onoff: true
        l_linger: 10

o NGAP Option (Default)
  - sctp_nodelay : true
  - so_linger.l_onoff : false
ngap:
  addr: 127.0.0.5
  option:
    stcp_nodelay: false
    so_linger:
      l_onoff: true
      l_linger: 10

o NGAP SCTP Option (Default)
  - spp_hbinterval : 5000 (5secs)
  - spp_sackdelay : 200 (200ms)
  - srto_initial : 3000 (3secs)
  - srto_min : 1000 (1sec)
  - srto_max : 5000 (5secs)
  - sinit_num_ostreams : 30
  - sinit_max_instreams : 65535
  - sinit_max_attempts : 4
  - sinit_max_init_timeo : 8000(8secs)
ngap:
  addr: 127.0.0.5
  option:
    sctp:
      spp_hbinterval : 5000
      spp_sackdelay : 200
      srto_initial : 3000
      srto_min : 1000
      srto_max : 5000
      sinit_num_ostreams : 30
      sinit_max_instreams : 65535
      sinit_max_attempts : 4
      sinit_max_init_timeo : 8000
2022-03-15 22:03:50 +09:00
Pau Espin Pedrol
73836c063c [UPF] Fix log typo, trailing whitespace (#1434) 2022-03-15 13:34:32 +09:00
Pau Espin Pedrol
dd5abb79b4 [PFCP] Fix wrong endianess enc of some URR values (#1433)
* [PFCP] Fix trailing whitespace

* [PFCP] Fix wrong endianess enc of some URR values

u32 tlvs are already converted to big endian automatically. Manually
doing so ends up in double conversion and hence in wrong endianness
being sent over the wire.
Similar issue was also fixed recently in the PFCP decoding path.
Related: https://github.com/open5gs/open5gs/issues/1349
2022-03-15 13:34:22 +09:00
Pau Espin Pedrol
5b81802be9 [Gx] Fix trailing whitespace (#1420) 2022-03-08 21:50:20 +09:00
Pau Espin Pedrol
4388f9bf3a [Gx] Use OGS_DIAM_GX_APPLICATION_ID define instead of hardcoded val (#1419) 2022-03-08 21:50:05 +09:00
Sukchan Lee
c1fc25958c Change default to bindtodevice:false 2022-03-08 19:49:16 +09:00
Sukchan Lee
914bb0a40f Merge branch 'sysmocom-pespin/vrf' into main 2022-03-07 22:44:23 +09:00
Sukchan Lee
253e2ad98a [GTP/PFCP] Support VRF (#1404) 2022-03-07 22:43:18 +09:00
Sukchan Lee
c2d10772c6 Merge branch 'pespin/vrf' of https://github.com/sysmocom/open5gs into sysmocom-pespin/vrf 2022-03-07 22:43:10 +09:00
Sukchan Lee
f848785360 Update document (#1412) 2022-03-05 18:50:25 +09:00
Sukchan Lee
a1be48ed50 [SGW-C] fix the crash (#1353) 2022-03-05 11:27:22 +09:00
Sukchan Lee
896370c2e4 [MME] Oops! Remove redundant warning (#1411) 2022-03-04 23:49:45 +09:00
Sukchan Lee
9bf8a84b81 [SGWC] fix the crash (#1353) 2022-03-05 02:58:53 +09:00
Sukchan Lee
79e34260da [SGWC] fix the crash (#1353) 2022-03-03 23:17:28 +09:00
Pau Espin Pedrol
7bddc92322 [GTP] Support binding socket to device
This is useful, among other possible applications, to make use of VRFs [1],
in this case for GTP-C and GTP-U traffic in the PGW.

The bind_dev field is added to the ogs_socknode_t so that it's easy to
extend its use into lots of other sockets being set up based on config
file information.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/networking/vrf.rst
2022-03-02 20:07:51 +01:00
Sukchan Lee
ed3444eef5 Need to increase NF ref_count
1. UE registered and PDU established.
2. PCF does not receive Heartbeat.
 - PCF De-registered state.
 - Since PDU is established, SMF should not remove NF instance
3. PCF re-registered.
 - HERE, WE NEED TO INCREASE NF REFERENCE COUNT.
   Otherwise, NF instance will be removed if PCF is de-registered state
4. UE sends PDU release request.
5. Because SMF knows PCF NF instance, SMF can send PCF delete
2022-03-01 22:02:02 +09:00
Sukchan Lee
3217e93124 [LINUX] initialize struct epoll_event (#1399) 2022-03-01 21:03:27 +09:00
ji3k54j062k7
19120acadc modify building from source md file (#1403)
Signed-off-by: ji3k54j062k7 <ji3k54g4j062k7@gmail.com>
2022-03-01 20:18:47 +09:00
Pau Espin Pedrol
d06acc7f37 Fix trailing whitespace (#1402) 2022-03-01 17:13:40 +09:00
Supreeth Herle
bc69ddfc6d [SMF]: Fix Framed-IPv6-Prefix AVP length in CCR (#1398) 2022-03-01 17:11:28 +09:00
Sukchan Lee
d54e8a43ce [PCRF] Fix Framed-IPv6 Prefix in CCR (#1398) 2022-03-01 17:09:47 +09:00
Pau Espin Pedrol
ba3a046c62 [SMF] Avoid crash if smf_ue_pool is full (1024 UEs) (#1397) 2022-02-28 21:27:27 +09:00
Sukchan Lee
efe37c1e84 [ASN1C] asn.1 issues in NGAP (#1394 from @nkout)
mouse07410/asn1c#89
Found when tried to encode NGAP_CauseRadioNetwork_release_due_to_pre_emption

mouse07410/asn1c#90
Found when tried to decode messages encoded with newer schema
2022-02-26 16:09:38 +09:00
Supreeth Herle
03280d1f5a Fix prefix length in Gx CCR Framed-IPv6-Prefix AVP (#1396)
As per 3GPP TS 23.401 version 15.12.0, section 5.3.1.2.2
The PDN GW allocates a globally unique /64
IPv6 prefix via Router Advertisement to a given UE.

After the UE has received the Router Advertisement message, it
constructs a full IPv6 address via IPv6 Stateless Address
autoconfiguration in accordance with RFC 4862 using the interface
identifier assigned by PDN GW.

For stateless address autoconfiguration however, the UE can
choose any interface identifier to generate IPv6 addresses, other
than link-local, without involving the network.

And, from section 5.3.1.1, Both EPS network elements and UE shall
support the following mechanisms:

/64 IPv6 prefix allocation via IPv6 Stateless Address
autoconfiguration according to RFC 4862, if IPv6 is
supported.
2022-02-26 15:25:08 +09:00
Pau Espin Pedrol
51a75cde26 Pespin/pr (#1395)
* [SMF] Gn: Avoid assert crash if no PDP resources available

* [SMF] Gn: Rearrange IE handling order in CreatePDPContextRequest

Let's handle the GTPC remote addr + TEID first, since those should be
used in the CreatePDPContextResponse ideally if available.

Let's then handle parsing of all IEs not related to bearers/UserPlane,
then those missing, and finally do all the IP resource allocation.
2022-02-25 22:39:44 +09:00
Supreeth Herle
52bc4be547 Bugfix packet filter for pre rel11 LTE devices (#1393)
* Fix conversion from IPFilterRule to packet filter

As per 3GPP TS 24.008, following Packet filter component type identifier
are not supported on the LTE pre release-11 UEs:

IPv4 local address type
IPv6 remote address/prefix length type
IPv6 local address/prefix length type

And,
IPv6 remote address/prefix length type and
IPv6 local address/prefix length type shall be used when both MS and
Network support Local Address in TFTs.

This commit add logic to omit adding local address in packet filters
for compatibility with pre-release LTE 11 devices. The following parameter
could be used to toggle omit/no to omit behavior.

parameter:
	no_ipv4v6_local_addr_in_packet_filter: <true/false>

* Remove logic of supporting pre-release LTE 11 devices in PCRF
2022-02-25 22:11:51 +09:00
Pau Espin Pedrol
3b6da3ddb2 [GTPv1C] Fix sequm not added to EchoResponse and VersionNotSupported (#1390)
According to TS 29.060 they should be added.

section 7.6:
"if it is a request for which a response has been defined, shall be sent
with a Sequence Number"

section 8.2:
"""
Sequence number flag (S) shall be set to "1"
...
For GTP-C messages not having a defined response message for a request
message, i.e. for messages Version Not Supported, RAN Information Relay
and Supported Extension Headers Notification, the Sequence Number shall
be ignored by the receiver.
"
2022-02-24 23:38:52 +09:00
Pau Espin Pedrol
dbd9e8bd78 [GTPv1C] Set EUA spare field to '1111' as per spec (#1388) 2022-02-24 06:03:54 +09:00
Pau Espin Pedrol
3833a73a14 [SMF] incorrect GTPv1C cause with changed APN (#1387) 2022-02-23 20:48:36 +09:00
Sukchan Lee
953a7321c6 [SMF] fix the crash in VoLTE test (#1383) 2022-02-23 20:31:28 +09:00
Pau Espin Pedrol
5ad1b188e4 [SMF] UpdatePDPContext: forward update of remote TEID+IPaddr to UPF (#1383)
* [SMF] typo fixes in commented code

* [SMF] Fix early err return handling UpdatePDPContextRequest

* [SMF] UpdatePDPContext: forward update of remote TEID+IPaddr to UPF

Updating the remote GTP-U IP address and/or TEID on the GGSN is a common
practice, used for instance by an SGSN in a UTRAN network to connect an
HNB(GW) to exchange GTP-U directly with the GGSN. It is also used in
general when doing handovers.
When receiving a UpdatePDPContext with the new address, we need to
forward the update to the UPF so that it takes it into account when
forwarding packets.

This patch only implements updating the information towards the UPF when
GTPv1C is used. Similar approach for GTPv2C (upon receival of Modify
Bearer Request) is still unimplemented.

Related: https://github.com/open5gs/open5gs/issues/1367
2022-02-23 20:21:33 +09:00
Sukchan Lee
af3db1770f [SMF] incorrect GTP cause with changed APN (#1360)
SMF setting incorrect Cause when answering
with a changed APN type IPv4v6 ->IPv4/IPv6
2022-02-23 20:16:04 +09:00
Sukchan Lee
d61127afcc [SMF] fix the seperate DNS in PCO IPCP (#1358) 2022-02-23 17:38:07 +09:00
Pau Espin Pedrol
882548de11 [SMF] UpdPDPCtxRsp: Fix adding 2 IP addresses to one GSN Address IE (#1382)
In the event we have 2 local IP addresses available for use, put the one
having same IP version in "GGSN Address *" IE, and the one with the
other IP version in "Alternative GGSN Address *" IE.

Same fix was applied recently to CreatePDPContextResponse.
2022-02-22 07:00:14 +09:00
Pau Espin Pedrol
b0fc06ab6c Fix trailing whitespace (#1381) 2022-02-22 07:00:06 +09:00
Pau Espin Pedrol
b7698810ac [SMF] s/'Context not found'/'Non-existent'/ in {Update,Delete}PdpContextResponse (#1379)
TS 29.060 sections 7.3.4 and 7.3.6 specify the possible cause values for
UpdatePdpContextResponse and DeletePdpContextResponse.
Together with section 8.2, it becomes clear that 'Non-existent' cause
should be sent instead of 'Context not found' one in those cases.
2022-02-21 22:18:39 +09:00
Sukchan Lee
e3fa731c4a [SBI] fix the timezone string converter (#1376) 2022-02-20 20:18:32 +09:00
Sukchan Lee
420c1d5ad3 [SMF] fix the PCO bug (#1357, #1358)
- SMF can handle PCO ID PAP (0xc023)
- SMF adds DNS servers to PCO IPCP only if UE requested
2022-02-19 16:05:07 +09:00
Sukchan Lee
b4f382d360 [MEM] fix pkbuf problem in multi-threads (#1353)
We should use talloc in multi-threads instead of pkbuf.
Now, pkbuf library only uses single-thread environment.
2022-02-19 09:47:44 +09:00
Pau Espin Pedrol
137ed99dd5 [GTPv1C] Send conditional IE Reordering Required in CreatePDPCtxResp (#1374)
It seems to be actually mandatory in GGSN->SGN directon, though it is
ignored in Release99 upwards. Let's hardcode it to 0 for now, should be
fine in the majority of cases.
2022-02-19 06:36:54 +09:00
Pau Espin Pedrol
f7999a2cad [GTPv1C] Fix outer message length field containing wrong value (#1373)
The mandatory part of the header must be excluded from the header, that
is flags(1)+type(1)+length(2)+teid(4) = 8 bytes.
2022-02-19 06:36:40 +09:00
Pau Espin Pedrol
2056a5b500 [PCRF] Fix trailing whitespace (#1372) 2022-02-19 06:33:46 +09:00
Pau Espin Pedrol
8b1bdf42a2 [SMF] Fix adding 2 IP addresses to one GSN Address IE (#1371)
In the event we have 2 local IP addresses available for use, put the one
having same IP version in "GGSN Address *" IE, and the one with the
other IP version in "Alternative GGSN Address *" IE.
2022-02-19 06:33:19 +09:00
Pau Espin Pedrol
8cc70694db Introduce Gn interface (GTPv1C) Support to PGW (#1351)
* [CORE] tlv: Store mode in ogs_tlv_t

This allows specifying the format of the IE for each individual IE,
hence allowing messages containing IEs formatted in different ways.

This is needed in order to support parsing GTPv1-C, since messages
contain IEs with different structure (TLV vs TV). Hence, this is a
preparation patch to add support for parsing TVs in ogs-tlv.c/.h.

* [CORE] tlv: Support parsing msg with both TLV and TV in it

IEs of type TV are sometimes used in GTPv1-C. Current tlv parser/builder
doesn't provide with ways to parse messages which contain TV formatted
IEs. This patch adds the relevant types and ways to encode/decode them.

Furthermore, the current parser/builder allows parsing/building messages
containing the exact same format in all its IEs. A new parser function
is added which allows parsing messages of different types (TV, TLV)
mixed in the same message. In order to be able to do so, it uses the
general msg_mode passed to it in order to know the general TLV format
(in essence, the length of the Tag field, and also the length of the
Length field if applicable each IE).

Looking up the instance in the TLV description is left undone and
hadcoded to 0, since the only user so far requiring this API is GTPv1-C,
which has no instances.

* [CORE] tlv: Support repeated tag+instance parsing TLV message

In GTPv2C, repeated IEs (same tag) are easily differentiated by the
Instance byte, which provides info to match different decoded
structures. In GTPv1C though, there's no Instance byte, and we still
encounter repeated IEs (like GSN Address in Create PDP Context Request).
Hence, the TLV decoder needs to be updated to track count of IEs found
(identified by tag+instance, where instance is always 0 in GTPv1C) and
get the proper description index + offset into the decoded structure.

* [GTP]: Move GTPv2-C specifics to its own libgtp subdir

This will allow adding GTPv1-C code by the side. Most GTPv2 code is left
in this patch as "gtp" instead of renaming it to "gtp2" in order to
avoid massive changes. It can be done at a later stage if wanted.

* [GTP] Support generating GTPv1-C messages

* [SMF] Add Gn interface support

This patch introduces GTPv1C support to open5gs-smfd. With it,
open5gs-becomes a GGSN too, where SGSN can connect to, hence supporting
GERAN and UTRAN networks.
2022-02-18 22:23:45 +09:00
Sukchan Lee
3eab4be135 fix MacOSX compile error (#1354, #1355) 2022-02-18 22:00:57 +09:00
Matthew Johnson
7df65e832e Relax systemd requirements (#1368)
* [configs] Remove requires systemd-networkd dep from smfd service

The smf no longer has (never had?) a dependency on systemd-networkd,
and can start and remain operational without systemd-networkd
specifically running.

* [configs] Relax upf dependency on systemd-networkd

The upf relies on systemd-networkd to create the ogstun interface, but
does not communicate with it at runtime. It currently has a "Requires"
dependency specified, which means that the upf will be stopped if
systemd-networkd is ever stopped. Since the upf doesn't actually care
if systemd-networkd is later stopped after ogstun is created, it can
use the weaker "Wants" dependency type, which allows it to keep
running even if systemd-networkd were to be stopped.

Regardless, since it does rely on systemd-networkd specifically to
create the ogstun interface, it should sequence itself "After"
systemd-networkd has been started.

Since the true dependency is ogstun, not systemd-networkd, a cleaner
approach would depend on the specific tunnel device being
available. Systemd exposes this information via device units, but I'm
not sure if they are always consistently named across platforms.
2022-02-16 17:56:14 +09:00
Matthew Johnson
c0ffe1ffe4 Systemd sequencing (#1366)
* [configs] Do not require ogstun for system online

Systemd-networkd will wait for all managed interfaces to be configured
before determining the system is online. Since the ogstun and upf are
more logically an application rather than a system networking service,
don't wait for them to be configured by default.

This breaks the circular dependency between the userspace cellular
core network services and the system's network, which will allow the
cellular core network services to sequence themselves cleanly after
the system's network is up and configured.

* [configs] Sequence network-dependent units after network-online

Since open5gs targets platforms with both ifupdown (debian) and
systemd-networkd (Ubuntu) as core networking providers, this commit
sequences network-dependent core network components after the generic
network-online.target instead of one of the specific provider
targets. This allows the core network to operate correctly with both
systemd-networkd and ifupdown (networking), and fixes the issue
observed in https://github.com/open5gs/open5gs/issues/826 where some
platforms may fail to start cleanly.
2022-02-15 22:33:33 +09:00
Pau Espin Pedrol
757285bf25 Fix trailing whitespace (#1365)
* [SMF] Fix trailing whitespace

* [CORE] Fix trailing whitespace

* [GTP] Fix trailing whitespace
2022-02-14 20:11:04 +09:00
Sukchan Lee
906e7c5046 [UPF] Consider RS message for IP spoofing (#1354) 2022-02-14 20:07:08 +09:00
Sukchan Lee
0e1ab26ee5 Check if Source IP address spoofing (#1354, #1355) 2022-02-14 17:34:22 +09:00
Sukchan Lee
6e30f97097 Fixed typo in Airspan gNodeB 2022-02-13 20:19:21 +09:00
Sukchan Lee
4145b8b543 Added Airpsan 5G commercial gNodeB to the tested 2022-02-12 14:43:14 +09:00
Sukchan Lee
ffcd92c2f3 [SBI] Remove Accept-Encoding in HTTP client 2022-02-12 14:40:48 +09:00
Sukchan Lee
900e888dc1 [SBI] fix crash when no mandatory item (#1350)
NRF crashed if NFService does not have a versions.
Versions are mandatory, we've modified the SBI interface for the safety.
2022-02-05 20:20:45 +09:00
Sukchan Lee
acfcbda8fa [PFCP] remove be32toh() in TLV u32 leaf (#1349) 2022-02-04 00:26:27 +09:00
Pau Espin Pedrol
5fff69306f logging improvements (#1348)
* [SMF] Fix typo in debug message

* [SMF] Add debug messages to follow messages received in N4
2022-02-02 23:23:12 +09:00
Sukchan Lee
9b7ebf9927 Update document 2022-02-01 15:17:04 +09:00
Sukchan Lee
4018833b3a Relase v2.4.4 2022-02-01 15:07:24 +09:00
Sukchan Lee
8bc584ce80 [CX] Update test code 2022-02-01 14:51:54 +09:00
Sukchan Lee
a7d164c28d [NRF] fix the crash (#1347)
`reqNfInstanceId` is optional in the Subscription.
So, we need to consider it.
2022-01-31 23:19:26 +09:00
Sukchan Lee
83d56fe40d [ALL] Fix the memory leak (#1282) 2022-01-31 22:58:52 +09:00
Sukchan Lee
340b23af94 [SMF] Fixed case without transportLayerAddr(#1341)
Fixed the crash if TransportLayerAddress in GTPTunnel does not exist
2022-01-26 08:09:26 +09:00
Sukchan Lee
3b275edec7 [SBI] Remove one octet length in FQDN (#1333) 2022-01-23 13:49:03 +09:00
Sukchan Lee
866ae78f5e [NRF] fix the crash for invalid FQDN (#1333) 2022-01-22 09:34:38 +09:00
Pau Espin Pedrol
68407efa16 [CORE] tlv_test: Fix trailing whitespace (#1337) 2022-01-22 06:44:08 +09:00
Pau Espin Pedrol
c071bf3c6d [CORE]: tlv: Fix trailing whitespace (#1334) 2022-01-21 21:41:36 +09:00
Sukchan Lee
23647f643b [FQDN] fix the fqdn_parse bug (#1335) 2022-01-21 21:32:35 +09:00
Sukchan Lee
99d03f9d03 Document release v2.4.3 2022-01-20 17:22:10 +09:00
Sukchan Lee
9215b69ee1 Release v2.4.3 2022-01-20 17:12:51 +09:00
Sukchan Lee
0ff9c3e297 Update document srsRAN (#1326, #1322) 2022-01-19 21:39:37 +09:00
Sukchan Lee
776892e09d [PFCP] xact: avoid exporting internal (#1329) 2022-01-19 20:03:28 +09:00
Pau Espin Pedrol
ed3a3a527a [GTP] xact: Avoid exporting internally used functions (#1329)
* [GTP] xact: Fix trailing whitespace

* [GTP] xact: Avoid exporting internally used functions

This simplifies the API header hiding unneeded APIs from external
components, and lets the compiler further optimize by
marking the functions as static.

* [GTP] xact: Drop unused API ogs_gtp_xact_find

After making it static, it became clear to the compiler that this
function is not used anywhere, warning about it. Let's drop it.
2022-01-19 19:54:44 +09:00
Sukchan Lee
8955fdcd5d [SBI] FQDN bug from talloc (#1328) 2022-01-19 17:10:39 +09:00
Pau Espin Pedrol
b3ac5b35eb [SMF] Fix potential null pointer dereference (#1324)
* [SMF] Fix potential null pointer dereference

Pointer "sess" was first dereferenced and later on checked for nullness.
This is clearly wrong. Rearrange the code path to make sure the check is
done first, then dereferenced.

* gitignore: Add subprojects/libtins

* cosmetic: Fix whitespace
2022-01-18 11:23:40 +09:00
Sukchan Lee
79239d8eff [IMPORTANT] changed network_access_mode: 0 (#1323)
The network access mode of HSS has been changed to 0 (Packet and Circuit).

Versions of MME prior to v2.4.2 did not use this value. Open5GS set
the attach result of Attach Complete message as it is by looking
at the attach type of the Attach Request message.

Now, if the network access mode of HSS is set to 2 (Only Packet),
this value is affected by MME from v2.4.3. Regardless of the attach type
of the Attach Request, the MME will set EPS Only to the attach result
of Attach Complete.
2022-01-16 12:35:55 +09:00
Sukchan Lee
522e835101 Update document v2.4.2 2022-01-14 21:03:27 +09:00
Sukchan Lee
13dbdb1b18 Release v2.4.2 2022-01-14 20:46:44 +09:00
Sukchan Lee
e4f864c1f5 Change IPv6 Prefix (#1321) 2022-01-14 11:53:15 +09:00
Julian Lemmerich
f75e51ca46 changed default ipv6 prefix to 2001:db8:cafe:: (#1321)
to be compliant with RFC3849
2022-01-14 11:50:27 +09:00
Sukchan Lee
ea6675879c [ALL] GNB/NF Memory pool from 32 to 64 2022-01-13 17:55:36 +09:00
Sukchan Lee
fdddeaca98 [S6A] Change PUR-Flags to Optional (#1298) 2022-01-13 17:53:54 +09:00
Sukchan Lee
bbd1412a9e [SMF] change log-level from WARN to ERR (#1313) 2022-01-12 20:06:26 +09:00
Sukchan Lee
cfd0193bbd [PCRF] fix the crash in flow->description (#1313) 2022-01-12 10:15:36 +09:00
Sukchan Lee
2ed35f245d Fix the ciphered test program 2022-01-08 12:26:23 +09:00
Sukchan Lee
070cdbc657 [ALL] fix the epoll(map) crash (#1311) 2022-01-06 22:28:24 +09:00
Sukchan Lee
715e4c0b50 Shall cipher in the NAS message container IE
3GPP TS 24.501 version 16.6.0 Release 16
4.4 NAS security
4.4.6 Protection of initial NAS signalling messages

1) the UE needs to send non-cleartext IEs in a REGISTRATION REQUEST
or SERVICE REQUEST message, the UE includes the entire REGISTRATION
REQUEST or SERVICE REQUEST message (i.e. containing both cleartext IEs
and non-cleartext IEs) in the NAS message container IE and shall cipher
the value part of the NAS message container IE. The UE shall then send
a REGISTRATION REQUEST or SERVICE REQUEST message containing
the cleartext IEs and the NAS message container IE;
2022-01-05 22:39:06 +09:00
Sukchan Lee
5e5a61b982 Update document for v2.4.1 2022-01-04 17:58:47 +09:00
Sukchan Lee
592b69ef1e Release v2.4.1 2022-01-04 17:35:41 +09:00
Sukchan Lee
b6de06ee01 fix the test program bug 2022-01-04 17:27:28 +09:00
Sukchan Lee
b988e7edce Use talloc for all memory pool (#1263) 2022-01-04 08:29:18 +09:00
Sukchan Lee
49d9ed03c7 [MME] fix the crash (#1263)
- Change memory pool using talloc library
- Apply ASN1 with r16.7.0
2021-12-28 17:38:11 +09:00
Sukchan Lee
a0f2535cb5 A crafted packet from UE can crash SGW-U/UPF 2021-12-22 20:55:48 +09:00
Sukchan Lee
6f62839ad3 [MME] apply coding convention (#1295)
- limit 80 column
- Use space instead of tab
2021-12-20 23:25:04 +09:00
EugeneBogush
ead9f380a9 update s1ap_handle_e_rab_setup_response (#1295)
* Update s1ap-handler.c

* Update s1ap-handler.c

* update for parse e_rab_setup_response

* Update s1ap-handler.c

* Update s1ap-handler.c

* Update s1ap-handler.c
2021-12-20 23:21:29 +09:00
Sukchan Lee
d87d7c12c2 [MME] fix the crash with unknown S-NSSAI (#1287) 2021-12-17 21:42:26 +09:00
Sukchan Lee
54b919f65f Remove error message (#1294) 2021-12-17 20:51:11 +09:00
Supreeth Herle
1d496e92cd [SMF] Use fe80::1 if link-local address is not available (#1294) 2021-12-17 20:48:22 +09:00
Mehmet Hakan Doğan
414c230f00 this commit is made to reflect changes in PR #1289 (#1293) 2021-12-17 16:00:05 +09:00
Kenny Barlee
d02507e90a print cellID in hex for consistency (#1292) 2021-12-17 11:37:36 +09:00
Sukchan Lee
a3166ab537 Find link-local address in SMF-All address (#1291) 2021-12-17 11:33:54 +09:00
Supreeth Herle
232c387276 [SMF] Fix router advertisement as per rfc 4861 (#1291)
As per RFC 4861 Router advertisement message
format, Source Address MUST be the link-local address
assigned to the interface from which this message is sent.

Since SMF was not sending it as per RFC, certain
phones were not completing the procedure of stateless
IPv6 address autoconfiguration mentioned in
3GPP TS 23.401 version 15.12.0 Release 15, section 5.3.1.2.2
2021-12-17 10:38:37 +09:00
Sukchan Lee
9b40fe25ff added "usage report" to user plane report (#1289)
Author: mhkndgn <hakan.dogan@b-ulltech.com>
Date:   Thu Dec 16 09:51:49 2021 +0300
2021-12-16 21:52:48 +09:00
Sukchan Lee
e302f727fd [Cx] Fix the HSS crash (#1264)
Use Visited-Network-Identifier(Cx) instead of Visited-PLMN-ID(s6a)
2021-12-12 14:33:42 +09:00
Sukchan Lee
27b87c1110 Update document for v2.4.0 2021-12-11 23:12:28 +09:00
Sukchan Lee
fc53fb4beb Release v2.4.0 2021-12-11 22:23:46 +09:00
Sukchan Lee
4f7bb847a9 fix the test program in VoNR 2021-12-11 22:11:36 +09:00
Sukchan Lee
5a85be09d6 [Test] fix the VoNR test program 2021-12-11 07:11:29 -05:00
Sukchan Lee
07a61018b2 [AMF] fix the crash (#1280)
During PDU Session Establishment,
if gNB sends PDUSessionResourceReleaseResponse,
AMF was crashed.

In this case, AMF/SMF remove Session Context and sends ErrorIndication.
2021-12-11 20:35:16 +09:00
Sukchan Lee
74bbc6ecbf [MME] Add S1AP debug (#1263) 2021-12-11 17:28:05 +09:00
Sukchan Lee
d7e23b7f6a [AMF] Registration reject for foreign IMSI (#1281) 2021-12-08 21:05:16 +09:00
Kenny Barlee
1a691e1d4a change reject cause to 11 (#1281) 2021-12-08 20:57:54 +09:00
Sukchan Lee
561f1ac2f3 This always true. So I fixed it (#1266) 2021-12-08 20:56:26 +09:00
Sukchan Lee
a5a5c424c1 Added AMF-initiated AM Policy Termination 2021-12-04 19:31:36 +09:00
Sukchan Lee
aab8286401 [MME] fix the crash issue if enb_ue is NULL(#1275)
An assert occurs when a NAS message retransmission occurs.

Because there is no `enb_ue` context.

Therefore, before removing enb_ue, all Timers must be stopped
to prevent retransmission of NAS messages.
2021-12-04 10:53:49 +09:00
Sukchan Lee
6ae9ecc697 [MME] check PDN mismatch (#1263)
if PDN mismatched between UE and HSS, PDN connectivitiy reject message
will be sent to eNB.
2021-12-02 22:40:47 +09:00
Sukchan Lee
b18cf1bce8 Update Coding rule (#1272) 2021-12-02 22:03:52 +09:00
Daniele
758cf9dd72 bsf bind delete possible fix (#1272)
Avoid to delete bsf binding when there are multiple pdu session associated to the same (s-nssai,dnn) tuple)
2021-12-02 22:00:01 +09:00
Sukchan Lee
448e07d5a9 [AMF/MME] fix the crash during reset (#1268) 2021-11-30 22:22:41 +09:00
Sukchan Lee
00a296a1de update log message (#1266)
1. rollback ogs_error() to ogs_warn()
To remove the print-out in the test code,
8/13 open5gs:epc / attach                    OK      10.60 s
bearer-test         : SUCCESS
session-test        : /11/30 15:59:34.556: [esm] ERROR: Invalid APN[ims2] (../src/mme/esm-handler.c:71)
SUCCESS

2. if( to if (
Coding standard in open5gs
2021-11-30 16:01:37 +09:00
EugeneBogush
4f8c34c7aa Update esm-handler.c (#1266)
added more log info in case problem with APN
2021-11-30 15:52:20 +09:00
Sukchan Lee
acd67c7aa6 [5GC] Service Request Race Condition(#1226)
When UE-triggered and Network-triggered Service Request was occurred at
the same time, we need UPF deactivation and UEContextRelease
2021-11-28 20:54:51 +09:00
Sukchan Lee
d8655e07c6 Oops! fix the mistake in previous commit (83aac49) 2021-11-28 17:54:33 +09:00
Sukchan Lee
83aac49fd0 [MME] Add log (#1263) 2021-11-28 17:05:31 +09:00
Sukchan Lee
ffc15a7d3d Update IPv6 configuration (#1250) 2021-11-28 16:42:47 +09:00
InferCom2
0ae2743d4b Update 01-genodebs.md (#1265)
Tested with this equipment and works
2021-11-28 07:00:30 +09:00
Sukchan Lee
7bcb3eed98 Add Wavemobile sponsor 2021-11-24 18:19:11 +09:00
Sukchan Lee
fc8c807da2 [SMF] fix the crash during IMS calls (#1238)
If PFCP is not deactivated, some eNBs send an GTP error indication.
To solve the problem, SMF deactivates the bearer that will be deleted.
2021-11-23 14:19:30 +09:00
Sukchan Lee
d919b2744c [AMF] fix the memory problem (#1247)
1. memory corruption
- Overflow num_of_part in SBI message
2. null pointer dereference
- n2InfoContent->ngap_ie_type
2021-11-17 08:09:16 +09:00
Sukchan Lee
6a6f214785 [AMF/MME] stop timer when radio failure (#1242) 2021-11-16 12:59:04 +09:00
Sukchan Lee
bfa34be222 fix the buffer overflow (CVE-2021-41794) 2021-11-15 15:49:58 +09:00
Sukchan Lee
0fb8279e36 VoNR added but not tested! 2021-11-14 21:07:56 +09:00
Sukchan Lee
0ea2142ba6 [MME] fix the crash bug (#1205)
If UE is in Authentication-EMM State and eNB is disconnected,
MME could be crashed.
2021-11-06 22:39:09 +09:00
InferCom2
562b7ef7de Update 01-genodebs.md (#1224)
Tested eNB Baicells Nova 249, connected 2 phones and 1 land line with option to convert LTE to WiFi and works perfectly.
2021-11-04 16:12:35 +09:00
Sukchan Lee
1df6c072ed Peraton Labs Becomes Open5GS Sponsor 2021-11-04 10:59:14 +09:00
Sukchan Lee
7567659a29 [UPF] remove link-local (#1217) 2021-10-30 22:34:47 +09:00
EugeneBogush
abd0589eb3 added skiped space before $DB_URI (#1218) 2021-10-29 23:17:00 +09:00
Balint Cristian
0d2c07361e Add explicit 3GPP paragraph name as comments at generation time (#1215) 2021-10-27 15:26:57 +09:00
Sukchan Lee
0e5f438cdc fix the meson 0.60 build error (#1213) 2021-10-27 15:23:09 +09:00
Sukchan Lee
5d234cb108 [GTPv2-C] Fix the Create Bearer Request (#1201)
Use instance 2 instead of instance 1
2021-10-26 15:26:10 +09:00
Sukchan Lee
42c9dce2b7 mistype cachedir in pfcp-tly generator (#1212) 2021-10-24 08:40:52 +09:00
Balint Cristian
13bba81227 Minor fixes: instance extraction & python generator (#1212) 2021-10-24 08:37:11 +09:00
Sukchan Lee
608c08373d WebUI uses localhost by default (#764, #587) 2021-10-23 23:05:39 +09:00
Sukchan Lee
c0f6955250 [AMF] fix the crash when long MSIN length (#1206)
When the UE is in initially registered period,
if the length of MSIN(Part of SUPI) exceeds the normal length,
AMF stack smashing will be caused
2021-10-19 21:21:12 +09:00
Sukchan Lee
7d9a651f6c Release v2.3.6 2021-10-16 22:55:49 +09:00
Sukchan Lee
489b633e08 Update Supported-Feature AVP (#1202)
Add the Vendor-Id AVP in Supported-Features AVP in
CCR(Credit-Control-Request)
2021-10-16 17:41:53 +09:00
Sukchan Lee
9ba4b317d2 Improve GTP message (#1201)
Extended Indication
Add Delay Value
2021-10-16 17:26:30 +09:00
Sukchan Lee
b35febd9c4 [MME] fix the crash during GTP no context (#1205)
This bug occurs when SGW-C restarts and the next signal occurs
between MME and SGW-C
- Create Session Request/Response
- Modify Bearer Request/Response
2021-10-16 14:11:43 +09:00
Sukchan Lee
f05accc7f3 MME/AMF will not crash with no APN length (#1199) 2021-10-13 23:01:24 +09:00
Sukchan Lee
7db0c039a1 Add ng-voice logo 2021-10-13 17:22:56 +09:00
Sukchan Lee
35f4cf8deb Release v2.3.4 2021-10-06 22:12:48 +09:00
Nick
ec7735d447 Added links to two new tutorials in docs page. (#1194) 2021-10-06 18:49:04 +09:00
Spencer Sevilla
b600ab5724 removing diameter includes from upf (#1193) 2021-10-06 07:01:05 +09:00
Mehmet Hakan Doğan
3cb2808ebf this commit is made to reflect the contribution on pull request #1190 (#1192) 2021-10-05 18:11:03 +09:00
Sukchan Lee
013b4dc8e9 update coding style 2021-10-04 22:33:57 +09:00
Sukchan Lee
5e016937c7 Update URR contribution (#1190) 2021-10-04 22:28:32 +09:00
Sukchan Lee
13f1b390ae CVE-2021-41794 from NCC Group by Mark Tedman
When connecting to the UPF port for the PFCP protocol (8805) and sending
an association setup request followed by a session establishment request
with a PDI Network Instance set to ‘internet’, it causes a stack corruption
to occur.

So, ogs_fqdn_parse() fixed.
2021-10-01 22:41:03 +09:00
Carlos Giraldo
7dcde91057 Improve open5gs-dbctl (#1181)
* fix exit code in open5gs-dbctl

* enable non-local mongodb in open5gs-dbctl through DB_URI
2021-09-26 20:36:40 +09:00
Sukchan Lee
127685f908 [SGW-C] fix the crash after restarting UPF (#1177) 2021-09-26 20:25:51 +09:00
Sukchan Lee
9e4a791c2b P1 Security becomes Open5GS Sponsor 2021-09-11 08:12:37 +09:00
Sukchan Lee
9c589ac584 [PFCP] include outer header removal(ext-deletion) 2021-09-04 18:03:04 +09:00
Sukchan Lee
e730530f7b [SMF] Exception handling in session release(#1155)
- UE changes the airplain-mode. However, it does not send PDU
    session complete message
    - Added exception handling for PDU session release
2021-09-04 16:14:18 +09:00
Sukchan Lee
1354947164 Improve Milenage library for [R1-R5] (#1153) 2021-09-01 19:38:36 +09:00
Sukchan Lee
233db575ea [SMF] fix crash when BSF is not running [#1149] 2021-08-29 00:02:39 +09:00
Sukchan Lee
e2fe15d2ae [SMF] TAI/ECGI is not required in WLAN (#1039) 2021-08-27 11:40:58 +09:00
Sukchan Lee
7615869c94 LIONS have successfully connected gNB to Open5GS. 2021-08-23 19:24:36 +09:00
Sukchan Lee
77955d01f8 Document update for 'your first LTE' 2021-08-23 14:37:29 +09:00
Umakant Kulkarni
5234001b0a Increase cluster_2048_pool to 1024 (#1143) 2021-08-23 08:06:14 +09:00
Sukchan Lee
fa67341263 Documentation errata update 2021-08-21 18:48:21 +09:00
Sukchan Lee
a797578b60 Release v2.3.3 2021-08-21 18:44:46 +09:00
Sukchan Lee
1c07e4c6b2 Update README.md 2021-08-21 18:14:36 +09:00
Sukchan Lee
ab7f565dd6 [MME/AMF] Use Non-UE signalling in Paging (#1134) 2021-08-18 19:42:27 +09:00
Sukchan Lee
5af66be7b5 [Docs] Update @s5uishida channel (#1133) 2021-08-17 22:24:54 +09:00
Sukchan Lee
ced4a6f945 [SGW-C] fix the shared object error (#595)
nas-common library includes libcrypt. However, SGW-C don't have to use
crypt library. As such, ogs_nas_plmn_id function was moved to
3gpp-core-types.[ch]

For more information,

$ ./install/bin/open5gs-sgwcd
./install/bin/open5gs-sgwcd: error while loading shared libraries: libogscrypt.so.2: cannot open shared object file: No such file or directory

$ ldd ./install/bin/open5gs-sgwcd
	linux-vdso.so.1 (0x00007ffc749ad000)
	libogsapp.so.2 => /home/acetcom/Documents/git/open5gs/install/lib/x86_64-linux-gnu/libogsapp.so.2 (0x00007f1f92277000)
	libogscore.so.2 => /home/acetcom/Documents/git/open5gs/install/lib/x86_64-linux-gnu/libogscore.so.2 (0x00007f1f92240000)
	libogsgtp.so.2 => /home/acetcom/Documents/git/open5gs/install/lib/x86_64-linux-gnu/libogsgtp.so.2 (0x00007f1f921eb000)
	libogsnas-common.so.2 => /home/acetcom/Documents/git/open5gs/install/lib/x86_64-linux-gnu/libogsnas-common.so.2 (0x00007f1f921e5000)
	libogspfcp.so.2 => /home/acetcom/Documents/git/open5gs/install/lib/x86_64-linux-gnu/libogspfcp.so.2 (0x00007f1f92177000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f1f92134000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1f91f42000)
	libyaml-0.so.2 => /usr/lib/x86_64-linux-gnu/libyaml-0.so.2 (0x00007f1f91f20000)
	libogscrypt.so.2 => not found
	libogsipfw.so.2 => /home/acetcom/Documents/git/open5gs/install/lib/x86_64-linux-gnu/libogsipfw.so.2 (0x00007f1f91ef5000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f1f922b1000)
2021-08-17 21:58:31 +09:00
Sukchan Lee
72c5f80f26 Add Ruckus Q710/Q910 [#1131] 2021-08-14 16:54:36 +09:00
Sukchan Lee
3564fe5c8c [SMF/UPF] Clarify FALLBACK SUBNET [#1128] 2021-08-14 16:52:53 +09:00
Sukchan Lee
e5594a57b9 [AMF] fix an invalid GSM reject aligungr#375
TS24.501
8.2.11 DL NAS transport
8.2.11.4 5GMM cause

The AMF shall include this IE when the Payload container IE
contains an uplink payload which was not forwarded and
the Payload container type IE is not set to "Multiple payloads".

-0-
As such, this function 'nas_5gs_send_gsm_reject()' must be used
only when an N1 SM message has been forwarded to the SMF.
2021-08-14 12:01:13 +09:00
Sukchan Lee
af5b3aa931 [MME/AMF] fix the crash during timeout (#1122) 2021-08-08 12:38:15 +09:00
Sukchan Lee
831b29973f [PCF] fix the 'NULL' AfEvent in VoNR (#1120) 2021-08-08 09:10:37 +09:00
Sukchan Lee
68edcd6438 fix the SMF crash when num of flow > 8 (#1108) 2021-08-07 14:23:20 +09:00
Jose Carlos
e9dbe5a3d7 Update 01-genodebs.md (#1124) 2021-08-07 07:51:19 +09:00
Sukchan Lee
7e5a5d7511 fix the SMF/PCRF crash when bearer > 8 (#1108) 2021-07-29 18:10:28 +09:00
Sukchan Lee
acb4db5dd1 Fix the crash when number of flow > 8 (#1108) 2021-07-28 14:00:03 +09:00
Sukchan Lee
3e7d2398a2 Merge branch 'herlesupreeth-issue1099' into main 2021-07-27 20:34:46 +09:00
Sukchan Lee
c6b13be92a do the finishing touches (#1108) 2021-07-27 20:33:46 +09:00
herlesupreeth
0db09f5c25 Fix stash smashing when number of PFs for bearer > 8 2021-07-23 14:22:55 +02:00
herlesupreeth
bd6eea4fa5 Introduce checks for maximum accepted flow rules for a bearer in Gx path 2021-07-23 14:22:55 +02:00
Sukchan Lee
e1c79647e2 [SMF] session data was accessed when NULL (#1105) 2021-07-23 16:24:59 +09:00
Supreeth Herle
362393d0ff fix: session data was accessed when NULL resulting in crash (#1105) 2021-07-23 16:22:46 +09:00
Sukchan Lee
0c1a3d7f95 Add OAI(gNodeBs) tested on Open5GS (#1988) 2021-07-19 16:05:30 +09:00
Sukchan Lee
eb9b780449 Release v2.3.2 2021-07-18 20:42:50 +09:00
Sukchan Lee
039b9d0aaa SBI updated
- openapi-generator version 5.2.0
- add priority/capacity/load in NFProfile/NFService
- add AllowedNfTypes in NFProfile/NFService
2021-07-16 17:02:33 +09:00
Sukchan Lee
1326fc85dc [MME] fix the bug when GTPv2 conflict (#1095) 2021-07-15 21:20:56 +09:00
Sukchan Lee
4667b99c92 fix the BUG in SWx diameter (#1039) 2021-07-13 22:00:04 +09:00
Sukchan Lee
7cfeb2e9f9 Change SIGWINCH log-level from ERROR to INFO 2021-07-12 19:52:28 +09:00
Sukchan Lee
005cd30e02 fix the bug for Real PCF unable to PATCH (#1086) 2021-07-12 17:30:45 +09:00
Sukchan Lee
dde0785375 Tested with 4G commercial (#c918b4b)
- Nokia FRGY Flexi BTS BBU with Nokia FRCG RRU Band 5 850Mhz FDD 40W. Version 16.1A to 19.0
- Huawei BBU5900 with RRU5304W Band 7 FDD 2600Mhz 40W Version V100R016C10
2021-07-11 19:01:38 +09:00
Sukchan Lee
16f8d5fa49 Merge branch 'main' of https://github.com/open5gs/open5gs into main 2021-07-09 19:00:53 +09:00
Sukchan Lee
e71a158ed7 Update sysmocom(sponsor) logo 2021-07-09 19:00:32 +09:00
Sukchan Lee
c918b4b5b6 Tested Ericsson Baseband 6630 on Open5GS 2021-07-09 09:50:11 +09:00
Sukchan Lee
2471b1b53d comply with coding standard 2021-07-08 15:00:59 +09:00
Sukchan Lee
f278d58a69 Upgrade SBI(Service-based Interface)
* OpenAPI Generator version: 4.3.1 ==> 5.5.1
* Specification : r16.8.0 (20210629)
2021-07-07 17:32:55 +09:00
Sukchan Lee
2aaa8200c2 BSF mis-type in Debian Pakcage Name 2021-07-06 10:00:03 +09:00
Sukchan Lee
65e96dd75c [AMF] fix the bug for making allowed NSSAI (#910) 2021-07-01 16:23:27 +09:00
Sukchan Lee
ec377a8849 Remove Ubuntu 19.x in OBS 2021-06-29 23:07:15 +09:00
Sukchan Lee
bedd05e654 Document update for v2.3.1 2021-06-29 22:14:04 +09:00
Sukchan Lee
8959c787bc Release v2.3.1 2021-06-29 22:07:06 +09:00
Sukchan Lee
f728e5da89 Tested on more debian/ubuntu distributions
- Debian : bullseye, sid
- Ubuntu : hirsute
2021-06-27 16:52:09 +09:00
Sukchan Lee
442e7d44e7 Change Open5GS API for exit (#1069) 2021-06-24 12:44:52 +09:00
Spencer Sevilla
e1e3f254e2 need to exit (and therefore restart HSS) on FD_LOG_FATAL (#1069) 2021-06-24 12:44:24 +09:00
Sukchan Lee
997554bbb7 Avoid defining variables in the middle (#1068) 2021-06-24 12:42:31 +09:00
Josh Bailey
38ff2dc6f7 trim buffer to correct size after creating ARP or ND reply. (#1068) 2021-06-24 12:37:58 +09:00
Sukchan Lee
a396ea8fc1 [AMF] NG Setup Failure with proper cause (#1064) 2021-06-22 17:56:45 +09:00
Sukchan Lee
7f774884ea [MEM] increase memory pool (#1062) 2021-06-22 16:56:18 +09:00
Sukchan Lee
50f403279a [AMF/MME] fix the crash bug (#1061) 2021-06-22 16:13:06 +09:00
Sukchan Lee
00c96a3f0f [NAS] fix the security issue (ZDI-CAN-14043) 2021-06-21 14:56:03 +09:00
Sukchan Lee
4537142929 [EPC] Support ePDG Interface (#1039) 2021-06-21 22:36:38 +09:00
Sukchan Lee
e0869104c6 [PCF] fix the crash during UE attach (#1059) 2021-06-17 21:26:34 +09:00
Sukchan Lee
c48f107520 [MME] fix the crash when release a UE (#1058) 2021-06-17 17:16:16 +09:00
Sukchan Lee
780f829962 use 'continue' instead of 'return' (#1052) 2021-06-15 11:04:56 +09:00
Spencer Sevilla
449b5b484f need to return here to prevent segfault (#1052) 2021-06-15 11:04:36 +09:00
Spencer Sevilla
d9b5c29a9b add open5gs-dbctl back into packages (#1051)
Co-authored-by: Spencer Sevilla <spencer@Spencers-MacBook-Air.local>
2021-06-15 10:27:10 +09:00
Sukchan Lee
9e664a744b [MME] refine the pull request #1049 2021-06-13 12:03:36 +09:00
R. Medeiros
a252fae84f Indication Dual Address Bearer for create session request. (#1049)
* Update mme-s11-build.c

Add indication Dual Address Bearer in the create session request when the PDN is IPv4v6 Type, Info: 3GPP TS 29.274

* Update mme-s11-build.c
2021-06-13 11:52:23 +09:00
Sukchan Lee
47c9f4e4a0 Release v2.3.0 2021-06-08 21:53:23 +09:00
Sukchan Lee
e31a8474b2 [SMF/UPF] fix the crash bug (#1034, #1006) 2021-06-08 21:14:18 +09:00
Sukchan Lee
774e1b0ebd [Sponsor] Add sysmocom logo 2021-06-07 22:10:01 +09:00
Sukchan Lee
ac37e00b42 [Sponsor] Add sysmocom logo 2021-06-07 21:44:02 +09:00
Sukchan Lee
118d62d42d Add more memory log 2021-06-06 22:35:46 +09:00
Sukchan Lee
80a9497afd [PFCP] Add more error log (#1012) 2021-05-30 20:35:30 +09:00
Sukchan Lee
ef07ccfb88 fix the default SBI port (#997, #1008) 2021-05-30 10:35:01 +09:00
Sukchan Lee
5d460b0577 [UPF] Tested all platforms on open5gs (#1022) 2021-05-29 23:08:22 +09:00
Sukchan Lee
8dab1852cc Merge branch 'tap' of https://github.com/anarkiwi/open5gs into pull1022 2021-05-29 18:06:43 +09:00
Sukchan Lee
899c121478 remove warning in MacOSX 2021-05-29 16:03:40 +09:00
Sukchan Lee
fe89f7cd11 [5GC] Added BSF(Binding Support Function) 2021-05-29 15:56:12 +09:00
Sukchan Lee
611986794b Squashed commit of the following:
commit 183d8b8344122f25f77be79b1b698c71f48c1656
Author: Sukchan Lee <acetcom@gmail.com>
Date:   Fri May 28 23:44:26 2021 +0900

    [SMF] introduce new list API [#1019]

    Sometimes we may need two lists for same node.
    To do this, I created a new list API, and applied it this pull request.
2021-05-28 23:46:48 +09:00
Josh Bailey
caa73e1f5e Support TAP interfaces, with ARP/ND. 2021-05-28 05:59:03 +00:00
herlesupreeth
4d6692d8fe fix: DRB lost issue when additional TFTs needs to be added to existing bearer with TFTs
This commit address the issue where a bearer with particular
PCC rule name exists with TFTs and addtional TFTs needs to be added
to same bearer and DRB lost is reported by UE.

This is achieved by creating EPS Bearer Level Traffic Flow Template
with TFT operation code as 'OGS_GTP_TFT_CODE_ADD_PACKET_FILTERS_TO_EXISTING_TFT' in
above scenario rather than use 'OGS_GTP_TFT_CODE_CREATE_NEW_TFT' at all times.
And, not remove existing packet filters for the bearer.
2021-05-27 15:57:32 +02:00
Sukchan Lee
64508c2e5c [DOC] Add Huawei BTS 5900 (#994) 2021-05-19 23:33:10 +09:00
Sukchan Lee
35d5b7e16e Release v2.2.9 2021-05-19 14:21:47 +09:00
Sukchan Lee
3d11b87127 [AMF] Buffix for NON-initial NAS message (#1106)
Confirmation for non-cleartext IE should only be applied
to the initial NAS message. Registration requests and Service requests
with UplinkNASTransport do not have to.
2021-05-19 13:27:31 +09:00
Sukchan Lee
873cf398c7 [ALL] Add protection of message encoding (#991)
All process will be forcely exited if it failed to encode the S1AP/NGAP/GTP/PFCP message. It is to make sure there was no problem with the encoding of open5gs.
2021-05-16 12:22:10 +09:00
Sukchan Lee
dfaf2f1567 [SMF] PF precedence generated by Pool (#1001) 2021-05-16 11:26:40 +09:00
Supreeth Herle
b6a030d82b Support for IMS video calling (#1001)
* Preserve local port in Rx flow-description

In contnuation to support for calling in pre-rel. LTE 11 devices
, rather than removing the local IP addr field and local port remove
only the IP addr field

* tft: Set precedence considering exisiting TFTs in all bearers of a DNN
2021-05-16 10:08:41 +09:00
Sukchan Lee
3df75e37df [GTP/PFCP] Remove SO_REUSEADDR in UDP (#986,#992)
In case of IP conflict, it has been modified to automatically shut down with an error message so that users can easily recognize it.
2021-05-15 20:37:15 +09:00
Sukchan Lee
f861919507 [AMF] asn1c decode error for APC_EXTENSIBLE (#994) 2021-05-14 16:46:08 +09:00
Sukchan Lee
257f398a11 [AMF] Add more buffer for 5GMM capability (#959) 2021-05-13 19:55:00 +09:00
Sukchan Lee
4a1ddb6650 [DOC] update troubleshoot [#936] 2021-05-09 18:42:45 +09:00
Sukchan Lee
496b5a9e58 Release v2.2.8 2021-05-09 11:45:52 +09:00
Sukchan Lee
916bf752b4 [DOC] Update Troubleshoot for DiameterError (#936) 2021-05-09 11:17:19 +09:00
Sukchan Lee
26f14ee7ca [WebUI] fix the security flaw in account (#764)
- In developement mode, if there is no default admin account,
  Node.js server WILL create admin/1423 account.
- In production mode, even though there is no default admin account,
  Node.js server WILL NOT create admin/1423 account.

1. WebUI installation script will create default admin account
   if there is no account.

   $ curl -fsSL https://open5gs.org/open5gs/assets/webui/install | sudo -E bash -

2. Installation script will automatically uninstall WebUI
   if WebUI has already been installed.
2021-05-08 23:11:27 +09:00
Sukchan Lee
ff4695bd5a [AMF/MME] malformed Path-Switch-Request (#960)
fix the crash
2021-05-08 17:01:45 +09:00
Sukchan Lee
3b19190f56 [AMF] fix crash due to malformed NGAP (#960) 2021-05-08 15:09:10 +09:00
Sukchan Lee
5ea9b22209 [AMF] security protection (UERANSIM-issues316)
1. Allocate ngKSI other than the value already used.
2. Add the protection of Service request
3. fix SBI convert error ng_ap_cause
2021-05-08 13:24:17 +09:00
Sukchan Lee
b0e8dbb31a [NAS] Protection for malformed NAS message (#959)
Add the protection code to avoid AMF/MME crash due to malformed NAS
message
2021-05-07 23:04:48 +09:00
Sukchan Lee
018b352985 [AMF] fix the UE-AMBR in NGAP message (#979)
1. DownlinkNASTransport
If AMF has not sent it previously, UE-AMBR is included in Registration
accept.

2. InitialContextSetupRequest
If PDUSessionResourceSetup is available, UE-AMBR is included

3. PDUSessionResourceSetupRequest
If AMF has not sent it previously, UE-AMBR is included

4. HandoverRequest
If PDUSessionResourceSetup is available, UE-AMBR is included
2021-05-07 21:18:45 +09:00
Sukchan Lee
1dc692753a [AMF] Distinguish Cleartext/Non-cleartext (#958)
1. If UE does not use a NAS container for Non-cleartext IEs,
   Open5GS AMF will send Registration reject message.
2. If UE sends Non-cleartext IEs without Integrity-protected,
   Open5GS AMF will send Registration reject message.
3. If UE does not send NAS container in Security mode complete message,
   Open5GS AMF will send Registration reject message.
2021-05-07 15:07:51 +09:00
Sukchan Lee
182a61dc0b [IPFilter] Assert if getprotobyname() problem (#977) 2021-05-07 10:47:10 +09:00
Sukchan Lee
dc870cc839 [SMF/UPF] fix the bug for decoding IPFilter (977) 2021-05-06 21:15:32 +09:00
Sukchan Lee
9a814ceac9 [Docker] update docker script (#976)
- Use 'meson test -v' instead of 'ninja -C build test'
- remove wireshark from docker development environment
2021-05-06 17:21:48 +09:00
Sukchan Lee
b4c1987ede [Doc] fix a typo error (#973) 2021-05-06 16:35:04 +09:00
Sukchan Lee
ab93fb7613 [WebUI] change curl version to LTS-14 (#971) 2021-05-06 16:26:34 +09:00
Ethan Arnold
6cc84b69ce improve README formatting (#975) 2021-05-06 06:50:23 +09:00
Ethan Arnold
8ca9402d11 improve formatting of README.md (#974) 2021-05-05 23:55:40 +09:00
Sukchan Lee
5901582281 [GTPv2] fix incorrect formatting PLMN-ID (#969) 2021-05-05 22:51:50 +09:00
Sukchan Lee
e5a0dfb444 [SBI] fix the compile warning in MacOSX 2021-05-05 22:04:17 +09:00
Sukchan Lee
0b063a57c8 [MME] fix the NAS encoding for AMBR (#967) 2021-05-05 21:16:31 +09:00
Sukchan Lee
cea1dff5a1 [Alpine] remove GLIBC macro (#957) 2021-04-30 22:16:07 +09:00
Sukchan Lee
002e3c7ae9 [Alpine] Add Dockerfile and Document 2021-04-30 22:13:04 +09:00
Venkata Pilla
27b25b8993 Added support for musl libc, to support compilation on Alpine Linux and other musl libc based systems. (#957) 2021-04-30 22:07:20 +09:00
Sukchan Lee
0b05308188 Release v2.2.7 2021-04-30 14:52:18 +09:00
Sukchan Lee
3b1ebfa9ed [MME] Fix the Invalid AMBR Unit (#967) 2021-04-30 11:58:02 +09:00
Sukchan Lee
959bc6a248 [PFCP] DNS delay during PFCP association (#891)
1. Remove ogs_getnameinfo().
2. Modify to check a valid IP address by using ogs_inet_pton() in order not to use DNS query
2021-04-30 10:17:01 +09:00
Matthew Johnson
96050ed6e2 [misc] Use correct units and session types when upgrading (#968)
* [misc] Set slice session type when upgrading

* [misc] Use correct units when upgrading

The old UI specified units in kbps, which corresponds to enum 1, not
enum 0, in the new schema and UI.
2021-04-30 09:31:57 +09:00
Sukchan Lee
49d7fe3b82 fix compilation error in FreeBSD 2021-04-30 00:17:26 +00:00
Sukchan Lee
19a8e4cd70 [Cx] Chanage IMPUs (#921)
Change the order of IMPUs sent in XML as follows and also have only the
following IMPUs

i.e.
    1. sip:<MSISDN>@ims.mnc<MNC>.mcc<MCC>.3ggpnetwork.org
    2. tel:<MSISDN>
2021-04-30 07:07:52 +09:00
Supreeth Herle
8cf606fd6b Update IMPUs to be added for a IMS user (#966)
* Update IMPUs to be added for a IMS user

* Tutorial update based on maintained repo and its related changes

* Minor doc update
2021-04-30 07:02:32 +09:00
Sukchan Lee
a58214da76 [5GC/EPC] tested with concurrent 500 UEs (#949)
Fix the memory problem in many simulatneous connections test
2021-04-29 22:01:34 +09:00
KaiPKaiPGirl
03e74c93e8 Update Dockerfile (#962) 2021-04-27 22:48:46 +09:00
Matthew Johnson
72374e439a Some cleanup for the db migration script (#956) 2021-04-25 15:25:51 +09:00
Sukchan Lee
fc27f7499b [SMF/SGW-C] fix the PFCP RR selection (#953)
The configuration has changed. PFCP node rr=0 is removed as shown below.
sgwc:
  pfcp
    rr: 0 <-- Removed

Introduced a new configuration method for SMF/SGW-C

parameter:
  no_pfcp_rr_select: true

By default, PFCP round robin selection is allowed.
The above parameters prohibit selecting PFCP in a round robin manner.
2021-04-24 20:56:14 +09:00
Sukchan Lee
dcfc9ef803 [AMF/MME] Add retransmission for accept message
Registration accept with GUTI
Attach accept
Tracking area update request with GUTI
2021-04-23 15:16:18 +09:00
Kenny Barlee
2766a1ce2c add N4u/Sxu details (#955) 2021-04-22 22:35:34 +09:00
Sukchan Lee
20a662a9aa [conf] change the example conf (#953) 2021-04-22 08:45:11 +09:00
Sukchan Lee
1a13ab3a7d [conf] change the example conf (#953) 2021-04-21 22:42:39 +09:00
Sukchan Lee
73c3aa54c0 [ALL] Fix the terminate sequence (#938) 2021-04-21 17:46:03 +09:00
Sukchan Lee
793a82020f [ALL] Init updated for an Invalid IP (#938) 2021-04-21 17:24:17 +09:00
Sukchan Lee
e459a85bc1 [Docker] Update WebUI Version to 2.2.6 (#945) 2021-04-21 15:42:36 +09:00
Sukchan Lee
27285a60da [DOC] Clarify DB Schema changes (#936) 2021-04-20 21:33:32 +09:00
Kenny Barlee
9ff93f0e49 update diagrams for new features (#944) 2021-04-16 20:31:06 +09:00
Sukchan Lee
ea89d8dc8e [AMF] Added RANConfigurationUpdate (#943) 2021-04-16 16:26:13 +09:00
Marcel T
bf5f64b5e5 Updated open5gs-dbctl to be compatible with the changed database schema (#940)
Co-authored-by: Marcel Thiel <mthiel@cocus.com>
2021-04-15 23:21:47 +09:00
Sukchan Lee
cc03c91bdd [AMF] 5G-GUTI generation changed (#910)
The AMF shall assign a new 5G-GUTI for a particular UE:
a) during  a successful initial registration procedure;
b) during a successful registration procedure
   for mobility registration update; and
c) after a successful service request procedure invoked as a response
   to a paging request from the network and before the release
   of the N1 NAS signalling connection as specified in subclause 5.4.4.1.

The AMF should assign a new 5G-GUTI for a particular UE
during a successful registration procedure
for periodic registration update. The AMF may assign a new 5G-GUTI
at any time for a particular UE by performing
the generic UE configuration update procedure.
2021-04-13 17:34:25 +09:00
Sukchan Lee
3275584236 NOKIA gNB added to the tested list (#821) 2021-04-13 10:17:45 +09:00
Sukchan Lee
83720fff9a fix: mobilty -> mobility (#930) 2021-04-13 10:02:52 +09:00
Sukchan Lee
688f2bc249 Update Now in the Github Issue (#874, #712) 2021-04-13 09:58:18 +09:00
Sukchan Lee
e1c8d89bba Update Now in t Github Issue (#872, #863) 2021-04-13 09:36:07 +09:00
Pau Espin Pedrol
520dcf1ff8 pfcp: Fix 'No Heartbeat' log messages (#931) 2021-04-12 20:23:51 +09:00
Sukchan Lee
11be73cab7 Airspan 5G SA was added to the list of tested gNBs 2021-04-10 08:14:35 +09:00
Sukchan Lee
f59cf3eacb Update document for v2.2.6 2021-04-09 21:28:07 +09:00
Sukchan Lee
8f1e591be5 Release v2.2.6 2021-04-09 21:14:42 +09:00
Sukchan Lee
905fc76faf [AMF] Add NGAP ErrorIndication [#910]
1. UE sends PDU session establishment request to the AMF.
2. AMF initiates Release Due to Duplicate Session ID.
3. SMF cannot find the session by SM-Context-Ref.

For the above condition, AMF sends NGAP ErrorIndication to the UE.
2021-04-09 21:02:03 +09:00
Sukchan Lee
745ea41096 [AMF] increase SBI memory pool (#925) 2021-04-09 13:52:19 +09:00
Sukchan Lee
8710cae0fd [Cx] Add sip:<MSISDN> (#921) 2021-04-08 23:09:13 +09:00
Sukchan Lee
27cee12a7b [Cx] User-Name can be skipped in SAR (#921) 2021-04-08 22:49:08 +09:00
Sukchan Lee
44de4673bf [Cx] change the order of IMPU (#921) 2021-04-08 21:35:52 +09:00
Sukchan Lee
2df8a1836f Oops! remove redundant code 2021-04-08 20:46:41 +09:00
Sukchan Lee
3c9541992f [Cx] fix MSISDN public identity (#921)
sip:<MSISDN>@ims.mnc<MNC>.mcc<MCC>.3ggpnetwork.org
tel:<MSISDN>
2021-04-08 20:42:24 +09:00
Sukchan Lee
90f60cad0e misc: Add MSISDN duplicate check in WebUI 2021-04-07 22:45:37 +09:00
Sukchan Lee
26066bb0ca [Cx] LIR/LIA is added (#921) 2021-04-07 21:46:05 +09:00
Sukchan Lee
d3eaaff430 [Cx] fix the Cx integration bug (#919)
- Now security is verified.
2021-04-06 21:36:08 +09:00
Sukchan Lee
d40348c00c [SBI] Unknown timezone offset (#914)
add a debug message for unknown timezone offset
2021-04-05 21:16:52 +09:00
Sukchan Lee
613e21c4ff [PKG] fix debian mongod dependency problem (#915) 2021-04-05 20:32:27 +09:00
Sukchan Lee
41c6bb4681 new: HSS Cx interface is added 2021-04-05 17:09:39 +09:00
Sukchan Lee
23c1fee516 Update document for v2.2.5 2021-04-03 14:22:15 +09:00
Sukchan Lee
a74050a032 Release v2.2.5 2021-04-03 14:18:32 +09:00
Sukchan Lee
bb38c01229 fix : Allow NSSAI in Registration accept (#910)
Always Present Allow NSSAI in Registration accept
2021-04-03 14:07:44 +09:00
Sukchan Lee
ec0752cb95 doc: update document for v2.2.4 2021-04-01 17:04:56 +09:00
Sukchan Lee
b6ba02f6de Release v2.2.4 2021-04-01 16:47:30 +09:00
Sukchan Lee
5f9785af52 sctp: Add sack_delay in sctp configuration (#895) 2021-04-01 15:40:46 +09:00
Sukchan Lee
c0396171ff fix: use prior to v2.2.3, segfault (#898) 2021-04-01 09:28:28 +09:00
Pau Espin Pedrol
0b3ca447c9 sgwc: Log received messages in sxa-handler.c (#896) 2021-03-31 19:59:57 +09:00
Sukchan Lee
68724c6ec1 fix: Support many simultaneous connections (#886) 2021-03-31 17:29:20 +09:00
Sukchan Lee
cc30aa2a9a fix: No S-TMSI in InitialUEMessage (#890) 2021-03-31 15:35:59 +09:00
Nick
3a2a227b48 Updated Python Lib docs and script to migrate DB data to new format (#889)
* Update README.md

* Python script to migrate data from old DB schema to new
2021-03-30 16:56:23 +09:00
Sukchan Lee
a76a2503c2 Release v2.2.3 2021-03-29 23:21:11 +09:00
Sukchan Lee
1e2a16fc5b fix: No Modify Bearer Request (#885)
Now MME send Modify Bearer Request regardless of the order of
Attach Complete and InitialContextSetupResponse
2021-03-29 22:35:34 +09:00
Sukchan Lee
829123dad0 fix: managing multiple calls (#869)
If PCRF sends RAR, it generates different Charging-Rule-Name.
2021-03-29 10:28:08 +09:00
Sukchan Lee
457230a2f6 doc: Re-install with updated source code 2021-03-28 20:44:31 +09:00
Sukchan Lee
6ab5c41af5 conf: Add ignore_requested_nssai parameter (#859)
If parameter.ignore_requsted_nssai is true,
AMF will ignore the UE Requested NSSAI and create an allowed-NSSAI
based on the Default S-NSSAI in the Subscription DB.
2021-03-26 23:12:43 +09:00
Sukchan Lee
b22023afb8 fix: creating allowed NSSAI (#859)
AMF checks whether it can serve all the S-NSSAI(s) from
the Requested NSSAI present in the Subscribed S-NSSAIs
(potentially using configuration for mapping S-NSSAI values
between HPLMN and Serving PLMN), or all the S-NSSAI(s) marked
as default in the Subscribed S-NSSAIs in the case that
no Requested NSSAI was provided or none of the S-NSSAIs
in the Requested NSSAI are permitted,
i.e. do not match any of the Subscribed S-NSSAIs or not available
at the current UE's Tracking Area (see clause 5.15.3).
2021-03-25 23:06:59 +09:00
Sukchan Lee
b21dc65741 fix: Ignore Unknown TLV type in PFCP/GTP (#871) 2021-03-24 09:36:22 +09:00
Kenny Barlee
5d2fea994b NGAP - N2 path name (#870) 2021-03-23 21:26:13 +09:00
Sukchan Lee
ebb48ede53 Freeze usrsctp version to 0.9.5.0 2021-03-21 20:06:24 +09:00
Sukchan Lee
b07d12d3be Update freeDiameter subprojects 2021-03-21 17:46:20 +09:00
Sukchan Lee
54f1ccbb6b Upgrade freeDiameter from v1.3.2 to v1.5.0 2021-03-21 17:44:42 +09:00
Sukchan Lee
52cd51ca6a fix: adjust the actual path amf.plmn_support (#825) 2021-03-20 09:17:14 +09:00
Sukchan Lee
c848919af4 doc: update document for v2.2.2 2021-03-19 22:12:43 +09:00
Sukchan Lee
6df2906f42 Release v2.2.2 2021-03-19 21:50:01 +09:00
Sukchan Lee
ebf1c5b0d9 Release v2.2.2 2021-03-19 21:27:01 +09:00
Sukchan Lee
072fb68882 doc: update document for advertising addr (#825) 2021-03-19 21:14:38 +09:00
Sukchan Lee
182a680d51 feat: advertise address for 5G NFs (#825) 2021-03-19 21:01:38 +09:00
Sukchan Lee
09780e3fed conf: update configuration manual 2021-03-19 13:48:27 +09:00
Sukchan Lee
79df32638c 5gc: Add defaultt NSI configuration for NSSF (#859) 2021-03-19 11:04:02 +09:00
Sukchan Lee
d0eec31f5c upf/sgwu: fix the PDR creation bug (#860)
When PDR is created without deleting session, there is a bug to create
new PDR.
2021-03-19 10:08:37 +09:00
Sukchan Lee
dc474329e2 Fix the MME crash during HandoverCancel (#855) 2021-03-18 22:59:22 +09:00
Sukchan Lee
22b09443ce feat: E-RABModificationIndication/Confirm (#834) 2021-03-17 14:26:57 +09:00
Sukchan Lee
7ba77e6cc1 Release v2.2.1 2021-03-15 10:09:45 +09:00
Sukchan Lee
37e0a714f9 Fixes UE IPv6 BUG (#808) 2021-03-15 10:01:55 +09:00
Sukchan Lee
0270c0e340 ASN.1 encoding failure if no Request-NSSAI #844 2021-03-12 23:25:58 +09:00
Sukchan Lee
a6e42a4932 fix: No S-NSSAI error during NAS signalling #845 2021-03-12 22:45:21 +09:00
Sukchan Lee
0a94e1ece4 Update WebUI version to v2.2.1 (#838)
Security patch is applied. If you want to use this version, you need to
log out and log back in.

See Pull Request #838 for more detailed information.
2021-03-12 09:32:11 +09:00
Sukchan Lee
569f98f92c webui: Follow-up on Pull Request #838
- Update document
- Fix the install script
- Remove last commit to maintain login session
2021-03-12 09:20:58 +09:00
Ryan
7848b6c966 Add API tokens (#838)
* protects db endpoints with auth data, but will require ui updates to function properly

* adds an Authorization header with bearer token to all api/db/* request endpoints

* force login if token doesn't exist

* remove debug code
2021-03-12 09:13:38 +09:00
Sukchan Lee
60b75b5f5e rearrange sponsors image 2021-03-11 16:52:58 +09:00
Sukchan Lee
82261bc8e4 Arrange the sponsor images 2021-03-11 16:42:13 +09:00
Sukchan Lee
9e8700f1a2 Add new sponsors (Skylark Wireless) 2021-03-11 16:37:18 +09:00
Sukchan Lee
fc5c9b2af0 Try to fix the UE infinite attach (#568)
If both Delete-Session-Request/Response and
UEContextReleaseCommand/UEContextReleaseComplete are failed at the same time,
UE cannot attach to the EPC infinitely.

So, I've add the protection code
if timer expires when MME does not receive Delete-Session-Response.
2021-03-09 14:28:07 +09:00
Sukchan Lee
56c0987ad2 doc: update document for changes configuration
o `plmn` -> `plmn_support` in AMF configuration
2021-03-08 22:30:06 +09:00
Sukchan Lee
08751e1b4a doc: update document for changing configuration
o 'pdn' -> 'subnet' in all conf files
2021-03-08 22:27:29 +09:00
Sukchan Lee
de72ccaf91 Release v2.2.0 2021-03-08 21:55:43 +09:00
Sukchan Lee
9af4268bab arch: DB schema Changes (#796)
- New function : NSSF
- New feature : SMF selection
2021-03-08 21:25:09 +09:00
Sukchan Lee
c6bfbed922 Modify not to limit the length of DB URI (#827) 2021-03-03 23:13:20 +09:00
Charlie Lewis
0790674c14 mask mongo credentials when logging (#827) 2021-03-03 23:06:31 +09:00
Sukchan Lee
2f2178595d doc: update troubleshooting (#818) 2021-02-25 23:01:48 -05:00
Paweł
515b5d2b17 Changed the branch name (#811) 2021-02-22 10:24:18 -05:00
Sukchan Lee
31977bf30a SMF: fix the bug for DataForwardingNotPossible
DataForwardingNotPossible should only be included
if Data Path is not available during N2-Handover.

However, there is a bug that always includes
DataFowardingNotPossible regardless of Handover.

So, I've fixed it!
2021-02-18 23:15:36 -05:00
Sukchan Lee
d1400897e0 update: Cause of UEContextReleaseCommand (#789)
When AMF receives UEContextReleaseRequest,
AMF sends UEContextReleaseCommand with Cause received from gNB.
2021-02-17 12:19:20 -05:00
Sukchan Lee
b6bcbac3e3 fix: Add the exception handling (#804)
When UE/gNB repeatedly sends NGAP message repeatedly, AMF crashed.
Exception routines have been added to resolve this issue.
2021-02-15 12:17:33 -05:00
Sukchan Lee
9b5cc4a568 Release v2.1.7 2021-02-08 22:37:01 -05:00
Sukchan Lee
094d40b073 fix: 256 pool num increased to 16,384 (#753) 2021-02-08 14:32:04 -05:00
Sukchan Lee
852756f902 test: Porting FreeBSD 2021-02-08 14:25:40 -05:00
Miguel
fea48f5a44 Update list of eNB/gNB - Added Accelleran's SC (#800) 2021-02-08 07:24:59 -05:00
Sukchan Lee
b19b3e9dd1 Add missing files 2021-02-06 00:15:25 -05:00
Sukchan Lee
7901a1164f mac: Support Apple M1 chips
See https://open5gs.org/open5gs/docs/platform/05-macosx-apple-silicon/
2021-02-06 00:13:48 -05:00
Sukchan Lee
950c4c0a12 Release v2.1.6 2021-02-04 09:27:58 -05:00
Sukchan Lee
5e839e25fe fix: amf crash bug (#793) 2021-02-03 23:49:16 -05:00
Sukchan Lee
d3fa7619bf update document v2.1.5 2021-02-02 15:29:24 -05:00
Sukchan Lee
6cd755ac97 doc: Update document v2.1.5 2021-02-02 15:22:50 -05:00
Sukchan Lee
f597c9e899 doc: update document for v2.1.5 2021-02-02 15:18:01 -05:00
Sukchan Lee
9e8303762c Update document for v2.1.5 2021-02-02 15:07:18 -05:00
Sukchan Lee
e7c261d0d3 Release v2.1.5 2021-02-02 14:50:15 -05:00
Sukchan Lee
e7cb25ac9b asn1c: MME crash is resolved (#783) 2021-02-02 14:27:03 -05:00
Sukchan Lee
f47f65a51c fix: asn1c decode problem for NGReset (#773) 2021-02-02 13:33:09 -05:00
Sukchan Lee
0311d2255c Oops! remove debug info 2021-02-01 10:17:49 -05:00
Sukchan Lee
d9417be9a6 feat: Handling Duplicated PDU Session ID
TS29.502 5.2.2.3.11 AMF requested PDU Session Release due to duplciated
PDU Session Id
2021-02-01 10:14:27 -05:00
Sukchan Lee
373ba1452f log: update debug info for S1AP/NGAP (#785) 2021-02-01 08:52:22 -05:00
smartVan
848b7ffc29 modify handover request and uplink ran status transfer debug info (#785) 2021-02-01 00:50:22 -05:00
Sukchan Lee
ff5236f3e0 feat: Indirect Data Forwarding in N2-Handover 2021-01-31 23:01:15 -05:00
Sukchan Lee
388e64213f etc: miscellaneous work (#779)
o Check IMEISV length == 16 digits
o Add Relative Capabity comment in the configuration file
2021-01-29 00:10:17 -05:00
Sukchan Lee
49a9e58efe feat: Add N2-Handover 2021-01-28 14:23:54 -05:00
Sukchan Lee
0fc5190a09 etc: coding convection (#778) 2021-01-28 14:23:22 -05:00
smartVan
19014a3a25 modify udr smf selection subscription data (#778) 2021-01-28 14:18:02 -05:00
Sukchan Lee
ada01fca8f spec: S1AP/NGAP update to v16.4.0(2021-01-04) 2021-01-24 23:43:42 -05:00
Sukchan Lee
61778f9142 fix: UE Context Request IE handling (#771) 2021-01-23 13:42:59 -05:00
Sukchan Lee
776d323a16 fix: Change UE Context Request IE handling (#771)
Previously, AMF would sends PDUSessionResourceSetupRequest
when the following conditions were met:
- gNB didn't send UE Context Request IE of InitialUEMessage
- AMF should send SMF generated TRANSFER message(PDU_RES_SETUP_REQ)
to the gNB

However, in issues #771, the gNB did not accept
PDUSessionResourceSetupRequest. Perhaps the gNB engineer thought
that if gNB needs to send data traffic to the UE, AMF should send
an InitialContextSetupRequest regardless of UE Context Request IE.
This is because gNB requires the kgNB security context
for data connection.

So, in this case, Open5GS-AMF decided to send
an InitialContexSetupRequest regardless of
whether it received UE Context Request IE of InitialUEMessage.
2021-01-23 11:56:04 -05:00
Sukchan Lee
9eac90252e fix: AMF/SMF/UDM crash issues resolved (#770/#771) 2021-01-22 22:17:01 -05:00
Sukchan Lee
708784e222 fix: User Location in UplinkNASTrasnport (#772)
- Based on pull request #772
- Add 4G EPC User Location Information handling
- Copy ran_ue/enb_ue context to amf_ue/mme_ue context
2021-01-20 10:03:32 -05:00
smartVan
50db1aaeb1 handle user location in ngap uplink nas transport (#772) 2021-01-20 09:27:57 -05:00
Sukchan Lee
8e29eb2417 Update document for v2.1.4 2021-01-18 21:35:08 -05:00
Sukchan Lee
0552bc49c9 Release v2.1.4 2021-01-18 19:16:24 -05:00
Sukchan Lee
c9363b1320 5gc: Paging was added 2021-01-18 11:48:35 -05:00
Sukchan Lee
408c378b94 doc: update sponsor link 2021-01-13 08:38:24 -05:00
Sukchan Lee
bfa6eae71c Oops! remove style tag 2021-01-11 23:53:40 -05:00
Sukchan Lee
55e9f08430 Add special sponsors 2021-01-11 11:10:17 -05:00
Supreeth Herle
1c13d7f5ec Legacy support for pre-release LTE 11 devices while performing VoLTE call (#757)
* AAR Media-Sub-Component modification for more UEs support

* Introduce parameter for legacy support for pre-release LTE 11 devices to do calling

IE (IPV4-local-addr field ) is not supported on
the LTE pre release-11 UEs. In order for the call
to work the local address in packet filter must
be replaced by any.

Parameter: no_ipv4v6_local_addr_in_packet_filter
2021-01-11 08:03:52 -05:00
Sukchan Lee
8d0ce5b03c Oops! Remove bearer after sending reject (#755) 2021-01-11 00:01:28 -05:00
Sukchan Lee
5fb0611cb2 fix: Derive ESM cause from GTP-Cause (#755) 2021-01-10 23:36:12 -05:00
Sukchan Lee
d6ed13968d Release v2.1.3 2021-01-08 23:22:22 -05:00
Sukchan Lee
f15d2c96fe remove math library for time string conversion 2021-01-08 23:16:54 -05:00
Sukchan Lee
508a78d43b Update document for v2.1.3 2021-01-08 22:58:23 -05:00
Sukchan Lee
f250b6e411 Release v2.1.3 2021-01-08 22:48:43 -05:00
Sukchan Lee
d17ea0f135 fix: update test code 2021-01-08 22:30:31 -05:00
Sukchan Lee
b4358fe703 fix: Add dedicated bearer activation reject (#755) 2021-01-08 15:09:02 -05:00
Sukchan Lee
e531ccab5a fix: The SBI time string converting error in 32bit 2021-01-08 10:42:51 -05:00
Sukchan Lee
a0ebf20c88 Release v2.1.2 2021-01-08 00:30:45 -05:00
Sukchan Lee
31cc259ee4 fix: release error 2021-01-08 00:24:00 -05:00
Sukchan Lee
e803b01d9c Update document for v2.1.2 2021-01-07 23:39:17 -05:00
Sukchan Lee
0c61e7b70b Release v2.1.2 2021-01-07 23:07:09 -05:00
Sukchan Lee
80e337b465 fix: update to avoid MME crash (#721) 2021-01-07 23:01:02 -05:00
Sukchan Lee
6946dc4998 fix: update to avoid MME crash (#708) 2021-01-07 22:41:13 -05:00
Sukchan Lee
7b29cdf898 Handling UEContextRequest of InitialUEMessage 2021-01-07 22:26:06 -05:00
Sukchan Lee
7dd4609c0f fix: increase mempool to support 1024UEs (#753) 2021-01-07 13:18:45 -05:00
smartVan
060d2a08f5 remove repeated qer in handling create pdr (#749) 2021-01-06 23:32:12 -05:00
Sukchan Lee
c9cfc4cf6e etc: update debug message 2021-01-04 23:24:22 -05:00
Sukchan Lee
a96d3ca0fa feat: Add multiple session 2021-01-03 23:29:01 -05:00
Sukchan Lee
1238b30526 Oops! remove test code 2021-01-03 01:07:09 -05:00
Sukchan Lee
70a7bac6b2 feat: Add 5G Core Xn Handover (#726) 2021-01-03 00:50:59 -05:00
Sukchan Lee
b329b09573 fix: add SCTP ppid and stream_no (#743) 2021-01-02 10:03:35 -05:00
Sukchan Lee
88346c0141 fix: SBI heartbeat timer usage changed (#741) 2021-01-01 15:56:46 -05:00
Sukchan Lee
b35eb9fcf4 fix: Receive HTTP2 message up to 8192bytes (#738) 2020-12-31 22:36:33 -05:00
Sukchan Lee
79b0552bb0 test: for checking issues #736 2020-12-31 21:55:11 -05:00
Sukchan Lee
235a041b8d feat: Add dedicated QoS flow 2020-12-31 21:07:08 -05:00
Sukchan Lee
65aea5ebf2 test: Use milliseconds in RFC3339 (#727) 2020-12-29 13:26:36 -05:00
Sukchan Lee
4115799c2a fix: NRF notification send all information (#737) 2020-12-28 23:36:02 -05:00
Sukchan Lee
efd1780745 fix: update NRF issues (#727,#728,#729,#730) 2020-12-24 15:41:31 -05:00
Kenny Barlee
dcec18a3d8 Doc update - 01 Quickstart (#731)
* text update 01-quickstart

* text update, diagrams 01-quickstart
2020-12-23 16:25:26 -05:00
Sukchan Lee
371e22c96b fix: AMF sets default DNN if UE does not send it. 2020-12-21 14:49:05 -05:00
Tim Gates
171f15f684 docs: fix simple typo, speciic -> specific (#724)
There is a small typo in lib/asn1c/common/constr_TYPE.h.

Should read `specific` rather than `speciic`.
2020-12-19 16:10:00 -05:00
Sukchan Lee
ef3e7b2528 docs: update release notes for v2.1.1 2020-12-16 23:11:19 -05:00
Sukchan Lee
7002c1e4b5 Release v2.1.1 2020-12-16 23:06:27 -05:00
Sukchan Lee
2392f23d7f fix: the unexpected PDN type error (#721) 2020-12-16 22:44:32 -05:00
Sukchan Lee
2bf8d6c3c7 Update document for v2.1.0 2020-12-11 14:37:17 -05:00
Sukchan Lee
191f109f7f Release v2.1.0 2020-12-11 14:16:45 -05:00
Sukchan Lee
198abc6e8b Add PCF(Policy Control Function) 2020-12-11 14:03:20 -05:00
Jose Carlos
fb95725ca4 Update 01-genodebs.md (#710) 2020-12-08 15:15:35 -05:00
Sukchan Lee
41fd851b7f fix: SCTP workaround for PEER_ADDR_PARAMS (#707) 2020-12-06 17:34:22 -05:00
Sukchan Lee
d16d295708 docs: update quickstart for nightly builds #685 2020-12-03 22:44:40 -05:00
Sukchan Lee
5999bd22f9 Update document for adding tutorial #702 2020-12-03 10:05:25 -05:00
Sukchan Lee
33edd12335 fix: UPF is not working with Landslide (#685)
* Flow-Description use 'to assigned' in Gx Interface
* Support SDF Filter ID
* Support F-TEID's Choose
* BAR(Buffering) is added in PFCP session
* Default Apply Action uses NOCP|BUFF
2020-12-03 01:16:57 -05:00
Shigeru Ishida
b2d012c253 update Misc Radio Hardware (#700) 2020-12-02 20:30:36 -05:00
Kenny Barlee
e5a9156444 update 4G 5G software stack + SDR list (#699) 2020-12-02 17:22:05 -05:00
Sheng Zheng
90123efae3 Add Gemtek 4G small cell to eNodeB support list (#698)
Signed-off-by: ZhengSheng <j13tw@yahoo.com.tw>
2020-12-02 09:53:45 -05:00
Nick
c424796955 Doc Update - Added list of eNodeBs / gNodeBs confirmed to work by community, links to CSFB & SMS Docs (#694)
* Update docs.md

Added link to Hardware Specific notes

* Added link to posts on SMS over NAS and CSFB Setup

* Formatting on eNB list

* Added UERANSIM
2020-12-01 07:02:55 -05:00
Sukchan Lee
1c997c4069 Update docuemt for MacOSX 2020-11-28 22:38:46 -05:00
Sukchan Lee
3be76db08a Update document 2020-11-26 21:52:54 -05:00
Sukchan Lee
0742c6208c Add missing work after supporting HTTP/2 2020-11-26 21:47:53 -05:00
Sukchan Lee
2c2b6dfcaf Use HTTP/2 instead of HTTP/1.1 in 5G Core SBI 2020-11-26 21:44:37 -05:00
Sukchan Lee
0c47098c4a About parameter "use_openair" #688 2020-11-26 00:03:13 -05:00
Sukchan Lee
1a7b4de7c6 Fix the error message in UPF #685 2020-11-24 00:50:56 -05:00
Sukchan Lee
19a3680c60 change the directory location for vagrant #684 2020-11-24 00:28:42 -05:00
Dan Gora
520d9cd2c3 Centos devel (#684)
* Remove invalid link in debian docker file.

Remove self-referential link from debian docker setup.

Fixes bug introduced in commit 8c4a50785

* Add Vagrantfile to create CentOS 8 system for deploying open5GS.

This Vagrantfile is identical to the base CentOS 8 box from Vagrant
Cloud, but was modified to increase the amount of virtual memory to
1GB from 512MB.

* Update installation instructions for CentOS 8.

Update the installation instructions for CentOS 8 to describe
step-by-step the commands necessary to install the necessary
prerequesites for building and running Open5GS, installing and building
the source code, and running the base tests to confirm that Open5GS
was built correctly.
2020-11-24 00:23:56 -05:00
R. Medeiros
3c99af7736 Update to generate SMF Log for Session Removed. (#677)
Create info log to show when the user disconnect the APN, with IMSI, APN and IPv4/IPv6.
2020-11-19 16:11:28 -05:00
Sukchan Lee
dcf0a714aa Update document for v2.0.22 2020-11-19 09:44:28 -05:00
Sukchan Lee
e1a2e3803f Release v2.0.22 2020-11-19 07:57:35 -05:00
Sukchan Lee
f0b9a35962 [#672] Fix DL data is not working in 5G Core 2020-11-19 07:47:26 -05:00
R. Medeiros
70f7e2d5d4 Update s5c-handler.c (#674)
Add information of the used APN in the smf log file
2020-11-18 16:33:02 -05:00
Sukchan Lee
f4c6791227 Sponsor update 2020-11-16 10:02:27 -05:00
Nick
ee964d825c Update docs.md (#668)
Added links to some recent posts I did on Static IPs and using UERANSIM
2020-11-16 07:18:26 -05:00
Sukchan Lee
b9fdc0ab44 Update 80 column and Apply MME (#659) 2020-11-14 10:13:29 -05:00
list1982
0b2ba07f97 Update ngap-sm.c (#659)
AMF should not process any NGAP message before it finish the NGSetup procedure in 3GPP 38413.
2020-11-14 10:09:57 -05:00
Sukchan Lee
fe7525a784 Support Openair UE (#651)
In mme.yaml
parameter:
   use_openair: true
2020-11-13 09:02:42 -05:00
Sukchan Lee
d7c188dc00 License update 2020-11-12 20:58:08 -05:00
Sukchan Lee
961db54c2f add missing files for Ubuntu groovy 2020-11-12 14:35:58 -05:00
Sukchan Lee
1f1a741e53 FreeBSD is no longer supported. 2020-11-12 14:35:05 -05:00
Sukchan Lee
e6e825c6a3 update docuemtn for v2.0.21 2020-11-11 14:40:24 -05:00
Sukchan Lee
cbb3758c9c Release v2.0.21 2020-11-11 14:13:48 -05:00
Sukchan Lee
6f11a78079 If SCTP use SOCK_STREAM, Use BUFFERING method.
Most of the time, an application wants to perform some amount of data buffering
in addition to just responding to events. When we want to write data,
for example, the usual pattern runs something like:

1. Decide that we want to write some data to a connection;
   put that data in a buffer.
2. Wait for the connection to become writable
3. Write as much of the data as we can
4. Remember how much we wrote, and if we still have more data to write,
   wait for the connection to become writable again.

Now, Open5GS implements the above method by default when transmitting data
in a stream type socket.
2020-11-11 13:21:32 -05:00
Sukchan Lee
9a1824f6aa Openair UE workaround for HashMME #651, #584 2020-11-10 10:04:09 -05:00
Sukchan Lee
23e8e6577c Update ogs_pollset library
- Fix the ogs_pollset_remove() bug in select(WIN32), kqueue(MacOSX)
- Modify to enable ogs_pollset_remove() in pollset callback handler
2020-11-09 22:57:14 -05:00
Sukchan Lee
830587a250 Fix the possible vulnerabilities 2020-11-07 21:25:53 -05:00
Sukchan Lee
f1a207fd9b Support VoLTE service in ECM-IDLE 2020-11-07 17:27:12 -05:00
Sukchan Lee
2d3b8eed81 Fix MME crash if SGs interface is down #448, #628 2020-11-04 15:58:16 -05:00
Sukchan Lee
18c3a4d5d9 Update financial sponsors 2020-11-04 13:32:39 -05:00
Sukchan Lee
8975613ae9 Update document for previous commit #535, #595 2020-11-03 20:24:06 -05:00
Sukchan Lee
621145d8b0 Add rpath to required shared library #535, #595 2020-11-03 20:11:30 -05:00
Sukchan Lee
5af01d1a71 Add the exception for no 2G/3G environment #627 2020-11-03 05:54:12 -05:00
Sukchan Lee
ad85c12513 checking for APN/DNN in case insensitive #617 2020-11-02 11:45:14 -05:00
Sukchan Lee
b80554e955 Document update for v2.0.20 2020-11-01 23:13:10 -05:00
Sukchan Lee
13c7f30e39 Release v2.0.20 2020-11-01 23:07:08 -05:00
Sukchan Lee
21595426b2 Fix the bug of the TAU update result value #568 2020-11-01 22:50:41 -05:00
Sukchan Lee
d1e643ed6c Re-release v2.0.19 2020-11-01 01:51:00 -04:00
Sukchan Lee
22e98d612a fix the compile error 2020-11-01 01:44:59 -04:00
Sukchan Lee
48bf4a763a Re-release v2.0.19 2020-11-01 01:01:41 -04:00
Sukchan Lee
3fef5848b8 Oops! Fix the PDN connectivity reject handler #568 2020-11-01 00:54:32 -04:00
Sukchan Lee
a679ea56a8 Document update for v2.0.19 2020-10-31 23:18:50 -04:00
Sukchan Lee
080c6a9002 Release v2.0.19 2020-10-31 22:54:45 -04:00
Sukchan Lee
5fd6dac961 Change handling the PDU connectivity reject #568
If MME received the PDU connectivity reject, MME will not release UE
context to accept further service request
2020-10-31 22:42:49 -04:00
Sukchan Lee
f137d1947f Last Modification for releasing v2.0.19
1. SCTP event size workaround - stolen code from libosmo-netif
2. Remove PFCP User Plane IP resource information
3. Fix the bug when building Initial Context Setup Request with EMM NAS message.
2020-10-31 00:30:42 -04:00
Sukchan Lee
0ec0b2dc69 Fix the crash for NAS message missing #619 2020-10-29 00:18:11 -04:00
Sukchan Lee
93312e8f3d Fix the bug for S1-reset or eNB-restart(#627) 2020-10-28 22:59:27 -04:00
Sukchan Lee
3cbec5f2e6 License update 2020-10-26 22:43:47 -04:00
Sukchan Lee
4f2803c058 Re-add feature custom GTP-U address #367
Provide custom SGW-U GTP-U address to be advertised inside S1AP messages.
And also, custom UPF GTP-U address to be advertised inside NGAP messages.
2020-10-26 21:44:50 -04:00
Sukchan Lee
a470131489 Now, F-TEID is allocated in the UP function. 2020-10-25 22:43:53 -04:00
Sukchan Lee
aa81bb2c89 Fix the bug #619
When missing Activate default EPS bearer context accept
between UE and eNB, MME's exception handler has a bug.

So I've fixed it!
2020-10-23 13:48:39 -04:00
Sukchan Lee
15e42bc4a9 Fix MME crash when VoLTE is enabled [#619] 2020-10-22 17:53:13 -04:00
Sukchan Lee
bdeea7ce8b Add troubleshoot for #621 2020-10-21 22:54:40 -04:00
Sukchan Lee
39aa726543 Remove the redundant assertion (#619) 2020-10-20 22:50:44 -04:00
Sukchan Lee
1bed0d5872 [#568] Add GTP-U Error Indication Handling
So far, no operation was performed when Error Indication was received
from eNodeB. For that reason, I solved #568 issues by controlling
the MME to prevent this from happening.

Now, when GTP-U Error Indication is received, MME and SGW are implemented
to do what they have to do. I hope that the network can be restored
by responding appropriately even if Error Indication occurs.
2020-10-20 20:00:02 -04:00
Sukchan Lee
c244dcc5e9 Fix the DIAMETER_MISSING_AVP on Rx #610 2020-10-16 14:05:49 -04:00
Sukchan Lee
c052193a37 update it 2020-10-16 13:12:43 -04:00
Sukchan Lee
50149dd1a7 update it 2020-10-16 12:45:23 -04:00
Sukchan Lee
5bfaac17e0 Fix typo in document (#613) 2020-10-15 11:25:51 -04:00
Sukchan Lee
c424099200 Need to test later! 2020-10-14 23:02:18 -04:00
list1982
06ec924466 Update ngap-build.c (#607)
add path switch request ack
2020-10-14 22:56:29 -04:00
list1982
6ff129e9da Update ngap-handler.c (#606)
add path switch request handler
2020-10-14 22:56:18 -04:00
Sukchan Lee
fae76f9e9d Update document for #587 2020-10-13 12:55:31 -04:00
Sukchan Lee
f294a5f55c Add Environment Variable for WebUI [#587]
e.g)
$ HOSTNAME=localhost npm run dev
$ PORT=4000 npm run dev
2020-10-13 12:39:45 -04:00
Sukchan Lee
5c9b3d09d8 Update document for v2.0.18 2020-10-09 07:54:08 -04:00
Sukchan Lee
55d60ff1ab Release v2.0.18 2020-10-09 07:52:29 -04:00
Sukchan Lee
74af0051d5 Fix the invalid debug level [#602] 2020-10-09 07:44:14 -04:00
Sukchan Lee
4667835e24 Update document for v2.0.17 2020-10-08 23:14:26 -04:00
Sukchan Lee
ba41d66eb5 Release v2.0.17 2020-10-08 23:11:00 -04:00
Sukchan Lee
437cc92bf9 change the error message 2020-10-08 23:00:54 -04:00
Sukchan Lee
60a6551f8a Oops! change debug level 2020-10-08 22:57:19 -04:00
Sukchan Lee
8d55964bcc Change buffering instead of deleting [#592] 2020-10-08 22:54:13 -04:00
Sukchan Lee
cabef6afa9 fix build failure for sysctl() deprecation [#600] 2020-10-08 19:50:14 +00:00
Sukchan Lee
d343440abc Update document for v2.0.16 2020-10-07 21:40:29 -04:00
Sukchan Lee
6d4927e29f Release v2.0.16 2020-10-07 21:33:42 -04:00
Sukchan Lee
d64db21050 Use GTP-U Buffering instead of Deletion[#592,#568] 2020-10-07 21:21:48 -04:00
Sukchan Lee
0eb68eefe2 Clarify configuration for multiple APN [#597,#598] 2020-10-07 09:22:10 -04:00
Sukchan Lee
b925189c4a Release v2.0.15 2020-10-05 14:12:35 -04:00
Sukchan Lee
30b7f7669e rollback v2.0.11 2020-10-05 14:06:17 -04:00
Sukchan Lee
83702e8f1b Update document for v2.0.13 2020-10-03 22:48:40 -04:00
Sukchan Lee
dd063ba2cf Release v2.0.13 2020-10-03 22:46:54 -04:00
Sukchan Lee
6e45ec6f39 rollback to the v2.0.11 2020-10-03 22:38:47 -04:00
Sukchan Lee
9c67459481 re-order packet buffer clear #568 2020-10-03 21:18:08 -04:00
Sukchan Lee
f642cc0389 License update 2020-10-02 11:00:51 -04:00
Sukchan Lee
71fa610a8e Add assert for not supporting feature 2020-10-02 10:52:02 -04:00
Sukchan Lee
8ba3d89b8d rollback it 2020-10-01 22:06:36 -04:00
Sukchan Lee
d58024247c for supporting Ubuntu(focal/groovy) 2020-10-02 01:35:31 +00:00
Sukchan Lee
a513c3e6ec Update document for v2.0.12 2020-10-01 13:55:29 -04:00
Sukchan Lee
ced8e661be Release v2.0.12 2020-10-01 13:51:54 -04:00
Sukchan Lee
1129440061 Fix the warning 2020-10-01 13:37:23 -04:00
Sukchan Lee
a3fa0d8362 fix the warning 2020-10-01 13:35:06 -04:00
Sukchan Lee
88399da5b6 Fix release access bearer #592 2020-10-01 13:27:58 -04:00
Sukchan Lee
b6395b870e Update troubleshot document for #591 2020-09-29 21:35:23 -04:00
Sukchan Lee
72d1226c05 Apply open5gs coding style 2020-09-29 07:04:22 -04:00
Supreeth Herle
a735aa1521 Add Vendor-Specific-Application-Id in CER of SMF to advertise Gx application (#590) 2020-09-29 06:56:49 -04:00
Sukchan Lee
51b16a865b update it 2020-09-29 00:50:39 -04:00
Sukchan Lee
51f00a97bb update it 2020-09-29 00:48:49 -04:00
Sukchan Lee
f4f6d78c87 update README.md 2020-09-29 00:47:57 -04:00
Sukchan Lee
85d2647308 Update license 2020-09-29 00:46:52 -04:00
Sukchan Lee
25ab8d09ac Update REAMDE.md 2020-09-28 23:50:46 -04:00
Sukchan Lee
6df9356c79 Update licensing 2020-09-28 23:48:49 -04:00
Supreeth Herle
a9ad43a4ef Add Vendor-Specific-Application-Id in CER for advertising the diameter applications supported (#589)
* Add Vendor-Specific-Application-Id in CER of PCRF

Not advertising a Vendor-Specific-Application-Id in CER may result in
Diameter Peer rejecting the CER with a DIAMETER_NO_COMMON_APPLICATION error

* Add Vendor-Specific-Application-Id in CER of HSS and MME

Not advertising a Vendor-Specific-Application-Id in CER may result in
Diameter Peer rejecting the CER with a DIAMETER_NO_COMMON_APPLICATION error
2020-09-28 20:25:36 -04:00
Björn
e2d682d142 make webui listen on 0.0.0.0 (#587) 2020-09-26 09:13:46 -04:00
Sukchan Lee
5a7e5150a5 update width 2020-09-25 22:01:01 -04:00
Sukchan Lee
89174153e3 NextEPC is added to specical sponsor 2020-09-25 21:58:17 -04:00
Sukchan Lee
dae7218a35 Update document for v2.0.11 2020-09-24 22:22:33 -04:00
Sukchan Lee
5b1c9c812a Relase v2.0.11 2020-09-24 22:20:11 -04:00
Sukchan Lee
cb1bb8b2c5 change number of packet buffer in SGW-U/UPF 2020-09-24 21:39:34 -04:00
Sukchan Lee
07a38791b9 remove STATIC_ASSERT 2020-09-24 21:31:40 -04:00
Sukchan Lee
3554419d97 Fix the connection refused bug [#568, #551] 2020-09-24 21:29:48 -04:00
Sukchan Lee
dee14f84af Update port number for MME-S11 for [#579] 2020-09-24 13:37:20 -04:00
Sukchan Lee
b63073cd56 Fix the typo error #577 2020-09-23 08:59:52 -04:00
Sukchan Lee
101cc04459 Update document for port number #575 2020-09-23 01:00:27 -04:00
Sukchan Lee
3f4c624ef6 Release v2.0.10 2020-09-22 21:27:30 -04:00
Sukchan Lee
8c7d401636 fix the bug OGS_ADDR crash [#551] 2020-09-22 21:20:13 -04:00
Sukchan Lee
529e765b96 Update document for v2.0.9 2020-09-22 14:14:02 -04:00
Sukchan Lee
788194c220 Release v2.0.9 2020-09-22 14:10:41 -04:00
Sukchan Lee
ff642e0f3a Fix the crash bug for #551 2020-09-22 14:03:45 -04:00
Kenny Barlee
ede4282389 fix for SMF nr_cell_id selection (#574) 2020-09-22 13:31:13 -04:00
Sukchan Lee
62d95be036 Add EMM/GMM handler in exception state [#569] 2020-09-22 13:27:58 -04:00
Sukchan Lee
6dace84232 Release v2.0.8 again 2020-09-22 00:50:21 -04:00
Sukchan Lee
f45f948979 Oops! ogs_assert to ogs_expect_or_return 2020-09-22 00:44:50 -04:00
Sukchan Lee
9a1ba4244d Re-release v2.0.8 2020-09-21 23:13:00 -04:00
Sukchan Lee
9c773014b0 Fix the more bug 2020-09-21 23:07:08 -04:00
Sukchan Lee
badf629f60 Update document for v2.0.8 2020-09-21 22:47:14 -04:00
Sukchan Lee
3d0fdd1667 Release v2.0.8 2020-09-21 22:42:59 -04:00
Sukchan Lee
b12af9275f Fix the bug for various assert [#551] 2020-09-21 22:26:55 -04:00
Sukchan Lee
d148012d82 Fix the MME crash #551 2020-09-21 20:06:41 -04:00
Sukchan Lee
d73ff77031 We cannot initialize the state in all cases. [#569]
In TS24.501 Ch 5.5.1.3.8 Abnormal cases on the network side

d) REGISTRATION REQUEST with 5GS registration type IE set to
"mobility registration updating" or "periodic registration updating"
received after the REGISTRATION ACCEPT message has been sent and
before the REGISTRATION COMPLETE message is received.

Since, we have to do this special case, it is desirable
to handle it directly inside the state(gmm-sm.c).
2020-09-21 14:37:17 -04:00
Sukchan Lee
87077c91cb Add missing timer [#569] 2020-09-21 11:08:41 -04:00
Sukchan Lee
65d1ac1718 Fix TFT bug in Bearer resource modification [#338] 2020-09-21 00:33:36 -04:00
Sukchan Lee
f5601a95f7 Fix semantic error in packet filter [#338]
<DOWNLINK>
RX : permit out from <P-CSCF_RTP_IP> <P-CSCF_RTP_PORT> to <UE_IP> <UE_PORT>
GX : permit out from <P-CSCF_RTP_IP> <P-CSCF_RTP_PORT> to <UE_IP> <UE_PORT>
PFCP : permit out from <P-CSCF_RTP_IP> <P-CSCF_RTP_PORT> to <UE_IP> <UE_PORT>
RULE : Source <P-CSCF_RTP_IP> <P-CSCF_RTP_PORT> Destination <UE_IP> <UE_PORT>
TFT : Local <UE_IP> <UE_PORT> REMOTE <P-CSCF_RTP_IP> <P-CSCF_RTP_PORT>

<UPLINK>
RX : permit in from <UE_IP> <UE_PORT> to <P-CSCF_RTP_IP> <P-CSCF_RTP_PORT>
GX : permit out from <P-CSCF_RTP_IP> <P-CSCF_RTP_PORT> to <UE_IP> <UE_PORT>
PFCP : permit out from <P-CSCF_RTP_IP> <P-CSCF_RTP_PORT> to <UE_IP> <UE_PORT>
RULE : Source <UE_IP> <UE_PORT> Destination <P-CSCF_RTP_IP> <P-CSCF_RTP_PORT>
TFT : Local <UE_IP> <UE_PORT> REMOTE <P-CSCF_RTP_IP> <P-CSCF_RTP_PORT>
2020-09-20 23:35:10 -04:00
Sukchan Lee
cc873269a4 Reorder debian changelog for v2.0.7 2020-09-18 22:02:39 -04:00
Sukchan Lee
781472c16f Update document v2.0.7 2020-09-18 22:01:49 -04:00
Sukchan Lee
8416ddd5ac Release v2.0.7 2020-09-18 21:57:02 -04:00
Sukchan Lee
4acb333e68 suppress socket error message if EAGAIN [#568] 2020-09-18 21:46:49 -04:00
Sukchan Lee
7071adf9f9 Merge branch 'master' of https://github.com/open5gs/open5gs 2020-09-18 19:40:11 -04:00
Sukchan Lee
7ae1600e04 Add exception handling for #568
If packet buffer is exhausted, the packet is sliently discarded
2020-09-18 19:39:02 -04:00
Sukchan Lee
bbe29f7456 Add exception handling for #568
If packet buffer is exhausted, the packet is sliently discarded
2020-09-18 14:55:02 -04:00
Sukchan Lee
e828adfba4 Add troubleshoot for #567 2020-09-17 09:45:24 -04:00
Sukchan Lee
b67cd1e3e1 Add stale for github issue/PR 2020-09-16 21:09:13 -04:00
Supreeth Herle
b9b6f24d0d Update VoLTE tutorial (#566) 2020-09-16 08:12:34 -04:00
Sukchan Lee
0f1085b8c9 Oops! mis-typo 2020-09-15 20:56:35 -04:00
Sukchan Lee
96ab327dea Update document for v2.0.6 2020-09-15 12:49:57 -04:00
Sukchan Lee
08ac13ee22 Release v2.0.6 2020-09-15 12:43:08 -04:00
Sukchan Lee
d6f0b5f658 remove debug message for PDN-type error 2020-09-14 21:21:11 -04:00
Sukchan Lee
8c4a507858 Update Dockerfile for debian 2020-09-14 21:13:45 -04:00
Sukchan Lee
1b5dd48142 Add more delay for test program 2020-09-14 03:37:31 +00:00
Sukchan Lee
8f91273970 update usrsctp with new revision 2020-09-13 23:25:10 -04:00
Sukchan Lee
c6718b96bb Add security protect [#554] 2020-09-13 22:31:28 -04:00
Sukchan Lee
818f3139d4 memory optimization [#549]
1. number of packet buffer : 65,536 -> 32,768
2. Packet SDU Size : 8,192 -> 2,048
3. Stabilize test program
2020-09-13 22:06:13 -04:00
Sukchan Lee
d4a9c140a8 Change AMF configuration : plmn -> plmn_support
For example,

amf:
    plmn_support:
      - plmn_id:
          mcc: 901
          mnc: 70
        s_nssai:
          - sst: 1
2020-09-12 13:48:51 -04:00
Sukchan Lee
ce8d10e4fc rollback [#565] 2020-09-12 12:16:08 -04:00
Sukchan Lee
ef3b84f3f6 Check Requested NSSAI during registration [#554] 2020-09-11 22:42:38 -04:00
Sukchan Lee
9eea6fe583 rollback commit 6124908133 2020-09-11 20:38:36 -04:00
Sukchan Lee
344dad1e8a Try to troubleshoot [#565] 2020-09-11 10:22:31 -04:00
Sukchan Lee
19a2c7ecb8 Update document for v2.0.5 2020-09-10 22:15:00 -04:00
Sukchan Lee
5048b4fb9d Release v2.0.5 2020-09-10 22:00:43 -04:00
Sukchan Lee
edf83b37fa Add debug message for issues [#551] 2020-09-10 21:50:20 -04:00
Sukchan Lee
519de9ef68 Fix the bug GUTI not present case [#551] 2020-09-10 14:04:26 -04:00
Sukchan Lee
6124908133 Handle UL NAS Transport [#553]
o Tester
1. UE registered to 5GS and can connect to internet.
2. Turn off the UE and turn on the UE immediately
3. UE send PDU session request message
   without sending registration complete

o Analysis Result
1. UE sends registration request with unknown GUTI
2. AMF send registration accept without GUTI
3. UE skips the registration complete

So, we need the handler UL NAS Transport in this state.
2020-09-10 10:51:18 -04:00
Sukchan Lee
feaec0eaa9 fix the coding within 80 columns 2020-09-09 18:18:39 -04:00
Kenny Barlee
242a352a1c Change PFCP node search order, fix typo, add feature to disable RR for a node (#560)
* change search order to APN/cellID/TAC

* typo in SGWC default config

* Feature to disable RR for particular node
2020-09-09 18:13:58 -04:00
Sukchan Lee
228dd34e5d Fix the coding indentation 2020-09-09 08:36:57 -04:00
Kenny Barlee
56a866c46e Fix for SGWC and SMF round robin selection - select only PFCP associated SGWU/UPF nodes (#556) 2020-09-09 08:28:19 -04:00
Sukchan Lee
8bb0a168f8 Update document for v2.0.4 2020-09-08 22:47:20 -04:00
Sukchan Lee
6ad1c3399e Release v2.0.4 2020-09-09 02:40:54 +00:00
Sukchan Lee
7f9f6fc3f2 rollback ogs_expect() [#551] 2020-09-08 22:17:13 -04:00
Sukchan Lee
c3d66085fc Document update for v2.0.3 2020-09-07 22:48:55 -04:00
Sukchan Lee
f26b1205f4 Release v2.0.3 2020-09-08 02:41:57 +00:00
Sukchan Lee
a2f3914a05 fix assertion E_RABSetupListBearerSURes [#552] 2020-09-07 22:15:59 -04:00
Sukchan Lee
160490483a Fix the many UEs issues [#551] 2020-09-07 22:02:45 -04:00
Sukchan Lee
2579a1779b Update document v2.0.2 2020-09-07 00:38:14 -04:00
Sukchan Lee
804eeb83a8 Release v2.0.2 2020-09-07 00:26:26 -04:00
Sukchan Lee
4d023d0de0 fix overflow bug in the packet memory pool 2020-09-06 23:53:38 -04:00
Sukchan Lee
adf0545159 Remove redundant log message [#551] 2020-09-06 22:51:07 -04:00
Sukchan Lee
4d2b1f7e76 fix the SGW-C crash 2020-09-06 22:41:26 -04:00
Sukchan Lee
a46be09a6f Fix the MME assertion bug [#551] 2020-09-06 22:09:24 -04:00
Sukchan Lee
b499b585d2 Add more delay for test code 2020-09-06 21:41:10 -04:00
Sukchan Lee
6bbc2047d0 Add exception handling for #551
09/07 00:43:07.545: [mme] FATAL: mme_bearer_find_or_add_by_message:
Assertion `sess' failed. (../src/mme/mmecontext.c:2998)
2020-09-06 21:34:17 -04:00
Sukchan Lee
d0f7ec286b move image source 2020-09-05 22:39:29 -04:00
Sukchan Lee
bb1304a6ba Add open5gs logo 2020-09-05 22:20:00 -04:00
Sukchan Lee
2d832b6c82 Update manual especially for new people 2020-09-05 21:00:44 -04:00
Sukchan Lee
5ab5ab4f01 Document release v2.0.1 2020-09-05 20:47:35 -04:00
Sukchan Lee
77de83099d Release v2.0.1 2020-09-05 19:42:23 -04:00
Sukchan Lee
d544125943 PDN connectivity in disconnect state [#486]
After the PDN disconnect failed, there was a problem
that the PDN connectivity was not possible again.

PDN connectivity has been modified to work properly
even in the same situation as 401x2 pcap.
2020-09-05 15:36:18 -04:00
Sukchan Lee
0ef1769583 ogs_exepct() calls abort() temporarily [#472] 2020-09-05 14:25:05 -04:00
Sukchan Lee
d02aa8b21b Attempt to fix #548 problem 2020-09-04 23:36:51 -04:00
Sukchan Lee
054c3c0a63 Add test code for P-CSCF [#535] 2020-09-04 09:58:05 -04:00
Sukchan Lee
4bdbf33c3d Oops! update duration for S1 holding timer [#546] 2020-09-03 22:10:55 -04:00
Sukchan Lee
e86b1043c2 5G Core: Maintaining Old NAS signalling [#546] 2020-09-03 22:00:26 -04:00
Sukchan Lee
3c3bac6812 4G/EPC: Maintaining Old NAS signalling [#546] 2020-09-03 19:59:00 -04:00
Sukchan Lee
d4f5b7417d Fix the link 2020-09-03 12:51:01 -04:00
Sukchan Lee
b2814c0ded fix english grammar 2020-09-01 23:21:41 -04:00
Sukchan Lee
f56e92ee3b Include 5G Core NF in the Log rotate [#542] 2020-09-01 23:10:49 -04:00
Sukchan Lee
887a0a10d3 Fixing the problem of the test program 2020-09-01 23:04:35 -04:00
Sukchan Lee
340ef8cc6f update document image size 2020-09-01 12:49:11 -04:00
Sukchan Lee
618bb9740c update it 2020-09-01 12:35:56 -04:00
Sukchan Lee
7fac23b15d update it 2020-09-01 11:00:42 -04:00
Sukchan Lee
885206f04f Add a sponsor 2020-09-01 10:53:04 -04:00
Sukchan Lee
e073934b15 Add sponsor logo 2020-09-01 10:46:28 -04:00
Sukchan Lee
4d9d10ee1e Oops! rollback previous commit 2020-09-01 08:06:30 -04:00
Sukchan Lee
67e7dbf44f update it 2020-09-01 11:51:48 +00:00
Sukchan Lee
b71e56c305 Fix errata [#536] 2020-09-01 00:46:39 -04:00
Sukchan Lee
111536ea9a Fix the test program [#536] 2020-08-31 22:41:39 -04:00
Sukchan Lee
bc476c2e0e Instead of OGS_NEXT_ID, Use memory pool-index 2020-08-29 23:27:54 -04:00
Sukchan Lee
015a462ce9 Fix the bug for multiple Video Call (#535) 2020-08-29 10:53:02 -04:00
Sukchan Lee
0d676c4057 Fix UPF/SGW-U selection bug 2020-08-26 21:03:15 -04:00
Sukchan Lee
83388cf504 Oops! MacOSX is not working due to previous commit!
So I've fixed it right now.
2020-08-26 09:53:37 -04:00
Sukchan Lee
18c483950c Change Number of UEs usage [#533]
- Set the number of UEs in units of AMF/MME instead of gNB/eNB.
- See default value as shown below
    Number of UEs per AMF/MME : 4,096
    Number of gNB/eNB per AMF/MME : 32
2020-08-25 23:05:01 -04:00
Sukchan Lee
ea0f024b93 Remove SGW/PGW configuration 2020-08-22 19:33:48 -04:00
Sukchan Lee
b412e51b83 Remove SGW and PGW 2020-08-22 13:21:37 -04:00
Sukchan Lee
aca41f6668 srsenb pcapng update with PFCP 2020-08-22 13:06:59 -04:00
Sukchan Lee
db488bc4dd Update Document for v2.0.0 2020-08-22 12:44:11 -04:00
Sukchan Lee
cfd59c7cee Add release notes 2020-08-22 00:26:49 -04:00
Sukchan Lee
de46746a11 Refer the diagram provided by @kbarlee in #528 2020-08-22 00:23:33 -04:00
Sukchan Lee
a2199b81fa Release note v2.0.0 2020-08-22 00:09:36 -04:00
Sukchan Lee
23c57b84b8 Update debian changelog 2020-08-21 23:44:31 -04:00
Sukchan Lee
8e048be082 Release v2.0.0 2020-08-21 23:33:45 -04:00
Sukchan Lee
00a66cb1da Update sponsor button 2020-08-19 13:17:22 -04:00
Sukchan Lee
f70b8a2972 Enable Sponsor button 2020-08-14 12:18:25 -04:00
Sukchan Lee
b7faf39633 foot title is changed 2020-08-13 21:36:28 -04:00
Sukchan Lee
aa842bc556 Change Github link 2020-08-13 21:35:33 -04:00
Sukchan Lee
6e6b037d28 Rollback github repository to open5gs 2020-08-13 21:28:37 -04:00
Sukchan Lee
9b64944375 Dealy set to 500ms for test program (#529) 2020-08-14 01:10:40 +00:00
Sukchan Lee
bd72480303 Squashed commit of the following:
commit 58d790f4916319b274c2c8a82b6226dc3f79258e
Author: Sukchan Lee <acetcom@gmail.com>
Date:   Thu Aug 13 22:05:38 2020 +0000

    udpate it

commit 5c06b8fa9114dc7391208d523cf850a3ca3f78d5
Author: Sukchan Lee <acetcom@gmail.com>
Date:   Thu Aug 13 16:01:02 2020 +0000

    update it

commit 19909f9d9e20f429bd06300e9ba2cfaef855c9b2
Author: Sukchan Lee <acetcom@gmail.com>
Date:   Thu Aug 13 15:52:13 2020 +0000

    update it

commit b7f2bb3681aa512dcb621e4662c90d7277863707
Author: Sukchan Lee <acetcom@gmail.com>
Date:   Thu Aug 13 15:48:18 2020 +0000

    update it

commit 53f3004467a81a0702d9c1ee3e29f4d4d29ff22c
Author: Sukchan Lee <acetcom@gmail.com>
Date:   Thu Aug 13 15:32:30 2020 +0000

    update it

commit e295ec4537c443cd6253592a9e31e151fc0bb827
Author: Sukchan Lee <acetcom@gmail.com>
Date:   Thu Aug 13 14:50:23 2020 +0000

    update it

commit 435edd22ba8118b31855b88d6974d9f757758da2
Author: Sukchan Lee <acetcom@gmail.com>
Date:   Thu Aug 13 14:39:43 2020 +0000

    update it

commit 49872a99f13476bd73a44150d18c66ad713ef699
Author: Sukchan Lee <acetcom@gmail.com>
Date:   Thu Aug 13 14:36:30 2020 +0000

    update it
2020-08-13 19:26:17 -04:00
Sukchan Lee
dc7abdf9bf Avoid the GPT-U address conflict in test program 2020-08-12 21:40:56 -04:00
Sukchan Lee
19b9360687 Split SGW into SGW-C/SGW-U 2020-08-12 20:31:22 -04:00
Sukchan Lee
9f24b7f295 Fix the AMF bug and add TLV log [#521] 2020-08-07 11:57:17 -04:00
Sukchan Lee
bcffdd823e Re-factoring 5GC for solving crash issue 2020-08-02 23:22:41 -04:00
Sukchan Lee
4d5b38c8f4 Fix the AMF crash [#521] 2020-07-30 22:10:20 -04:00
Sukchan Lee
2b2c51722f fix the 5GC test program 2020-07-29 23:26:12 -04:00
Sukchan Lee
c72414481e Check last session 2020-07-28 23:05:51 -04:00
Sukchan Lee
94b44a3dd0 Fix the AMF bug for double free 2020-07-28 22:35:43 -04:00
Sukchan Lee
7afb914b9a Add more log for 5GC 2020-07-27 21:05:11 -04:00
Sukchan Lee
7071d32518 Message Wait Timer default set to 2 seconds [#512] 2020-07-27 00:20:01 -04:00
Sukchan Lee
24a4df3691 fix SMF crash [#512] 2020-07-26 23:10:53 -04:00
Sukchan Lee
0cabf9de11 Synchronize all timers [#512] 2020-07-26 21:02:40 -04:00
Sukchan Lee
1d61c94f54 Oops! change debug level 2020-07-26 14:56:34 -04:00
Sukchan Lee
06a5566128 Add NRF debug/trace for finding crash [#512] 2020-07-26 14:54:30 -04:00
Sukchan Lee
ff56388b3e [#510] fix the PFD management request 2020-07-23 13:47:41 -04:00
Sukchan Lee
96396739af [#511] 5GC Re-registration bug is fixed 2020-07-23 11:21:29 -04:00
Sukchan Lee
fa262ded90 Fix the BUG - AMF pointer in GUTI [#508] 2020-07-21 15:14:07 -04:00
Sukchan Lee
50079a53b1 Remove MongoDB access in NRF 2020-07-20 09:20:33 -04:00
Sukchan Lee
fae425b539 Fix typo in VoLTE docs [#503] 2020-07-20 08:09:59 -04:00
Sukchan Lee
661da4e034 5GC UPF selection is added 2020-07-19 21:42:58 -04:00
Sukchan Lee
9b3176ca4a QFI is added 2020-07-17 23:29:45 -04:00
Sukchan Lee
4db0f80374 Permit email technical supporting 2020-07-16 11:02:11 -04:00
Sukchan Lee
760f052f01 Transfer github repository open5gs to acetcom 2020-07-13 23:40:16 -04:00
Sukchan Lee
c22ef51e01 Finished on version 2020-07-13 21:53:41 -04:00
Sukchan Lee
347e0d7b2f refine meson git version 2020-07-13 01:07:27 -04:00
Sukchan Lee
4dd113ac7b Add git version 2020-07-13 00:18:29 -04:00
Sukchan Lee
a80f5cb77c Release v1.3.0 2020-07-10 17:49:33 -04:00
Sukchan Lee
dbb7ae2de9 Release v1.3.0 2020-07-10 17:27:45 -04:00
Sukchan Lee
b54ab2923c Update document(v1.3.0) 2020-07-10 16:50:23 -04:00
Sukchan Lee
fdfce08b68 Fix the compile error [#499] 2020-07-10 14:59:29 -04:00
Sukchan Lee
f78ca3c483 remove unnecessary ASN 2020-07-09 18:43:55 -04:00
Harald Welte
f42b45a061 fix compilation warnings/errrors with microhttpd >= v0.97.1 (#498)
Unfortunately upstream microhttpd has changed their callback function
prototypes in an API-incompatible way.  At least if you build with
-Werror, gcc will fail due to non-matching prototypes.

Work around this by using a typedef which uses the proper return type
depending on the microhttpd version used.

Closes: #497

Co-authored-by: Harald Welte <laforge@osmocom.org>
2020-07-09 17:56:48 -04:00
Sukchan Lee
7bb1c7055f Remove ACK in configuration update [#487] 2020-07-09 17:34:41 -04:00
Sukchan Lee
997b716cda Change asn1c from velichkov to mounse07410 [#492] 2020-07-09 16:43:56 -04:00
Sukchan Lee
d711b26dfa Update document [#495] 2020-07-09 14:40:52 -04:00
Sukchan Lee
dd67b1e533 Update Document for srsLTE [#495] 2020-07-09 09:15:44 -04:00
Sukchan Lee
a71d2ee3db refine SGW/UPF selection code 2020-07-09 01:38:09 -04:00
Sukchan Lee
8ddbb03f65 Fix WebUI Install URL in the document [#495] 2020-07-06 12:12:11 -04:00
Sukchan Lee
c7d87c9180 Fix the SMF crash bug [#487] 2020-07-03 23:14:48 -04:00
Sukchan Lee
3b0db8c384 Fix the bug for Release-16 2020-07-03 01:03:13 -04:00
Sukchan Lee
ad12949469 Add ACK in configuration upate command [#487] 2020-07-02 02:16:52 -04:00
Sukchan Lee
7343941a50 fix test code 2020-07-02 01:56:18 -04:00
Sukchan Lee
d9743286c5 Add PDU Session Release [#488] 2020-07-02 01:50:23 -04:00
Sukchan Lee
8afc4b7887 Add missing files 2020-07-01 00:25:04 -04:00
Sukchan Lee
fae342ecce Apply Release-16 in 4G EPC(S1AP,NAS,GTP) 2020-07-01 00:22:55 -04:00
Sukchan Lee
5eabfc8275 Fix to decode configuration update complete [#487] 2020-06-30 08:29:18 -04:00
Sukchan Lee
3c6711c9c8 If HSS/UDR gets MSISDN, AMF/MME -> SMF/SGW [#464] 2020-06-29 22:12:24 -04:00
Sukchan Lee
7e29e7486f Add sanity check for unexpected gNB behavior 2020-06-27 15:21:29 -04:00
Sukchan Lee
2dfeade346 All known memory problem is solved. 2020-06-27 14:28:14 -04:00
Sukchan Lee
70d02a3b8b Hotfix for Service Request in 5GC 2020-06-27 09:23:38 -04:00
Sukchan Lee
ca4ee27e84 more bug is fixed 2020-06-27 00:46:06 -04:00
Sukchan Lee
da364e03b7 Fix the document mistypo [#485] 2020-06-26 08:14:33 -04:00
Sukchan Lee
01b69e046f Bug Fixed for 5GC 2020-06-25 22:44:28 -04:00
Sukchan Lee
85555daa15 change ngKSI management policy (#482) 2020-06-25 01:06:56 -04:00
Sukchan Lee
6e84ac670d Bug fixed for 5G core 2020-06-25 00:37:29 -04:00
Sukchan Lee
d652075ab9 a couple of bug is fixed 2020-06-24 00:33:10 -04:00
Sukchan Lee
a7280c2fcb Add a guide if SMF/PGW cannot find subnet [#480] 2020-06-23 12:50:23 -04:00
Sukchan Lee
300123d990 Bug fixed for 5GC 2020-06-23 00:35:41 -04:00
Sukchan Lee
ee41a751f0 remove unnecessary code [#476] [#477] 2020-06-22 14:17:58 -04:00
Sukchan Lee
8487a2b4b3 Update configuration manual for 5GC 2020-06-22 12:29:41 -04:00
Sukchan Lee
e6ecaaa4fc Merge branch 'master' of https://github.com/open5gs/open5gs 2020-06-21 23:55:08 -04:00
Sukchan Lee
99f7b3ce35 Document update for 5GC 2020-06-21 23:54:53 -04:00
Sukchan Lee
4b906b3010 Fix the version to 1.3.0 2020-06-21 23:14:26 -04:00
Sukchan Lee
b35c2277be simple 5GC registration is done 2020-06-21 23:10:54 -04:00
Kenny Barlee
bcd02b1f33 MME: select SGW by RR,TAC,ENB_ID || SMF: select PFCP associated UPF by RR,TAC,APN,ENB_ID (re-worked) (#470)
* MME: select SGW by RR,TAC,ENB_ID
and enable round robin inside each option

* SMF: select PFCP associated UPF by RR,TAC,APN,ENB_ID
and enable round robin inside each option
2020-06-19 00:36:02 -04:00
Sukchan Lee
c54e85c5c0 Session-AMBR changes required field in WebUI 2020-06-17 21:43:16 -04:00
Sukchan Lee
dbee687a75 Add only one 5GC scenario (call-flow) 2020-06-17 01:22:28 -04:00
Sukchan Lee
20008b6a13 Update document for shared library [#445],[#463] 2020-06-11 10:30:44 -04:00
Sukchan Lee
7f19916f05 remove test random number 2020-06-07 10:56:41 -04:00
Supreeth Herle
a381c89f2e Update of VoLTE tutorial (#459)
1. Dont run the P-CSCF, I-CSCF and S-CSCF as systemctl process
2. Run all the IMS process in foreground for better debugging
3. Run all the IMS process (or atleast P-CSCF) in foreground as ROOT user and NOT SUDO - Handles non-creation of IPSec tunnel issue
2020-06-05 08:54:08 -04:00
Sukchan Lee
e514316493 Remove assert for UEContextReleaseComplete [#445] 2020-06-04 16:16:16 -04:00
Sukchan Lee
41ff775a37 Update AMBR checking [#457]
AMBR uses uplink/downlink in kbps(1000 bits per second).
2020-06-04 15:32:46 -04:00
Supreeth Herle
8702605b5f Add the modified Bearer level QoS if PCRF changes them (#457)
* Add the modified Bearer level QoS if PCRF changes them

* Add the AMBR if PCRF changes them
2020-06-04 15:12:32 -04:00
Sukchan Lee
72370ff0b2 Add AUSF, UDM, and UDR 2020-06-04 14:12:05 -04:00
Supreeth Herle
0c0241d5e5 Undo the fix provided for converting Rx to Gx Flow Description (#452)
The fix introduced in commit 768e4d9eb3 is wrong, which resulting in UE
replying with bad Semantic error for Activate Dedicated EPS Bearer Context Request. Hence, reverting back
to original implementation as its correctly doing the conversion as per 3GPP Spec. ETSI ETSI TS 129 214 V14.3.0
Section 5.3.8.
2020-05-29 10:38:55 -04:00
Nick
1494cd9fec Update View.js (#450)
Switched UL and DL values as they were reversed (DL showing UL & UL showing DL)
2020-05-26 21:02:31 -04:00
Sukchan Lee
9bfb4591ea Add MMEName in S1SetupResponse [#444] 2020-05-25 12:34:05 -04:00
Sukchan Lee
6ef5a746e5 NGSetup is added 2020-05-25 12:15:22 -04:00
Sukchan Lee
c534d47a78 add revision date 2020-05-23 00:16:21 -04:00
Sukchan Lee
68dba64d0d fix link 2020-05-23 00:09:43 -04:00
Sukchan Lee
7ba5e31c80 Update Contributor License 2020-05-23 00:03:15 -04:00
Sukchan Lee
6f6800b52e NGAP is added 2020-05-22 22:24:48 -04:00
Sukchan Lee
3c3aec340e Fix the compile error [#442] 2020-05-21 23:11:27 -04:00
Sukchan Lee
a9eaed18aa NAS-5GS is added 2020-05-21 21:24:21 -04:00
Sukchan Lee
3b19cd85cc Update license terms (#411) 2020-05-19 20:38:19 -04:00
Sukchan Lee
dbf3e17fda port configuration update [#217] 2020-05-19 15:35:41 -04:00
Sukchan Lee
1fd3f48860 Squashed commit of the following:
Fix the wrong format in nf-instance GET method
2020-05-18 23:07:41 -04:00
Sukchan Lee
d0673e3066 Added NRF 2020-05-18 17:00:37 -04:00
Sukchan Lee
46f20cc979 Fix the SMF crash [#437] 2020-05-14 13:38:26 -04:00
Sukchan Lee
4e01d270eb Use ogs_pool_alloc in diameter state #420 2020-04-27 13:08:24 -04:00
miaoski
00ec906b0c IPsec works now. Removed several lines. (#424) 2020-04-27 07:31:47 -04:00
Sukchan Lee
82eebc3b80 Rollback mme_enb_pool instead of ogs_calloc (#423) 2020-04-26 22:18:47 -04:00
Jamo
cde847c53d Fix MME crash on eNB connection when maximum number of eNBs reached (#423)
* Remove mme_enb_t pool and use enb_list instead

* Refactor S1 Setup request handler

* Implement S1 Setup Failure response when maximum number of eNBs reached
2020-04-26 21:07:09 -04:00
Sukchan Lee
e6ee163140 Update document for Release v1.2.4 2020-04-26 18:41:12 -04:00
Sukchan Lee
ae75f43a88 Initial proposal CUPS using PFCP 2020-04-26 15:36:05 -04:00
Sukchan Lee
37a69e6332 Release v1.2.4 2020-04-26 15:22:55 -04:00
Sukchan Lee
4ceae8857d Docker script update for Ubuntu 20.04 2020-04-26 15:04:07 -04:00
Sukchan Lee
f0a405f17c Change MIT License for NAS message (#411) 2020-04-24 08:52:14 -04:00
Nick
7c47a8901a Update 02-building-open5gs-from-sources.md
Few minor corrections;
 * Meson installed via apt
 * Directory corrections in regards to where to go on the system
 * Added copying the binaries to /usr/bin
2020-04-20 12:07:45 +10:00
Sukchan Lee
c6ea286fe2 fix the PGW segfault on DeleteSessionRequest (#417) 2020-04-19 12:27:52 -04:00
Sukchan Lee
b50c77c9f8 Update Document (#415) 2020-04-19 10:15:13 -04:00
Supreeth Herle
7aae20e04a Handle forcing of IPv4 or IPv6 PDN connect using the Web UI (#415) 2020-04-19 00:05:04 -04:00
miaoski
8323114945 Use open5gs/open5gs and add description of setting APN.type to IPv4 (#414)
* Adopt tutorial format to dockerized VoLTE lab

* Fixed several lines according to Supreeth's feedback

* add PCAP analysis to successful calls

* set APN type to IPv4

* remove redundant APN screenshots
2020-04-18 23:52:26 -04:00
Sukchan Lee
c26d525488 delete gtp buffer in gtp_ping 2020-04-18 13:39:25 -04:00
Sukchan Lee
74d631aaaa rollback for checking gx message (#403) 2020-04-18 13:29:42 -04:00
Sukchan Lee
2e784a331d cause_value should be initialed with ACCEPT 2020-04-18 13:21:18 -04:00
Sukchan Lee
5009876c16 P-GW respond to DIAMETER error from PCRF(#403) 2020-04-18 13:07:06 -04:00
Sukchan Lee
63809a3677 Display dockerized-VoLTE on the main (#412, #413) 2020-04-18 09:54:32 -04:00
miaoski
713693ee78 Add PCAP analysis to successful calls (#413)
* Adopt tutorial format to dockerized VoLTE lab

* Fixed several lines according to Supreeth's feedback

* add PCAP analysis to successful calls
2020-04-18 09:13:17 -04:00
miaoski
c00f67caab Adopt tutorial format to dockerized VoLTE lab (#412)
* Adopt tutorial format to dockerized VoLTE lab

* Fixed several lines according to Supreeth's feedback
2020-04-18 08:31:29 -04:00
Sukchan Lee
3feddd5424 Fix P-GW crashed without PCRF (#402) 2020-04-17 21:36:26 -04:00
Sukchan Lee
2b69283a81 Fix the bug when only one DNS is configured (#404) 2020-04-10 22:41:48 -04:00
Sukchan Lee
88981a570d Update Document 2020-04-10 22:12:04 -04:00
Sukchan Lee
23251fa6e3 Update Document 2020-04-10 21:42:43 -04:00
Sukchan Lee
a1569e5d86 Add optional function for TAI or ECGI(#399) 2020-04-09 10:52:21 -04:00
Sukchan Lee
5f7d1c5d90 re-formatting 2020-04-08 19:54:09 -04:00
Sukchan Lee
0789216201 Oops! it's mistake 2020-04-08 19:51:21 -04:00
Sukchan Lee
d84f79f4f2 Change ULI to optional filed in P-GW (#399) 2020-04-08 19:44:47 -04:00
Sukchan Lee
235d61a2ea Fix the crash in SGW selection mode 2020-04-08 19:27:54 -04:00
Supreeth Herle
3bb763292a Minor doc improvement (#401)
- Added more info to disable VoIP calling so that it doesnt intefere with VoLTE call test
- Checkout 5.3 branch of kamailio (better for IPSec requiring phones)
2020-04-08 07:55:49 -04:00
Sukchan Lee
2e7d19a7f1 Document Update for v1.2.3 2020-04-04 18:20:40 -04:00
Sukchan Lee
e13a7a1161 Release v1.2.3 2020-04-04 18:12:18 -04:00
Sukchan Lee
9b9cad288e Hotfix for handling MTU size (#398) 2020-04-04 17:49:58 -04:00
Sukchan Lee
7b5f9520d9 check auth length for sanity 2020-04-02 20:43:22 -04:00
Sukchan Lee
c7856bf3b2 fix mistypo 2020-03-30 16:24:16 -04:00
Harald Welte
27b3bec169 various documentation improvements (#396)
* FAQ: improve Language of the FAQ

* FAQ: elaborate bit more on commercial support; change contact address

* docs: Esnure mongodb is started at system boot

* docs: Language improvements + spelling fixes

* docs: If we use --prefix=`pwd`/install, the configs are not in /etc

* docs: Further clarifications

Co-authored-by: Harald Welte <laforge@osmocom.org>
2020-03-30 16:21:02 -04:00
Sukchan Lee
ef8d7d5d34 Update document for troubleshooting 2020-03-27 11:34:35 -04:00
Sukchan Lee
e7b40a3a09 Release Notes for v1.2.2 2020-03-25 20:45:44 -04:00
Sukchan Lee
cbc557f51a Release v1.2.2 2020-03-25 23:53:55 +00:00
Sukchan Lee
557d9532b0 Add GTPv2 ECHO REQ/RSP Message (#378)
This is only handling ECHO REQ/RSP message.
The related function is not implemented at this point.
2020-03-25 17:43:02 -04:00
Sukchan Lee
9c150253d9 fix the #384 issue bug
If Initial UE Message with Service Request is received and
   There is no Session Context
     (e.g due to UEContextReleaseRequest or InitialContextSetupFailure)
MME will sends Service Reject NAS message.
2020-03-25 14:02:06 -04:00
Sukchan Lee
1225d1f1d5 Fix the missing for debian package (#388) 2020-03-22 20:53:13 +00:00
Sukchan Lee
db13836426 Rename dbconf.sh to open5gs-dbctl (#388) 2020-03-22 16:44:45 -04:00
Spencer Sevilla
3d6a84ca85 Add dbconf to hss Debian package (#388)
* add dbconf.sh to package installation as open5gs_db

* left out an end quote

Co-authored-by: Spencer Sevilla <sevilla@cs.washington.edu>
2020-03-22 16:21:12 -04:00
Sukchan Lee
0521d9fccf Support Debian(Bluster) with MongoDB-ORG(#377) 2020-03-22 13:48:20 -04:00
rafael2k
df60fbd0a5 Make it installable in Debian Buster with MongoDB-ORG packages. (#377)
Co-authored-by: Rafael Diniz <rafael@rhizomatica.org>
2020-03-22 13:46:30 -04:00
EugeneBogush
5eb1c87e43 fix for systemd reload (#393)
* Update open5gs-hssd.service.in

impleneted 'systemd reload ' open5gs-*

* Update open5gs-mmed.service.in

* Update open5gs-pcrfd.service.in

* Update open5gs-pgwd.service.in

* Update open5gs-sgwd.service.in
2020-03-22 05:34:09 +09:00
miaoski
0796ce3d7e fix trivial typos in comments (#387)
Co-authored-by: miaoski <miaoski@gmail.com>
2020-03-15 07:49:46 -04:00
Nick
44455d55b3 Updated readme for PythonAPI to include UpdateSubscriber 2020-03-15 17:28:50 +11:00
Nick
85dbeb05cc Added editing subscribers with PythonAPI Interface
Using the UpdateSubscriber call. Input variables are the IMSI and the subscriber data, which is the same as the outputted data of GetSubscriber.
2020-03-15 17:28:17 +11:00
Sukchan Lee
1e56141d1e Add socknode_add() [#367] 2020-02-28 20:26:32 +09:00
Sukchan Lee
bf751dcee7 Add a space line below mtu config (#376) 2020-02-25 20:44:50 +09:00
Sukchan Lee
8472aa3743 Add MTU as default in configuration (#376) 2020-02-25 20:34:51 +09:00
Supreeth Herle
3f2ad4ca08 Add feature to provide MTU size to be advertised in PCO options (#376)
This feature can be used for provisioning a limit on the size of the packets
sent by the MS to avoid packet fragmentation in the backbone network between
the MS and the GGSN/PGW and/or across the (S)Gi reference point) when some
of the backbone links does not support packets larger then 1500 octets
(ETSI TS 123 060 V15.5.0 Annex C)

Example of pgw.yaml to use this feature:

logger:
    file: @localstatedir@/log/open5gs/pgw.log

parameter:

pgw:
    freeDiameter: @sysconfdir@/freeDiameter/pgw.conf
    gtpc:
      - addr: 127.0.0.3
      - addr: ::1
    gtpu:
      - addr: 127.0.0.3
      - addr: ::1
    ue_pool:
      - addr: 10.45.0.1/16
      - addr: cafe::1/64
    dns:
      - 8.8.8.8
      - 8.8.4.4
      - 2001:4860:4860::8888
      - 2001:4860:4860::8844
    mtu: 1400
2020-02-25 20:13:52 +09:00
Sukchan Lee
6f97e32dca Link Kubernetes Open5GS Deployment (#375) 2020-02-25 19:27:45 +09:00
Harald Welte
f2df9db68c debian/control: Add build dependency to 'git' (#373)
meson seems to need the 'git' program available at build time:
	lib/diameter/common/meson.build:36:0: ERROR: Git program not found.
2020-02-24 00:52:34 +09:00
Sukchan Lee
787d8ebe01 change test code (#369) 2020-02-17 11:13:36 +09:00
Spencer Sevilla
24e9def813 change 45.45.0.1 -> 10.45.0.1 (#369) 2020-02-17 10:41:16 +09:00
Spencer Sevilla
baad38cab3 PGW service must depend on systemd-networkd 2020-02-16 15:21:23 +09:00
Sukchan Lee
c3627e6852 fix indentation (#367) 2020-02-13 10:58:10 +09:00
Supreeth Herle
4f29b912e8 Add feature to provide SGW GTU (S1) address to be advertised inside S1AP messages. (#367)
This feature is useful in scenarios where SGW is run inside in a container or openstack vm i.e. behind 1-to-1 mapping NAT.
In docker/openstack environment, we often have 1-to-1 mapped NAT IP address in order for eNB to reach SGW.
But, this 1-to-1 mapping NAT IP address is not seen on SGW host and hence non UDP socket bindable.
Since SGW can only bind to IP address visible in it's host (usually a private IP beind a NAT),
it advertises the same to UE in S1AP message resulting in eNB not able to reach SGW on Uplink. This commit solves this issue
by providing a means to advertise a different IP address than the one SGW UDP socket is bound to.

Example of sgw.yaml to use this feature:

logger:
    file: /root/open5gs/install/var/log/open5gs/sgw.log
    level: debug

parameter:
    no_ipv6: true

sgw:
    gtpc:
      addr: 127.0.0.2
    gtpu:
      dev: ens3
      advertise_addr:
        - 172.24.15.30
        - fe80::f816:3eff:fe15:fe34
2020-02-13 10:51:06 +09:00
Sukchan Lee
34384de197 Add missing document 2020-02-07 15:56:35 +09:00
Sukchan Lee
44ff12aa03 Update document 2020-02-07 15:51:36 +09:00
Sukchan Lee
c639569c91 Fix the WebUI installation script for Debian 2020-02-07 14:26:29 +09:00
Sukchan Lee
82e27f3ad9 Release v1.2.1 2020-02-05 20:00:18 +09:00
Sukchan Lee
cd6d51ad65 Fix debian package 2020-02-05 15:31:30 +09:00
Sukchan Lee
7df3d0509b Oops! remove the assert (#358) 2020-01-30 19:14:59 +09:00
Sukchan Lee
9a3d5b50fc Fix the PGW crash (#358) 2020-01-30 19:14:07 +09:00
Sukchan Lee
e9a8944189 Fix the bug in 'Delete existing TFT' (#358) 2020-01-30 01:45:54 +09:00
Sukchan Lee
307cf190c4 Use delete bearer request (#358)
If UE sends bearer resource modification request with 'all TFT are deleted',
PGW initiates 'Delete Bearer Request'.
2020-01-30 01:38:26 +09:00
Sukchan Lee
f27699abf5 Mapping VIDEO to QCI_2 in PCRF (#358) 2020-01-29 00:59:50 +09:00
Sukchan Lee
045f013f39 Upgrade test program for VoLTE (#358) 2020-01-28 18:26:51 +09:00
Sukchan Lee
5d99df4036 Support all TFT code (#358) 2020-01-28 18:26:10 +09:00
Sukchan Lee
7c658091c5 Improve GTP-U Performance for many UEs 2020-01-24 19:41:08 +09:00
Sukchan Lee
81856afff9 Fix the bug for PTI mismatch (#355)
If PDN connectivity/disconnect or Bearer Resource Modification,
MME should set UE's PTI.

And other case, PTI should set to be 0(unassigned).
2020-01-22 21:33:25 +09:00
Sukchan Lee
5ff8376a64 add configuration for EPC separated from eNodeB 2020-01-19 23:38:06 +09:00
Sukchan Lee
f49e5e2360 Fix the resolution for Safari(iPhone) 2020-01-19 23:31:40 +09:00
Supreeth Herle
4beba8e104 More VoLTE calling changes (#354)
* Updated the docs for setting up a working VoLTE testbed

* Fixed docs formatting

* More formatting fixes of doc

* Handling NAS Bearer Resource Modification Request to prevent crashing of mme

* Corrected tutorial with right APN settings required in Mongo DB for VoLTE UE

* Added more steps to enable calling using only USIM

* More changes to VoLTE document based on working setup

* Updated guide with link to a safe and better way to force enable VoLTE on phones
2020-01-19 21:31:05 +09:00
Sukchan Lee
047ad240e7 Add the VoLTE pcap to the related document (#351) 2020-01-15 21:30:15 +09:00
Spencer Sevilla
2abdef74cb send PDN error cause if needed (#352)
* initial commit: respond with ESM Cause PDN-Type if we only allow IPv4 or IPv6 (not both)

* works as intended, removing debug statement.

* Fix the indentation and add the reference

Co-authored-by: Sukchan Lee <acetcom@gmail.com>
2020-01-15 21:17:20 +09:00
Sukchan Lee
96af2d0337 Update release notes 2020-01-13 21:41:45 +09:00
Sukchan Lee
8536fe3979 Document update for Release v1.2.0 2020-01-12 23:40:05 +09:00
Sukchan Lee
ce07bc16d4 Update debian package in Release v1.2.0 2020-01-12 23:10:37 +09:00
Sukchan Lee
d39582ff6e Release v1.2.0 2020-01-12 22:44:53 +09:00
Sukchan Lee
e418eda22f change APN setting in VoLTE document. 2020-01-12 16:50:58 +09:00
Sukchan Lee
65b262a7f9 change deafult value in WebUI 2020-01-12 11:53:55 +09:00
Sukchan Lee
c4cc7f60ba Fix the Type Layout in WebUI 2020-01-12 10:56:51 +09:00
Sukchan Lee
6ee8ae0774 Merge branch 'master' of https://github.com/open5gs/open5gs 2020-01-12 10:36:11 +09:00
Sukchan Lee
04233e505b Merge branch 'pdn_type_webui' 2020-01-12 10:36:06 +09:00
Sukchan Lee
0e1fcb43a7 move TYPE location 2020-01-12 10:28:45 +09:00
Spencer Sevilla
1bf78f7655 Adding an option for PDN Type (IPv4, IPv6, IPv4v6) to webui (#346) 2020-01-12 10:27:49 +09:00
Supreeth Herle
75c431855b Handling AAR Request for IMS signalling 2020-01-12 09:41:01 +09:00
Spencer Sevilla
322d4d9157 Adding an option for PDN Type (IPv4, IPv6, IPv4v6) to webui 2020-01-10 16:12:49 -08:00
Sukchan Lee
c403e250fa Rollback /blog -> /open5gs 2020-01-08 15:32:43 +09:00
Sukchan Lee
a4670ca6e1 Try to change URL (/open5gs -> /blog) 2020-01-08 15:11:39 +09:00
Sukchan Lee
f3dd605c67 Not to delete transaction for GTP retry [#342] 2020-01-07 20:01:36 +09:00
Sukchan Lee
3975f6e775 fix the PGW crash for UE initiated detach [#342] 2020-01-06 21:32:01 +09:00
Sukchan Lee
0891ee5b19 For safety, check TEID presence in GTP 2020-01-01 20:17:46 +09:00
Sukchan Lee
d1f3439f93 Document update for openSUSE package install 2020-01-01 16:39:31 +09:00
Sukchan Lee
e35bc4cc0d Fix the bug the GTP xact during Request Duplicated 2020-01-01 13:02:22 +09:00
Sukchan Lee
8cf9da560b TFT mandatory in activate dedicated bearer (#336) 2019-12-29 12:56:25 +09:00
Sukchan Lee
f577f8dc9f Whether to include TFT in Update Bearer Request
(#336)
If Rx media component flow is not changed,
Exclude TFT info in the GTP Update Bearer Request
2019-12-29 12:36:59 +09:00
Sukchan Lee
4fcbb65eca Add missing code line (#336) 2019-12-28 22:25:30 +09:00
Sukchan Lee
d191a5135e Add Bearer Resource Modification feature (#336) 2019-12-28 21:46:30 +09:00
Supreeth Herle
e6432868de Added the final piece required for calling using only USIM (#340)
* Added more steps to enable calling using only USIM
2019-12-28 00:52:32 +09:00
Sukchan Lee
5664b90e38 fix the indentation and assert [#338] 2019-12-27 23:22:16 +09:00
Supreeth Herle
768e4d9eb3 Fixed conversion from Rx 'permit in' flow rule to Gx 'permit out' flow rule 2019-12-27 23:08:00 +09:00
Sukchan Lee
6a470c8881 Update docs for removing flow rule (#335) 2019-12-19 22:30:30 +09:00
Sukchan Lee
8e26a9adf3 fix identation for 80 columns 2019-12-19 22:24:26 +09:00
Supreeth Herle
b8928ee849 Handling NAS Bearer Modification Request and VoLTE tutorial update (#336)
* Updated the docs for setting up a working VoLTE testbed

* Fixed docs formatting

* More formatting fixes of doc

* Handling NAS Bearer Resource Modification Request to prevent crashing of mme

* Corrected tutorial with right APN settings required in Mongo DB for VoLTE UE
2019-12-19 22:14:13 +09:00
Sukchan Lee
3bc9b6e9aa update it 2019-12-18 22:00:41 +09:00
Sukchan Lee
ef6e16acf0 update it 2019-12-18 21:54:06 +09:00
Sukchan Lee
3b6b024866 update docs 2019-12-18 21:48:38 +09:00
Sukchan Lee
428fbffa36 Update VoLTE document (#333) (#334) 2019-12-18 21:25:46 +09:00
Sukchan Lee
0f0d87d742 move VoLTE setup docs fro guide to tutorial 2019-12-17 22:24:25 +09:00
Sukchan Lee
a62e07318e Oops! mistypo (#333) 2019-12-17 22:00:23 +09:00
Sukchan Lee
d7657a8f0b beauty VoLTE Setup Docs (#333) 2019-12-17 21:58:27 +09:00
Sukchan Lee
04f1730982 beautify VoLTE Docs (#333) 2019-12-17 21:25:15 +09:00
Sukchan Lee
83cf871ff7 beautify VoLTE docs (#333) 2019-12-17 21:12:57 +09:00
Supreeth Herle
50f5a527a8 Added Control Rx media type and mapped it to QCI 5 2019-12-17 21:06:44 +09:00
Sukchan Lee
219899b8d0 Add VoLTE Setup Guide [#333] 2019-12-17 21:00:56 +09:00
Supreeth Herle
2ac9d931cf Working VoLTE setup guide (#333)
* Updated the docs for setting up a working VoLTE testbed

* Fixed docs formatting

* More formatting fixes of doc
2019-12-17 20:54:35 +09:00
Nick
10235922f4 Update 04-setting-up-kamailio-IMS.md
Updated docs to show expected output for "java -version"
2019-12-16 13:02:08 +11:00
Sukchan Lee
a86e296afc Use uint32_t type instead of S1AP type (#326) 2019-12-13 13:49:20 +09:00
Spencer Sevilla
66f839592f assign enb_ue_s1ap_id as a part of enb_ue_add function (#326) 2019-12-13 13:46:22 +09:00
Spencer Sevilla
324f3d158f add PCO options as TODOs. Closes #7 (#324) 2019-12-13 13:45:29 +09:00
Sukchan Lee
f06a8b92fe change ogs_expect() to ogs_assert() (#323) 2019-12-13 13:44:22 +09:00
Spencer Sevilla
b86658e173 small stability fixes that were causing crashes in Bokondini (#323) 2019-12-13 13:25:52 +09:00
Sukchan Lee
b7360d37d4 update it 2019-12-08 20:44:56 +09:00
Sukchan Lee
79bada897b Minor bug fixed 2019-12-08 16:31:15 +09:00
Sukchan Lee
f7a4d0ed78 Add more delay in test-program 2019-12-08 04:09:35 +00:00
Sukchan Lee
cef1b46130 Add more delay in test-program 2019-12-08 04:04:20 +00:00
Sukchan Lee
b5307cdb7a Merge branch 'master' of https://github.com/open5gs/open5gs 2019-12-08 03:26:16 +00:00
Sukchan Lee
dfa5c4f0ee Fix the test program 2019-12-08 03:25:37 +00:00
Sukchan Lee
8749c2d666 For usrsctp, MacOSX needs options c_std=c99 2019-12-08 11:46:11 +09:00
Sukchan Lee
896ca50253 PFCP interface added, but not tested. 2019-12-07 13:17:00 +09:00
Sukchan Lee
cd6a295039 Release Notes v1.1.0 2019-12-06 20:55:54 +09:00
Sukchan Lee
e051941a45 Release v1.1.0 2019-12-06 20:14:20 +09:00
Sukchan Lee
79c4afe277 Update WebUI Version 2019-12-06 19:49:09 +09:00
Sukchan Lee
d0822c2e6b Add SGsAP-SERVICE-REQUEST in SMS & UE-active 2019-12-04 15:36:38 +09:00
Sukchan Lee
5e59349d17 Fix the memory leak (#316) 2019-12-04 15:22:25 +09:00
Nick
36dc786e01 Update about.md
Fixed spelling error on "compliant"
2019-12-03 12:24:36 +11:00
Sukchan Lee
4e2d7bf708 Add an initial code for PFCP 2019-12-01 21:40:52 +09:00
Sukchan Lee
ce6d2c5889 Before CUPS, move GTP-TLV to core library
TLV library will be shared in GTP and PFCP
2019-12-01 20:46:53 +09:00
Sukchan Lee
ed701ce90e [#314] further refined 2019-12-01 20:14:47 +09:00
Sukchan Lee
636170e0da Review ogs_expect() (#314) 2019-11-30 16:45:09 +09:00
Sukchan Lee
2cd9f496e2 This bug has already been fixed 2019-11-30 14:32:49 +09:00
Spencer Sevilla
5b59f09d9f ogs_assert to ogs_expects (#314)
* HACK: Don't retransmit InitialContextSetupReq

Related: #256

* HACK: Don't use buggy sa1p_copy()  in eNBConfigTransfer

Related: #257

* mme: don't reject with 'IMSI is unknown in HLR' (permanent reject)

* MME: Implement S6a result -> EMM cause code mapping

Closes: #263

* Spencer: modification to Haralds fix because macros are now renamed

* MME: don't assert on MAC failures of uplink NAS frames

Closes: #267

* MME: Avoid ogs_assert() in many situations

We don't want to crash the entire program just because a message
received from an external entity didn't match some of our expectations.

* compiles fine, checked DIFFs and only difference is the ogs_assert -> ogs_expect
2019-11-29 15:31:22 +09:00
Sukchan Lee
552045aa28 [#312] remove CS service notification in MT-SMS 2019-11-29 11:39:32 +09:00
Sukchan Lee
46e04210da Update docuement 2019-11-27 20:58:47 +09:00
Sukchan Lee
31f1fc030f [#313] remove ./build & ./install
The ./build and ./install directories are what users configure.
2019-11-27 20:48:24 +09:00
Sukchan Lee
b31836d8fc Merge pull request #313 from uw-ictd/mac_setup_easy
Prepares an easy install script for mac builds and initializes gitignore
2019-11-27 20:46:24 +09:00
Nick
7afc017cf9 Rename 05-troubleshooting to 05-troubleshooting.md
Gave .md filename
2019-11-26 12:52:37 +11:00
Nick
eb905e4514 Create 05-troubleshooting
Created basic troubleshooting steps documentation with some examples.
2019-11-26 12:52:10 +11:00
Sudheesh Singanamalla
9341d756cc Prepares an easy install script for mac builds and initializes gitignore
Signed-off-by: Sudheesh Singanamalla <sudheesh@cs.washington.edu>
2019-11-25 11:27:19 -08:00
Sukchan Lee
a808423631 Merge pull request #309 from uw-ictd/additional_troubleshooting
Adds Additional troubleshooting documentation for issues experienced
2019-11-21 17:20:29 +09:00
Sudheesh Singanamalla
fd05d25715 Adds Additional troubleshooting documentation for issues experienced
Signed-off-by: Sudheesh Singanamalla <sudheesh@cs.washington.edu>
2019-11-20 10:52:33 -08:00
Sukchan Lee
ee213e160a Prepare to release v1.1.0 2019-11-18 22:38:42 +09:00
Sukchan Lee
7b7acea59b Add IMEISV(MEI) in Create Session Request 2019-11-18 20:21:20 +09:00
Sukchan Lee
552305afe2 Add IMEISV Request 2019-11-18 19:34:28 +09:00
Sukchan Lee
f3ccd71db0 [#263] map S6a diameter codes to EMM codes 2019-11-18 10:20:48 +09:00
Sukchan Lee
a622feac84 [#256] Remove timer of NAS message related to S1AP 2019-11-18 09:04:10 +09:00
Sukchan Lee
835b3c9851 [#306] Refine static IP addresses 2019-11-17 17:43:36 +09:00
Sukchan Lee
c8bcfffe2e [#258] All GTP message is fixed not to crash 2019-11-15 23:56:55 +09:00
Aleksander Morgado
ad7fc34fa2 Build system updates (#307)
* build: skip default prefix as '/usr'

Distributions that ship this package will always provide the correct
system prefix, sysconfdir, libdir and such.

As a sane default, the package should use the meson default prefix set
to '/usr/local', which is also the standard in many other build
setups (e.g. autotools...).

* build: print actual full paths in meson output

Do not print the option values, print the full built paths.
2019-11-14 23:34:18 +09:00
Spencer Sevilla
b994a8efbf Adding support for static IP assignment in HSS (#306) 2019-11-14 14:30:19 +09:00
Sukchan Lee
cdbbbc500b [#258] Test done for receiving unknown TEID 2019-11-11 23:09:35 +09:00
Sukchan Lee
71f54a4500 [#305] name changes 2019-11-10 16:04:39 +09:00
Spencer Sevilla
8639c0f43c basic cli db tool (#305)
I ensured that this script is cross-compatible with the webui so users added this way can be modified by the web UI and vice-versa. This should speed up development/setup and support users who don't want to run Node or don't have a GUI.
2019-11-10 15:56:04 +09:00
Sukchan Lee
b65d76d0b2 [#258] Support for receiving unknown TEID 2019-11-07 23:07:29 +09:00
Sukchan Lee
439ba9c82c [#203] misc 2019-11-06 10:44:44 +09:00
Sukchan Lee
f2e34dd7ff [#203] Now UE context is always single 2019-11-06 10:43:21 +09:00
Sukchan Lee
3743ef98a2 [#203] Fix the bug for maintaining single mme_ue context 2019-11-06 10:22:34 +09:00
Sukchan Lee
4b8e2a5c97 [#203] MME also maintains one session context like SGW/PGW 2019-11-05 23:15:57 +09:00
Sukchan Lee
6f44ff5f4d [#203] Rollback based on the spec
If the new Create Session Request received by the SGW/PGW collides with
an existing active PDN connection context, the PGW/SGW should delete it.
2019-11-05 22:32:32 +09:00
Sukchan Lee
c131295dfb Fix the errata 2019-11-05 15:40:26 +09:00
Spencer Sevilla
ee80d1f996 Log and print UEs/eNBs/sessions stats (#303) 2019-11-05 15:23:33 +09:00
Sukchan Lee
da242e6734 [#301] Add Bearer Context IE's Cause in Modify-Bearer-Response 2019-11-04 23:41:59 +09:00
Sukchan Lee
4fcde77017 [#301] Oops! Fix the comment 2019-11-04 17:17:05 +09:00
Sukchan Lee
13ee6960aa [#301] Include Bearer Context IE in Modify-Bearer-Request 2019-11-04 17:13:09 +09:00
Sukchan Lee
14427de551 For meson, python3-wheel needs to be installed 2019-11-04 16:55:19 +09:00
Sukchan Lee
aa7d7f3b7d [#300] Insert PGW-C/U F-TEID on S11 Create Session Response 2019-11-02 16:27:57 +09:00
Sukchan Lee
d4f982427c Update Open5GS/OGSLib version to 1.1.0 2019-11-02 15:55:51 +09:00
Sukchan Lee
e55c7f9174 Upgrade freeDiameter version to 1.3.2 2019-11-02 15:52:48 +09:00
Sukchan Lee
f2831ff1fd freediameter name changes 2019-11-01 13:17:49 +09:00
Sukchan Lee
29e8a68dea remove SO_LINGER in usrsctp library 2019-10-31 18:13:49 +09:00
Sukchan Lee
46f9e1369b Merge branch 'master' of https://github.com/open5gs/open5gs 2019-10-31 14:19:21 +09:00
Sukchan Lee
9f1a5d19a4 Build with usrsctp source using MESON Subproject 2019-10-31 14:17:43 +09:00
Sukchan Lee
32c80cb031 [#299] Fix the WebUI installation script 2019-10-31 08:59:51 +09:00
Sukchan Lee
b47e0e510e change SCTP test port 2019-10-30 13:09:22 +09:00
Sukchan Lee
28f6d16ce2 refine usrsctp 2019-10-30 09:48:38 +09:00
Sukchan Lee
06f8e42173 Fix the document errata 2019-10-29 09:22:48 +00:00
Sukchan Lee
1e30669d6c Fix the document errata 2019-10-29 09:20:24 +00:00
Sukchan Lee
04f5c31287 The Child AVPs of Terminal-Information is Optional
(#297)
2019-10-29 15:36:38 +09:00
Sukchan Lee
dcef973a09 fix the meson warning 2019-10-28 08:19:41 +00:00
Sukchan Lee
290cdfac42 Fix the document errata 2019-10-27 19:57:18 +09:00
Sukchan Lee
87b6b66cfd fix the document errata 2019-10-27 19:14:12 +09:00
Sukchan Lee
79759f4599 Oops! mailing list name is not changed 2019-10-27 19:04:47 +09:00
Sukchan Lee
e4476863f6 name changes from nextepc to open5gs 2019-10-27 17:58:16 +09:00
Sukchan Lee
1a22e00f6a Fix the URL 2019-10-27 17:46:36 +09:00
Sukchan Lee
142763c280 Rename Project to Open5GS
- Change BuildTool to Meson
 - Many BUGS Fixed
2019-10-27 17:41:14 +09:00
Sukchan Lee
cb447af93a Fix MongoDB installation guide for MacOSX 2019-10-03 00:50:53 -07:00
Sukchan Lee
2eac6d860a Merge branch 'laforge/fd-debug' of https://github.com/laf0rge/nextepc 2019-09-19 22:26:22 +09:00
Sukchan Lee
312af947c8 Fix an indentation 2019-09-15 22:18:53 +09:00
Sukchan Lee
a3dd018564 Merge pull request #281 from herlesupreeth/master
Updated guide with missing configuration
2019-09-15 22:12:41 +09:00
Supreeth Herle
fa4d7697f9 Merge branch 'master' of https://github.com/open5gs/nextepc 2019-09-15 15:07:09 +02:00
Sukchan Lee
0f7f0415ae Add meson build in docker environment 2019-09-15 22:05:31 +09:00
Supreeth Herle
2d025bb0f2 Added missing configuration to guide 2019-09-15 15:04:34 +02:00
Sukchan Lee
9d031a08fc Add meson tool in docker 2019-09-15 21:26:27 +09:00
Sukchan Lee
766c9ee36f link ogslib 2019-09-14 12:05:04 +09:00
Sulchan Lee
d15365a398 fix the debian package error 2019-09-13 13:55:19 +00:00
Sulchan Lee
0acece1570 update it 2019-09-13 13:30:50 +00:00
Sukchan Lee
f683e29eca fix the debian package error 2019-09-13 22:08:15 +09:00
Sukchan Lee
8c9c2db2a9 update it 2019-09-13 12:14:30 +00:00
Sukchan Lee
3c8af69805 Re-factoring the all library 2019-09-13 21:07:47 +09:00
Sukchan Lee
bd0ac4bd80 The following is not working
- sudo ip tuntap add name pgwtun mode tun user $USER grup $USER
2019-08-28 11:44:31 +09:00
Sukchan Lee
b3f8bbb964 [#264] rollback ogs_expect_or_return() 2019-08-28 00:14:19 +09:00
Sukchan Lee
1f7647a04b [#266] Add LOG for debugging 2019-08-27 22:54:45 +09:00
Sukchan Lee
9c5f1334cb Use ogs_expect() 2019-08-27 22:51:30 +09:00
Sukchan Lee
848140bc90 [#264] change ogs_expect() 2019-08-27 22:47:06 +09:00
Sukchan Lee
6088be18c0 For linking OGSLib 2019-08-26 23:27:00 +09:00
Sukchan Lee
204dd651a0 Merge pull request #273 from velichkov/master
Fix buffer length calculation in s1ap_copy_ie
2019-08-26 23:19:26 +09:00
Vasil Velichkov
c1a0f897b1 Fix buffer length calculation in s1ap_copy_ie
The aper_encode function returns the number of encoded bits and when
converting to bytes we should round up or use the ((.encoded + 7) / 8)
formula as described in per_encoder.h

Fixes: #257
2019-08-26 17:16:24 +03:00
Sukchan Lee
282231a77f increase waiting time 2019-08-25 12:18:19 +00:00
Sukchan Lee
91b48cde7a Document Update 2019-08-25 20:50:01 +09:00
Sukchan Lee
0aae608c5c Use the process interface instead of fork()
- CommandLine Options is also changed
 - PID File removed (Old-style daemon)
2019-08-25 20:15:20 +09:00
Sukchan Lee
33c5562835 Update Document 2019-08-25 20:13:28 +09:00
Sukchan Lee
3bd5ce8505 [#257] Add test code for s1ap_copy_ie 2019-08-24 23:49:29 +09:00
Sukchan Lee
dff916551f [#256] Increse T3450 timeout to 6 sec 2019-08-18 00:35:04 +09:00
Sukchan Lee
83bec0ef40 Merge pull request #253 from laf0rge/laforge/rau-tau
mme: Fix ULA without Subscribed-RAU-TAU-Timer
2019-08-16 07:07:17 +09:00
Harald Welte
d575c32358 fd: Log source file name and line in all log messages 2019-08-15 18:49:06 +02:00
Harald Welte
25b5cec6ed mme: Fix ULA without Subscribed-RAU-TAU-Timer
The check for whether the AVP exists in the ULA was wrong, resulting in
the MME refusing to proceed without this AVP.  However, it is not a
mandatory AVP.
2019-08-15 18:49:06 +02:00
Sukchan Lee
c4956c88b8 Update document 2019-08-11 23:47:17 +09:00
Sukchan Lee
4f326f4460 Update Document for v0.5.2 2019-08-11 23:01:39 +09:00
Sukchan Lee
929826218e Relink ogslib 2019-08-11 22:51:00 +09:00
Sukchan Lee
2c52eaeb1f Release v0.5.2 for Ubuntu(Disco) 2019-08-11 13:21:36 +00:00
Sukchan Lee
db3f0db089 Release v0.5.2 for Ubuntu(Xenial) 2019-08-11 12:56:04 +00:00
Sukchan Lee
e686ecbc2b Release v0.5.2 for Ubuntu(Bionic) 2019-08-11 11:51:17 +00:00
Sukchan Lee
8c7371db7f Release v0.5.2 2019-08-11 11:19:05 +00:00
Sukchan Lee
a6f9ad52cb [#245] Add Configurable Memory Pool Size 2019-08-09 23:28:58 +09:00
Sukchan Lee
e2f94753b7 Merge pull request #244 from herlesupreeth/master
Edit IMS setup guide to install from deb packages
2019-08-07 00:09:01 +09:00
Supreeth Herle
9d8203eb68 Edit IMS setup guide to install from deb packages 2019-08-06 15:10:42 +02:00
Sukchan Lee
9079ab216d [#237] Add the IMS Guide 2019-08-05 23:04:02 +09:00
Sukchan Lee
4eb26c4012 Merge branch 'master' of https://github.com/open5gs/nextepc 2019-08-04 14:12:40 +09:00
Sukchan Lee
4b7721ba48 Relink ogslib 2019-08-04 14:12:25 +09:00
Sukchan Lee
197a16bca8 [#243] freeDiameter build fail for bison+flex 2019-08-03 23:14:17 +09:00
Sukchan Lee
fe5f2320b3 Fix the invalid IMSI format in volte test code 2019-08-03 22:12:24 +09:00
Sukchan Lee
715d2b7922 fix indentation 2019-08-03 22:08:20 +09:00
Sukchan Lee
56ff495e7b [#236] Fix the number of PCO 2019-08-02 20:41:33 +09:00
Sukchan Lee
d8d2f9836d Fix the SGsAP IPv6 configuration manual 2019-07-30 23:00:15 +09:00
Sukchan Lee
58af53a6cd Merge branch 'master' of https://github.com/open5gs/nextepc 2019-07-30 22:58:39 +09:00
Sukchan Lee
2db2558624 Document Update for v0.5.1 2019-07-30 22:58:17 +09:00
Sukchan Lee
967f40f216 Release v0.5.1 for Ubuntu(xenial) 2019-07-30 22:42:39 +09:00
Sukchan Lee
58105c9b1e Release v0.5.1 for Ubuntu(bionic) 2019-07-30 22:41:29 +09:00
Sukchan Lee
fdb7fbe368 Release v0.5.1 2019-07-30 21:35:04 +09:00
Sukchan Lee
d08a37f9bb WebUI version changes to v0.5.1 2019-07-30 21:05:23 +09:00
Sukchan Lee
8813e0a175 [#236] MME does mandate Subscribed-RAU-TAU-Timer 2019-07-30 20:58:45 +09:00
Sukchan Lee
dac2bd2e4f [#240] WebUI changes to apply default value 2019-07-30 20:51:50 +09:00
Sukchan Lee
4f9a2e94fc Merge pull request #240 from laf0rge/master
diameter spec compliance related fixes
2019-07-30 20:45:24 +09:00
Harald Welte
a7e2865ef0 hss: Subscribed-Periodic-RAU-TAU-Timer is in Subscriptio-Data
At least in version 11.8.0 Release 11 of 3GPP TS 29.272,
Subscribed-Periodic-RAU-TAU-Timer is only permitted inside
Subscription-Data.  Before this patch, the HSS encodes it outside, i.e.
on the "main" level of the DIAMETER AVP tree.

Related: #238
2019-07-30 00:34:55 +02:00
Harald Welte
7915773900 mme: Subscribed-Periodic-RAU-TAU-Timer is in Subscriptio-Data
At least in version 11.8.0 Release 11 of 3GPP TS 29.272,
Subscribed-Periodic-RAU-TAU-Timer is only permitted inside
Subscription-Data.  Before this patch, the MME expects it outside, i.e.
on the "main" level of the DIAMETER AVP tree.

Closes: #238
2019-07-30 00:31:33 +02:00
Harald Welte
8dca1eacd8 mme: Apply default values for Pre-Emption Capability + Vulnerability
Section 7.3.40 of 3GPP TS 29.272 states default values to be used if
those AVPs are not present in the DIAMETER message.

Closes: #239
2019-07-30 00:23:55 +02:00
Sukchan Lee
a3c5dcd190 [#231] Fix the NextEPC die in MT-Fallback 2019-07-28 15:09:23 +00:00
Sukchan Lee
50e2872ff4 [#234] Set SCTP PPID to 46
At this point, SCTP encryption is not supported.
So, PPID 46 is hard-corded.
2019-07-28 22:43:54 +09:00
Sukchan Lee
2109d7f9de [#235] Oops! Diameter SCTP is now enabled in Test 2019-07-28 22:32:44 +09:00
Sukchan Lee
470e66d37d [#235] TCP enabled for MacOSX 2019-07-28 20:18:51 +09:00
Sukchan Lee
f4647ca346 Merge pull request #235 from laf0rge/master
freeDiameter: Use SCTP-only by default, not TCP-only
2019-07-28 20:14:05 +09:00
Sukchan Lee
f5c5701b17 [#180] Fix EBI in the modify bearer request 2019-07-28 19:44:15 +09:00
Harald Welte
a8c14916a7 freeDiameter: Use SCTP-only by default, not TCP-only
The existing freeDiameter default config files for HSS, MME, PCRF and PGW
disabled SCTP and enabled TCP.  This is not in compliance with
3GPP TS 29.272 secition 7.1.5 which clearly states:
	"Diameter messages over the S6a, S6d, S13 and S13' interfaces shall
	 make use of SCTP IETF RFC 4960 [14]"
2019-07-28 12:41:52 +02:00
Sukchan Lee
709cce5c48 [#231] Add crash-test code 2019-07-25 22:20:18 +09:00
Sukchan Lee
dba1fcac5c Use asn1c library interface(CALLOC) for s1ap memory 2019-07-24 21:03:36 +09:00
Sukchan Lee
d791f0034d [SGsAP] add MM-INFORMATION-REQUEST(Discard by Option2) 2019-07-21 22:52:28 +09:00
Sukchan Lee
f19009c736 [#231] Hotfix for asn1c library
Workaround for asn1c library
- More than 9 ProtocolIE cannot be built from InitialContextSetupRequest
2019-07-21 22:39:23 +09:00
Sukchan Lee
82c4c0e1ec [#231] Wow! Succeed to replay crash in SIM 2019-07-21 21:57:36 +09:00
Sukchan Lee
adb48fbad6 For moving a work place 2019-07-21 21:04:10 +09:00
Sukchan Lee
78eeb1ad45 [#231] TAI-LAI configuration changed 2019-07-21 20:25:29 +09:00
Sukchan Lee
a40d1dd2af [#231] sgsap configuration is changed
sgsap:
      addr: 127.0.0.2
      map:
        tai:
          plmn_id:
            mcc: 001
            mnc: 01
          tac: 4131
        lai:
          plmn_id:
            mcc: 001
            mnc: 01
          lac: 43691
2019-07-21 20:06:08 +09:00
Sukchan Lee
46693cd351 [#231] update testsuite 2019-07-21 15:26:42 +09:00
Sukchan Lee
235121c82d [#231] Create simulator 2019-07-21 15:14:31 +09:00
Sukchan Lee
5e78b78166 [CSFB] Implement SGsAP UE-UNREACHABLE message 2019-07-21 13:08:21 +09:00
Sukchan Lee
9f4204ef8e [#227] Fix the crash when both EBT/PTI are 0 2019-07-21 12:20:26 +09:00
Sukchan Lee
60c0eff085 [#226] Protect Integrity in Security-mode Complete 2019-07-21 11:42:12 +09:00
Sukchan Lee
d9238e3036 [#220] fix RACE-CONDITION for MESSAGE and TIMER 2019-07-21 07:01:45 +09:00
Sukchan Lee
649b6ec5e9 Add comment 2019-07-21 01:09:03 +09:00
Sukchan Lee
ae3e59053d [#220] Timer for UE Context Release 2019-07-21 01:03:19 +09:00
Sukchan Lee
5ce04bcc6f [#220] T3489 done 2019-07-20 23:06:54 +09:00
Sukchan Lee
6a1f628e44 [#220] T3450 done 2019-07-20 22:30:53 +09:00
Sukchan Lee
b34dafcb09 [#220] T3470 done 2019-07-20 21:49:47 +09:00
Sukchan Lee
90290d236e [#220] T3460 done 2019-07-20 21:28:36 +09:00
Sukchan Lee
805869da4f [#220] Guard timer instance is created 2019-07-20 20:38:03 +09:00
Sukchan Lee
42f593d360 [TIMER] continue to refine code 2019-07-20 16:39:01 +09:00
Sukchan Lee
6dc66bce85 [TIMER] timer configuration is added 2019-07-20 16:25:09 +09:00
Sukchan Lee
f1c913129d [TIMER] Move SGSAP timer to the FSM 2019-07-20 15:34:41 +09:00
Sukchan Lee
8cf28d6e16 fix indentation 2019-07-20 15:20:52 +09:00
Sukchan Lee
c1c0b640f3 [TIMER] Move S1-Delayed-Send to the FSM 2019-07-20 15:16:46 +09:00
Sukchan Lee
9565967517 [TIMER] Move timer expiration work to the FSM 2019-07-20 13:07:40 +09:00
Sukchan Lee
a96398357f Update New OGSLib commit 2019-07-20 11:20:09 +09:00
Sukchan Lee
d6d824acb9 Merge pull request #230 from laf0rge/master
mme-kdf: Ensure input arguments (kasme, ..) are read-only and 'const'
2019-07-19 20:59:33 +09:00
Harald Welte
83e449ca63 mme-kdf: Ensure input arguments (kasme, ..) are read-only and 'const' 2019-07-18 11:20:14 +02:00
Sukchan Lee
a6e3affbec rename utils to mongodb 2019-07-16 09:14:53 +09:00
Nick
964e7ecebd Add files via upload
Basic Python Library / Class for adding / removing / reading data from NextEPC HSS (MongoDB)
2019-07-15 18:29:22 +10:00
Nick
cfd8df28c6 Create README.md
Added basic usage
2019-07-15 18:28:45 +10:00
Sukchan Lee
b642ca1491 Oops! Fix one more 2019-07-14 13:59:33 +09:00
Sukchan Lee
b9f7e9c409 fix new configuration (#225) 2019-07-14 13:48:14 +09:00
Sukchan Lee
3a5930650e Merge pull request #224 from medeiros405/master
Change in the config to allow different MCC/MNC in the LAI for CSFB
2019-07-14 13:26:22 +09:00
Romeu Medeiros
18ef1f65c3 Change in the config to allow different MCC/MNC in the LAI for CSFB 2019-07-14 01:18:29 -03:00
Sukchan Lee
99d91da6eb Clarify code for pull request (#223) 2019-07-14 11:00:11 +09:00
Sukchan Lee
79a952d910 Merge pull request #223 from medeiros405/master
Modification to correct UEContextModification for CSFB
2019-07-14 08:42:43 +09:00
Romeu Medeiros
a6fe0cb44f Changes to obey the 3GPP specification for CSFallback 2019-07-13 20:26:39 -03:00
medeiros405
3c4601a5e0 Merge branch 'master' of https://github.com/open5gs/nextepc
Update to original repository
2019-07-13 20:11:05 -03:00
Romeu Medeiros
7d79602eb1 Merge branch 'master' of https://github.com/medeiros405/nextepc 2019-07-13 20:08:25 -03:00
Sukchan Lee
942b9466ef Attach Reject if UE indicates only EIA0 (#222) 2019-07-13 23:47:24 +09:00
Sukchan Lee
f043ccd884 Update Document 2019-07-13 22:58:36 +09:00
Sukchan Lee
7d42465f4e [Done] SMS over SGs 2019-07-13 22:52:50 +09:00
Sukchan Lee
8e37f64c33 [SMS] MO-SMS Done 2019-07-13 14:51:35 +09:00
Sukchan Lee
663861d17b [SMS] Add MO-SMS 2019-07-13 11:51:28 +09:00
Sukchan Lee
bedd68573e [CSFB] Add Paging Reject 2019-07-12 23:18:17 +09:00
Sukchan Lee
9408bb6b4a Add Paging Reject 2019-07-12 18:33:42 +09:00
Sukchan Lee
f20a1a6e2b Add ErrorIndication for S1AP decode error (#218) 2019-07-12 16:22:40 +09:00
Sukchan Lee
74c1e1d481 Hotfix for ubuntu release 2019-07-11 15:34:19 +00:00
Sukchan Lee
fa07895b1e Change debian package 2019-07-11 15:30:40 +00:00
Sukchan Lee
610caf3af3 Ubuntu release patch 2019-07-11 15:26:36 +00:00
Sukchan Lee
3e51450b3c Date change 2019-07-12 00:17:29 +09:00
Sukchan Lee
80199a3c87 Update Document 2019-07-12 00:13:07 +09:00
Sukchan Lee
447fd902d2 Release v0.5.0 in Ubuntu(bionic) 2019-07-11 15:10:53 +00:00
Sukchan Lee
bfcaf15d5d Release v0.5.0 in Ubuntu(xenial) 2019-07-11 15:09:24 +00:00
Sukchan Lee
10d9159dc5 rename pkgconfig 2019-07-11 22:45:43 +09:00
Sukchan Lee
e03c1436fb Release v0.5.0 2019-07-11 22:26:56 +09:00
Sukchan Lee
aa4ea44c2c [OGSLIB] Use NEW Version v1.1.0 2019-07-11 22:25:20 +09:00
Sukchan Lee
e023be67e7 [OGSLIB] Use NEW version v1.1.0 2019-07-11 22:24:20 +09:00
Sukchan Lee
0a96d446b8 [Indentation] All source code changed 2019-07-11 22:22:22 +09:00
Sukchan Lee
97afc2db60 fix identation in HSS 2019-07-11 22:16:32 +09:00
Sukchan Lee
27d5208ea3 fix indentation in PGW 2019-07-11 22:09:30 +09:00
Sukchan Lee
7e08f7fc45 fix indentation in SGW 2019-07-11 22:01:52 +09:00
Sukchan Lee
19a01bdda4 Add CSFB TestSuite 2019-07-11 21:56:34 +09:00
Sukchan Lee
cb369daaea fix indentation in MME 2019-07-11 21:53:54 +09:00
Sukchan Lee
cd814afcff [CSFB] MT-Active-Test done 2019-07-11 21:39:44 +09:00
Sukchan Lee
de59488e2e [CSFB] MT-Active-Mode (Not Done) 2019-07-11 18:14:32 +09:00
Sukchan Lee
d9b7e966e1 [CSFB] Add MO in Active-mode 2019-07-10 22:04:52 +09:00
Sukchan Lee
9dbca85c1f [CSFB] Idle-mode done 2019-07-09 09:27:45 +09:00
Sukchan Lee
87cdd71582 Add Cause in Bearer IE (#215) 2019-07-08 23:08:15 +09:00
Sukchan Lee
0e1bd64646 fix indentation 2019-07-08 22:58:41 +09:00
Sukchan Lee
346e67b7de more sleep is needed in the test code 2019-07-08 22:42:10 +09:00
Sukchan Lee
ecfac8fe3b Add Delay for testcode 2019-07-08 22:20:25 +09:00
Sukchan Lee
40ae23aca4 Paging rollback 2019-07-08 21:44:03 +09:00
Sukchan Lee
979fd96a84 [CSFB] Fix the MacOSX 2019-07-08 21:03:39 +09:00
Sukchan Lee
16a8bea96b [CSFB] MT in idle-mode 2019-07-08 18:15:19 +09:00
Sukchan Lee
5e0c10bcb4 [CSFB] Rename test-name 2019-07-08 09:18:17 +09:00
Sukchan Lee
9863635342 [SGsAP] Add SGsAP-RESET-INDCIATON/ACK 2019-07-07 10:16:21 +09:00
Sukchan Lee
bc9cf078a5 [CSFB] Add MO-CSFB-Indication 2019-07-07 09:47:32 +09:00
Sukchan Lee
65cb21ce05 [SGsAP] clarify P_TMSI availablity 2019-07-06 23:30:05 +09:00
Sukchan Lee
0bbc5124e7 rename filename 2019-07-06 22:52:09 +09:00
Sukchan Lee
89ed2dda88 [SGsAP] TestCode for CS fallback in idle-mode 2019-07-06 22:45:15 +09:00
Sukchan Lee
a6eb646b76 [SGsAP] MO CS fallback in idle-mode 2019-07-06 22:16:13 +09:00
Sukchan Lee
5164b51607 [SGsAP] waiting for running the SCTP test server 2019-07-05 18:16:58 +09:00
Sukchan Lee
cc83c6a586 [SGsAP] DETACH-INDICATOIN/ACK is done 2019-07-05 18:13:32 +09:00
Sukchan Lee
a372bd2949 [SGsAP] Start to implement XXX-DETACH-INDICATION 2019-07-05 17:25:12 +09:00
Sukchan Lee
4f7aa2d5b7 [SGsAP] Location Update Reject 2019-07-05 15:55:07 +09:00
Sukchan Lee
334c678995 Fix the Security Command Reject (#214) 2019-07-04 22:48:26 +09:00
Sukchan Lee
0717b57465 Debian package name changed 2019-07-04 13:12:09 +00:00
Sukchan Lee
b440d59ce7 Update documentation 2019-07-04 20:30:58 +09:00
Nick
770d1cdba6 Reordered and updated MME details 2019-07-04 21:10:25 +10:00
Nick
cd2b420470 Created doc "NextEPC Splitting Network Elements"
Outlining basic requirements of each network element and interfaces and how to break up the network.
2019-07-04 21:09:05 +10:00
Sukchan Lee
f9f1ac7aac fix the docker-compose build error (#211) 2019-07-02 22:02:43 +09:00
Sukchan Lee
fd66c4023e Merge pull request #209 from laf0rge/master
freeDiameter: Fix compilation on Linux without SCTP_SEND_FAILED_EVENT
2019-07-02 15:15:52 +09:00
Harald Welte
6fc412dba7 fix 'no rule to make target "-L/usr/local/lib" compilation errors
When building (at least) on Debian unstable, I get the following type of errors:

make[4]: Entering directory '/space/home/laforge/projects/git/nextepc/lib/base'
make[4]: *** No rule to make target '-L/usr/local/lib', needed by 'libbase.la'.  Stop.

The cause seems to be that some target_DEPENDENCIES includes
@OGSCORE_LIBS@ or @OGSCRYPT_LIBS@, whcih both expand to "-L${libdir}
-lpthread -logscore-1.0" as per the pkg-config files.

I believe DEPENDENCIES should not list external library dependencies,
but only dependencies inside the repository.

Closes: #210
2019-07-02 13:58:40 +08:00
Harald Welte
95091210ff freeDiameter: Fix compilation on Linux without SCTP_SEND_FAILED_EVENT
The fallback to the old SCTP API must be made if either SCTP_SEND_FAILED_EVENT
or SCTP_NOTIFICATIONS_STOPPED_EVENT are undeclared.

This fixes building nextepc on e.g. Debian unstable.

Closes: #208
2019-07-02 13:42:33 +08:00
Sukchan Lee
9abc8575f6 fix the testcase error 2019-07-01 10:00:50 +09:00
Sukchan Lee
3ebe749bb2 Merge branch 'master' of https://github.com/open5gs/nextepc 2019-06-30 22:58:48 +09:00
Sukchan Lee
baa35843fc Update document for v0.4.4 2019-06-30 22:58:30 +09:00
Sukchan Lee
d9e0b0eeaf Release v0.4.4 in Ubuntu(bionic) 2019-06-30 13:24:00 +00:00
Sukchan Lee
6e5ab199af Release v0.4.4 in Ubuntu(xenial) 2019-06-30 13:22:19 +00:00
Sukchan Lee
e2af4473dd Release v0.4.4 2019-06-30 12:05:30 +00:00
Sukchan Lee
e704295811 fix the testsuite 2019-06-30 20:48:51 +09:00
Sukchan Lee
8e53e82913 fix identation 2019-06-30 20:46:15 +09:00
Sukchan Lee
db348156e2 fix indentation 2019-06-30 20:29:25 +09:00
Sukchan Lee
de8ae9823a Create Multiple Session for same IMSI (#203) 2019-06-30 12:46:02 +09:00
Sukchan Lee
16fdc0d989 Update identation 2019-06-30 12:14:04 +09:00
Sukchan Lee
971f41d951 Missing file (#203) 2019-06-29 16:04:25 +09:00
Sukchan Lee
7747a4e32a Change MME-UE-S1AP-ID and eNB-UE-S1AP-ID (#203) 2019-06-29 15:51:42 +09:00
Sukchan Lee
44710d3f63 Add simulator to solve (#203) problem 2019-06-29 15:40:52 +09:00
Sukchan Lee
a4d18c2d96 Move enb_ostream_id from mme_ue to enb_ue (#206) 2019-06-28 18:11:16 +09:00
Sukchan Lee
6901278816 Fix the setting of the SCTP ostream-id (#206) 2019-06-26 23:06:31 +09:00
Sukchan Lee
7492ec734b Oops! change github_username 2019-06-26 21:38:33 +09:00
Sukchan Lee
4af3fea81b Fix the MME crash (#205) 2019-06-26 20:52:28 +09:00
Sukchan Lee
148c109d05 Fix the SGW crash for "context not found" (#204) 2019-06-25 23:04:41 +09:00
Sukchan Lee
acd77a8ad6 Fix the MME crash (#203) 2019-06-25 10:55:00 +09:00
Sukchan Lee
f380af44c3 Fix the service reject handling (#201) 2019-06-24 09:44:05 +09:00
Sukchan Lee
5f8d609d0c Handle SR and TAU in security-mode state (#202) 2019-06-23 21:15:59 +09:00
Sukchan Lee
db83b1e004 fix identation 2019-06-23 20:43:23 +09:00
Sukchan Lee
fe15600e02 Remove S1 check in Downlink NAS transport (#201) 2019-06-23 20:17:44 +09:00
Sukchan Lee
9177ad4ee0 When STCP send failed, clear related context (#200) 2019-06-23 13:39:44 +09:00
Sukchan Lee
660ebc823f mme_sctp_event_push() interface introduced 2019-06-23 04:22:22 +00:00
Sukchan Lee
9d0b419085 Create new interface : s1ap_event_push() 2019-06-23 12:47:22 +09:00
Sukchan Lee
79cbd8fb24 Update document for Release v0.4.3 2019-06-22 16:51:28 +09:00
Sukchan Lee
f9ea5a9136 OGSLIB Version check >= 1.0.2 2019-06-22 07:10:23 +00:00
Sukchan Lee
6f65f9b5ec Release v0.4.3 in Ubuntu(Xenial) 2019-06-22 06:57:30 +00:00
Sukchan Lee
e688667b9f Release v0.4.3 in Ubuntu(Bionic) 2019-06-22 06:56:10 +00:00
Sukchan Lee
2ac74ef6ac Release v0.4.3 2019-06-22 04:05:09 +00:00
Sukchan Lee
aeedf01d6a Fix the package error 2019-06-22 03:53:03 +00:00
Sukchan Lee
8902411afe Release v0.4.3 2019-06-22 03:32:00 +00:00
Sukchan Lee
1a26354f29 Release v0.4.3 2019-06-22 03:30:34 +00:00
Sukchan Lee
712b9c8334 [SGsAP] Add TMSI-REALLOCATION-COMPLETE 2019-06-22 12:11:07 +09:00
Sukchan Lee
693afa922f [SGsAP] Location Update process is done 2019-06-22 11:16:22 +09:00
Sukchan Lee
058ebc747d Follow OGSlib updates 2019-06-22 10:14:01 +09:00
Sukchan Lee
5ca6d79590 Running ./tests/testcsfb without an installation 2019-06-22 09:24:46 +09:00
Sukchan Lee
652cfa70d5 [SGsAP] Basic operation done 2019-06-22 00:28:21 +09:00
Sukchan Lee
bbc594330b [SGsAP] update it 2019-06-21 18:23:29 +09:00
Sukchan Lee
c284ef7429 [SGsAP] build LOCATION-UPDATE-REQUEST 2019-06-20 21:22:51 +09:00
Sukchan Lee
95586eaf09 [SGsAP] Not tested 2019-06-20 18:20:32 +09:00
Sukchan Lee
eca47a2773 [SGsAP] update it 2019-06-19 18:04:57 +09:00
Sukchan Lee
0e0a69ed7c [SGsAP] server/client connected in test-code 2019-06-18 17:38:25 +09:00
Sukchan Lee
5ce95f94ee [SGsAP] contine to test code 2019-06-18 15:32:01 +09:00
Sukchan Lee
6b0561681f remove s1ap_recv() 2019-06-18 14:04:11 +09:00
Sukchan Lee
d0417d353a [SGsAP] fix the CSFB test 2019-06-17 12:51:25 +00:00
Sukchan Lee
4013d9203c [SGsAP] Add linger option in usrsctp 2019-06-17 21:40:34 +09:00
Sukchan Lee
fba54b09eb [SGsAP] fix the MacOSX 2019-06-17 20:56:52 +09:00
Sukchan Lee
8a711191b3 [SGsAP] add configuration and fix the testcode 2019-06-17 13:28:39 +09:00
Sukchan Lee
f53e80eec7 [SGsAP] fix the bug in handling memory 2019-06-17 10:36:44 +09:00
Sukchan Lee
fa454209a9 [SGsAP] continue to work 2019-06-16 23:33:23 +09:00
Sukchan Lee
7ee0b3324b [SGsAP] continue to work 2019-06-16 22:22:07 +09:00
Sukchan Lee
bfa526d221 [SGsAP] continue to work 2019-06-16 22:17:38 +09:00
Sukchan Lee
6816400247 [SGsAP] continue to work 2019-06-16 21:26:22 +09:00
Sukchan Lee
3b26983db9 fix identation 2019-06-16 19:09:31 +09:00
Sukchan Lee
eab4958a81 [SGsAP] client program in linux 2019-06-16 09:31:29 +00:00
Sukchan Lee
e2aa8ec198 [SGsAP] Client program 2019-06-16 18:20:40 +09:00
Sukchan Lee
ec7d9f2917 [SGsAP] continue to implement it 2019-06-16 17:33:45 +09:00
Sukchan Lee
0be339e52d [SGSAP] start this feature 2019-06-16 16:47:20 +09:00
Sukchan Lee
fa81c86e22 [CSFB] Create a state machine 2019-06-16 15:40:26 +09:00
Sukchan Lee
1f838c0f68 Move New Indentation with LINUX-style 2019-06-16 11:25:41 +09:00
Sukchan Lee
aa0001c78b more delay needed in MacOSX 2019-06-15 23:34:42 +09:00
Sukchan Lee
c49bda5173 CSFB Test framework done 2019-06-15 23:28:52 +09:00
Sukchan Lee
bb703243c6 Update gitignore 2019-06-15 21:19:38 +09:00
Sukchan Lee
f3a6620a65 CSFB test code update 2019-06-15 21:18:16 +09:00
Sukchan Lee
cb00bf848e Create CSFB test framework 2019-06-15 19:37:34 +09:00
Sukchan Lee
343c72b288 Option for NODELAY 2019-06-15 16:58:52 +09:00
Sukchan Lee
bcd784b1f0 Apply ogslib changes 2019-06-15 16:54:49 +09:00
Sukchan Lee
c855546d77 add delay for volte test 2019-06-15 16:21:18 +09:00
Sukchan Lee
f550919df1 more faster test code 2019-06-15 16:16:32 +09:00
Sukchan Lee
f6a8985267 remove delay in test code 2019-06-15 16:02:52 +09:00
Sukchan Lee
1542d70af6 nodelay for MacOSX 2019-06-15 15:37:05 +09:00
Sukchan Lee
3d154cc423 Apply ogslib changes 2019-06-15 15:21:34 +09:00
Sukchan Lee
fbc73230b0 enb_ue assertion is fixed (#198) 2019-06-15 00:11:30 +09:00
Sukchan Lee
55164b4a1f Turn on SCTP_NODELAY (#198) 2019-06-15 00:03:05 +09:00
Sukchan Lee
c52cf33c3c fix the bug (#195) 2019-06-14 18:10:59 +09:00
Sukchan Lee
eb0d8075ef Continue to fix the crash error (#195) 2019-06-14 17:04:04 +09:00
Sukchan Lee
d3476eca6d Fix PCRF Session Control (#195)
- If PCRF Session is NULL and CC-Request-Type is Terminate,
   the result code is DIAMETER_UNKNOWN_SESSION_ID
2019-06-14 16:55:16 +09:00
Sukchan Lee
9e3ebf9a16 fix the bug (#195), But more work is needed 2019-06-14 14:24:17 +09:00
Sukchan Lee
88217ff11e test framework for crash 2019-06-13 18:22:34 +09:00
Nick
a550cf5b1d Merge pull request #196 from open5gs/nick-docs-update
Update 01-quickstart.md
2019-06-12 19:31:03 +10:00
Nick
d7131dc2e1 Update 01-quickstart.md 2019-06-12 19:15:11 +10:00
Sukchan Lee
22c3d66bc3 More log for analyzing #195 2019-06-11 23:20:49 +09:00
Sukchan Lee
f28f3003c5 change code indentation 2019-06-11 23:16:54 +09:00
Sukchan Lee
c530e1cbcf Fix the bug (#194) 2019-06-11 22:39:23 +09:00
Sukchan Lee
3c61858f21 add missing file 2019-06-11 22:21:45 +09:00
Sukchan Lee
477f16ad0b rename project done 2019-06-11 22:10:47 +09:00
Sukchan Lee
75a18a30cf Add missing files 2019-06-11 18:28:57 +09:00
Sukchan Lee
a32465ed07 Rename library 2019-06-11 18:28:25 +09:00
Sukchan Lee
7bc245028a change directory name test to tests 2019-06-11 14:26:04 +09:00
Sukchan Lee
56567fec12 rename filename 2019-06-11 14:12:31 +09:00
Sukchan Lee
dc7f9d8e12 Change sample pcap from testing with my iphone-XS 2019-06-09 22:00:07 +09:00
Sukchan Lee
57af70fab9 refine GTP interface (#190) 2019-06-09 00:50:02 +09:00
Sukchan Lee
71f1b1cfa4 SGW packet buffer is changed to 65536 2019-06-09 00:03:53 +09:00
Sukchan Lee
60dc4402c6 gtp_path interface changes 2019-06-08 23:42:12 +09:00
Sukchan Lee
d4f00da662 continue to add a buffer configuration 2019-06-08 08:44:22 +09:00
Sukchan Lee
0ff388fb19 apply configuration related to MAX number 2019-06-07 15:19:09 +09:00
Sukchan Lee
ca742661f6 Add configuration related to memory support (#190) 2019-06-07 11:56:37 +09:00
Sukchan Lee
c849cc802c Add libusrsctp work-around for MacOSX 2019-06-06 23:25:32 +09:00
Sukchan Lee
4fc1e0e22c VLR configuration done 2019-06-05 22:23:45 +09:00
Sukchan Lee
d41ce4d8b1 ogs_socknode_new() interface changed 2019-06-05 22:07:37 +09:00
Sukchan Lee
8dc5211448 update it 2019-06-05 21:21:19 +09:00
Sukchan Lee
24da20bdc8 GTP interface changes 2019-06-05 21:13:18 +09:00
Sukchan Lee
70b2e51f79 Merge branch 'master' of https://github.com/open5gs/nextepc 2019-06-04 21:01:45 +09:00
Sukchan Lee
9e4d3cb824 add enb IP address to the log message 2019-06-04 21:01:23 +09:00
Sukchan Lee
10675caf89 Add SGsAP configuration 2019-06-02 21:55:24 +09:00
Sukchan Lee
fb1908410e rename s1ap filename 2019-06-02 11:35:44 +09:00
Sukchan Lee
b9c0feb40e Update configuration 2019-06-02 11:25:13 +09:00
Sukchan Lee
29a50892b5 Let me introduce SGSAP configuration 2019-06-02 11:09:01 +09:00
Sukchan Lee
f7ef0f3aab FAQ update 2019-06-02 00:50:46 +09:00
Sukchan Lee
5f4b42cbfc changes iptable usage 2019-06-02 00:32:32 +09:00
Sukchan Lee
681a7c87a4 usrsctp done 2019-06-01 21:30:13 +09:00
Sukchan Lee
a03df8d656 Document update for MacOSX 2019-06-01 19:53:57 +09:00
Sukchan Lee
a7053eb926 add workaround for MacOSX 2019-06-01 19:51:56 +09:00
Sukchan Lee
fe91a72271 fix the volte test in MacOSX 2019-06-01 19:49:06 +09:00
Sukchan Lee
5693c0c730 Merge branch 'socket' 2019-06-01 19:09:07 +09:00
Sukchan Lee
eb8b7e96d7 update ogslib 2019-06-01 19:08:53 +09:00
Sukchan Lee
85bedf1e35 this project is done 2019-06-01 19:04:34 +09:00
Sukchan Lee
8f8caf5177 remove USRSCTP macro in mme context 2019-06-01 09:57:29 +00:00
Sukchan Lee
756859d05c rename filename for s1ap-path 2019-06-01 09:52:38 +00:00
Sukchan Lee
d4023da087 continue to refine 2019-06-01 09:43:33 +00:00
Sukchan Lee
f384bdef3d fix the linux 2019-06-01 09:33:42 +00:00
Sukchan Lee
4cdc891898 rename source code 2019-06-01 18:20:02 +09:00
Sukchan Lee
7abd6b5ab9 continue to integrate MaxOSX 2019-06-01 18:19:00 +09:00
Sukchan Lee
8a7634d00c the MacOSX porting 2019-06-01 18:06:47 +09:00
Sukchan Lee
1f752e51e8 usrsctp work-around 2019-06-01 17:20:46 +09:00
Sukchan Lee
282936f215 support usrsctp 2019-06-01 16:59:38 +09:00
Sukchan Lee
60bfaa2c41 fix to compile MacOSX 2019-06-01 08:38:57 +09:00
Sukchan Lee
937f0319e3 handler type changes 2019-05-31 23:30:46 +09:00
Sukchan Lee
32c9c512d8 socknode includes pollset 2019-05-31 23:22:22 +09:00
Sukchan Lee
163bc4a040 update it 2019-05-31 13:55:05 +00:00
Sukchan Lee
58faa7bcac apply ogslib changes 2019-05-31 12:05:35 +00:00
Sukchan Lee
61d0573686 ogs_sockopt_t is added 2019-05-31 16:33:09 +09:00
Sukchan Lee
f0c84d3037 move s1ap_lksctp to ogs-lksctp 2019-05-31 14:05:45 +09:00
Sukchan Lee
69cfb3280c rename file 2019-05-31 13:58:08 +09:00
Sukchan Lee
d597912abb sctp configuration update 2019-05-31 11:34:49 +09:00
Sukchan Lee
34e2b4d44a add sctp configuration interface 2019-05-31 11:20:30 +09:00
Sukchan Lee
241efaf581 Change SCTP interface 2019-05-31 10:18:43 +09:00
Sukchan Lee
335e8513e9 fix the MacOSX 2019-05-30 21:51:25 +09:00
Sukchan Lee
cbb819f6b9 apply ogslib changes 2019-05-30 21:30:31 +09:00
Sukchan Lee
2267a59cc3 UDP interface is changed 2019-05-30 21:14:54 +09:00
Sukchan Lee
550be1cd95 apply ogslib interface changes 2019-05-30 20:14:19 +09:00
Sukchan Lee
338f359285 apply new ogslib interface 2019-05-30 19:58:27 +09:00
Sukchan Lee
3da632dd1e rename sa_family and sin_port 2019-05-30 13:50:53 +09:00
Sukchan Lee
8b782eb370 Merge branch 'master' into socket 2019-05-30 12:52:09 +09:00
Sukchan Lee
5bca0920b9 update code indentation 2019-05-29 21:27:22 +09:00
Sukchan Lee
bd1c505024 apply socknode interface changes 2019-05-29 21:05:42 +09:00
Sukchan Lee
1ed22fe7b2 Update document 2019-05-29 20:20:55 +09:00
Sukchan Lee
71367627a8 Fix mistypo 2019-05-29 20:17:12 +09:00
Sukchan Lee
88d0a53956 Release Notes - v0.4.2 2019-05-28 21:19:32 +09:00
Sukchan Lee
4d7b6c04c5 Fix errata for the document 2019-05-28 21:09:56 +09:00
Sukchan Lee
e032565991 Update debian changelog for ubuntu(xenial) 2019-05-28 20:12:02 +09:00
Sukchan Lee
f19f714136 Update debian changelog for ubuntu(bionic) 2019-05-28 20:09:15 +09:00
Romeu Medeiros
825978d2af Revert "Small fix to set correct timezone in UE."
This reverts commit 16aa960b1e.
2019-05-02 11:42:00 -03:00
Medeiros405
16aa960b1e Small fix to set correct timezone in UE. 2018-05-13 00:27:39 -03:00
9228 changed files with 1852906 additions and 273123 deletions

69
.clang-tidy Normal file
View File

@@ -0,0 +1,69 @@
---
Checks: '*,
-altera-id-dependent-backward-branch,
-altera-struct-pack-align,
-altera-unroll-loops,
-android-cloexec-*,
-bugprone-branch-clone,
-bugprone-easily-swappable-parameters,
-bugprone-macro-parentheses,
-bugprone-reserved-identifier,
-bugprone-sizeof-expression,
-cert-dcl37-c,
-cert-dcl51-cpp,
-cert-err33-c,
-cert-err34-c,
-clang-analyzer-optin.performance.Padding,
-clang-analyzer-security.insecureAPI.bcmp,
-clang-analyzer-security.insecureAPI.bcopy,
-clang-analyzer-security.insecureAPI.bzero,
-clang-diagnostic-error,
-clang-diagnostic-typedef-redefinition,
-clang-diagnostic-unknown-warning-option,
-concurrency-mt-unsafe,
-cppcoreguidelines-avoid-magic-numbers,
-cppcoreguidelines-avoid-non-const-global-variables,
-cppcoreguidelines-init-variables,
-google-readability-braces-around-statements,
-google-readability-casting,
-google-readability-function-size,
-google-readability-todo,
-hicpp-braces-around-statements,
-hicpp-function-size,
-hicpp-multiway-paths-covered,
-llvm-else-after-return,
-llvm-header-guard,
-llvm-include-order,
-llvmlibc-restrict-system-libc-headers,
-misc-no-recursion,
-misc-unused-parameters,
-performance-no-int-to-ptr,
-readability-avoid-const-params-in-decls,
-readability-braces-around-statements,
-readability-duplicate-include,
-readability-else-after-return,
-readability-function-cognitive-complexity,
-readability-function-size,
-readability-identifier-length,
-readability-isolate-declaration,
-readability-magic-numbers,
-readability-non-const-parameter,
-readability-redundant-control-flow,
-readability-redundant-declaration,
-readability-suspicious-call-argument,
-bugprone-implicit-widening-of-multiplication-result,
-bugprone-narrowing-conversions,
-cert-exp42-c,
-cert-flp37-c,
-clang-analyzer-core.NullDereference,
-clang-analyzer-deadcode.DeadStores,
-clang-analyzer-security.insecureAPI.strcpy,
-cppcoreguidelines-interfaces-global-init,
-cppcoreguidelines-narrowing-conversions,
-hicpp-signed-bitwise,
'
WarningsAsErrors: false
HeaderFilterRegex: '(.*\.h)'

10
.dockerignore Normal file
View File

@@ -0,0 +1,10 @@
**/*.md
**/docker-compose*.yml
**/docker-compose*.yaml
**/Dockerfile*
.git
.dockerignore
.cache
.gitignore
.github
build

8
.editorconfig Normal file
View File

@@ -0,0 +1,8 @@
; See http://editorconfig.org
root = true
[*.{c,h}]
indent_style = space
indent_size = 4
end_of_line = lf
insert_final_newline = true

13
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,13 @@
# These are supported funding model platforms
#github: [acetcom, open5gs]
github: acetcom
#patreon: # Replace with a single Patreon username
open_collective: open5gs
#ko_fi: # Replace with a single Ko-fi username
#tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
#community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
#liberapay: # Replace with a single Liberapay username
#issuehunt: # Replace with a single IssueHunt username
#otechie: # Replace with a single Otechie username
#custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

58
.github/ISSUE_TEMPLATE/bugreport.yaml vendored Normal file
View File

@@ -0,0 +1,58 @@
name: Bug Report
description: File a bug report or issue
title: "[Bug]: "
labels: ['triage']
assignees: []
body:
- type: markdown
attributes:
value: >
**Please note**
This form should only be used if _you can reporoduce_ the bug the in the *current* release of
Open5GS Stack. For installation, configuration or other help with Open5GS please
use our [discussion forum](https://github.com/open5gs/open5gs/discussions).
**This form is not for support requests.**
- type: input
attributes:
label: Open5GS Release, Revision, or Tag
description: Please check if your issue has been resolved in the latest release.
placeholder: v2.7.1
validations:
required: true
- type: textarea
attributes:
label: Steps to reproduce
description: >
Please describe in detail the steps needed to reproduce this bug. These steps
should reproduce the issue on the most current release of Open5GS. Be sure to
include configuration and platform details.
Please include logs from the relevant daemons as well as any relevant packet captures.
validations:
required: true
- type: textarea
attributes:
label: Logs
description: Provide any relevant captured logs for the issue
render: shell
- type: textarea
attributes:
label: Expected behaviour
description: What did you expect to happen?
validations:
required: true
- type: textarea
attributes:
label: Observed Behaviour
description: What's the observed behaviour?
validations:
required: true
- type: input
attributes:
label: eNodeB/gNodeB
description: If using an eNB or gNB, please identify which vendor/version
- type: input
attributes:
label: UE Models and versions
description: Which UE hardware model and version or simulator version are you using?

9
.github/ISSUE_TEMPLATE/config.yaml vendored Normal file
View File

@@ -0,0 +1,9 @@
blank_issues_enabled: false
contact_links:
- name: Open5GS Contribution Guide
url: https://github.com/open5gs/open5gs/wiki/Contribution-guide
about: Contribution guide detailing how you can help the project
- name: Project Sponsorship
url: https://github.com/sponsors/acetcom
name: Support the Open5GS developer using GitHub sponsorship

61
.github/stale.yml vendored Normal file
View File

@@ -0,0 +1,61 @@
# Configuration for probot-stale - https://github.com/probot/stale
# Number of days of inactivity before an Issue or Pull Request becomes stale
daysUntilStale: 180
# Number of days of inactivity before an Issue or Pull Request with the stale label is closed.
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
daysUntilClose: 7
# Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled)
onlyLabels: []
# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
exemptLabels:
- pinned
- security
- "[Status] Maybe Later"
# Set to true to ignore issues in a project (defaults to false)
exemptProjects: false
# Set to true to ignore issues in a milestone (defaults to false)
exemptMilestones: false
# Set to true to ignore issues with an assignee (defaults to false)
exemptAssignees: false
# Label to use when marking as stale
staleLabel: wontfix
# Comment to post when marking as stale. Set to `false` to disable
markComment: >
This issue/PR has been automatically marked as stale because it has not had
recent activity for 180 days. It will be closed if no further activity
occurs in 7 dayss. Thank you for your contributions!
# Comment to post when removing the stale label.
# unmarkComment: >
# Your comment here.
# Comment to post when closing a stale Issue or Pull Request.
# closeComment: >
# Your comment here.
# Limit the number of actions per hour, from 1-30. Default is 30
limitPerRun: 30
# Limit to only `issues` or `pulls`
# only: issues
# Optionally, specify configuration settings that are specific to just 'issues' or 'pulls':
# pulls:
# daysUntilStale: 30
# markComment: >
# This pull request has been automatically marked as stale because it has not had
# recent activity. It will be closed if no further activity occurs. Thank you
# for your contributions.
# issues:
# exemptLabels:
# - confirmed

34
.github/workflows/cifuzz.yml vendored Normal file
View File

@@ -0,0 +1,34 @@
name: CIFuzz
on: [pull_request]
permissions: {}
jobs:
Fuzzing:
runs-on: ubuntu-latest
permissions:
security-events: write
steps:
- name: Build Fuzzers
id: build
uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
with:
oss-fuzz-project-name: 'open5gs'
- name: Run Fuzzers
uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
with:
oss-fuzz-project-name: 'open5gs'
fuzz-seconds: 300
output-sarif: true
- name: Upload Crash
uses: actions/upload-artifact@v4
if: failure() && steps.build.outcome == 'success'
with:
name: artifacts
path: ./out/artifacts
- name: Upload Sarif
if: always() && steps.build.outcome == 'success'
uses: github/codeql-action/upload-sarif@v3
with:
# Path to SARIF file relative to the root of the repository
sarif_file: cifuzz-sarif/results.sarif
checkout_path: cifuzz-sarif
category: CIFuzz

78
.github/workflows/meson-ci.yml vendored Normal file
View File

@@ -0,0 +1,78 @@
name: Meson Continuous Integration
on: [push, pull_request]
jobs:
# macos-latest:
# name: Build and Test on MacOS Latest
# runs-on: macos-latest
# steps:
## - name: Install MongoDB with Package Manager
## run: |
## brew tap mongodb/brew
## brew install mongodb-community
## brew services start mongodb-community
# - name: Create the TUN device with the interface name `ogstun`.
# run: |
# sudo ifconfig lo0 alias 127.0.0.2 netmask 255.255.255.255
# sudo ifconfig lo0 alias 127.0.0.3 netmask 255.255.255.255
# sudo ifconfig lo0 alias 127.0.0.4 netmask 255.255.255.255
# sudo ifconfig lo0 alias 127.0.0.5 netmask 255.255.255.255
# sudo ifconfig lo0 alias 127.0.0.5 netmask 255.255.255.255
# sudo ifconfig lo0 alias 127.0.0.6 netmask 255.255.255.255
# sudo ifconfig lo0 alias 127.0.0.7 netmask 255.255.255.255
# sudo ifconfig lo0 alias 127.0.0.8 netmask 255.255.255.255
# sudo ifconfig lo0 alias 127.0.0.9 netmask 255.255.255.255
# sudo ifconfig lo0 alias 127.0.0.10 netmask 255.255.255.255
# sudo ifconfig lo0 alias 127.0.0.11 netmask 255.255.255.255
# sudo ifconfig lo0 alias 127.0.0.12 netmask 255.255.255.255
# sudo ifconfig lo0 alias 127.0.0.13 netmask 255.255.255.255
# sudo ifconfig lo0 alias 127.0.0.14 netmask 255.255.255.255
# sudo ifconfig lo0 alias 127.0.0.15 netmask 255.255.255.255
# sudo ifconfig lo0 alias 127.0.0.16 netmask 255.255.255.255
# sudo ifconfig lo0 alias 127.0.0.17 netmask 255.255.255.255
# sudo ifconfig lo0 alias 127.0.0.18 netmask 255.255.255.255
# sudo ifconfig lo0 alias 127.0.0.19 netmask 255.255.255.255
# sudo ifconfig lo0 alias 127.0.0.20 netmask 255.255.255.255
# sudo ifconfig lo0 alias 127.0.1.10 netmask 255.255.255.255
# - name: Install the dependencies for building the source code.
# run: brew install mongo-c-driver libidn libmicrohttpd nghttp2 bison libusrsctp libtins talloc meson
# - name: Check out repository code
# uses: actions/checkout@main
# - name: Setup Meson Build
# run: PATH="/usr/local/opt/bison/bin:$PATH" PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig:$PKG_CONFIG_PATH" meson setup build
# env:
# CC: gcc
# - name : Build Open5GS
# run: ninja -C build
# - name: Test Open5GS
# run: sudo meson test -C build -v crypt unit
#
ubuntu-latest:
name: Build and Test on Ubuntu Latest
runs-on: ubuntu-latest
services:
mongodb:
image: mongo
ports:
- 27017:27017
steps:
- name: Create the TUN device with the interface name `ogstun`.
run: |
sudo ip tuntap add name ogstun mode tun
sudo ip addr add 10.45.0.1/16 dev ogstun
sudo ip addr add 2001:db8:cafe::1/48 dev ogstun
sudo ip link set ogstun up
- name: Install the dependencies for building the source code.
run: |
sudo apt update
sudo apt install python3-pip python3-setuptools python3-wheel ninja-build build-essential flex bison git libsctp-dev libgnutls28-dev libgcrypt-dev libssl-dev libidn11-dev libmongoc-dev libbson-dev libyaml-dev libnghttp2-dev libmicrohttpd-dev libcurl4-gnutls-dev libnghttp2-dev libtins-dev libtalloc-dev meson
- name: Check out repository code
uses: actions/checkout@main
- name: Setup Meson Build
run: meson setup build
env:
CC: gcc
- name : Build Open5GS
run: ninja -C build
- name: Test Open5GS
run: meson test -C build -v

45
.github/workflows/stale.yml vendored Normal file
View File

@@ -0,0 +1,45 @@
name: Mark stale issues and pull requests
on:
schedule:
- cron: '30 22 * * *'
jobs:
stale:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/stale@v5
with:
debug-only: false
operations-per-run: 500
enable-statistics: true
remove-stale-when-updated: true
exempt-issue-labels: 'status:accepted,status:blocked,status:more-info-needed,status:milestone-required,Help Wanted'
exempt-all-milestones: true
stale-issue-label: 'Housekeeping:ToClose'
days-before-stale: 60
stale-issue-message: >
This issue has been marked as stale because there has been no recent activity on it. If there is
no further activity, it will be closed. The Open5GS team is a small but dedicated team with limited
resources and may not be able to address every issue directly. **Do not** attempt to circumvent this
by 'bumping' the issue; doing so will result in it's immediate closure and possibly your exclusion
from participating in any future discussions.
stale-pr-message: >
As there has been no recent activity on this PR, it has been marked as stale. It will be automatically
closed if no further action is taken.
days-before-close: 30
days-before-pr-close: -1
close-issue-message: >
This issue has been closed automatically due to lack of activity. This has been done to try
and reduce the amount of noise. Please do not comment any further. The Open5GS Team may choose to
re-open this issue if necessary.
close-pr-message: >
This PR has been closed due to an absence of activity.

74
.gitignore vendored
View File

@@ -1,69 +1,9 @@
# compiler output
*.o
*.lo
*.a
*.la
*.conf
.deps
.dirstamp
.libs
install/
# generated files
lib/freeDiameter-*/build-aux/*
lib/freeDiameter-*/config.status
lib/freeDiameter-*/m4/*.m4
lib/freeDiameter-*/!m4/ax_*.m4
lib/freeDiameter-*/libfdcore/fdd.tab.[chy]
lib/freeDiameter-*/libfdcore/lex.fdd.[cl]
lib/freeDiameter-*/include/freeDiameter/version.h
lib/freeDiameter-*/include/freeDiameter/config.h.in*
lib/freeDiameter-*/include/freeDiameter/config.h
lib/freeDiameter-*/include/freeDiameter/freeDiameter-host.h
support/systemd/nextepc-*.service
support/logrotate/nextepc
# This directory is fetched during first build and is present in this directory
subprojects/freeDiameter
subprojects/libtins
subprojects/prometheus-client-c
subprojects/usrsctp
# autotools
stamp-h1
config.h
lib/base/nextepc-config.h
lib/base/nextepc-config.h.in*
config.log
config.status
configure
aclocal.m4
libtool
autom4te.cache
build/*
!build/git-version-gen
!build/osc-upload.sh
!build/dput-upload.sh
Makefile
Makefile.in
m4/*.m4
!m4/ax_*.m4
.tarball-version
.version
# autotest
test/package.m4
test/atconfig
test/testsuite
test/testsuite.dir/
test/testsuite.log
# executables
test/testunit
test/testsimple
test/testcomplex
test/testvolte
nextepc-mmed
nextepc-pcrfd
nextepc-pgwd
nextepc-sgwd
nextepc-epcd
nextepc-hssd
# webui
webui/.next/
webui/node_modules/
webui/.next

3
.gitmodules vendored
View File

@@ -1,3 +0,0 @@
[submodule "lib/ogslib"]
path = lib/ogslib
url = https://github.com/open5gs/ogslib

View File

@@ -1,62 +0,0 @@
# Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com>
# This file is part of Open5GS.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
ACLOCAL_AMFLAGS = -I m4
EXTRA_DIST = build/git-version-gen .version README.md LICENSE
SUBDIRS = lib src support test
bin_PROGRAMS = nextepc-mmed nextepc-hssd nextepc-sgwd nextepc-pgwd nextepc-pcrfd nextepc-epcd
dist_nextepc_mmed_SOURCES = main.c
nextepc_mmed_LDADD = $(top_srcdir)/src/libmme.la
dist_nextepc_hssd_SOURCES = main.c
nextepc_hssd_LDADD = $(top_srcdir)/src/libhss.la
dist_nextepc_sgwd_SOURCES = main.c
nextepc_sgwd_LDADD = $(top_srcdir)/src/libsgw.la
dist_nextepc_pgwd_SOURCES = main.c
nextepc_pgwd_LDADD = $(top_srcdir)/src/libpgw.la
dist_nextepc_pcrfd_SOURCES = main.c
nextepc_pcrfd_LDADD = $(top_srcdir)/src/libpcrf.la
dist_nextepc_epcd_SOURCES = main.c
nextepc_epcd_LDADD = $(top_srcdir)/src/libepc.la
AM_CPPFLAGS = \
@OGSCORE_CFLAGS@ \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
$(NULL)
install-data-hook:
$(MKDIR_P) $(DESTDIR)/$(localstatedir)/log/nextepc
$(MKDIR_P) $(DESTDIR)/$(localstatedir)/run/nextepc-mmed
$(MKDIR_P) $(DESTDIR)/$(localstatedir)/run/nextepc-sgwd
$(MKDIR_P) $(DESTDIR)/$(localstatedir)/run/nextepc-pgwd
$(MKDIR_P) $(DESTDIR)/$(localstatedir)/run/nextepc-pcrfd
$(MKDIR_P) $(DESTDIR)/$(localstatedir)/run/nextepc-hssd
$(MKDIR_P) $(DESTDIR)/$(localstatedir)/run/nextepc-epcd
BUILT_SOURCES = $(top_srcdir)/.version
$(top_srcdir)/.version:
echo $(VERSION) > $@-t && mv $@-t $@
dist-hook:
echo $(VERSION) > $(distdir)/.tarball-version

View File

@@ -1,26 +1,44 @@
## Documentation
<p align="center"><a href="https://open5gs.org" target="_blank" rel="noopener noreferrer"><img width="100" src="https://open5gs.org/assets/img/open5gs-logo-only.png" alt="Open5GS logo"></a></p>
If you don't understand something about NextEPC, the [https://open5gs.org/nextepc/docs/](https://open5gs.org/nextepc/docs/) is a great place to look for answers.
## Getting Started
## Support
Please follow the [documentation](https://open5gs.org/open5gs/docs/) at [open5gs.org](https://open5gs.org/)!
Problem with NextEPC can be filed as [issues](https://github.com/open5gs/nextepc/issues) in this repository.
## Sponsors
Discussions related to this project are happening on the [nextepc@lists.osmocom.org](mailto:nextepc@lists.osmocom.org) mailing list, please see <https://lists.osmocom.org/mailman/listinfo/nextepc> for subscription options and the list archive.
If you find Open5GS useful for work, please consider supporting this Open Source project by [Becoming a sponsor](https://github.com/sponsors/acetcom). To manage the funding transactions transparently, you can donate through [OpenCollective](https://opencollective.com/open5gs).
Voice and text chat available in NextEPC's [Discord](https://discordapp.com/) workspace. Use [this link](https://discord.gg/GreNkuc) to get started.
<p align="center">
<h3 align="center">Special Sponsor</h3>
</p>
<p align="center">
<a target="_blank" href="https://mobi.com">
<img alt="special sponsor mobi" src="https://open5gs.org/assets/img/mobi-open5GS.png" width="400">
</a>
</p>
<p align="center">
<a target="_blank" href="https://open5gs.org/#sponsors">
<img alt="sponsors" src="https://open5gs.org/assets/img/sponsors.svg">
</a>
</p>
## Community
- Problem with Open5GS can be filed as [issues](https://github.com/open5gs/open5gs/issues) in this repository.
- Other topics related to this project are happening on the [discussions](https://github.com/open5gs/open5gs/discussions).
- Voice and text chat are available in Open5GS's [Discord](https://discordapp.com/) workspace. Use [this link](https://discord.gg/GreNkuc) to get started.
## Contributing
NextEPC is a pure/classic FOSS project, open to contributions from anyone.
[Pull requests](https://github.com/open5gs/nextepc/pulls) are always welcome, and I appreciates any help the community can give to help make NextEPC better.
Do you want to be a committer? Please [send me an email](mailto:acetcom@gmail.com). You will be added as a committer to this project. However, if someone consistently causes difficulties with these source repositories due to poor behavior or other serious problems then commit access may be revoked.
If you're contributing through a pull request to Open5GS project on GitHub, please read the [Contributor License Agreement](https://open5gs.org/open5gs/cla/) in advance.
## License
NextEPC source files are made available under the terms of the GNU Affero General Public License (GNU AGPLv3).
- Open5GS Open Source files are made available under the terms of the GNU Affero General Public License ([GNU AGPL v3.0](https://www.gnu.org/licenses/agpl-3.0.html)).
- [Commercial licenses](https://open5gs.org/open5gs/support/) are also available from [NewPlane](https://newplane.io/) at [sales@newplane.io](mailto:sales@newplane.io).
When you contribute code for NextEPC, the same license applies.
## Support
Technical support and customized services for Open5GS are provided by [NewPlane](https://newplane.io/) at [support@newplane.io](mailto:support@newplane.io).

View File

@@ -1,227 +0,0 @@
#!/bin/sh
# Print a version string.
scriptversion=2017-09-13.06; # UTC
# Copyright (C) 2007-2017 Free Software Foundation, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# This script is derived from GIT-VERSION-GEN from GIT: https://git-scm.com/.
# It may be run two ways:
# - from a git repository in which the "git describe" command below
# produces useful output (thus requiring at least one signed tag)
# - from a non-git-repo directory containing a .tarball-version file, which
# presumes this script is invoked like "./git-version-gen .tarball-version".
# In order to use intra-version strings in your project, you will need two
# separate generated version string files:
#
# .tarball-version - present only in a distribution tarball, and not in
# a checked-out repository. Created with contents that were learned at
# the last time autoconf was run, and used by git-version-gen. Must not
# be present in either $(srcdir) or $(builddir) for git-version-gen to
# give accurate answers during normal development with a checked out tree,
# but must be present in a tarball when there is no version control system.
# Therefore, it cannot be used in any dependencies. GNUmakefile has
# hooks to force a reconfigure at distribution time to get the value
# correct, without penalizing normal development with extra reconfigures.
#
# .version - present in a checked-out repository and in a distribution
# tarball. Usable in dependencies, particularly for files that don't
# want to depend on config.h but do want to track version changes.
# Delete this file prior to any autoconf run where you want to rebuild
# files to pick up a version string change; and leave it stale to
# minimize rebuild time after unrelated changes to configure sources.
#
# As with any generated file in a VC'd directory, you should add
# /.version to .gitignore, so that you don't accidentally commit it.
# .tarball-version is never generated in a VC'd directory, so needn't
# be listed there.
#
# Use the following line in your configure.ac, so that $(VERSION) will
# automatically be up-to-date each time configure is run (and note that
# since configure.ac no longer includes a version string, Makefile rules
# should not depend on configure.ac for version updates).
#
# AC_INIT([GNU project],
# m4_esyscmd([build-aux/git-version-gen .tarball-version]),
# [bug-project@example])
#
# Then use the following lines in your Makefile.am, so that .version
# will be present for dependencies, and so that .version and
# .tarball-version will exist in distribution tarballs.
#
# EXTRA_DIST = $(top_srcdir)/.version
# BUILT_SOURCES = $(top_srcdir)/.version
# $(top_srcdir)/.version:
# echo $(VERSION) > $@-t && mv $@-t $@
# dist-hook:
# echo $(VERSION) > $(distdir)/.tarball-version
me=$0
version="git-version-gen $scriptversion
Copyright 2011 Free Software Foundation, Inc.
There is NO warranty. You may redistribute this software
under the terms of the GNU General Public License.
For more information about these matters, see the files named COPYING."
usage="\
Usage: $me [OPTION]... \$srcdir/.tarball-version [TAG-NORMALIZATION-SED-SCRIPT]
Print a version string.
Options:
--prefix PREFIX prefix of git tags (default 'v')
--fallback VERSION
fallback version to use if \"git --version\" fails
--help display this help and exit
--version output version information and exit
Running without arguments will suffice in most cases."
prefix=v
fallback=
while test $# -gt 0; do
case $1 in
--help) echo "$usage"; exit 0;;
--version) echo "$version"; exit 0;;
--prefix) shift; prefix=${1?};;
--fallback) shift; fallback=${1?};;
-*)
echo "$0: Unknown option '$1'." >&2
echo "$0: Try '--help' for more information." >&2
exit 1;;
*)
if test "x$tarball_version_file" = x; then
tarball_version_file="$1"
elif test "x$tag_sed_script" = x; then
tag_sed_script="$1"
else
echo "$0: extra non-option argument '$1'." >&2
exit 1
fi;;
esac
shift
done
if test "x$tarball_version_file" = x; then
echo "$usage"
exit 1
fi
tag_sed_script="${tag_sed_script:-s/x/x/}"
nl='
'
# Avoid meddling by environment variable of the same name.
v=
v_from_git=
# First see if there is a tarball-only version file.
# then try "git describe", then default.
if test -f $tarball_version_file
then
v=`cat $tarball_version_file` || v=
case $v in
*$nl*) v= ;; # reject multi-line output
[0-9]*) ;;
*) v= ;;
esac
test "x$v" = x \
&& echo "$0: WARNING: $tarball_version_file is missing or damaged" 1>&2
fi
if test "x$v" != x
then
: # use $v
# Otherwise, if there is at least one git commit involving the working
# directory, and "git describe" output looks sensible, use that to
# derive a version string.
elif test "`git log -1 --pretty=format:x . 2>&1`" = x \
&& v=`git describe --abbrev=4 --match="$prefix*" HEAD 2>/dev/null \
|| git describe --abbrev=4 HEAD 2>/dev/null` \
&& v=`printf '%s\n' "$v" | sed "$tag_sed_script"` \
&& case $v in
$prefix[0-9]*) ;;
*) (exit 1) ;;
esac
then
# Is this a new git that lists number of commits since the last
# tag or the previous older version that did not?
# Newer: v6.10-77-g0f8faeb
# Older: v6.10-g0f8faeb
vprefix=`expr "X$v" : 'X\(.*\)-g[^-]*$'` || vprefix=$v
case $vprefix in
*-*) : git describe is probably okay three part flavor ;;
*)
: git describe is older two part flavor
# Recreate the number of commits and rewrite such that the
# result is the same as if we were using the newer version
# of git describe.
vtag=`echo "$v" | sed 's/-.*//'`
commit_list=`git rev-list "$vtag"..HEAD 2>/dev/null` \
|| { commit_list=failed;
echo "$0: WARNING: git rev-list failed" 1>&2; }
numcommits=`echo "$commit_list" | wc -l`
v=`echo "$v" | sed "s/\(.*\)-\(.*\)/\1-$numcommits-\2/"`;
test "$commit_list" = failed && v=UNKNOWN
;;
esac
# Change the penultimate "-" to ".", for version-comparing tools.
# Remove the "g" to save a byte.
v=`echo "$v" | sed 's/-\([^-]*\)-g\([^-]*\)$/.\1-\2/'`;
v_from_git=1
elif test "x$fallback" = x || git --version >/dev/null 2>&1; then
v=UNKNOWN
else
v=$fallback
fi
v=`echo "$v" |sed "s/^$prefix//"`
# Test whether to append the "-dirty" suffix only if the version
# string we're using came from git. I.e., skip the test if it's "UNKNOWN"
# or if it came from .tarball-version.
if test "x$v_from_git" != x; then
# Don't declare a version "dirty" merely because a timestamp has changed.
git update-index --refresh > /dev/null 2>&1
dirty=`exec 2>/dev/null;git diff-index --name-only HEAD` || dirty=
case "$dirty" in
'') ;;
*) # Append the suffix only if there isn't one already.
case $v in
*-dirty) ;;
*) v="$v-dirty" ;;
esac ;;
esac
fi
# Omit the trailing newline, so that m4_esyscmd can use the result directly.
printf %s "$v"
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:

315
configs/310014.yaml.in Normal file
View File

@@ -0,0 +1,315 @@
db_uri: mongodb://localhost/open5gs
logger:
test:
serving:
- plmn_id:
mcc: 310
mnc: 014
global:
parameter:
# no_nrf: true
# no_scp: true
no_sepp: true
# no_amf: true
# no_smf: true
# no_upf: true
# no_ausf: true
# no_udm: true
# no_pcf: true
# no_nssf: true
# no_bsf: true
# no_udr: true
# no_mme: true
# no_sgwc: true
# no_sgwu: true
# no_pcrf: true
# no_hss: true
mme:
freeDiameter:
identity: mme.localdomain
realm: localdomain
listen_on: 127.0.0.2
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
address: 127.0.0.8
s1ap:
server:
- address: 127.0.0.2
gtpc:
server:
- address: 127.0.0.2
client:
sgwc:
- address: 127.0.0.3
smf:
- address: 127.0.0.4
gummei:
- plmn_id:
mcc: 310
mnc: 014
mme_gid: 2
mme_code: 1
tai:
- plmn_id:
mcc: 310
mnc: 014
tac: 1
security:
integrity_order : [ EIA2, EIA1, EIA0 ]
ciphering_order : [ EEA0, EEA1, EEA2 ]
network_name:
full: Open5GS
time:
t3412:
value: 540
sgwc:
gtpc:
server:
- address: 127.0.0.3
pfcp:
server:
- address: 127.0.0.3
client:
sgwu:
- address: 127.0.0.6
smf:
sbi:
server:
- address: 127.0.0.4
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
pfcp:
server:
- address: 127.0.0.4
client:
upf:
- address: 127.0.0.7
gtpc:
server:
- address: 127.0.0.4
gtpu:
server:
- address: 127.0.0.4
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
dns:
- 8.8.8.8
- 8.8.4.4
- 2001:4860:4860::8888
- 2001:4860:4860::8844
mtu: 1400
freeDiameter:
identity: smf.localdomain
realm: localdomain
listen_on: 127.0.0.4
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
address: 127.0.0.9
amf:
sbi:
server:
- address: 127.0.0.5
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
ngap:
server:
- address: 127.0.0.5
guami:
- plmn_id:
mcc: 310
mnc: 014
amf_id:
region: 2
set: 1
tai:
- plmn_id:
mcc: 310
mnc: 014
tac: 1
plmn_support:
- plmn_id:
mcc: 310
mnc: 014
s_nssai:
- sst: 1
security:
integrity_order : [ NIA2, NIA1, NIA0 ]
ciphering_order : [ NEA0, NEA1, NEA2 ]
network_name:
full: Open5GS
amf_name: open5gs-amf0
time:
t3512:
value: 540 # 9 mintues * 60 = 540 seconds
sgwu:
pfcp:
server:
- address: 127.0.0.6
gtpu:
server:
- address: 127.0.0.6
upf:
pfcp:
server:
- address: 127.0.0.7
gtpu:
server:
- address: 127.0.0.7
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
metrics:
server:
- address: 127.0.0.7
port: 9090
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
address: 127.0.0.2
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
address: 127.0.0.4
nrf:
sbi:
server:
- address: 127.0.0.10
port: 7777
scp:
sbi:
server:
- address: 127.0.0.200
port: 7777
client:
nrf:
- uri: http://127.0.0.10:7777
ausf:
sbi:
server:
- address: 127.0.0.11
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
udm:
sbi:
server:
- address: 127.0.0.12
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
pcf:
sbi:
server:
- address: 127.0.0.13
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
metrics:
server:
- address: 127.0.0.13
port: 9090
nssf:
sbi:
server:
- address: 127.0.0.14
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
nsi:
- uri: http://127.0.0.10:7777
s_nssai:
sst: 1
bsf:
sbi:
server:
- address: 127.0.0.15
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
udr:
sbi:
server:
- address: 127.0.0.20
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777

335
configs/attach.yaml.in Normal file
View File

@@ -0,0 +1,335 @@
db_uri: mongodb://localhost/open5gs
logger:
test:
serving:
- plmn_id:
mcc: 999
mnc: 70
global:
parameter:
# no_nrf: true
# no_scp: true
no_sepp: true
# no_amf: true
# no_smf: true
# no_upf: true
# no_ausf: true
# no_udm: true
# no_pcf: true
# no_nssf: true
# no_bsf: true
# no_udr: true
# no_mme: true
# no_sgwc: true
# no_sgwu: true
# no_pcrf: true
# no_hss: true
mme:
freeDiameter:
identity: mme.localdomain
realm: localdomain
listen_on: 127.0.0.2
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
address: 127.0.0.8
s1ap:
server:
- address: 127.0.0.2
gtpc:
server:
- address: 127.0.0.2
client:
sgwc:
- address: 127.0.0.3
smf:
- address: 127.0.0.4
metrics:
server:
- address: 127.0.0.2
port: 9090
gummei:
- plmn_id:
mcc: 999
mnc: 70
mme_gid: 2
mme_code: 1
tai:
- plmn_id:
mcc: 999
mnc: 70
tac: 1
security:
integrity_order : [ EIA2, EIA1, EIA0 ]
ciphering_order : [ EEA0, EEA1, EEA2 ]
network_name:
full: Open5GS
time:
t3412:
value: 540
sgwc:
gtpc:
server:
- address: 127.0.0.3
pfcp:
server:
- address: 127.0.0.3
client:
sgwu:
- address: 127.0.0.6
smf:
# sbi:
# server:
# - address: 127.0.0.4
# port: 7777
# client:
# scp:
# - uri: http://127.0.0.200:7777
pfcp:
server:
- address: 127.0.0.4
client:
upf:
- address: 127.0.0.7
gtpc:
server:
- address: 127.0.0.4
gtpu:
server:
- address: 127.0.0.4
metrics:
server:
- address: 127.0.0.4
port: 9090
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
dns:
- 8.8.8.8
- 8.8.4.4
- 2001:4860:4860::8888
- 2001:4860:4860::8844
mtu: 1400
freeDiameter:
identity: smf.localdomain
realm: localdomain
listen_on: 127.0.0.4
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
address: 127.0.0.9
amf:
sbi:
server:
- address: 127.0.0.5
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
ngap:
server:
- address: 127.0.0.5
metrics:
server:
- address: 127.0.0.5
port: 9090
guami:
- plmn_id:
mcc: 999
mnc: 70
amf_id:
region: 2
set: 1
tai:
- plmn_id:
mcc: 999
mnc: 70
tac: 1
plmn_support:
- plmn_id:
mcc: 999
mnc: 70
s_nssai:
- sst: 1
security:
integrity_order : [ NIA2, NIA1, NIA0 ]
ciphering_order : [ NEA0, NEA1, NEA2 ]
network_name:
full: Open5GS
amf_name: open5gs-amf0
time:
t3512:
value: 540 # 9 mintues * 60 = 540 seconds
sgwu:
pfcp:
server:
- address: 127.0.0.6
gtpu:
server:
- address: 127.0.0.6
upf:
pfcp:
server:
- address: 127.0.0.7
gtpu:
server:
- address: 127.0.0.7
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
metrics:
server:
- address: 127.0.0.7
port: 9090
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
address: 127.0.0.2
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
address: 127.0.0.4
nrf:
sbi:
server:
- address: 127.0.0.10
port: 7777
scp:
sbi:
server:
- address: 127.0.0.200
port: 7777
client:
nrf:
- uri: http://127.0.0.10:7777
ausf:
sbi:
server:
- address: 127.0.0.11
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
udm:
hnet:
- id: 1
scheme: 1
key: @build_configs_dir@/open5gs/hnet/curve25519-1.key
- id: 2
scheme: 2
key: @build_configs_dir@/open5gs/hnet/secp256r1-2.key
sbi:
server:
- address: 127.0.0.12
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
pcf:
sbi:
server:
- address: 127.0.0.13
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
metrics:
server:
- address: 127.0.0.13
port: 9090
nssf:
sbi:
server:
- address: 127.0.0.14
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
nsi:
- uri: http://127.0.0.10:7777
s_nssai:
sst: 1
bsf:
sbi:
server:
- address: 127.0.0.15
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
udr:
sbi:
server:
- address: 127.0.0.20
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777

313
configs/csfb.yaml.in Normal file
View File

@@ -0,0 +1,313 @@
db_uri: mongodb://localhost/open5gs
logger:
test:
serving:
- plmn_id:
mcc: 999
mnc: 70
global:
parameter:
# no_nrf: true
# no_scp: true
no_sepp: true
# no_amf: true
# no_smf: true
# no_upf: true
# no_ausf: true
# no_udm: true
# no_pcf: true
# no_nssf: true
# no_bsf: true
# no_udr: true
# no_mme: true
# no_sgwc: true
# no_sgwu: true
# no_pcrf: true
# no_hss: true
mme:
freeDiameter:
identity: mme.localdomain
realm: localdomain
listen_on: 127.0.0.2
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
address: 127.0.0.8
s1ap:
server:
- address: 127.0.0.2
gtpc:
server:
- address: 127.0.0.2
client:
sgwc:
- address: 127.0.0.3
smf:
- address: 127.0.0.4
sgsap:
client:
- address: 127.0.0.2
map:
tai:
plmn_id:
mcc: 999
mnc: 70
tac: 7
lai:
plmn_id:
mcc: 999
mnc: 70
lac: 2342
map:
tai:
plmn_id:
mcc: 724
mnc: 21
tac: 12345
lai:
plmn_id:
mcc: 724
mnc: 21
lac: 51544
gummei:
- plmn_id:
mcc: 999
mnc: 70
mme_gid: 2
mme_code: 1
- plmn_id:
mcc: 724
mnc: 21
mme_gid: 2
mme_code: 1
tai:
- plmn_id:
mcc: 999
mnc: 70
tac: 7
tai:
- plmn_id:
mcc: 724
mnc: 21
tac: 12345
security:
integrity_order : [ EIA2, EIA1, EIA0 ]
ciphering_order : [ EEA0, EEA1, EEA2 ]
network_name:
full: Open5GS
time:
t3412:
value: 540
sgwc:
gtpc:
server:
- address: 127.0.0.3
pfcp:
server:
- address: 127.0.0.3
client:
sgwu:
- address: 127.0.0.6
smf:
# sbi:
# server:
# - address: 127.0.0.4
# port: 7777
pfcp:
server:
- address: 127.0.0.4
client:
upf:
- address: 127.0.0.7
gtpc:
server:
- address: 127.0.0.4
gtpu:
server:
- address: 127.0.0.4
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
dns:
- 8.8.8.8
- 8.8.4.4
- 2001:4860:4860::8888
- 2001:4860:4860::8844
mtu: 1400
freeDiameter:
identity: smf.localdomain
realm: localdomain
listen_on: 127.0.0.4
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
address: 127.0.0.9
amf:
sbi:
server:
- address: 127.0.0.5
port: 7777
ngap:
server:
- address: 127.0.0.5
guami:
- plmn_id:
mcc: 999
mnc: 70
amf_id:
region: 2
set: 1
tai:
- plmn_id:
mcc: 999
mnc: 70
tac: 1
plmn_support:
- plmn_id:
mcc: 999
mnc: 70
s_nssai:
- sst: 1
security:
integrity_order : [ NIA2, NIA1, NIA0 ]
ciphering_order : [ NEA0, NEA1, NEA2 ]
network_name:
full: Open5GS
amf_name: open5gs-amf0
time:
t3512:
value: 540 # 9 mintues * 60 = 540 seconds
sgwu:
pfcp:
server:
- address: 127.0.0.6
gtpu:
server:
- address: 127.0.0.6
upf:
pfcp:
server:
- address: 127.0.0.7
gtpu:
server:
- address: 127.0.0.7
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
metrics:
server:
- address: 127.0.0.7
port: 9090
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
address: 127.0.0.2
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
address: 127.0.0.4
ausf:
sbi:
server:
- address: 127.0.0.11
port: 7777
udm:
sbi:
server:
- address: 127.0.0.12
port: 7777
pcf:
sbi:
server:
- address: 127.0.0.13
port: 7777
metrics:
server:
- address: 127.0.0.13
port: 9090
nssf:
sbi:
server:
- address: 127.0.0.14
port: 7777
clinet:
nsi:
- uri: http://127.0.0.10:7777
s_nssai:
sst: 1
bsf:
sbi:
server:
- address: 127.0.0.15
port: 7777
udr:
sbi:
server:
- address: 127.0.0.20
port: 7777

View File

@@ -0,0 +1,459 @@
db_uri: mongodb://localhost/open5gs
logger:
global:
parameter:
# no_nrf: true
# no_scp: true
# no_sepp: true
# no_amf: true
# no_smf: true
# no_upf: true
# no_ausf: true
# no_udm: true
# no_pcf: true
# no_nssf: true
# no_bsf: true
# no_udr: true
no_mme: true
no_sgwc: true
no_sgwu: true
no_pcrf: true
no_hss: true
mme:
freeDiameter:
identity: mme.localdomain
realm: localdomain
listen_on: 127.0.1.2
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
address: 127.0.1.8
s1ap:
server:
- address: 127.0.1.2
gtpc:
server:
- address: 127.0.1.2
client:
sgwc:
- address: 127.0.1.3
smf:
- address: 127.0.1.4
metrics:
server:
- address: 127.0.1.2
port: 9090
gummei:
- plmn_id:
mcc: 999
mnc: 70
mme_gid: 2
mme_code: 1
tai:
- plmn_id:
mcc: 999
mnc: 70
tac: 1
security:
integrity_order : [ EIA2, EIA1, EIA0 ]
ciphering_order : [ EEA0, EEA1, EEA2 ]
network_name:
full: Open5GS
time:
t3412:
value: 3240
sgwc:
gtpc:
server:
- address: 127.0.1.3
pfcp:
server:
- address: 127.0.1.3
client:
sgwu:
- address: 127.0.1.6
smf:
sbi:
server:
- address: 127.0.1.4
port: 7777
client:
scp:
- uri: http://127.0.1.200:7777
pfcp:
server:
- address: 127.0.1.4
client:
upf:
- address: 127.0.1.7
gtpc:
server:
- address: 127.0.1.4
gtpu:
server:
- address: 127.0.1.4
metrics:
server:
- address: 127.0.1.4
port: 9090
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
dns:
- 8.8.8.8
- 8.8.4.4
- 2001:4860:4860::8888
- 2001:4860:4860::8844
mtu: 1400
freeDiameter:
identity: smf.localdomain
realm: localdomain
listen_on: 127.0.1.4
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
address: 127.0.1.9
amf:
sbi:
server:
- address: 127.0.1.5
port: 7777
client:
scp:
- uri: http://127.0.1.200:7777
ngap:
server:
- address: 127.0.1.5
metrics:
server:
- address: 127.0.1.5
port: 9090
access_control:
- plmn_id:
mcc: 999
mnc: 70
- plmn_id:
mcc: 001
mnc: 01
- plmn_id:
mcc: 315
mnc: 010
guami:
- plmn_id:
mcc: 999
mnc: 70
amf_id:
region: 2
set: 1
tai:
- plmn_id:
mcc: 999
mnc: 70
tac: 1
plmn_support:
- plmn_id:
mcc: 999
mnc: 70
s_nssai:
- sst: 1
security:
integrity_order : [ NIA2, NIA1, NIA0 ]
ciphering_order : [ NEA0, NEA1, NEA2 ]
network_name:
full: Open5GS
amf_name: open5gs-amf0
time:
t3512:
value: 540 # 9 mintues * 60 = 540 seconds
sgwu:
pfcp:
server:
- address: 127.0.1.6
gtpu:
server:
- address: 127.0.1.6
upf:
pfcp:
server:
- address: 127.0.1.7
gtpu:
server:
- address: 127.0.1.7
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
metrics:
server:
- address: 127.0.1.7
port: 9090
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.1.8
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
address: 127.0.1.2
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.1.9
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
address: 127.0.1.4
nrf:
serving:
- plmn_id:
mcc: 999
mnc: 70
sbi:
server:
# - address: 127.0.1.10
# port: 7777
- address: nrf.5gc.mnc070.mcc999.3gppnetwork.org
scp:
sbi:
server:
- address: 127.0.1.200
port: 7777
client:
nrf:
# - uri: http://127.0.1.10:7777
- uri: http://nrf.5gc.mnc070.mcc999.3gppnetwork.org
sepp:
default:
tls:
server:
private_key: @build_configs_dir@/open5gs/tls/sepp1.key
cert: @build_configs_dir@/open5gs/tls/sepp1.crt
client:
cacert: @build_configs_dir@/open5gs/tls/ca.crt
sbi:
server:
- address: 127.0.1.250
port: 7777
client:
scp:
- uri: http://127.0.1.200:7777
n32:
server:
- sender: sepp1.localdomain
address: 127.0.1.251
port: 7777
n32f:
address: 127.0.1.252
port: 7777
client:
sepp:
- receiver: sepp2.localdomain
uri: http://127.0.2.251:7777
n32f:
uri: http://127.0.2.252:7777
- receiver: sepp3.localdomain
uri: http://127.0.3.251:7777
n32f:
uri: http://127.0.3.252:7777
ausf:
sbi:
server:
# - address: 127.0.1.11
# port: 7777
- address: ausf.5gc.mnc070.mcc999.3gppnetwork.org
client:
scp:
- uri: http://127.0.1.200:7777
udm:
hnet:
- id: 1
scheme: 1
key: @build_configs_dir@/open5gs/hnet/curve25519-1.key
- id: 2
scheme: 2
key: @build_configs_dir@/open5gs/hnet/secp256r1-2.key
sbi:
server:
# - address: 127.0.1.12
# port: 7777
- address: udm.5gc.mnc070.mcc999.3gppnetwork.org
client:
scp:
- uri: http://127.0.1.200:7777
pcf:
sbi:
server:
- address: 127.0.1.13
port: 7777
client:
scp:
- uri: http://127.0.1.200:7777
metrics:
server:
- address: 127.0.1.13
port: 9090
policy:
- supi_range:
- 001010000000001-001019999999999
- 315010000000001-315010999999999
slice:
- sst: 1 # 1,2,3,4
default_indicator: true
session:
- name: internet
type: 3 # 1:IPv4, 2:IPv6, 3:IPv4v6
ambr:
downlink:
value: 1
unit: 3 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 1
unit: 3
qos:
index: 9 # 1, 2, 3, 4, 65, 66, 67, 75, 71, 72, 73, 74, 76, 5, 6, 7, 8, 9, 69, 70, 79, 80, 82, 83, 84, 85, 86
arp:
priority_level: 8 # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
pre_emption_vulnerability: 1 # 1: Disabled, 2:Enabled
pre_emption_capability: 1 # 1: Disabled, 2:Enabled
- name: ims
type: 3 # 1:IPv4, 2:IPv6, 3:IPv4v6
ambr:
downlink:
value: 1
unit: 3 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 1
unit: 3 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
qos:
index: 5 # 1, 2, 3, 4, 65, 66, 67, 75, 71, 72, 73, 74, 76, 5, 6, 7, 8, 9, 69, 70, 79, 80, 82, 83, 84, 85, 86
arp:
priority_level: 1 # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
pre_emption_vulnerability: 1 # 1: Disabled, 2:Enabled
pre_emption_capability: 1 # 1: Disabled, 2:Enabled
pcc_rule:
- qos:
index: 1 # 1, 2, 3, 4, 65, 66, 67, 75, 71, 72, 73, 74, 76, 5, 6, 7, 8, 9, 69, 70, 79, 80, 82, 83, 84, 85, 86
arp:
priority_level: 1 # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
pre_emption_vulnerability: 1 # 1: Disabled, 2:Enabled
pre_emption_capability: 1 # 1: Disabled, 2:Enabled
mbr:
downlink:
value: 82
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 82
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
gbr:
downlink:
value: 82
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 82
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
- qos:
index: 2 # 1, 2, 3, 4, 65, 66, 67, 75, 71, 72, 73, 74, 76, 5, 6, 7, 8, 9, 69, 70, 79, 80, 82, 83, 84, 85, 86
arp:
priority_level: 4 # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
pre_emption_vulnerability: 2 # 1: Disabled, 2:Enabled
pre_emption_capability: 2 # 1: Disabled, 2:Enabled
mbr:
downlink:
value: 802
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 802
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
gbr:
downlink:
value: 802
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 802
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
nssf:
sbi:
server:
- address: 127.0.1.14
port: 7777
client:
scp:
- uri: http://127.0.1.200:7777
nsi:
- uri: http://nrf.5gc.mnc070.mcc999.3gppnetwork.org
s_nssai:
sst: 1
bsf:
sbi:
server:
- address: 127.0.1.15
port: 7777
client:
scp:
- uri: http://127.0.1.200:7777
udr:
sbi:
server:
- address: 127.0.1.20
port: 7777
client:
scp:
- uri: http://127.0.1.200:7777

View File

@@ -0,0 +1,460 @@
db_uri: mongodb://localhost/open5gs
logger:
global:
parameter:
# no_nrf: true
# no_scp: true
# no_sepp: true
# no_amf: true
# no_smf: true
# no_upf: true
# no_ausf: true
# no_udm: true
# no_pcf: true
# no_nssf: true
# no_bsf: true
# no_udr: true
no_mme: true
no_sgwc: true
no_sgwu: true
no_pcrf: true
no_hss: true
mme:
freeDiameter:
identity: mme.localdomain
realm: localdomain
listen_on: 127.0.2.2
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
address: 127.0.2.8
s1ap:
server:
- address: 127.0.2.2
gtpc:
server:
- address: 127.0.2.2
client:
sgwc:
- address: 127.0.2.3
smf:
- address: 127.0.2.4
metrics:
server:
- address: 127.0.2.2
port: 9090
gummei:
- plmn_id:
mcc: 001
mnc: 01
mme_gid: 2
mme_code: 1
tai:
- plmn_id:
mcc: 001
mnc: 01
tac: 1
security:
integrity_order : [ EIA2, EIA1, EIA0 ]
ciphering_order : [ EEA0, EEA1, EEA2 ]
network_name:
full: Open5GS
time:
t3412:
value: 3240
sgwc:
gtpc:
server:
- address: 127.0.2.3
pfcp:
server:
- address: 127.0.2.3
client:
sgwu:
- address: 127.0.2.6
smf:
sbi:
server:
- address: 127.0.2.4
port: 7777
client:
scp:
- uri: http://127.0.2.200:7777
pfcp:
server:
- address: 127.0.2.4
client:
upf:
- address: 127.0.2.7
gtpc:
server:
- address: 127.0.2.4
gtpu:
server:
- address: 127.0.2.4
metrics:
server:
- address: 127.0.2.4
port: 9090
session:
- subnet: 10.46.0.0/16
gateway: 10.46.0.1
- subnet: 2001:db8:babe::/48
gateway: 2001:db8:babe::1
dns:
- 8.8.8.8
- 8.8.4.4
- 2001:4860:4860::8888
- 2001:4860:4860::8844
mtu: 1400
freeDiameter:
identity: smf.localdomain
realm: localdomain
listen_on: 127.0.2.4
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
address: 127.0.2.9
amf:
sbi:
server:
- address: 127.0.2.5
port: 7777
client:
scp:
- uri: http://127.0.2.200:7777
ngap:
server:
- address: 127.0.2.5
metrics:
server:
- address: 127.0.2.5
port: 9090
access_control:
- plmn_id:
mcc: 999
mnc: 70
- plmn_id:
mcc: 001
mnc: 01
- plmn_id:
mcc: 315
mnc: 010
guami:
- plmn_id:
mcc: 001
mnc: 01
amf_id:
region: 2
set: 1
tai:
- plmn_id:
mcc: 001
mnc: 01
tac: 1
plmn_support:
- plmn_id:
mcc: 001
mnc: 01
s_nssai:
- sst: 1
security:
integrity_order : [ NIA2, NIA1, NIA0 ]
ciphering_order : [ NEA0, NEA1, NEA2 ]
network_name:
full: Open5GS
amf_name: open5gs-amf0
time:
t3512:
value: 540 # 9 mintues * 60 = 540 seconds
sgwu:
pfcp:
server:
- address: 127.0.2.6
gtpu:
server:
- address: 127.0.2.6
upf:
pfcp:
server:
- address: 127.0.2.7
gtpu:
server:
- address: 127.0.2.7
session:
- subnet: 10.46.0.0/16
gateway: 10.46.0.1
dev: ogstun2
- subnet: 2001:db8:babe::/48
gateway: 2001:db8:babe::1
dev: ogstun2
metrics:
server:
- address: 127.0.2.7
port: 9090
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.2.8
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
address: 127.0.2.2
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.2.9
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
address: 127.0.2.4
nrf:
serving:
- plmn_id:
mcc: 001
mnc: 01
sbi:
server:
# - address: 127.0.2.10
# port: 7777
- address: nrf.5gc.mnc001.mcc001.3gppnetwork.org
scp:
sbi:
server:
- address: 127.0.2.200
port: 7777
client:
nrf:
- uri: http://nrf.5gc.mnc001.mcc001.3gppnetwork.org
sepp:
default:
tls:
server:
private_key: @build_configs_dir@/open5gs/tls/sepp2.key
cert: @build_configs_dir@/open5gs/tls/sepp2.crt
client:
cacert: @build_configs_dir@/open5gs/tls/ca.crt
sbi:
server:
- address: 127.0.2.250
port: 7777
client:
scp:
- uri: http://127.0.2.200:7777
n32:
server:
- sender: sepp2.localdomain
address: 127.0.2.251
port: 7777
n32f:
address: 127.0.2.252
port: 7777
client:
sepp:
- receiver: sepp1.localdomain
uri: http://127.0.1.251:7777
n32f:
uri: http://127.0.1.252:7777
- receiver: sepp3.localdomain
uri: http://127.0.3.251:7777
n32f:
uri: http://127.0.3.252:7777
ausf:
sbi:
server:
# - address: 127.0.2.11
# port: 7777
- address: ausf.5gc.mnc001.mcc001.3gppnetwork.org
client:
scp:
- uri: http://127.0.2.200:7777
udm:
hnet:
- id: 1
scheme: 1
key: @build_configs_dir@/open5gs/hnet/curve25519-1.key
- id: 2
scheme: 2
key: @build_configs_dir@/open5gs/hnet/secp256r1-2.key
sbi:
server:
# - address: 127.0.2.12
# port: 7777
- address: udm.5gc.mnc001.mcc001.3gppnetwork.org
client:
scp:
- uri: http://127.0.2.200:7777
pcf:
sbi:
server:
- address: 127.0.2.13
port: 7777
client:
scp:
- uri: http://127.0.2.200:7777
metrics:
server:
- address: 127.0.2.13
port: 9090
policy:
- supi_range:
- 999700000000001-999709999999999
- 315010000000001-315010999999999
slice:
- sst: 1 # 1,2,3,4
default_indicator: true
session:
- name: internet
type: 3 # 1:IPv4, 2:IPv6, 3:IPv4v6
ambr:
downlink:
value: 1
unit: 3 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 1
unit: 3
qos:
index: 9 # 1, 2, 3, 4, 65, 66, 67, 75, 71, 72, 73, 74, 76, 5, 6, 7, 8, 9, 69, 70, 79, 80, 82, 83, 84, 85, 86
arp:
priority_level: 8 # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
pre_emption_vulnerability: 1 # 1: Disabled, 2:Enabled
pre_emption_capability: 1 # 1: Disabled, 2:Enabled
- name: ims
type: 3 # 1:IPv4, 2:IPv6, 3:IPv4v6
ambr:
downlink:
value: 1
unit: 3 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 1
unit: 3 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
qos:
index: 5 # 1, 2, 3, 4, 65, 66, 67, 75, 71, 72, 73, 74, 76, 5, 6, 7, 8, 9, 69, 70, 79, 80, 82, 83, 84, 85, 86
arp:
priority_level: 1 # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
pre_emption_vulnerability: 1 # 1: Disabled, 2:Enabled
pre_emption_capability: 1 # 1: Disabled, 2:Enabled
pcc_rule:
- qos:
index: 1 # 1, 2, 3, 4, 65, 66, 67, 75, 71, 72, 73, 74, 76, 5, 6, 7, 8, 9, 69, 70, 79, 80, 82, 83, 84, 85, 86
arp:
priority_level: 1 # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
pre_emption_vulnerability: 1 # 1: Disabled, 2:Enabled
pre_emption_capability: 1 # 1: Disabled, 2:Enabled
mbr:
downlink:
value: 82
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 82
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
gbr:
downlink:
value: 82
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 82
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
- qos:
index: 2 # 1, 2, 3, 4, 65, 66, 67, 75, 71, 72, 73, 74, 76, 5, 6, 7, 8, 9, 69, 70, 79, 80, 82, 83, 84, 85, 86
arp:
priority_level: 4 # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
pre_emption_vulnerability: 2 # 1: Disabled, 2:Enabled
pre_emption_capability: 2 # 1: Disabled, 2:Enabled
mbr:
downlink:
value: 802
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 802
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
gbr:
downlink:
value: 802
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 802
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
nssf:
sbi:
server:
- address: 127.0.2.14
port: 7777
client:
scp:
- uri: http://127.0.2.200:7777
nsi:
- uri: http://nrf.5gc.mnc001.mcc001.3gppnetwork.org
s_nssai:
sst: 1
bsf:
sbi:
server:
- address: 127.0.2.15
port: 7777
client:
scp:
- uri: http://127.0.2.200:7777
udr:
sbi:
server:
- address: 127.0.2.20
port: 7777
client:
scp:
- uri: http://127.0.2.200:7777

View File

@@ -0,0 +1,460 @@
db_uri: mongodb://localhost/open5gs
logger:
global:
parameter:
# no_nrf: true
# no_scp: true
# no_sepp: true
# no_amf: true
# no_smf: true
# no_upf: true
# no_ausf: true
# no_udm: true
# no_pcf: true
# no_nssf: true
# no_bsf: true
# no_udr: true
no_mme: true
no_sgwc: true
no_sgwu: true
no_pcrf: true
no_hss: true
mme:
freeDiameter:
identity: mme.localdomain
realm: localdomain
listen_on: 127.0.3.2
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
address: 127.0.3.8
s1ap:
server:
- address: 127.0.3.2
gtpc:
server:
- address: 127.0.3.2
client:
sgwc:
- address: 127.0.3.3
smf:
- address: 127.0.3.4
metrics:
server:
- address: 127.0.3.2
port: 9090
gummei:
- plmn_id:
mcc: 315
mnc: 010
mme_gid: 2
mme_code: 1
tai:
- plmn_id:
mcc: 315
mnc: 010
tac: 1
security:
integrity_order : [ EIA2, EIA1, EIA0 ]
ciphering_order : [ EEA0, EEA1, EEA2 ]
network_name:
full: Open5GS
time:
t3412:
value: 3240
sgwc:
gtpc:
server:
- address: 127.0.3.3
pfcp:
server:
- address: 127.0.3.3
client:
sgwu:
- address: 127.0.3.6
smf:
sbi:
server:
- address: 127.0.3.4
port: 7777
client:
scp:
- uri: http://127.0.3.200:7777
pfcp:
server:
- address: 127.0.3.4
client:
upf:
- address: 127.0.3.7
gtpc:
server:
- address: 127.0.3.4
gtpu:
server:
- address: 127.0.3.4
metrics:
server:
- address: 127.0.3.4
port: 9090
session:
- subnet: 10.47.0.0/16
gateway: 10.47.0.1
- subnet: 2001:db8:face::/48
gateway: 2001:db8:face::1
dns:
- 8.8.8.8
- 8.8.4.4
- 2001:4860:4860::8888
- 2001:4860:4860::8844
mtu: 1400
freeDiameter:
identity: smf.localdomain
realm: localdomain
listen_on: 127.0.3.4
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
address: 127.0.3.9
amf:
sbi:
server:
- address: 127.0.3.5
port: 7777
client:
scp:
- uri: http://127.0.3.200:7777
ngap:
server:
- address: 127.0.3.5
metrics:
server:
- address: 127.0.3.5
port: 9090
access_control:
- plmn_id:
mcc: 999
mnc: 70
- plmn_id:
mcc: 001
mnc: 01
- plmn_id:
mcc: 315
mnc: 010
guami:
- plmn_id:
mcc: 315
mnc: 010
amf_id:
region: 2
set: 1
tai:
- plmn_id:
mcc: 315
mnc: 010
tac: 1
plmn_support:
- plmn_id:
mcc: 315
mnc: 010
s_nssai:
- sst: 1
security:
integrity_order : [ NIA2, NIA1, NIA0 ]
ciphering_order : [ NEA0, NEA1, NEA2 ]
network_name:
full: Open5GS
amf_name: open5gs-amf0
time:
t3512:
value: 540 # 9 mintues * 60 = 540 seconds
sgwu:
pfcp:
server:
- address: 127.0.3.6
gtpu:
server:
- address: 127.0.3.6
upf:
pfcp:
server:
- address: 127.0.3.7
gtpu:
server:
- address: 127.0.3.7
session:
- subnet: 10.47.0.0/16
gateway: 10.47.0.1
dev: ogstun3
- subnet: 2001:db8:face::/48
gateway: 2001:db8:face::1
dev: ogstun3
metrics:
server:
- address: 127.0.3.7
port: 9090
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.3.8
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
address: 127.0.3.2
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.3.9
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
address: 127.0.3.4
nrf:
serving:
- plmn_id:
mcc: 315
mnc: 010
sbi:
server:
# - address: 127.0.3.10
# port: 7777
- address: nrf.5gc.mnc010.mcc315.3gppnetwork.org
scp:
sbi:
server:
- address: 127.0.3.200
port: 7777
client:
nrf:
- uri: http://nrf.5gc.mnc010.mcc315.3gppnetwork.org
sepp:
default:
tls:
server:
private_key: @build_configs_dir@/open5gs/tls/sepp3.key
cert: @build_configs_dir@/open5gs/tls/sepp3.crt
client:
cacert: @build_configs_dir@/open5gs/tls/ca.crt
sbi:
server:
- address: 127.0.3.250
port: 7777
client:
scp:
- uri: http://127.0.3.200:7777
n32:
server:
- sender: sepp3.localdomain
address: 127.0.3.251
port: 7777
n32f:
address: 127.0.3.252
port: 7777
client:
sepp:
- receiver: sepp1.localdomain
uri: http://127.0.1.251:7777
n32f:
uri: http://127.0.1.252:7777
- receiver: sepp2.localdomain
uri: http://127.0.2.251:7777
n32f:
uri: http://127.0.2.252:7777
ausf:
sbi:
server:
# - address: 127.0.3.11
# port: 7777
- address: ausf.5gc.mnc010.mcc315.3gppnetwork.org
client:
scp:
- uri: http://127.0.3.200:7777
udm:
hnet:
- id: 1
scheme: 1
key: @build_configs_dir@/open5gs/hnet/curve25519-1.key
- id: 2
scheme: 2
key: @build_configs_dir@/open5gs/hnet/secp256r1-2.key
sbi:
server:
# - address: 127.0.3.12
# port: 7777
- address: udm.5gc.mnc010.mcc315.3gppnetwork.org
client:
scp:
- uri: http://127.0.3.200:7777
pcf:
sbi:
server:
- address: 127.0.3.13
port: 7777
client:
scp:
- uri: http://127.0.3.200:7777
metrics:
server:
- address: 127.0.3.13
port: 9090
policy:
- supi_range:
- 999700000000001-999709999999999
- 001010000000001-001019999999999
slice:
- sst: 1 # 1,2,3,4
default_indicator: true
session:
- name: internet
type: 3 # 1:IPv4, 2:IPv6, 3:IPv4v6
ambr:
downlink:
value: 1
unit: 3 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 1
unit: 3
qos:
index: 9 # 1, 2, 3, 4, 65, 66, 67, 75, 71, 72, 73, 74, 76, 5, 6, 7, 8, 9, 69, 70, 79, 80, 82, 83, 84, 85, 86
arp:
priority_level: 8 # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
pre_emption_vulnerability: 1 # 1: Disabled, 2:Enabled
pre_emption_capability: 1 # 1: Disabled, 2:Enabled
- name: ims
type: 3 # 1:IPv4, 2:IPv6, 3:IPv4v6
ambr:
downlink:
value: 1
unit: 3 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 1
unit: 3 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
qos:
index: 5 # 1, 2, 3, 4, 65, 66, 67, 75, 71, 72, 73, 74, 76, 5, 6, 7, 8, 9, 69, 70, 79, 80, 82, 83, 84, 85, 86
arp:
priority_level: 1 # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
pre_emption_vulnerability: 1 # 1: Disabled, 2:Enabled
pre_emption_capability: 1 # 1: Disabled, 2:Enabled
pcc_rule:
- qos:
index: 1 # 1, 2, 3, 4, 65, 66, 67, 75, 71, 72, 73, 74, 76, 5, 6, 7, 8, 9, 69, 70, 79, 80, 82, 83, 84, 85, 86
arp:
priority_level: 1 # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
pre_emption_vulnerability: 1 # 1: Disabled, 2:Enabled
pre_emption_capability: 1 # 1: Disabled, 2:Enabled
mbr:
downlink:
value: 82
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 82
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
gbr:
downlink:
value: 82
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 82
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
- qos:
index: 2 # 1, 2, 3, 4, 65, 66, 67, 75, 71, 72, 73, 74, 76, 5, 6, 7, 8, 9, 69, 70, 79, 80, 82, 83, 84, 85, 86
arp:
priority_level: 4 # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
pre_emption_vulnerability: 2 # 1: Disabled, 2:Enabled
pre_emption_capability: 2 # 1: Disabled, 2:Enabled
mbr:
downlink:
value: 802
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 802
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
gbr:
downlink:
value: 802
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 802
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
nssf:
sbi:
server:
- address: 127.0.3.14
port: 7777
client:
scp:
- uri: http://127.0.3.200:7777
nsi:
- uri: http://nrf.5gc.mnc010.mcc315.3gppnetwork.org
s_nssai:
sst: 1
bsf:
sbi:
server:
- address: 127.0.3.15
port: 7777
client:
scp:
- uri: http://127.0.3.200:7777
udr:
sbi:
server:
- address: 127.0.3.20
port: 7777
client:
scp:
- uri: http://127.0.3.200:7777

View File

@@ -0,0 +1,464 @@
db_uri: mongodb://localhost/open5gs
logger:
global:
parameter:
# no_nrf: true
# no_scp: true
# no_sepp: true
# no_amf: true
# no_smf: true
# no_upf: true
# no_ausf: true
# no_udm: true
# no_pcf: true
# no_nssf: true
# no_bsf: true
# no_udr: true
no_mme: true
no_sgwc: true
no_sgwu: true
no_pcrf: true
no_hss: true
# use_mongodb_change_stream: true
mme:
freeDiameter:
identity: mme.localdomain
realm: localdomain
listen_on: 127.0.1.2
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
address: 127.0.1.8
s1ap:
server:
- address: 127.0.1.2
gtpc:
server:
- address: 127.0.1.2
client:
sgwc:
- address: 127.0.1.3
smf:
- address: 127.0.1.4
metrics:
server:
- address: 127.0.1.2
port: 9090
gummei:
plmn_id:
mcc: 999
mnc: 70
mme_gid: 2
mme_code: 1
tai:
plmn_id:
mcc: 999
mnc: 70
tac: 1
security:
integrity_order : [ EIA2, EIA1, EIA0 ]
ciphering_order : [ EEA0, EEA1, EEA2 ]
network_name:
full: Open5GS
time:
t3412:
value: 3240
sgwc:
gtpc:
server:
- address: 127.0.1.3
pfcp:
server:
- address: 127.0.1.3
client:
sgwu:
- address: 127.0.1.6
smf:
sbi:
server:
- address: 127.0.1.4
port: 7777
client:
scp:
- uri: http://127.0.1.200:7777
pfcp:
server:
- address: 127.0.1.4
client:
upf:
- address: 127.0.1.7
gtpc:
server:
- address: 127.0.1.4
gtpu:
server:
- address: 127.0.1.4
metrics:
server:
- address: 127.0.1.4
port: 9090
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
dns:
- 8.8.8.8
- 8.8.4.4
- 2001:4860:4860::8888
- 2001:4860:4860::8844
mtu: 1400
freeDiameter:
identity: smf.localdomain
realm: localdomain
listen_on: 127.0.1.4
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
address: 127.0.1.9
amf:
sbi:
server:
- address: 127.0.1.5
port: 7777
client:
scp:
- uri: http://127.0.1.200:7777
ngap:
server:
- address: 127.0.1.5
metrics:
server:
- address: 127.0.1.5
port: 9090
access_control:
- plmn_id:
mcc: 999
mnc: 70
- plmn_id:
mcc: 001
mnc: 01
- plmn_id:
mcc: 315
mnc: 010
guami:
- plmn_id:
mcc: 999
mnc: 70
amf_id:
region: 2
set: 1
tai:
- plmn_id:
mcc: 999
mnc: 70
tac: 1
plmn_support:
- plmn_id:
mcc: 999
mnc: 70
s_nssai:
- sst: 1
security:
integrity_order : [ NIA2, NIA1, NIA0 ]
ciphering_order : [ NEA0, NEA1, NEA2 ]
network_name:
full: Open5GS
amf_name: open5gs-amf0
time:
t3512:
value: 540 # 9 mintues * 60 = 540 seconds
sgwu:
pfcp:
server:
- address: 127.0.1.6
gtpu:
server:
- address: 127.0.1.6
upf:
pfcp:
server:
- address: 127.0.1.7
gtpu:
server:
- address: 127.0.1.7
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
metrics:
server:
- address: 127.0.1.7
port: 9090
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.1.8
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
address: 127.0.1.2
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.1.9
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
address: 127.0.1.4
nrf:
serving:
- plmn_id:
mcc: 999
mnc: 70
sbi:
server:
# - address: 127.0.1.10
# port: 7777
- address: nrf.5gc.mnc070.mcc999.3gppnetwork.org
scp:
sbi:
server:
- address: 127.0.1.200
port: 7777
client:
nrf:
# - uri: http://127.0.1.10:7777
- uri: http://nrf.5gc.mnc070.mcc999.3gppnetwork.org
sepp:
default:
tls:
server:
private_key: @build_configs_dir@/open5gs/tls/sepp1.key
cert: @build_configs_dir@/open5gs/tls/sepp1.crt
client:
cacert: @build_configs_dir@/open5gs/tls/ca.crt
sbi:
server:
- address: 127.0.1.250
port: 7777
client:
scp:
- uri: http://127.0.1.200:7777
n32:
server:
- sender: sepp1.localdomain
scheme: https
address: 127.0.1.251
n32f:
scheme: https
address: 127.0.1.252
client:
sepp:
- receiver: sepp2.localdomain
uri: https://sepp2.localdomain
resolve: 127.0.2.251
n32f:
uri: https://sepp2.localdomain
resolve: 127.0.2.252
- receiver: sepp3.localdomain
uri: https://sepp3.localdomain
resolve: 127.0.3.251
n32f:
uri: https://sepp3.localdomain
resolve: 127.0.3.252
ausf:
sbi:
server:
# - address: 127.0.1.11
# port: 7777
- address: ausf.5gc.mnc070.mcc999.3gppnetwork.org
client:
scp:
- uri: http://127.0.1.200:7777
udm:
hnet:
- id: 1
scheme: 1
key: @build_configs_dir@/open5gs/hnet/curve25519-1.key
- id: 2
scheme: 2
key: @build_configs_dir@/open5gs/hnet/secp256r1-2.key
sbi:
server:
# - address: 127.0.1.12
# port: 7777
- address: udm.5gc.mnc070.mcc999.3gppnetwork.org
client:
scp:
- uri: http://127.0.1.200:7777
pcf:
sbi:
server:
- address: 127.0.1.13
port: 7777
client:
scp:
- uri: http://127.0.1.200:7777
metrics:
server:
- address: 127.0.1.13
port: 9090
policy:
- supi_range:
- 001010000000001-001019999999999
- 315010000000001-315010999999999
slice:
- sst: 1 # 1,2,3,4
default_indicator: true
session:
- name: internet
type: 3 # 1:IPv4, 2:IPv6, 3:IPv4v6
ambr:
downlink:
value: 1
unit: 3 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 1
unit: 3
qos:
index: 9 # 1, 2, 3, 4, 65, 66, 67, 75, 71, 72, 73, 74, 76, 5, 6, 7, 8, 9, 69, 70, 79, 80, 82, 83, 84, 85, 86
arp:
priority_level: 8 # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
pre_emption_vulnerability: 1 # 1: Disabled, 2:Enabled
pre_emption_capability: 1 # 1: Disabled, 2:Enabled
- name: ims
type: 3 # 1:IPv4, 2:IPv6, 3:IPv4v6
ambr:
downlink:
value: 1
unit: 3 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 1
unit: 3 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
qos:
index: 5 # 1, 2, 3, 4, 65, 66, 67, 75, 71, 72, 73, 74, 76, 5, 6, 7, 8, 9, 69, 70, 79, 80, 82, 83, 84, 85, 86
arp:
priority_level: 1 # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
pre_emption_vulnerability: 1 # 1: Disabled, 2:Enabled
pre_emption_capability: 1 # 1: Disabled, 2:Enabled
pcc_rule:
- qos:
index: 1 # 1, 2, 3, 4, 65, 66, 67, 75, 71, 72, 73, 74, 76, 5, 6, 7, 8, 9, 69, 70, 79, 80, 82, 83, 84, 85, 86
arp:
priority_level: 1 # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
pre_emption_vulnerability: 1 # 1: Disabled, 2:Enabled
pre_emption_capability: 1 # 1: Disabled, 2:Enabled
mbr:
downlink:
value: 82
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 82
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
gbr:
downlink:
value: 82
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 82
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
- qos:
index: 2 # 1, 2, 3, 4, 65, 66, 67, 75, 71, 72, 73, 74, 76, 5, 6, 7, 8, 9, 69, 70, 79, 80, 82, 83, 84, 85, 86
arp:
priority_level: 4 # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
pre_emption_vulnerability: 2 # 1: Disabled, 2:Enabled
pre_emption_capability: 2 # 1: Disabled, 2:Enabled
mbr:
downlink:
value: 802
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 802
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
gbr:
downlink:
value: 802
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 802
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
nssf:
sbi:
server:
- address: 127.0.1.14
port: 7777
client:
scp:
- uri: http://127.0.1.200:7777
nsi:
- uri: http://127.0.1.10:7777
s_nssai:
sst: 1
bsf:
sbi:
server:
- address: 127.0.1.15
port: 7777
client:
scp:
- uri: http://127.0.1.200:7777
udr:
sbi:
server:
- address: 127.0.1.20
port: 7777
client:
scp:
- uri: http://127.0.1.200:7777

View File

@@ -0,0 +1,465 @@
db_uri: mongodb://localhost/open5gs
logger:
global:
parameter:
# no_nrf: true
# no_scp: true
# no_sepp: true
# no_amf: true
# no_smf: true
# no_upf: true
# no_ausf: true
# no_udm: true
# no_pcf: true
# no_nssf: true
# no_bsf: true
# no_udr: true
no_mme: true
no_sgwc: true
no_sgwu: true
no_pcrf: true
no_hss: true
# use_mongodb_change_stream: true
mme:
freeDiameter:
identity: mme.localdomain
realm: localdomain
listen_on: 127.0.2.2
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
address: 127.0.2.8
s1ap:
server:
- address: 127.0.2.2
gtpc:
server:
- address: 127.0.2.2
client:
sgwc:
- address: 127.0.2.3
smf:
- address: 127.0.2.4
metrics:
server:
- address: 127.0.2.2
port: 9090
gummei:
plmn_id:
mcc: 001
mnc: 01
mme_gid: 2
mme_code: 1
tai:
plmn_id:
mcc: 001
mnc: 01
tac: 1
security:
integrity_order : [ EIA2, EIA1, EIA0 ]
ciphering_order : [ EEA0, EEA1, EEA2 ]
network_name:
full: Open5GS
time:
t3412:
value: 3240
sgwc:
gtpc:
server:
- address: 127.0.2.3
pfcp:
server:
- address: 127.0.2.3
client:
sgwu:
- address: 127.0.2.6
smf:
sbi:
server:
- address: 127.0.2.4
port: 7777
client:
scp:
- uri: http://127.0.2.200:7777
pfcp:
server:
- address: 127.0.2.4
client:
upf:
- address: 127.0.2.7
gtpc:
server:
- address: 127.0.2.4
gtpu:
server:
- address: 127.0.2.4
metrics:
server:
- address: 127.0.2.4
port: 9090
session:
- subnet: 10.46.0.0/16
gateway: 10.46.0.1
- subnet: 2001:db8:babe::/48
gateway: 2001:db8:babe::1
dns:
- 8.8.8.8
- 8.8.4.4
- 2001:4860:4860::8888
- 2001:4860:4860::8844
mtu: 1400
freeDiameter:
identity: smf.localdomain
realm: localdomain
listen_on: 127.0.2.4
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
address: 127.0.2.9
amf:
sbi:
server:
- address: 127.0.2.5
port: 7777
client:
scp:
- uri: http://127.0.2.200:7777
ngap:
server:
- address: 127.0.2.5
metrics:
server:
- address: 127.0.2.5
port: 9090
access_control:
- plmn_id:
mcc: 999
mnc: 70
- plmn_id:
mcc: 001
mnc: 01
- plmn_id:
mcc: 315
mnc: 010
guami:
- plmn_id:
mcc: 001
mnc: 01
amf_id:
region: 2
set: 1
tai:
- plmn_id:
mcc: 001
mnc: 01
tac: 1
plmn_support:
- plmn_id:
mcc: 001
mnc: 01
s_nssai:
- sst: 1
security:
integrity_order : [ NIA2, NIA1, NIA0 ]
ciphering_order : [ NEA0, NEA1, NEA2 ]
network_name:
full: Open5GS
amf_name: open5gs-amf0
time:
t3512:
value: 540 # 9 mintues * 60 = 540 seconds
sgwu:
pfcp:
server:
- address: 127.0.2.6
gtpu:
server:
- address: 127.0.2.6
upf:
pfcp:
server:
- address: 127.0.2.7
gtpu:
server:
- address: 127.0.2.7
session:
- subnet: 10.46.0.0/16
gateway: 10.46.0.1
dev: ogstun2
- subnet: 2001:db8:babe::/48
gateway: 2001:db8:babe::1
dev: ogstun2
metrics:
server:
- address: 127.0.2.7
port: 9090
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.2.8
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
address: 127.0.2.2
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.2.9
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
address: 127.0.2.4
nrf:
serving:
- plmn_id:
mcc: 001
mnc: 01
sbi:
server:
# - address: 127.0.2.10
# port: 7777
- address: nrf.5gc.mnc001.mcc001.3gppnetwork.org
scp:
sbi:
server:
- address: 127.0.2.200
port: 7777
client:
nrf:
- uri: http://nrf.5gc.mnc001.mcc001.3gppnetwork.org
sepp:
default:
tls:
server:
private_key: @build_configs_dir@/open5gs/tls/sepp2.key
cert: @build_configs_dir@/open5gs/tls/sepp2.crt
client:
cacert: @build_configs_dir@/open5gs/tls/ca.crt
sbi:
server:
- address: 127.0.2.250
port: 7777
client:
scp:
- uri: http://127.0.2.200:7777
n32:
server:
- sender: sepp2.localdomain
scheme: https
address: 127.0.2.251
n32f:
scheme: https
address: 127.0.2.252
client:
sepp:
- receiver: sepp1.localdomain
uri: https://sepp1.localdomain
resolve: 127.0.1.251
n32f:
uri: https://sepp1.localdomain
resolve: 127.0.1.252
- receiver: sepp3.localdomain
uri: https://sepp3.localdomain
resolve: 127.0.3.251
n32f:
uri: https://sepp3.localdomain
resolve: 127.0.3.252
ausf:
sbi:
server:
# - address: 127.0.2.11
# port: 7777
- address: ausf.5gc.mnc001.mcc001.3gppnetwork.org
client:
scp:
- uri: http://127.0.2.200:7777
udm:
hnet:
- id: 1
scheme: 1
key: @build_configs_dir@/open5gs/hnet/curve25519-1.key
- id: 2
scheme: 2
key: @build_configs_dir@/open5gs/hnet/secp256r1-2.key
sbi:
server:
# - address: 127.0.2.12
# port: 7777
- address: udm.5gc.mnc001.mcc001.3gppnetwork.org
client:
scp:
- uri: http://127.0.2.200:7777
pcf:
sbi:
server:
- address: 127.0.2.13
port: 7777
client:
scp:
- uri: http://127.0.2.200:7777
metrics:
server:
- address: 127.0.2.13
port: 9090
policy:
- supi_range:
- 999700000000001-999709999999999
- 315010000000001-315010999999999
slice:
- sst: 1 # 1,2,3,4
default_indicator: true
session:
- name: internet
type: 3 # 1:IPv4, 2:IPv6, 3:IPv4v6
ambr:
downlink:
value: 1
unit: 3 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 1
unit: 3
qos:
index: 9 # 1, 2, 3, 4, 65, 66, 67, 75, 71, 72, 73, 74, 76, 5, 6, 7, 8, 9, 69, 70, 79, 80, 82, 83, 84, 85, 86
arp:
priority_level: 8 # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
pre_emption_vulnerability: 1 # 1: Disabled, 2:Enabled
pre_emption_capability: 1 # 1: Disabled, 2:Enabled
- name: ims
type: 3 # 1:IPv4, 2:IPv6, 3:IPv4v6
ambr:
downlink:
value: 1
unit: 3 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 1
unit: 3 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
qos:
index: 5 # 1, 2, 3, 4, 65, 66, 67, 75, 71, 72, 73, 74, 76, 5, 6, 7, 8, 9, 69, 70, 79, 80, 82, 83, 84, 85, 86
arp:
priority_level: 1 # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
pre_emption_vulnerability: 1 # 1: Disabled, 2:Enabled
pre_emption_capability: 1 # 1: Disabled, 2:Enabled
pcc_rule:
- qos:
index: 1 # 1, 2, 3, 4, 65, 66, 67, 75, 71, 72, 73, 74, 76, 5, 6, 7, 8, 9, 69, 70, 79, 80, 82, 83, 84, 85, 86
arp:
priority_level: 1 # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
pre_emption_vulnerability: 1 # 1: Disabled, 2:Enabled
pre_emption_capability: 1 # 1: Disabled, 2:Enabled
mbr:
downlink:
value: 82
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 82
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
gbr:
downlink:
value: 82
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 82
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
- qos:
index: 2 # 1, 2, 3, 4, 65, 66, 67, 75, 71, 72, 73, 74, 76, 5, 6, 7, 8, 9, 69, 70, 79, 80, 82, 83, 84, 85, 86
arp:
priority_level: 4 # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
pre_emption_vulnerability: 2 # 1: Disabled, 2:Enabled
pre_emption_capability: 2 # 1: Disabled, 2:Enabled
mbr:
downlink:
value: 802
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 802
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
gbr:
downlink:
value: 802
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 802
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
nssf:
sbi:
server:
- address: 127.0.2.14
port: 7777
client:
scp:
- uri: http://127.0.2.200:7777
nsi:
- uri: http://127.0.2.10:7777
s_nssai:
sst: 1
bsf:
sbi:
server:
- address: 127.0.2.15
port: 7777
client:
scp:
- uri: http://127.0.2.200:7777
udr:
sbi:
server:
- address: 127.0.2.20
port: 7777
client:
scp:
- uri: http://127.0.2.200:7777

View File

@@ -0,0 +1,465 @@
db_uri: mongodb://localhost/open5gs
logger:
global:
parameter:
# no_nrf: true
# no_scp: true
# no_sepp: true
# no_amf: true
# no_smf: true
# no_upf: true
# no_ausf: true
# no_udm: true
# no_pcf: true
# no_nssf: true
# no_bsf: true
# no_udr: true
no_mme: true
no_sgwc: true
no_sgwu: true
no_pcrf: true
no_hss: true
# use_mongodb_change_stream: true
mme:
freeDiameter:
identity: mme.localdomain
realm: localdomain
listen_on: 127.0.3.2
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
address: 127.0.3.8
s1ap:
server:
- address: 127.0.3.2
gtpc:
server:
- address: 127.0.3.2
client:
sgwc:
- address: 127.0.3.3
smf:
- address: 127.0.3.4
metrics:
server:
- address: 127.0.3.2
port: 9090
gummei:
plmn_id:
mcc: 315
mnc: 010
mme_gid: 2
mme_code: 1
tai:
plmn_id:
mcc: 315
mnc: 010
tac: 1
security:
integrity_order : [ EIA2, EIA1, EIA0 ]
ciphering_order : [ EEA0, EEA1, EEA2 ]
network_name:
full: Open5GS
time:
t3412:
value: 3240
sgwc:
gtpc:
server:
- address: 127.0.3.3
pfcp:
server:
- address: 127.0.3.3
client:
sgwu:
- address: 127.0.3.6
smf:
sbi:
server:
- address: 127.0.3.4
port: 7777
client:
scp:
- uri: http://127.0.3.200:7777
pfcp:
server:
- address: 127.0.3.4
client:
upf:
- address: 127.0.3.7
gtpc:
server:
- address: 127.0.3.4
gtpu:
server:
- address: 127.0.3.4
metrics:
server:
- address: 127.0.3.4
port: 9090
session:
- subnet: 10.47.0.0/16
gateway: 10.47.0.1
- subnet: 2001:db8:face::/48
gateway: 2001:db8:face::1
dns:
- 8.8.8.8
- 8.8.4.4
- 2001:4860:4860::8888
- 2001:4860:4860::8844
mtu: 1400
freeDiameter:
identity: smf.localdomain
realm: localdomain
listen_on: 127.0.3.4
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
address: 127.0.3.9
amf:
sbi:
server:
- address: 127.0.3.5
port: 7777
client:
scp:
- uri: http://127.0.3.200:7777
ngap:
server:
- address: 127.0.3.5
metrics:
server:
- address: 127.0.3.5
port: 9090
access_control:
- plmn_id:
mcc: 999
mnc: 70
- plmn_id:
mcc: 001
mnc: 01
- plmn_id:
mcc: 315
mnc: 010
guami:
- plmn_id:
mcc: 315
mnc: 010
amf_id:
region: 2
set: 1
tai:
- plmn_id:
mcc: 315
mnc: 010
tac: 1
plmn_support:
- plmn_id:
mcc: 315
mnc: 010
s_nssai:
- sst: 1
security:
integrity_order : [ NIA2, NIA1, NIA0 ]
ciphering_order : [ NEA0, NEA1, NEA2 ]
network_name:
full: Open5GS
amf_name: open5gs-amf0
time:
t3512:
value: 540 # 9 mintues * 60 = 540 seconds
sgwu:
pfcp:
server:
- address: 127.0.3.6
gtpu:
server:
- address: 127.0.3.6
upf:
pfcp:
server:
- address: 127.0.3.7
gtpu:
server:
- address: 127.0.3.7
session:
- subnet: 10.47.0.0/16
gateway: 10.47.0.1
dev: ogstun3
- subnet: 2001:db8:face::/48
gateway: 2001:db8:face::1
dev: ogstun3
metrics:
server:
- address: 127.0.3.7
port: 9090
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.3.8
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
address: 127.0.3.2
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.3.9
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
address: 127.0.3.4
nrf:
serving:
- plmn_id:
mcc: 315
mnc: 010
sbi:
server:
# - address: 127.0.3.10
# port: 7777
- address: nrf.5gc.mnc010.mcc315.3gppnetwork.org
scp:
sbi:
server:
- address: 127.0.3.200
port: 7777
client:
nrf:
- uri: http://nrf.5gc.mnc010.mcc315.3gppnetwork.org
sepp:
default:
tls:
server:
private_key: @build_configs_dir@/open5gs/tls/sepp3.key
cert: @build_configs_dir@/open5gs/tls/sepp3.crt
client:
cacert: @build_configs_dir@/open5gs/tls/ca.crt
sbi:
server:
- address: 127.0.3.250
port: 7777
client:
scp:
- uri: http://127.0.3.200:7777
n32:
server:
- sender: sepp3.localdomain
scheme: https
address: 127.0.3.251
n32f:
scheme: https
address: 127.0.3.252
client:
sepp:
- receiver: sepp1.localdomain
uri: https://sepp1.localdomain
resolve: 127.0.1.251
n32f:
uri: https://sepp1.localdomain
resolve: 127.0.1.252
- receiver: sepp2.localdomain
uri: https://sepp2.localdomain
resolve: 127.0.2.251
n32f:
uri: https://sepp2.localdomain
resolve: 127.0.2.252
ausf:
sbi:
server:
# - address: 127.0.3.11
# port: 7777
- address: ausf.5gc.mnc010.mcc315.3gppnetwork.org
client:
scp:
- uri: http://127.0.3.200:7777
udm:
hnet:
- id: 1
scheme: 1
key: @build_configs_dir@/open5gs/hnet/curve25519-1.key
- id: 2
scheme: 2
key: @build_configs_dir@/open5gs/hnet/secp256r1-2.key
sbi:
server:
# - address: 127.0.3.12
# port: 7777
- address: udm.5gc.mnc010.mcc315.3gppnetwork.org
client:
scp:
- uri: http://127.0.3.200:7777
pcf:
sbi:
server:
- address: 127.0.3.13
port: 7777
client:
scp:
- uri: http://127.0.3.200:7777
metrics:
server:
- address: 127.0.3.13
port: 9090
policy:
- supi_range:
- 999700000000001-999709999999999
- 001010000000001-001010999999999
slice:
- sst: 1 # 1,2,3,4
default_indicator: true
session:
- name: internet
type: 3 # 1:IPv4, 2:IPv6, 3:IPv4v6
ambr:
downlink:
value: 1
unit: 3 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 1
unit: 3
qos:
index: 9 # 1, 2, 3, 4, 65, 66, 67, 75, 71, 72, 73, 74, 76, 5, 6, 7, 8, 9, 69, 70, 79, 80, 82, 83, 84, 85, 86
arp:
priority_level: 8 # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
pre_emption_vulnerability: 1 # 1: Disabled, 2:Enabled
pre_emption_capability: 1 # 1: Disabled, 2:Enabled
- name: ims
type: 3 # 1:IPv4, 2:IPv6, 3:IPv4v6
ambr:
downlink:
value: 1
unit: 3 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 1
unit: 3 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
qos:
index: 5 # 1, 2, 3, 4, 65, 66, 67, 75, 71, 72, 73, 74, 76, 5, 6, 7, 8, 9, 69, 70, 79, 80, 82, 83, 84, 85, 86
arp:
priority_level: 1 # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
pre_emption_vulnerability: 1 # 1: Disabled, 2:Enabled
pre_emption_capability: 1 # 1: Disabled, 2:Enabled
pcc_rule:
- qos:
index: 1 # 1, 2, 3, 4, 65, 66, 67, 75, 71, 72, 73, 74, 76, 5, 6, 7, 8, 9, 69, 70, 79, 80, 82, 83, 84, 85, 86
arp:
priority_level: 1 # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
pre_emption_vulnerability: 1 # 1: Disabled, 2:Enabled
pre_emption_capability: 1 # 1: Disabled, 2:Enabled
mbr:
downlink:
value: 82
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 82
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
gbr:
downlink:
value: 82
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 82
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
- qos:
index: 2 # 1, 2, 3, 4, 65, 66, 67, 75, 71, 72, 73, 74, 76, 5, 6, 7, 8, 9, 69, 70, 79, 80, 82, 83, 84, 85, 86
arp:
priority_level: 4 # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
pre_emption_vulnerability: 2 # 1: Disabled, 2:Enabled
pre_emption_capability: 2 # 1: Disabled, 2:Enabled
mbr:
downlink:
value: 802
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 802
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
gbr:
downlink:
value: 802
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
uplink:
value: 802
unit: 1 # 0:bps, 1:Kbps, 2:Mbps, 3:Gbps, 4:Tbps
nssf:
sbi:
server:
- address: 127.0.3.14
port: 7777
client:
scp:
- uri: http://127.0.3.200:7777
nsi:
- uri: http://127.0.3.10:7777
s_nssai:
sst: 1
bsf:
sbi:
server:
- address: 127.0.3.15
port: 7777
client:
scp:
- uri: http://127.0.3.200:7777
udr:
sbi:
server:
- address: 127.0.3.20
port: 7777
client:
scp:
- uri: http://127.0.3.200:7777

View File

@@ -0,0 +1,335 @@
db_uri: mongodb://localhost/open5gs
logger:
test:
serving:
- plmn_id:
mcc: 001
mnc: 01
global:
parameter:
no_nrf: true
no_scp: true
no_sepp: true
no_amf: true
no_smf: true
no_upf: true
no_ausf: true
no_udm: true
no_pcf: true
no_nssf: true
no_bsf: true
no_udr: true
no_mme: true
no_sgwc: true
no_sgwu: true
no_pcrf: true
no_hss: true
mme:
freeDiameter:
identity: mme.localdomain
realm: localdomain
listen_on: 127.0.0.2
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
address: 127.0.0.8
s1ap:
server:
- address: 127.0.0.2
gtpc:
server:
- address: 127.0.0.2
client:
sgwc:
- address: 127.0.0.3
smf:
- address: 127.0.0.4
metrics:
server:
- address: 127.0.0.2
port: 9090
gummei:
- plmn_id:
mcc: 001
mnc: 01
mme_gid: 2
mme_code: 1
tai:
- plmn_id:
mcc: 001
mnc: 01
tac: 1
security:
integrity_order : [ EIA2, EIA1, EIA0 ]
ciphering_order : [ EEA0, EEA1, EEA2 ]
network_name:
full: Open5GS
time:
t3412:
value: 3240
sgwc:
gtpc:
server:
- address: 127.0.0.3
pfcp:
server:
- address: 127.0.0.3
client:
sgwu:
- address: 127.0.0.6
smf:
sbi:
server:
- address: 127.0.0.4
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
pfcp:
server:
- address: 127.0.0.4
client:
upf:
- address: 127.0.0.7
gtpc:
server:
- address: 127.0.0.4
gtpu:
server:
- address: 127.0.0.4
metrics:
server:
- address: 127.0.0.4
port: 9090
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
dns:
- 8.8.8.8
- 8.8.4.4
- 2001:4860:4860::8888
- 2001:4860:4860::8844
mtu: 1400
freeDiameter:
identity: smf.localdomain
realm: localdomain
listen_on: 127.0.0.4
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
address: 127.0.0.9
amf:
sbi:
server:
- address: 127.0.0.5
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
ngap:
server:
- address: 127.0.2.5
metrics:
server:
- address: 127.0.0.5
port: 9090
guami:
- plmn_id:
mcc: 001
mnc: 01
amf_id:
region: 2
set: 1
tai:
- plmn_id:
mcc: 001
mnc: 01
tac: 1
plmn_support:
- plmn_id:
mcc: 001
mnc: 01
s_nssai:
- sst: 1
security:
integrity_order : [ NIA2, NIA1, NIA0 ]
ciphering_order : [ NEA0, NEA1, NEA2 ]
network_name:
full: Open5GS
amf_name: open5gs-amf0
time:
t3512:
value: 540 # 9 mintues * 60 = 540 seconds
sgwu:
pfcp:
server:
- address: 127.0.0.6
gtpu:
server:
- address: 127.0.0.6
upf:
pfcp:
server:
- address: 127.0.0.7
gtpu:
server:
- address: 127.0.0.7
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
metrics:
server:
- address: 127.0.0.7
port: 9090
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
address: 127.0.0.2
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
address: 127.0.0.4
nrf:
sbi:
server:
- address: 127.0.0.10
port: 7777
scp:
sbi:
server:
- address: 127.0.0.200
port: 7777
client:
nrf:
- uri: http://127.0.0.10:7777
ausf:
sbi:
server:
- address: 127.0.0.11
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
udm:
hnet:
- id: 1
scheme: 1
key: @build_configs_dir@/open5gs/hnet/curve25519-1.key
- id: 2
scheme: 2
key: @build_configs_dir@/open5gs/hnet/secp256r1-2.key
sbi:
server:
- address: 127.0.0.12
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
pcf:
sbi:
server:
- address: 127.0.0.13
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
metrics:
server:
- address: 127.0.0.13
port: 9090
nssf:
sbi:
server:
- address: 127.0.0.14
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
nsi:
- uri: http://127.0.0.10:7777
s_nssai:
sst: 1
bsf:
sbi:
server:
- address: 127.0.0.15
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
udr:
sbi:
server:
- address: 127.0.0.20
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777

View File

@@ -0,0 +1,335 @@
db_uri: mongodb://localhost/open5gs
logger:
test:
serving:
- plmn_id:
mcc: 315
mnc: 010
global:
parameter:
no_nrf: true
no_scp: true
no_sepp: true
no_amf: true
no_smf: true
no_upf: true
no_ausf: true
no_udm: true
no_pcf: true
no_nssf: true
no_bsf: true
no_udr: true
no_mme: true
no_sgwc: true
no_sgwu: true
no_pcrf: true
no_hss: true
mme:
freeDiameter:
identity: mme.localdomain
realm: localdomain
listen_on: 127.0.0.2
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
address: 127.0.0.8
s1ap:
server:
- address: 127.0.0.2
gtpc:
server:
- address: 127.0.0.2
client:
sgwc:
- address: 127.0.0.3
smf:
- address: 127.0.0.4
metrics:
server:
- address: 127.0.0.2
port: 9090
gummei:
- plmn_id:
mcc: 001
mnc: 01
mme_gid: 2
mme_code: 1
tai:
- plmn_id:
mcc: 001
mnc: 01
tac: 1
security:
integrity_order : [ EIA2, EIA1, EIA0 ]
ciphering_order : [ EEA0, EEA1, EEA2 ]
network_name:
full: Open5GS
time:
t3412:
value: 3240
sgwc:
gtpc:
server:
- address: 127.0.0.3
pfcp:
server:
- address: 127.0.0.3
client:
sgwu:
- address: 127.0.0.6
smf:
sbi:
server:
- address: 127.0.0.4
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
pfcp:
server:
- address: 127.0.0.4
client:
upf:
- address: 127.0.0.7
gtpc:
server:
- address: 127.0.0.4
gtpu:
server:
- address: 127.0.0.4
metrics:
server:
- address: 127.0.0.4
port: 9090
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
dns:
- 8.8.8.8
- 8.8.4.4
- 2001:4860:4860::8888
- 2001:4860:4860::8844
mtu: 1400
freeDiameter:
identity: smf.localdomain
realm: localdomain
listen_on: 127.0.0.4
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
address: 127.0.0.9
amf:
sbi:
server:
- address: 127.0.0.5
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
ngap:
server:
- address: 127.0.2.5
metrics:
server:
- address: 127.0.0.5
port: 9090
guami:
- plmn_id:
mcc: 001
mnc: 01
amf_id:
region: 2
set: 1
tai:
- plmn_id:
mcc: 001
mnc: 01
tac: 1
plmn_support:
- plmn_id:
mcc: 001
mnc: 01
s_nssai:
- sst: 1
security:
integrity_order : [ NIA2, NIA1, NIA0 ]
ciphering_order : [ NEA0, NEA1, NEA2 ]
network_name:
full: Open5GS
amf_name: open5gs-amf0
time:
t3512:
value: 540 # 9 mintues * 60 = 540 seconds
sgwu:
pfcp:
server:
- address: 127.0.0.6
gtpu:
server:
- address: 127.0.0.6
upf:
pfcp:
server:
- address: 127.0.0.7
gtpu:
server:
- address: 127.0.0.7
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
metrics:
server:
- address: 127.0.0.7
port: 9090
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
address: 127.0.0.2
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
address: 127.0.0.4
nrf:
sbi:
server:
- address: 127.0.0.10
port: 7777
scp:
sbi:
server:
- address: 127.0.0.200
port: 7777
client:
nrf:
- uri: http://127.0.0.10:7777
ausf:
sbi:
server:
- address: 127.0.0.11
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
udm:
hnet:
- id: 1
scheme: 1
key: @build_configs_dir@/open5gs/hnet/curve25519-1.key
- id: 2
scheme: 2
key: @build_configs_dir@/open5gs/hnet/secp256r1-2.key
sbi:
server:
- address: 127.0.0.12
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
pcf:
sbi:
server:
- address: 127.0.0.13
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
metrics:
server:
- address: 127.0.0.13
port: 9090
nssf:
sbi:
server:
- address: 127.0.0.14
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
nsi:
- uri: http://127.0.0.10:7777
s_nssai:
sst: 1
bsf:
sbi:
server:
- address: 127.0.0.15
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
udr:
sbi:
server:
- address: 127.0.0.20
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777

View File

@@ -0,0 +1,330 @@
db_uri: mongodb://localhost/open5gs
logger:
test:
serving:
- plmn_id:
mcc: 999
mnc: 70
global:
parameter:
no_nrf: true
no_scp: true
no_sepp: true
no_amf: true
no_smf: true
no_upf: true
no_ausf: true
no_udm: true
no_pcf: true
no_nssf: true
no_bsf: true
no_udr: true
no_mme: true
no_sgwc: true
no_sgwu: true
no_pcrf: true
no_hss: true
mme:
freeDiameter:
identity: mme.localdomain
realm: localdomain
listen_on: 127.0.0.2
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
address: 127.0.0.8
s1ap:
server:
- address: 127.0.0.2
gtpc:
server:
- address: 127.0.0.2
client:
sgwc:
- address: 127.0.0.3
smf:
- address: 127.0.0.4
metrics:
server:
- address: 127.0.0.2
port: 9090
gummei:
plmn_id:
mcc: 001
mnc: 01
mme_gid: 2
mme_code: 1
tai:
plmn_id:
mcc: 001
mnc: 01
tac: 1
security:
integrity_order : [ EIA2, EIA1, EIA0 ]
ciphering_order : [ EEA0, EEA1, EEA2 ]
network_name:
full: Open5GS
sgwc:
gtpc:
server:
- address: 127.0.0.3
pfcp:
server:
- address: 127.0.0.3
client:
sgwu:
- address: 127.0.0.6
smf:
sbi:
server:
- address: 127.0.0.4
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
pfcp:
server:
- address: 127.0.0.4
client:
upf:
- address: 127.0.0.7
gtpc:
server:
- address: 127.0.0.4
gtpu:
server:
- address: 127.0.0.4
metrics:
server:
- address: 127.0.0.4
port: 9090
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
dns:
- 8.8.8.8
- 8.8.4.4
- 2001:4860:4860::8888
- 2001:4860:4860::8844
mtu: 1400
freeDiameter:
identity: smf.localdomain
realm: localdomain
listen_on: 127.0.0.4
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
address: 127.0.0.9
amf:
sbi:
server:
- address: 127.0.0.5
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
ngap:
server:
- address: 127.0.2.5
metrics:
server:
- address: 127.0.0.5
port: 9090
guami:
- plmn_id:
mcc: 001
mnc: 01
amf_id:
region: 2
set: 1
tai:
- plmn_id:
mcc: 001
mnc: 01
tac: 1
plmn_support:
- plmn_id:
mcc: 001
mnc: 01
s_nssai:
- sst: 1
security:
integrity_order : [ NIA2, NIA1, NIA0 ]
ciphering_order : [ NEA0, NEA1, NEA2 ]
network_name:
full: Open5GS
amf_name: open5gs-amf0
sgwu:
pfcp:
server:
- address: 127.0.0.6
gtpu:
server:
- address: 127.0.0.6
upf:
pfcp:
server:
- address: 127.0.0.7
gtpu:
server:
- address: 127.0.0.7
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
metrics:
server:
- address: 127.0.0.7
port: 9090
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
address: 127.0.0.2
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
address: 127.0.0.4
nrf:
sbi:
server:
- address: 127.0.0.10
port: 7777
scp:
sbi:
server:
- address: 127.0.0.200
port: 7777
client:
nrf:
- uri: http://127.0.0.10:7777
ausf:
sbi:
server:
- address: 127.0.0.11
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
udm:
hnet:
- id: 1
scheme: 1
key: @build_configs_dir@/open5gs/hnet/curve25519-1.key
- id: 2
scheme: 2
key: @build_configs_dir@/open5gs/hnet/secp256r1-2.key
sbi:
server:
- address: 127.0.0.12
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
pcf:
sbi:
server:
- address: 127.0.0.13
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
metrics:
server:
- address: 127.0.0.13
port: 9090
nssf:
sbi:
server:
- address: 127.0.0.14
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
nsi:
- uri: http://127.0.0.10:7777
s_nssai:
sst: 1
bsf:
sbi:
server:
- address: 127.0.0.15
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
udr:
sbi:
server:
- address: 127.0.0.20
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777

View File

@@ -0,0 +1,335 @@
db_uri: mongodb://localhost/open5gs
logger:
test:
serving:
- plmn_id:
mcc: 001
mnc: 01
global:
parameter:
no_nrf: true
no_scp: true
no_sepp: true
no_amf: true
no_smf: true
no_upf: true
no_ausf: true
no_udm: true
no_pcf: true
no_nssf: true
no_bsf: true
no_udr: true
no_mme: true
no_sgwc: true
no_sgwu: true
no_pcrf: true
no_hss: true
mme:
freeDiameter:
identity: mme.localdomain
realm: localdomain
listen_on: 127.0.0.2
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
address: 127.0.0.8
s1ap:
server:
- address: 127.0.0.2
gtpc:
server:
- address: 127.0.0.2
client:
sgwc:
- address: 127.0.0.3
smf:
- address: 127.0.0.4
metrics:
server:
- address: 127.0.0.2
port: 9090
gummei:
- plmn_id:
mcc: 315
mnc: 010
mme_gid: 2
mme_code: 1
tai:
- plmn_id:
mcc: 315
mnc: 010
tac: 1
security:
integrity_order : [ EIA2, EIA1, EIA0 ]
ciphering_order : [ EEA0, EEA1, EEA2 ]
network_name:
full: Open5GS
time:
t3412:
value: 3240
sgwc:
gtpc:
server:
- address: 127.0.0.3
pfcp:
server:
- address: 127.0.0.3
client:
sgwu:
- address: 127.0.0.6
smf:
sbi:
server:
- address: 127.0.0.4
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
pfcp:
server:
- address: 127.0.0.4
client:
upf:
- address: 127.0.0.7
gtpc:
server:
- address: 127.0.0.4
gtpu:
server:
- address: 127.0.0.4
metrics:
server:
- address: 127.0.0.4
port: 9090
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
dns:
- 8.8.8.8
- 8.8.4.4
- 2001:4860:4860::8888
- 2001:4860:4860::8844
mtu: 1400
freeDiameter:
identity: smf.localdomain
realm: localdomain
listen_on: 127.0.0.4
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
address: 127.0.0.9
amf:
sbi:
server:
- address: 127.0.0.5
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
ngap:
server:
- address: 127.0.3.5
metrics:
server:
- address: 127.0.0.5
port: 9090
guami:
- plmn_id:
mcc: 315
mnc: 010
amf_id:
region: 2
set: 1
tai:
- plmn_id:
mcc: 315
mnc: 010
tac: 1
plmn_support:
- plmn_id:
mcc: 315
mnc: 010
s_nssai:
- sst: 1
security:
integrity_order : [ NIA2, NIA1, NIA0 ]
ciphering_order : [ NEA0, NEA1, NEA2 ]
network_name:
full: Open5GS
amf_name: open5gs-amf0
time:
t3512:
value: 540 # 9 mintues * 60 = 540 seconds
sgwu:
pfcp:
server:
- address: 127.0.0.6
gtpu:
server:
- address: 127.0.0.6
upf:
pfcp:
server:
- address: 127.0.0.7
gtpu:
server:
- address: 127.0.0.7
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
metrics:
server:
- address: 127.0.0.7
port: 9090
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
address: 127.0.0.2
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
address: 127.0.0.4
nrf:
sbi:
server:
- address: 127.0.0.10
port: 7777
scp:
sbi:
server:
- address: 127.0.0.200
port: 7777
client:
nrf:
- uri: http://127.0.0.10:7777
ausf:
sbi:
server:
- address: 127.0.0.11
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
udm:
hnet:
- id: 1
scheme: 1
key: @build_configs_dir@/open5gs/hnet/curve25519-1.key
- id: 2
scheme: 2
key: @build_configs_dir@/open5gs/hnet/secp256r1-2.key
sbi:
server:
- address: 127.0.0.12
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
pcf:
sbi:
server:
- address: 127.0.0.13
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
metrics:
server:
- address: 127.0.0.13
port: 9090
nssf:
sbi:
server:
- address: 127.0.0.14
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
nsi:
- uri: http://127.0.0.10:7777
s_nssai:
sst: 1
bsf:
sbi:
server:
- address: 127.0.0.15
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
udr:
sbi:
server:
- address: 127.0.0.20
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777

View File

@@ -0,0 +1,330 @@
db_uri: mongodb://localhost/open5gs
logger:
test:
serving:
- plmn_id:
mcc: 315
mnc: 010
global:
parameter:
no_nrf: true
no_scp: true
no_sepp: true
no_amf: true
no_smf: true
no_upf: true
no_ausf: true
no_udm: true
no_pcf: true
no_nssf: true
no_bsf: true
no_udr: true
no_mme: true
no_sgwc: true
no_sgwu: true
no_pcrf: true
no_hss: true
mme:
freeDiameter:
identity: mme.localdomain
realm: localdomain
listen_on: 127.0.0.2
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
address: 127.0.0.8
s1ap:
server:
- address: 127.0.0.2
gtpc:
server:
- address: 127.0.0.2
client:
sgwc:
- address: 127.0.0.3
smf:
- address: 127.0.0.4
metrics:
server:
- address: 127.0.0.2
port: 9090
gummei:
plmn_id:
mcc: 315
mnc: 010
mme_gid: 2
mme_code: 1
tai:
plmn_id:
mcc: 315
mnc: 010
tac: 1
security:
integrity_order : [ EIA2, EIA1, EIA0 ]
ciphering_order : [ EEA0, EEA1, EEA2 ]
network_name:
full: Open5GS
sgwc:
gtpc:
server:
- address: 127.0.0.3
pfcp:
server:
- address: 127.0.0.3
client:
sgwu:
- address: 127.0.0.6
smf:
sbi:
server:
- address: 127.0.0.4
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
pfcp:
server:
- address: 127.0.0.4
client:
upf:
- address: 127.0.0.7
gtpc:
server:
- address: 127.0.0.4
gtpu:
server:
- address: 127.0.0.4
metrics:
server:
- address: 127.0.0.4
port: 9090
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
dns:
- 8.8.8.8
- 8.8.4.4
- 2001:4860:4860::8888
- 2001:4860:4860::8844
mtu: 1400
freeDiameter:
identity: smf.localdomain
realm: localdomain
listen_on: 127.0.0.4
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
address: 127.0.0.9
amf:
sbi:
server:
- address: 127.0.0.5
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
ngap:
server:
- address: 127.0.3.5
metrics:
server:
- address: 127.0.0.5
port: 9090
guami:
- plmn_id:
mcc: 315
mnc: 010
amf_id:
region: 2
set: 1
tai:
- plmn_id:
mcc: 315
mnc: 010
tac: 1
plmn_support:
- plmn_id:
mcc: 315
mnc: 010
s_nssai:
- sst: 1
security:
integrity_order : [ NIA2, NIA1, NIA0 ]
ciphering_order : [ NEA0, NEA1, NEA2 ]
network_name:
full: Open5GS
amf_name: open5gs-amf0
sgwu:
pfcp:
server:
- address: 127.0.0.6
gtpu:
server:
- address: 127.0.0.6
upf:
pfcp:
server:
- address: 127.0.0.7
gtpu:
server:
- address: 127.0.0.7
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
metrics:
server:
- address: 127.0.0.7
port: 9090
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
address: 127.0.0.2
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
address: 127.0.0.4
nrf:
sbi:
server:
- address: 127.0.0.10
port: 7777
scp:
sbi:
server:
- address: 127.0.0.200
port: 7777
client:
nrf:
- uri: http://127.0.0.10:7777
ausf:
sbi:
server:
- address: 127.0.0.11
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
udm:
hnet:
- id: 1
scheme: 1
key: @build_configs_dir@/open5gs/hnet/curve25519-1.key
- id: 2
scheme: 2
key: @build_configs_dir@/open5gs/hnet/secp256r1-2.key
sbi:
server:
- address: 127.0.0.12
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
pcf:
sbi:
server:
- address: 127.0.0.13
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
metrics:
server:
- address: 127.0.0.13
port: 9090
nssf:
sbi:
server:
- address: 127.0.0.14
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
nsi:
- uri: http://127.0.0.10:7777
s_nssai:
sst: 1
bsf:
sbi:
server:
- address: 127.0.0.15
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
udr:
sbi:
server:
- address: 127.0.0.20
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777

View File

@@ -0,0 +1,335 @@
db_uri: mongodb://localhost/open5gs
logger:
test:
serving:
- plmn_id:
mcc: 999
mnc: 70
global:
parameter:
no_nrf: true
no_scp: true
no_sepp: true
no_amf: true
no_smf: true
no_upf: true
no_ausf: true
no_udm: true
no_pcf: true
no_nssf: true
no_bsf: true
no_udr: true
no_mme: true
no_sgwc: true
no_sgwu: true
no_pcrf: true
no_hss: true
mme:
freeDiameter:
identity: mme.localdomain
realm: localdomain
listen_on: 127.0.0.2
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
address: 127.0.0.8
s1ap:
server:
- address: 127.0.0.2
gtpc:
server:
- address: 127.0.0.2
client:
sgwc:
- address: 127.0.0.3
smf:
- address: 127.0.0.4
metrics:
server:
- address: 127.0.0.2
port: 9090
gummei:
- plmn_id:
mcc: 315
mnc: 010
mme_gid: 2
mme_code: 1
tai:
- plmn_id:
mcc: 315
mnc: 010
tac: 1
security:
integrity_order : [ EIA2, EIA1, EIA0 ]
ciphering_order : [ EEA0, EEA1, EEA2 ]
network_name:
full: Open5GS
time:
t3412:
value: 3240
sgwc:
gtpc:
server:
- address: 127.0.0.3
pfcp:
server:
- address: 127.0.0.3
client:
sgwu:
- address: 127.0.0.6
smf:
sbi:
server:
- address: 127.0.0.4
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
pfcp:
server:
- address: 127.0.0.4
client:
upf:
- address: 127.0.0.7
gtpc:
server:
- address: 127.0.0.4
gtpu:
server:
- address: 127.0.0.4
metrics:
server:
- address: 127.0.0.4
port: 9090
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
dns:
- 8.8.8.8
- 8.8.4.4
- 2001:4860:4860::8888
- 2001:4860:4860::8844
mtu: 1400
freeDiameter:
identity: smf.localdomain
realm: localdomain
listen_on: 127.0.0.4
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
address: 127.0.0.9
amf:
sbi:
server:
- address: 127.0.0.5
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
ngap:
server:
- address: 127.0.3.5
metrics:
server:
- address: 127.0.0.5
port: 9090
guami:
- plmn_id:
mcc: 315
mnc: 010
amf_id:
region: 2
set: 1
tai:
- plmn_id:
mcc: 315
mnc: 010
tac: 1
plmn_support:
- plmn_id:
mcc: 315
mnc: 010
s_nssai:
- sst: 1
security:
integrity_order : [ NIA2, NIA1, NIA0 ]
ciphering_order : [ NEA0, NEA1, NEA2 ]
network_name:
full: Open5GS
amf_name: open5gs-amf0
time:
t3512:
value: 540 # 9 mintues * 60 = 540 seconds
sgwu:
pfcp:
server:
- address: 127.0.0.6
gtpu:
server:
- address: 127.0.0.6
upf:
pfcp:
server:
- address: 127.0.0.7
gtpu:
server:
- address: 127.0.0.7
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
metrics:
server:
- address: 127.0.0.7
port: 9090
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
address: 127.0.0.2
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
address: 127.0.0.4
nrf:
sbi:
server:
- address: 127.0.0.10
port: 7777
scp:
sbi:
server:
- address: 127.0.0.200
port: 7777
client:
nrf:
- uri: http://127.0.0.10:7777
ausf:
sbi:
server:
- address: 127.0.0.11
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
udm:
hnet:
- id: 1
scheme: 1
key: @build_configs_dir@/open5gs/hnet/curve25519-1.key
- id: 2
scheme: 2
key: @build_configs_dir@/open5gs/hnet/secp256r1-2.key
sbi:
server:
- address: 127.0.0.12
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
pcf:
sbi:
server:
- address: 127.0.0.13
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
metrics:
server:
- address: 127.0.0.13
port: 9090
nssf:
sbi:
server:
- address: 127.0.0.14
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
nsi:
- uri: http://127.0.0.10:7777
s_nssai:
sst: 1
bsf:
sbi:
server:
- address: 127.0.0.15
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
udr:
sbi:
server:
- address: 127.0.0.20
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777

View File

@@ -0,0 +1,335 @@
db_uri: mongodb://localhost/open5gs
logger:
test:
serving:
- plmn_id:
mcc: 001
mnc: 01
global:
parameter:
no_nrf: true
no_scp: true
no_sepp: true
no_amf: true
no_smf: true
no_upf: true
no_ausf: true
no_udm: true
no_pcf: true
no_nssf: true
no_bsf: true
no_udr: true
no_mme: true
no_sgwc: true
no_sgwu: true
no_pcrf: true
no_hss: true
mme:
freeDiameter:
identity: mme.localdomain
realm: localdomain
listen_on: 127.0.0.2
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
address: 127.0.0.8
s1ap:
server:
- address: 127.0.0.2
gtpc:
server:
- address: 127.0.0.2
client:
sgwc:
- address: 127.0.0.3
smf:
- address: 127.0.0.4
metrics:
server:
- address: 127.0.0.2
port: 9090
gummei:
- plmn_id:
mcc: 999
mnc: 70
mme_gid: 2
mme_code: 1
tai:
- plmn_id:
mcc: 999
mnc: 70
tac: 1
security:
integrity_order : [ EIA2, EIA1, EIA0 ]
ciphering_order : [ EEA0, EEA1, EEA2 ]
network_name:
full: Open5GS
time:
t3412:
value: 3240
sgwc:
gtpc:
server:
- address: 127.0.0.3
pfcp:
server:
- address: 127.0.0.3
client:
sgwu:
- address: 127.0.0.6
smf:
sbi:
server:
- address: 127.0.0.4
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
pfcp:
server:
- address: 127.0.0.4
client:
upf:
- address: 127.0.0.7
gtpc:
server:
- address: 127.0.0.4
gtpu:
server:
- address: 127.0.0.4
metrics:
server:
- address: 127.0.0.4
port: 9090
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
dns:
- 8.8.8.8
- 8.8.4.4
- 2001:4860:4860::8888
- 2001:4860:4860::8844
mtu: 1400
freeDiameter:
identity: smf.localdomain
realm: localdomain
listen_on: 127.0.0.4
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
address: 127.0.0.9
amf:
sbi:
server:
- address: 127.0.0.5
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
ngap:
server:
- address: 127.0.1.5
metrics:
server:
- address: 127.0.0.5
port: 9090
guami:
- plmn_id:
mcc: 999
mnc: 70
amf_id:
region: 2
set: 1
tai:
- plmn_id:
mcc: 999
mnc: 70
tac: 1
plmn_support:
- plmn_id:
mcc: 999
mnc: 70
s_nssai:
- sst: 1
security:
integrity_order : [ NIA2, NIA1, NIA0 ]
ciphering_order : [ NEA0, NEA1, NEA2 ]
network_name:
full: Open5GS
amf_name: open5gs-amf0
time:
t3512:
value: 540 # 9 mintues * 60 = 540 seconds
sgwu:
pfcp:
server:
- address: 127.0.0.6
gtpu:
server:
- address: 127.0.0.6
upf:
pfcp:
server:
- address: 127.0.0.7
gtpu:
server:
- address: 127.0.0.7
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
metrics:
server:
- address: 127.0.0.7
port: 9090
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
address: 127.0.0.2
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
address: 127.0.0.4
nrf:
sbi:
server:
- address: 127.0.0.10
port: 7777
scp:
sbi:
server:
- address: 127.0.0.200
port: 7777
client:
nrf:
- uri: http://127.0.0.10:7777
ausf:
sbi:
server:
- address: 127.0.0.11
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
udm:
hnet:
- id: 1
scheme: 1
key: @build_configs_dir@/open5gs/hnet/curve25519-1.key
- id: 2
scheme: 2
key: @build_configs_dir@/open5gs/hnet/secp256r1-2.key
sbi:
server:
- address: 127.0.0.12
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
pcf:
sbi:
server:
- address: 127.0.0.13
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
metrics:
server:
- address: 127.0.0.13
port: 9090
nssf:
sbi:
server:
- address: 127.0.0.14
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
nsi:
- uri: http://127.0.0.10:7777
s_nssai:
sst: 1
bsf:
sbi:
server:
- address: 127.0.0.15
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
udr:
sbi:
server:
- address: 127.0.0.20
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777

View File

@@ -0,0 +1,335 @@
db_uri: mongodb://localhost/open5gs
logger:
test:
serving:
- plmn_id:
mcc: 315
mnc: 010
global:
parameter:
no_nrf: true
no_scp: true
no_sepp: true
no_amf: true
no_smf: true
no_upf: true
no_ausf: true
no_udm: true
no_pcf: true
no_nssf: true
no_bsf: true
no_udr: true
no_mme: true
no_sgwc: true
no_sgwu: true
no_pcrf: true
no_hss: true
mme:
freeDiameter:
identity: mme.localdomain
realm: localdomain
listen_on: 127.0.0.2
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
address: 127.0.0.8
s1ap:
server:
- address: 127.0.0.2
gtpc:
server:
- address: 127.0.0.2
client:
sgwc:
- address: 127.0.0.3
smf:
- address: 127.0.0.4
metrics:
server:
- address: 127.0.0.2
port: 9090
gummei:
- plmn_id:
mcc: 999
mnc: 70
mme_gid: 2
mme_code: 1
tai:
- plmn_id:
mcc: 999
mnc: 70
tac: 1
security:
integrity_order : [ EIA2, EIA1, EIA0 ]
ciphering_order : [ EEA0, EEA1, EEA2 ]
network_name:
full: Open5GS
time:
t3412:
value: 3240
sgwc:
gtpc:
server:
- address: 127.0.0.3
pfcp:
server:
- address: 127.0.0.3
client:
sgwu:
- address: 127.0.0.6
smf:
sbi:
server:
- address: 127.0.0.4
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
pfcp:
server:
- address: 127.0.0.4
client:
upf:
- address: 127.0.0.7
gtpc:
server:
- address: 127.0.0.4
gtpu:
server:
- address: 127.0.0.4
metrics:
server:
- address: 127.0.0.4
port: 9090
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
dns:
- 8.8.8.8
- 8.8.4.4
- 2001:4860:4860::8888
- 2001:4860:4860::8844
mtu: 1400
freeDiameter:
identity: smf.localdomain
realm: localdomain
listen_on: 127.0.0.4
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
address: 127.0.0.9
amf:
sbi:
server:
- address: 127.0.0.5
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
ngap:
server:
- address: 127.0.1.5
metrics:
server:
- address: 127.0.0.5
port: 9090
guami:
- plmn_id:
mcc: 999
mnc: 70
amf_id:
region: 2
set: 1
tai:
- plmn_id:
mcc: 999
mnc: 70
tac: 1
plmn_support:
- plmn_id:
mcc: 999
mnc: 70
s_nssai:
- sst: 1
security:
integrity_order : [ NIA2, NIA1, NIA0 ]
ciphering_order : [ NEA0, NEA1, NEA2 ]
network_name:
full: Open5GS
amf_name: open5gs-amf0
time:
t3512:
value: 540 # 9 mintues * 60 = 540 seconds
sgwu:
pfcp:
server:
- address: 127.0.0.6
gtpu:
server:
- address: 127.0.0.6
upf:
pfcp:
server:
- address: 127.0.0.7
gtpu:
server:
- address: 127.0.0.7
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
metrics:
server:
- address: 127.0.0.7
port: 9090
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
address: 127.0.0.2
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
address: 127.0.0.4
nrf:
sbi:
server:
- address: 127.0.0.10
port: 7777
scp:
sbi:
server:
- address: 127.0.0.200
port: 7777
client:
nrf:
- uri: http://127.0.0.10:7777
ausf:
sbi:
server:
- address: 127.0.0.11
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
udm:
hnet:
- id: 1
scheme: 1
key: @build_configs_dir@/open5gs/hnet/curve25519-1.key
- id: 2
scheme: 2
key: @build_configs_dir@/open5gs/hnet/secp256r1-2.key
sbi:
server:
- address: 127.0.0.12
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
pcf:
sbi:
server:
- address: 127.0.0.13
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
metrics:
server:
- address: 127.0.0.13
port: 9090
nssf:
sbi:
server:
- address: 127.0.0.14
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
nsi:
- uri: http://127.0.0.10:7777
s_nssai:
sst: 1
bsf:
sbi:
server:
- address: 127.0.0.15
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
udr:
sbi:
server:
- address: 127.0.0.20
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777

View File

@@ -0,0 +1,330 @@
db_uri: mongodb://localhost/open5gs
logger:
test:
serving:
- plmn_id:
mcc: 999
mnc: 70
global:
parameter:
no_nrf: true
no_scp: true
no_sepp: true
no_amf: true
no_smf: true
no_upf: true
no_ausf: true
no_udm: true
no_pcf: true
no_nssf: true
no_bsf: true
no_udr: true
no_mme: true
no_sgwc: true
no_sgwu: true
no_pcrf: true
no_hss: true
mme:
freeDiameter:
identity: mme.localdomain
realm: localdomain
listen_on: 127.0.0.2
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
address: 127.0.0.8
s1ap:
server:
- address: 127.0.0.2
gtpc:
server:
- address: 127.0.0.2
client:
sgwc:
- address: 127.0.0.3
smf:
- address: 127.0.0.4
metrics:
server:
- address: 127.0.0.2
port: 9090
gummei:
plmn_id:
mcc: 999
mnc: 70
mme_gid: 2
mme_code: 1
tai:
plmn_id:
mcc: 999
mnc: 70
tac: 1
security:
integrity_order : [ EIA2, EIA1, EIA0 ]
ciphering_order : [ EEA0, EEA1, EEA2 ]
network_name:
full: Open5GS
sgwc:
gtpc:
server:
- address: 127.0.0.3
pfcp:
server:
- address: 127.0.0.3
client:
sgwu:
- address: 127.0.0.6
smf:
sbi:
server:
- address: 127.0.0.4
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
pfcp:
server:
- address: 127.0.0.4
client:
upf:
- address: 127.0.0.7
gtpc:
server:
- address: 127.0.0.4
gtpu:
server:
- address: 127.0.0.4
metrics:
server:
- address: 127.0.0.4
port: 9090
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
dns:
- 8.8.8.8
- 8.8.4.4
- 2001:4860:4860::8888
- 2001:4860:4860::8844
mtu: 1400
freeDiameter:
identity: smf.localdomain
realm: localdomain
listen_on: 127.0.0.4
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
address: 127.0.0.9
amf:
sbi:
server:
- address: 127.0.0.5
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
ngap:
server:
- address: 127.0.1.5
metrics:
server:
- address: 127.0.0.5
port: 9090
guami:
- plmn_id:
mcc: 999
mnc: 70
amf_id:
region: 2
set: 1
tai:
- plmn_id:
mcc: 999
mnc: 70
tac: 1
plmn_support:
- plmn_id:
mcc: 999
mnc: 70
s_nssai:
- sst: 1
security:
integrity_order : [ NIA2, NIA1, NIA0 ]
ciphering_order : [ NEA0, NEA1, NEA2 ]
network_name:
full: Open5GS
amf_name: open5gs-amf0
sgwu:
pfcp:
server:
- address: 127.0.0.6
gtpu:
server:
- address: 127.0.0.6
upf:
pfcp:
server:
- address: 127.0.0.7
gtpu:
server:
- address: 127.0.0.7
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
metrics:
server:
- address: 127.0.0.7
port: 9090
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
address: 127.0.0.2
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
address: 127.0.0.4
nrf:
sbi:
server:
- address: 127.0.0.10
port: 7777
scp:
sbi:
server:
- address: 127.0.0.200
port: 7777
client:
nrf:
- uri: http://127.0.0.10:7777
ausf:
sbi:
server:
- address: 127.0.0.11
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
udm:
hnet:
- id: 1
scheme: 1
key: @build_configs_dir@/open5gs/hnet/curve25519-1.key
- id: 2
scheme: 2
key: @build_configs_dir@/open5gs/hnet/secp256r1-2.key
sbi:
server:
- address: 127.0.0.12
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
pcf:
sbi:
server:
- address: 127.0.0.13
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
metrics:
server:
- address: 127.0.0.13
port: 9090
nssf:
sbi:
server:
- address: 127.0.0.14
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
nsi:
- uri: http://127.0.0.10:7777
s_nssai:
sst: 1
bsf:
sbi:
server:
- address: 127.0.0.15
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777
udr:
sbi:
server:
- address: 127.0.0.20
port: 7777
client:
scp:
- uri: http://127.0.0.200:7777

View File

@@ -0,0 +1,41 @@
# Copyright (C) 2023 by Sukchan Lee <acetcom@gmail.com>
# This file is part of Open5GS.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
examples_conf = '''
5gc-sepp1-999-70.yaml
5gc-sepp2-001-01.yaml
5gc-sepp3-315-010.yaml
5gc-tls-sepp1-999-70.yaml
5gc-tls-sepp2-001-01.yaml
5gc-tls-sepp3-315-010.yaml
gnb-999-70-ue-999-70.yaml
gnb-999-70-ue-001-01.yaml
gnb-999-70-ue-315-010.yaml
gnb-001-01-ue-999-70.yaml
gnb-001-01-ue-001-01.yaml
gnb-001-01-ue-315-010.yaml
gnb-315-010-ue-999-70.yaml
gnb-315-010-ue-001-01.yaml
gnb-315-010-ue-315-010.yaml
'''.split()
foreach file : examples_conf
gen = configure_file(
input : file + '.in',
output : file,
configuration : conf_data)
endforeach

View File

@@ -0,0 +1,266 @@
# This is a sample configuration file for freeDiameter daemon.
# Most of the options can be omitted, as they default to reasonable values.
# Only TLS-related options must be configured properly in usual setups.
# It is possible to use "include" keyword to import additional files
# e.g.: include "/etc/freeDiameter.d/*.conf"
# This is exactly equivalent as copy & paste the content of the included file(s)
# where the "include" keyword is found.
##############################################################
## Peer identity and realm
# The Diameter Identity of this daemon.
# This must be a valid FQDN that resolves to the local host.
# Default: hostname's FQDN
#Identity = "aaa.koganei.freediameter.net";
Identity = "hss.localdomain";
# The Diameter Realm of this daemon.
# Default: the domain part of Identity (after the first dot).
#Realm = "koganei.freediameter.net";
Realm = "localdomain";
##############################################################
## Transport protocol configuration
# The port this peer is listening on for incoming connections (TCP and SCTP).
# Default: 3868. Use 0 to disable.
#Port = 3868;
# The port this peer is listening on for incoming TLS-protected connections (TCP and SCTP).
# See TLS_old_method for more information about TLS flavours.
# Note: we use TLS/SCTP instead of DTLS/SCTP at the moment. This will change in future version of freeDiameter.
# Default: 5868. Use 0 to disable.
#SecPort = 5868;
# Use RFC3588 method for TLS protection, where TLS is negociated after CER/CEA exchange is completed
# on the unsecure connection. The alternative is RFC6733 mechanism, where TLS protects also the
# CER/CEA exchange on a dedicated secure port.
# This parameter only affects outgoing connections.
# The setting can be also defined per-peer (see Peers configuration section).
# Default: use RFC6733 method with separate port for TLS.
#TLS_old_method;
# Disable use of TCP protocol (only listen and connect over SCTP)
# Default : TCP enabled
#No_TCP;
# Disable use of SCTP protocol (only listen and connect over TCP)
# Default : SCTP enabled
#No_SCTP;
# This option is ignored if freeDiameter is compiled with DISABLE_SCTP option.
# Prefer TCP instead of SCTP for establishing new connections.
# This setting may be overwritten per peer in peer configuration blocs.
# Default : SCTP is attempted first.
#Prefer_TCP;
# Default number of streams per SCTP associations.
# This setting may be overwritten per peer basis.
# Default : 30 streams
#SCTP_streams = 30;
##############################################################
## Endpoint configuration
# Disable use of IP addresses (only IPv6)
# Default : IP enabled
#No_IP;
# Disable use of IPv6 addresses (only IP)
# Default : IPv6 enabled
#No_IPv6;
# Specify local addresses the server must bind to
# Default : listen on all addresses available.
#ListenOn = "202.249.37.5";
#ListenOn = "2001:200:903:2::202:1";
#ListenOn = "fe80::21c:5ff:fe98:7d62%eth0";
ListenOn = "127.0.0.8";
##############################################################
## Server configuration
# How many Diameter peers are allowed to be connecting at the same time ?
# This parameter limits the number of incoming connections from the time
# the connection is accepted until the first CER is received.
# Default: 5 unidentified clients in paralel.
#ThreadsPerServer = 5;
##############################################################
## TLS Configuration
# TLS is managed by the GNUTLS library in the freeDiameter daemon.
# You may find more information about parameters and special behaviors
# in the relevant documentation.
# http://www.gnu.org/software/gnutls/manual/
# Credentials of the local peer
# The X509 certificate and private key file to use for the local peer.
# The files must contain PKCS-1 encoded RSA key, in PEM format.
# (These parameters are passed to gnutls_certificate_set_x509_key_file function)
# Default : NO DEFAULT
#TLS_Cred = "<x509 certif file.PEM>" , "<x509 private key file.PEM>";
#TLS_Cred = "/etc/ssl/certs/freeDiameter.pem", "/etc/ssl/private/freeDiameter.key";
TLS_Cred = "@sysconfdir@/open5gs/tls/hss.crt", "@sysconfdir@/open5gs/tls/hss.key";
# Certificate authority / trust anchors
# The file containing the list of trusted Certificate Authorities (PEM list)
# (This parameter is passed to gnutls_certificate_set_x509_trust_file function)
# The directive can appear several times to specify several files.
# Default : GNUTLS default behavior
#TLS_CA = "<file.PEM>";
TLS_CA = "@sysconfdir@/open5gs/tls/ca.crt";
# Certificate Revocation List file
# The information about revoked certificates.
# The file contains a list of trusted CRLs in PEM format. They should have been verified before.
# (This parameter is passed to gnutls_certificate_set_x509_crl_file function)
# Note: openssl CRL format might have interoperability issue with GNUTLS format.
# Default : GNUTLS default behavior
#TLS_CRL = "<file.PEM>";
# GNU TLS Priority string
# This string allows to configure the behavior of GNUTLS key exchanges
# algorithms. See gnutls_priority_init function documentation for information.
# You should also refer to the Diameter required TLS support here:
# http://tools.ietf.org/html/rfc6733#section-13.1
# Default : "NORMAL"
# Example: TLS_Prio = "NONE:+VERS-TLS1.1:+AES-128-CBC:+RSA:+SHA1:+COMP-NULL";
#TLS_Prio = "NORMAL";
# Diffie-Hellman parameters size
# Set the number of bits for generated DH parameters
# Valid value should be 768, 1024, 2048, 3072 or 4096.
# (This parameter is passed to gnutls_dh_params_generate2 function,
# it usually should match RSA key size)
# Default : 1024
#TLS_DH_Bits = 1024;
# Alternatively, you can specify a file to load the PKCS#3 encoded
# DH parameters directly from. This accelerates the daemon start
# but is slightly less secure. If this file is provided, the
# TLS_DH_Bits parameters has no effect.
# Default : no default.
#TLS_DH_File = "<file.PEM>";
##############################################################
## Timers configuration
# The Tc timer of this peer.
# It is the delay before a new attempt is made to reconnect a disconnected peer.
# The value is expressed in seconds. The recommended value is 30 seconds.
# Default: 30
#TcTimer = 30;
# The Tw timer of this peer.
# It is the delay before a watchdog message is sent, as described in RFC 3539.
# The value is expressed in seconds. The default value is 30 seconds. Value must
# be greater or equal to 6 seconds. See details in the RFC.
# Default: 30
#TwTimer = 30;
##############################################################
## Applications configuration
# Disable the relaying of Diameter messages?
# For messages not handled locally, the default behavior is to forward the
# message to another peer if any is available, according to the routing
# algorithms. In addition the "0xffffff" application is advertised in CER/CEA
# exchanges.
# Default: Relaying is enabled.
#NoRelay;
NoRelay;
# Number of server threads that can handle incoming messages at the same time.
# Default: 4
#AppServThreads = 4;
# Other applications are configured by loaded extensions.
##############################################################
## Extensions configuration
# The freeDiameter framework merely provides support for
# Diameter Base Protocol. The specific application behaviors,
# as well as advanced functions, are provided
# by loadable extensions (plug-ins).
# These extensions may in addition receive the name of a
# configuration file, the format of which is extension-specific.
#
# Format:
#LoadExtension = "/path/to/extension" [ : "/optional/configuration/file" ] ;
#
# Examples:
#LoadExtension = "extensions/sample.fdx";
#LoadExtension = "extensions/sample.fdx":"conf/sample.conf";
# Extensions are named as follow:
# dict_* for extensions that add content to the dictionary definitions.
# dbg_* for extensions useful only to retrieve more information on the framework execution.
# acl_* : Access control list, to control which peers are allowed to connect.
# rt_* : routing extensions that impact how messages are forwarded to other peers.
# app_* : applications, these extensions usually register callbacks to handle specific messages.
# test_* : dummy extensions that are useful only in testing environments.
# The dbg_msg_dump.fdx extension allows you to tweak the way freeDiameter displays some
# information about some events. This extension does not actually use a configuration file
# but receives directly a parameter in the string passed to the extension. Here are some examples:
## LoadExtension = "dbg_msg_dumps.fdx" : "0x1111"; # Removes all default hooks, very quiet even in case of errors.
## LoadExtension = "dbg_msg_dumps.fdx" : "0x2222"; # Display all events with few details.
## LoadExtension = "dbg_msg_dumps.fdx" : "0x0080"; # Dump complete information about sent and received messages.
# The four digits respectively control: connections, routing decisions, sent/received messages, errors.
# The values for each digit are:
# 0 - default - keep the default behavior
# 1 - quiet - remove any specific log
# 2 - compact - display only a summary of the information
# 4 - full - display the complete information on a single long line
# 8 - tree - display the complete information in an easier to read format spanning several lines.
LoadExtension = "@libdir@/freeDiameter/dbg_msg_dumps.fdx" : "0x8888";
LoadExtension = "@libdir@/freeDiameter/dict_rfc5777.fdx";
LoadExtension = "@libdir@/freeDiameter/dict_mip6i.fdx";
LoadExtension = "@libdir@/freeDiameter/dict_nasreq.fdx";
LoadExtension = "@libdir@/freeDiameter/dict_nas_mipv6.fdx";
LoadExtension = "@libdir@/freeDiameter/dict_dcca.fdx";
LoadExtension = "@libdir@/freeDiameter/dict_dcca_3gpp.fdx";
##############################################################
## Peers configuration
# The local server listens for incoming connections. By default,
# all unknown connecting peers are rejected. Extensions can override this behavior (e.g., acl_wl).
#
# In addition to incoming connections, the local peer can
# be configured to establish and maintain connections to some
# Diameter nodes and allow connections from these nodes.
# This is achieved with the ConnectPeer directive described below.
#
# Note that the configured Diameter Identity MUST match
# the information received inside CEA, or the connection will be aborted.
#
# Format:
#ConnectPeer = "diameterid" [ { parameter1; parameter2; ...} ] ;
# Parameters that can be specified in the peer's parameter list:
# No_TCP; No_SCTP; No_IP; No_IPv6; Prefer_TCP; TLS_old_method;
# No_TLS; # assume transparent security instead of TLS. DTLS is not supported yet (will change in future versions).
# Port = 5868; # The port to connect to
# TcTimer = 30;
# TwTimer = 30;
# ConnectTo = "202.249.37.5";
# ConnectTo = "2001:200:903:2::202:1";
# TLS_Prio = "NORMAL";
# Realm = "realm.net"; # Reject the peer if it does not advertise this realm.
# Examples:
#ConnectPeer = "aaa.wide.ad.jp";
#ConnectPeer = "old.diameter.serv" { TcTimer = 60; TLS_old_method; No_SCTP; Port=3868; } ;
ConnectPeer = "mme.localdomain" { ConnectTo = "127.0.0.2"; No_TLS; };
##############################################################

View File

@@ -0,0 +1,36 @@
# Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com>
# This file is part of Open5GS.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
freediameter_sysconfdir = join_paths(sysconfdir, 'freeDiameter')
meson.add_install_script(python3_exe, '-c',
mkdir_p.format(freediameter_sysconfdir))
freediameter_conf = '''
mme.conf
hss.conf
smf.conf
pcrf.conf
'''.split()
foreach file : freediameter_conf
gen = configure_file(
input : file + '.in',
output : file,
configuration : conf_data)
meson.add_install_script(python3_exe, '-c',
install_conf.format(gen, freediameter_sysconfdir))
endforeach

View File

@@ -0,0 +1,267 @@
# This is a sample configuration file for freeDiameter daemon.
# Most of the options can be omitted, as they default to reasonable values.
# Only TLS-related options must be configured properly in usual setups.
# It is possible to use "include" keyword to import additional files
# e.g.: include "/etc/freeDiameter.d/*.conf"
# This is exactly equivalent as copy & paste the content of the included file(s)
# where the "include" keyword is found.
##############################################################
## Peer identity and realm
# The Diameter Identity of this daemon.
# This must be a valid FQDN that resolves to the local host.
# Default: hostname's FQDN
#Identity = "aaa.koganei.freediameter.net";
Identity = "mme.localdomain";
# The Diameter Realm of this daemon.
# Default: the domain part of Identity (after the first dot).
#Realm = "koganei.freediameter.net";
Realm = "localdomain";
##############################################################
## Transport protocol configuration
# The port this peer is listening on for incoming connections (TCP and SCTP).
# Default: 3868. Use 0 to disable.
#Port = 3868;
# The port this peer is listening on for incoming TLS-protected connections (TCP and SCTP).
# See TLS_old_method for more information about TLS flavours.
# Note: we use TLS/SCTP instead of DTLS/SCTP at the moment. This will change in future version of freeDiameter.
# Default: 5868. Use 0 to disable.
#SecPort = 5868;
# Use RFC3588 method for TLS protection, where TLS is negociated after CER/CEA exchange is completed
# on the unsecure connection. The alternative is RFC6733 mechanism, where TLS protects also the
# CER/CEA exchange on a dedicated secure port.
# This parameter only affects outgoing connections.
# The setting can be also defined per-peer (see Peers configuration section).
# Default: use RFC6733 method with separate port for TLS.
#TLS_old_method;
# Disable use of TCP protocol (only listen and connect over SCTP)
# Default : TCP enabled
#No_TCP;
# Disable use of SCTP protocol (only listen and connect over TCP)
# Default : SCTP enabled
#No_SCTP;
# This option is ignored if freeDiameter is compiled with DISABLE_SCTP option.
# Prefer TCP instead of SCTP for establishing new connections.
# This setting may be overwritten per peer in peer configuration blocs.
# Default : SCTP is attempted first.
#Prefer_TCP;
# Default number of streams per SCTP associations.
# This setting may be overwritten per peer basis.
# Default : 30 streams
#SCTP_streams = 30;
##############################################################
## Endpoint configuration
# Disable use of IP addresses (only IPv6)
# Default : IP enabled
#No_IP;
# Disable use of IPv6 addresses (only IP)
# Default : IPv6 enabled
#No_IPv6;
# Specify local addresses the server must bind to
# Default : listen on all addresses available.
#ListenOn = "202.249.37.5";
#ListenOn = "2001:200:903:2::202:1";
#ListenOn = "fe80::21c:5ff:fe98:7d62%eth0";
ListenOn = "127.0.0.2";
##############################################################
## Server configuration
# How many Diameter peers are allowed to be connecting at the same time ?
# This parameter limits the number of incoming connections from the time
# the connection is accepted until the first CER is received.
# Default: 5 unidentified clients in paralel.
#ThreadsPerServer = 5;
##############################################################
## TLS Configuration
# TLS is managed by the GNUTLS library in the freeDiameter daemon.
# You may find more information about parameters and special behaviors
# in the relevant documentation.
# http://www.gnu.org/software/gnutls/manual/
# Credentials of the local peer
# The X509 certificate and private key file to use for the local peer.
# The files must contain PKCS-1 encoded RSA key, in PEM format.
# (These parameters are passed to gnutls_certificate_set_x509_key_file function)
# Default : NO DEFAULT
#TLS_Cred = "<x509 certif file.PEM>" , "<x509 private key file.PEM>";
#TLS_Cred = "/etc/ssl/certs/freeDiameter.pem", "/etc/ssl/private/freeDiameter.key";
TLS_Cred = "@sysconfdir@/open5gs/tls/mme.crt", "@sysconfdir@/open5gs/tls/mme.key";
# Certificate authority / trust anchors
# The file containing the list of trusted Certificate Authorities (PEM list)
# (This parameter is passed to gnutls_certificate_set_x509_trust_file function)
# The directive can appear several times to specify several files.
# Default : GNUTLS default behavior
#TLS_CA = "<file.PEM>";
TLS_CA = "@sysconfdir@/open5gs/tls/ca.crt";
# Certificate Revocation List file
# The information about revoked certificates.
# The file contains a list of trusted CRLs in PEM format. They should have been verified before.
# (This parameter is passed to gnutls_certificate_set_x509_crl_file function)
# Note: openssl CRL format might have interoperability issue with GNUTLS format.
# Default : GNUTLS default behavior
#TLS_CRL = "<file.PEM>";
# GNU TLS Priority string
# This string allows to configure the behavior of GNUTLS key exchanges
# algorithms. See gnutls_priority_init function documentation for information.
# You should also refer to the Diameter required TLS support here:
# http://tools.ietf.org/html/rfc6733#section-13.1
# Default : "NORMAL"
# Example: TLS_Prio = "NONE:+VERS-TLS1.1:+AES-128-CBC:+RSA:+SHA1:+COMP-NULL";
#TLS_Prio = "NORMAL";
# Diffie-Hellman parameters size
# Set the number of bits for generated DH parameters
# Valid value should be 768, 1024, 2048, 3072 or 4096.
# (This parameter is passed to gnutls_dh_params_generate2 function,
# it usually should match RSA key size)
# Default : 1024
#TLS_DH_Bits = 1024;
# Alternatively, you can specify a file to load the PKCS#3 encoded
# DH parameters directly from. This accelerates the daemon start
# but is slightly less secure. If this file is provided, the
# TLS_DH_Bits parameters has no effect.
# Default : no default.
#TLS_DH_File = "<file.PEM>";
##############################################################
## Timers configuration
# The Tc timer of this peer.
# It is the delay before a new attempt is made to reconnect a disconnected peer.
# The value is expressed in seconds. The recommended value is 30 seconds.
# Default: 30
#TcTimer = 30;
# The Tw timer of this peer.
# It is the delay before a watchdog message is sent, as described in RFC 3539.
# The value is expressed in seconds. The default value is 30 seconds. Value must
# be greater or equal to 6 seconds. See details in the RFC.
# Default: 30
#TwTimer = 30;
##############################################################
## Applications configuration
# Disable the relaying of Diameter messages?
# For messages not handled locally, the default behavior is to forward the
# message to another peer if any is available, according to the routing
# algorithms. In addition the "0xffffff" application is advertised in CER/CEA
# exchanges.
# Default: Relaying is enabled.
#NoRelay;
NoRelay;
# Number of server threads that can handle incoming messages at the same time.
# Default: 4
#AppServThreads = 4;
# Other applications are configured by loaded extensions.
##############################################################
## Extensions configuration
# The freeDiameter framework merely provides support for
# Diameter Base Protocol. The specific application behaviors,
# as well as advanced functions, are provided
# by loadable extensions (plug-ins).
# These extensions may in addition receive the name of a
# configuration file, the format of which is extension-specific.
#
# Format:
#LoadExtension = "/path/to/extension" [ : "/optional/configuration/file" ] ;
#
# Examples:
#LoadExtension = "extensions/sample.fdx";
#LoadExtension = "extensions/sample.fdx":"conf/sample.conf";
# Extensions are named as follow:
# dict_* for extensions that add content to the dictionary definitions.
# dbg_* for extensions useful only to retrieve more information on the framework execution.
# acl_* : Access control list, to control which peers are allowed to connect.
# rt_* : routing extensions that impact how messages are forwarded to other peers.
# app_* : applications, these extensions usually register callbacks to handle specific messages.
# test_* : dummy extensions that are useful only in testing environments.
# The dbg_msg_dump.fdx extension allows you to tweak the way freeDiameter displays some
# information about some events. This extension does not actually use a configuration file
# but receives directly a parameter in the string passed to the extension. Here are some examples:
## LoadExtension = "dbg_msg_dumps.fdx" : "0x1111"; # Removes all default hooks, very quiet even in case of errors.
## LoadExtension = "dbg_msg_dumps.fdx" : "0x2222"; # Display all events with few details.
## LoadExtension = "dbg_msg_dumps.fdx" : "0x0080"; # Dump complete information about sent and received messages.
# The four digits respectively control: connections, routing decisions, sent/received messages, errors.
# The values for each digit are:
# 0 - default - keep the default behavior
# 1 - quiet - remove any specific log
# 2 - compact - display only a summary of the information
# 4 - full - display the complete information on a single long line
# 8 - tree - display the complete information in an easier to read format spanning several lines.
LoadExtension = "@libdir@/freeDiameter/dbg_msg_dumps.fdx" : "0x8888";
LoadExtension = "@libdir@/freeDiameter/dict_rfc5777.fdx";
LoadExtension = "@libdir@/freeDiameter/dict_mip6i.fdx";
LoadExtension = "@libdir@/freeDiameter/dict_nasreq.fdx";
LoadExtension = "@libdir@/freeDiameter/dict_nas_mipv6.fdx";
LoadExtension = "@libdir@/freeDiameter/dict_dcca.fdx";
LoadExtension = "@libdir@/freeDiameter/dict_dcca_3gpp.fdx";
##############################################################
## Peers configuration
# The local server listens for incoming connections. By default,
# all unknown connecting peers are rejected. Extensions can override this behavior (e.g., acl_wl).
#
# In addition to incoming connections, the local peer can
# be configured to establish and maintain connections to some
# Diameter nodes and allow connections from these nodes.
# This is achieved with the ConnectPeer directive described below.
#
# Note that the configured Diameter Identity MUST match
# the information received inside CEA, or the connection will be aborted.
#
# Format:
#ConnectPeer = "diameterid" [ { parameter1; parameter2; ...} ] ;
# Parameters that can be specified in the peer's parameter list:
# No_TCP; No_SCTP; No_IP; No_IPv6; Prefer_TCP; TLS_old_method;
# No_TLS; # assume transparent security instead of TLS. DTLS is not supported yet (will change in future versions).
# Port = 5868; # The port to connect to
# TcTimer = 30;
# TwTimer = 30;
# ConnectTo = "202.249.37.5";
# ConnectTo = "2001:200:903:2::202:1";
# TLS_Prio = "NORMAL";
# Realm = "realm.net"; # Reject the peer if it does not advertise this realm.
# Examples:
#ConnectPeer = "aaa.wide.ad.jp";
#ConnectPeer = "old.diameter.serv" { TcTimer = 60; TLS_old_method; No_SCTP; Port=3868; } ;
ConnectPeer = "hss.localdomain" { ConnectTo = "127.0.0.8"; No_TLS; };
##############################################################

View File

@@ -0,0 +1,266 @@
# This is a sample configuration file for freeDiameter daemon.
# Most of the options can be omitted, as they default to reasonable values.
# Only TLS-related options must be configured properly in usual setups.
# It is possible to use "include" keyword to import additional files
# e.g.: include "/etc/freeDiameter.d/*.conf"
# This is exactly equivalent as copy & paste the content of the included file(s)
# where the "include" keyword is found.
##############################################################
## Peer identity and realm
# The Diameter Identity of this daemon.
# This must be a valid FQDN that resolves to the local host.
# Default: hostname's FQDN
#Identity = "aaa.koganei.freediameter.net";
Identity = "pcrf.localdomain";
# The Diameter Realm of this daemon.
# Default: the domain part of Identity (after the first dot).
#Realm = "koganei.freediameter.net";
Realm = "localdomain";
##############################################################
## Transport protocol configuration
# The port this peer is listening on for incoming connections (TCP and SCTP).
# Default: 3868. Use 0 to disable.
#Port = 3868;
# The port this peer is listening on for incoming TLS-protected connections (TCP and SCTP).
# See TLS_old_method for more information about TLS flavours.
# Note: we use TLS/SCTP instead of DTLS/SCTP at the moment. This will change in future version of freeDiameter.
# Default: 5868. Use 0 to disable.
#SecPort = 5868;
# Use RFC3588 method for TLS protection, where TLS is negociated after CER/CEA exchange is completed
# on the unsecure connection. The alternative is RFC6733 mechanism, where TLS protects also the
# CER/CEA exchange on a dedicated secure port.
# This parameter only affects outgoing connections.
# The setting can be also defined per-peer (see Peers configuration section).
# Default: use RFC6733 method with separate port for TLS.
#TLS_old_method;
# Disable use of TCP protocol (only listen and connect over SCTP)
# Default : TCP enabled
#No_TCP;
# Disable use of SCTP protocol (only listen and connect over TCP)
# Default : SCTP enabled
#No_SCTP;
# This option is ignored if freeDiameter is compiled with DISABLE_SCTP option.
# Prefer TCP instead of SCTP for establishing new connections.
# This setting may be overwritten per peer in peer configuration blocs.
# Default : SCTP is attempted first.
#Prefer_TCP;
# Default number of streams per SCTP associations.
# This setting may be overwritten per peer basis.
# Default : 30 streams
#SCTP_streams = 30;
##############################################################
## Endpoint configuration
# Disable use of IP addresses (only IPv6)
# Default : IP enabled
#No_IP;
# Disable use of IPv6 addresses (only IP)
# Default : IPv6 enabled
#No_IPv6;
# Specify local addresses the server must bind to
# Default : listen on all addresses available.
#ListenOn = "202.249.37.5";
#ListenOn = "2001:200:903:2::202:1";
#ListenOn = "fe80::21c:5ff:fe98:7d62%eth0";
ListenOn = "127.0.0.9";
##############################################################
## Server configuration
# How many Diameter peers are allowed to be connecting at the same time ?
# This parameter limits the number of incoming connections from the time
# the connection is accepted until the first CER is received.
# Default: 5 unidentified clients in paralel.
#ThreadsPerServer = 5;
##############################################################
## TLS Configuration
# TLS is managed by the GNUTLS library in the freeDiameter daemon.
# You may find more information about parameters and special behaviors
# in the relevant documentation.
# http://www.gnu.org/software/gnutls/manual/
# Credentials of the local peer
# The X509 certificate and private key file to use for the local peer.
# The files must contain PKCS-1 encoded RSA key, in PEM format.
# (These parameters are passed to gnutls_certificate_set_x509_key_file function)
# Default : NO DEFAULT
#TLS_Cred = "<x509 certif file.PEM>" , "<x509 private key file.PEM>";
#TLS_Cred = "/etc/ssl/certs/freeDiameter.pem", "/etc/ssl/private/freeDiameter.key";
TLS_Cred = "@sysconfdir@/open5gs/tls/pcrf.crt", "@sysconfdir@/open5gs/tls/pcrf.key";
# Certificate authority / trust anchors
# The file containing the list of trusted Certificate Authorities (PEM list)
# (This parameter is passed to gnutls_certificate_set_x509_trust_file function)
# The directive can appear several times to specify several files.
# Default : GNUTLS default behavior
#TLS_CA = "<file.PEM>";
TLS_CA = "@sysconfdir@/open5gs/tls/ca.crt";
# Certificate Revocation List file
# The information about revoked certificates.
# The file contains a list of trusted CRLs in PEM format. They should have been verified before.
# (This parameter is passed to gnutls_certificate_set_x509_crl_file function)
# Note: openssl CRL format might have interoperability issue with GNUTLS format.
# Default : GNUTLS default behavior
#TLS_CRL = "<file.PEM>";
# GNU TLS Priority string
# This string allows to configure the behavior of GNUTLS key exchanges
# algorithms. See gnutls_priority_init function documentation for information.
# You should also refer to the Diameter required TLS support here:
# http://tools.ietf.org/html/rfc6733#section-13.1
# Default : "NORMAL"
# Example: TLS_Prio = "NONE:+VERS-TLS1.1:+AES-128-CBC:+RSA:+SHA1:+COMP-NULL";
#TLS_Prio = "NORMAL";
# Diffie-Hellman parameters size
# Set the number of bits for generated DH parameters
# Valid value should be 768, 1024, 2048, 3072 or 4096.
# (This parameter is passed to gnutls_dh_params_generate2 function,
# it usually should match RSA key size)
# Default : 1024
#TLS_DH_Bits = 1024;
# Alternatively, you can specify a file to load the PKCS#3 encoded
# DH parameters directly from. This accelerates the daemon start
# but is slightly less secure. If this file is provided, the
# TLS_DH_Bits parameters has no effect.
# Default : no default.
#TLS_DH_File = "<file.PEM>";
##############################################################
## Timers configuration
# The Tc timer of this peer.
# It is the delay before a new attempt is made to reconnect a disconnected peer.
# The value is expressed in seconds. The recommended value is 30 seconds.
# Default: 30
#TcTimer = 30;
# The Tw timer of this peer.
# It is the delay before a watchdog message is sent, as described in RFC 3539.
# The value is expressed in seconds. The default value is 30 seconds. Value must
# be greater or equal to 6 seconds. See details in the RFC.
# Default: 30
#TwTimer = 30;
##############################################################
## Applications configuration
# Disable the relaying of Diameter messages?
# For messages not handled locally, the default behavior is to forward the
# message to another peer if any is available, according to the routing
# algorithms. In addition the "0xffffff" application is advertised in CER/CEA
# exchanges.
# Default: Relaying is enabled.
#NoRelay;
NoRelay;
# Number of server threads that can handle incoming messages at the same time.
# Default: 4
#AppServThreads = 4;
# Other applications are configured by loaded extensions.
##############################################################
## Extensions configuration
# The freeDiameter framework merely provides support for
# Diameter Base Protocol. The specific application behaviors,
# as well as advanced functions, are provided
# by loadable extensions (plug-ins).
# These extensions may in addition receive the name of a
# configuration file, the format of which is extension-specific.
#
# Format:
#LoadExtension = "/path/to/extension" [ : "/optional/configuration/file" ] ;
#
# Examples:
#LoadExtension = "extensions/sample.fdx";
#LoadExtension = "extensions/sample.fdx":"conf/sample.conf";
# Extensions are named as follow:
# dict_* for extensions that add content to the dictionary definitions.
# dbg_* for extensions useful only to retrieve more information on the framework execution.
# acl_* : Access control list, to control which peers are allowed to connect.
# rt_* : routing extensions that impact how messages are forwarded to other peers.
# app_* : applications, these extensions usually register callbacks to handle specific messages.
# test_* : dummy extensions that are useful only in testing environments.
# The dbg_msg_dump.fdx extension allows you to tweak the way freeDiameter displays some
# information about some events. This extension does not actually use a configuration file
# but receives directly a parameter in the string passed to the extension. Here are some examples:
## LoadExtension = "dbg_msg_dumps.fdx" : "0x1111"; # Removes all default hooks, very quiet even in case of errors.
## LoadExtension = "dbg_msg_dumps.fdx" : "0x2222"; # Display all events with few details.
## LoadExtension = "dbg_msg_dumps.fdx" : "0x0080"; # Dump complete information about sent and received messages.
# The four digits respectively control: connections, routing decisions, sent/received messages, errors.
# The values for each digit are:
# 0 - default - keep the default behavior
# 1 - quiet - remove any specific log
# 2 - compact - display only a summary of the information
# 4 - full - display the complete information on a single long line
# 8 - tree - display the complete information in an easier to read format spanning several lines.
LoadExtension = "@libdir@/freeDiameter/dbg_msg_dumps.fdx" : "0x8888";
LoadExtension = "@libdir@/freeDiameter/dict_rfc5777.fdx";
LoadExtension = "@libdir@/freeDiameter/dict_mip6i.fdx";
LoadExtension = "@libdir@/freeDiameter/dict_nasreq.fdx";
LoadExtension = "@libdir@/freeDiameter/dict_nas_mipv6.fdx";
LoadExtension = "@libdir@/freeDiameter/dict_dcca.fdx";
LoadExtension = "@libdir@/freeDiameter/dict_dcca_3gpp.fdx";
##############################################################
## Peers configuration
# The local server listens for incoming connections. By default,
# all unknown connecting peers are rejected. Extensions can override this behavior (e.g., acl_wl).
#
# In addition to incoming connections, the local peer can
# be configured to establish and maintain connections to some
# Diameter nodes and allow connections from these nodes.
# This is achieved with the ConnectPeer directive described below.
#
# Note that the configured Diameter Identity MUST match
# the information received inside CEA, or the connection will be aborted.
#
# Format:
#ConnectPeer = "diameterid" [ { parameter1; parameter2; ...} ] ;
# Parameters that can be specified in the peer's parameter list:
# No_TCP; No_SCTP; No_IP; No_IPv6; Prefer_TCP; TLS_old_method;
# No_TLS; # assume transparent security instead of TLS. DTLS is not supported yet (will change in future versions).
# Port = 5868; # The port to connect to
# TcTimer = 30;
# TwTimer = 30;
# ConnectTo = "202.249.37.5";
# ConnectTo = "2001:200:903:2::202:1";
# TLS_Prio = "NORMAL";
# Realm = "realm.net"; # Reject the peer if it does not advertise this realm.
# Examples:
#ConnectPeer = "aaa.wide.ad.jp";
#ConnectPeer = "old.diameter.serv" { TcTimer = 60; TLS_old_method; No_SCTP; Port=3868; } ;
ConnectPeer = "smf.localdomain" { ConnectTo = "127.0.0.4"; No_TLS; };
##############################################################

View File

@@ -0,0 +1,267 @@
# This is a sample configuration file for freeDiameter daemon.
# Most of the options can be omitted, as they default to reasonable values.
# Only TLS-related options must be configured properly in usual setups.
# It is possible to use "include" keyword to import additional files
# e.g.: include "/etc/freeDiameter.d/*.conf"
# This is exactly equivalent as copy & paste the content of the included file(s)
# where the "include" keyword is found.
##############################################################
## Peer identity and realm
# The Diameter Identity of this daemon.
# This must be a valid FQDN that resolves to the local host.
# Default: hostname's FQDN
#Identity = "aaa.koganei.freediameter.net";
Identity = "smf.localdomain";
# The Diameter Realm of this daemon.
# Default: the domain part of Identity (after the first dot).
#Realm = "koganei.freediameter.net";
Realm = "localdomain";
##############################################################
## Transport protocol configuration
# The port this peer is listening on for incoming connections (TCP and SCTP).
# Default: 3868. Use 0 to disable.
#Port = 3868;
# The port this peer is listening on for incoming TLS-protected connections (TCP and SCTP).
# See TLS_old_method for more information about TLS flavours.
# Note: we use TLS/SCTP instead of DTLS/SCTP at the moment. This will change in future version of freeDiameter.
# Default: 5868. Use 0 to disable.
#SecPort = 5868;
# Use RFC3588 method for TLS protection, where TLS is negociated after CER/CEA exchange is completed
# on the unsecure connection. The alternative is RFC6733 mechanism, where TLS protects also the
# CER/CEA exchange on a dedicated secure port.
# This parameter only affects outgoing connections.
# The setting can be also defined per-peer (see Peers configuration section).
# Default: use RFC6733 method with separate port for TLS.
#TLS_old_method;
# Disable use of TCP protocol (only listen and connect over SCTP)
# Default : TCP enabled
#No_TCP;
# Disable use of SCTP protocol (only listen and connect over TCP)
# Default : SCTP enabled
#No_SCTP;
# This option is ignored if freeDiameter is compiled with DISABLE_SCTP option.
# Prefer TCP instead of SCTP for establishing new connections.
# This setting may be overwritten per peer in peer configuration blocs.
# Default : SCTP is attempted first.
#Prefer_TCP;
# Default number of streams per SCTP associations.
# This setting may be overwritten per peer basis.
# Default : 30 streams
#SCTP_streams = 30;
##############################################################
## Endpoint configuration
# Disable use of IP addresses (only IPv6)
# Default : IP enabled
#No_IP;
# Disable use of IPv6 addresses (only IP)
# Default : IPv6 enabled
#No_IPv6;
# Specify local addresses the server must bind to
# Default : listen on all addresses available.
#ListenOn = "202.249.37.5";
#ListenOn = "2001:200:903:2::202:1";
#ListenOn = "fe80::21c:5ff:fe98:7d62%eth0";
ListenOn = "127.0.0.4";
##############################################################
## Server configuration
# How many Diameter peers are allowed to be connecting at the same time ?
# This parameter limits the number of incoming connections from the time
# the connection is accepted until the first CER is received.
# Default: 5 unidentified clients in paralel.
#ThreadsPerServer = 5;
##############################################################
## TLS Configuration
# TLS is managed by the GNUTLS library in the freeDiameter daemon.
# You may find more information about parameters and special behaviors
# in the relevant documentation.
# http://www.gnu.org/software/gnutls/manual/
# Credentials of the local peer
# The X509 certificate and private key file to use for the local peer.
# The files must contain PKCS-1 encoded RSA key, in PEM format.
# (These parameters are passed to gnutls_certificate_set_x509_key_file function)
# Default : NO DEFAULT
#TLS_Cred = "<x509 certif file.PEM>" , "<x509 private key file.PEM>";
#TLS_Cred = "/etc/ssl/certs/freeDiameter.pem", "/etc/ssl/private/freeDiameter.key";
TLS_Cred = "@sysconfdir@/open5gs/tls/smf.crt", "@sysconfdir@/open5gs/tls/smf.key";
# Certificate authority / trust anchors
# The file containing the list of trusted Certificate Authorities (PEM list)
# (This parameter is passed to gnutls_certificate_set_x509_trust_file function)
# The directive can appear several times to specify several files.
# Default : GNUTLS default behavior
#TLS_CA = "<file.PEM>";
TLS_CA = "@sysconfdir@/open5gs/tls/ca.crt";
# Certificate Revocation List file
# The information about revoked certificates.
# The file contains a list of trusted CRLs in PEM format. They should have been verified before.
# (This parameter is passed to gnutls_certificate_set_x509_crl_file function)
# Note: openssl CRL format might have interoperability issue with GNUTLS format.
# Default : GNUTLS default behavior
#TLS_CRL = "<file.PEM>";
# GNU TLS Priority string
# This string allows to configure the behavior of GNUTLS key exchanges
# algorithms. See gnutls_priority_init function documentation for information.
# You should also refer to the Diameter required TLS support here:
# http://tools.ietf.org/html/rfc6733#section-13.1
# Default : "NORMAL"
# Example: TLS_Prio = "NONE:+VERS-TLS1.1:+AES-128-CBC:+RSA:+SHA1:+COMP-NULL";
#TLS_Prio = "NORMAL";
# Diffie-Hellman parameters size
# Set the number of bits for generated DH parameters
# Valid value should be 768, 1024, 2048, 3072 or 4096.
# (This parameter is passed to gnutls_dh_params_generate2 function,
# it usually should match RSA key size)
# Default : 1024
#TLS_DH_Bits = 1024;
# Alternatively, you can specify a file to load the PKCS#3 encoded
# DH parameters directly from. This accelerates the daemon start
# but is slightly less secure. If this file is provided, the
# TLS_DH_Bits parameters has no effect.
# Default : no default.
#TLS_DH_File = "<file.PEM>";
##############################################################
## Timers configuration
# The Tc timer of this peer.
# It is the delay before a new attempt is made to reconnect a disconnected peer.
# The value is expressed in seconds. The recommended value is 30 seconds.
# Default: 30
#TcTimer = 30;
# The Tw timer of this peer.
# It is the delay before a watchdog message is sent, as described in RFC 3539.
# The value is expressed in seconds. The default value is 30 seconds. Value must
# be greater or equal to 6 seconds. See details in the RFC.
# Default: 30
#TwTimer = 30;
##############################################################
## Applications configuration
# Disable the relaying of Diameter messages?
# For messages not handled locally, the default behavior is to forward the
# message to another peer if any is available, according to the routing
# algorithms. In addition the "0xffffff" application is advertised in CER/CEA
# exchanges.
# Default: Relaying is enabled.
#NoRelay;
NoRelay;
# Number of server threads that can handle incoming messages at the same time.
# Default: 4
#AppServThreads = 4;
# Other applications are configured by loaded extensions.
##############################################################
## Extensions configuration
# The freeDiameter framework merely provides support for
# Diameter Base Protocol. The specific application behaviors,
# as well as advanced functions, are provided
# by loadable extensions (plug-ins).
# These extensions may in addition receive the name of a
# configuration file, the format of which is extension-specific.
#
# Format:
#LoadExtension = "/path/to/extension" [ : "/optional/configuration/file" ] ;
#
# Examples:
#LoadExtension = "extensions/sample.fdx";
#LoadExtension = "extensions/sample.fdx":"conf/sample.conf";
# Extensions are named as follow:
# dict_* for extensions that add content to the dictionary definitions.
# dbg_* for extensions useful only to retrieve more information on the framework execution.
# acl_* : Access control list, to control which peers are allowed to connect.
# rt_* : routing extensions that impact how messages are forwarded to other peers.
# app_* : applications, these extensions usually register callbacks to handle specific messages.
# test_* : dummy extensions that are useful only in testing environments.
# The dbg_msg_dump.fdx extension allows you to tweak the way freeDiameter displays some
# information about some events. This extension does not actually use a configuration file
# but receives directly a parameter in the string passed to the extension. Here are some examples:
## LoadExtension = "dbg_msg_dumps.fdx" : "0x1111"; # Removes all default hooks, very quiet even in case of errors.
## LoadExtension = "dbg_msg_dumps.fdx" : "0x2222"; # Display all events with few details.
## LoadExtension = "dbg_msg_dumps.fdx" : "0x0080"; # Dump complete information about sent and received messages.
# The four digits respectively control: connections, routing decisions, sent/received messages, errors.
# The values for each digit are:
# 0 - default - keep the default behavior
# 1 - quiet - remove any specific log
# 2 - compact - display only a summary of the information
# 4 - full - display the complete information on a single long line
# 8 - tree - display the complete information in an easier to read format spanning several lines.
LoadExtension = "@libdir@/freeDiameter/dbg_msg_dumps.fdx" : "0x8888";
LoadExtension = "@libdir@/freeDiameter/dict_rfc5777.fdx";
LoadExtension = "@libdir@/freeDiameter/dict_mip6i.fdx";
LoadExtension = "@libdir@/freeDiameter/dict_nasreq.fdx";
LoadExtension = "@libdir@/freeDiameter/dict_nas_mipv6.fdx";
LoadExtension = "@libdir@/freeDiameter/dict_dcca.fdx";
LoadExtension = "@libdir@/freeDiameter/dict_dcca_3gpp.fdx";
##############################################################
## Peers configuration
# The local server listens for incoming connections. By default,
# all unknown connecting peers are rejected. Extensions can override this behavior (e.g., acl_wl).
#
# In addition to incoming connections, the local peer can
# be configured to establish and maintain connections to some
# Diameter nodes and allow connections from these nodes.
# This is achieved with the ConnectPeer directive described below.
#
# Note that the configured Diameter Identity MUST match
# the information received inside CEA, or the connection will be aborted.
#
# Format:
#ConnectPeer = "diameterid" [ { parameter1; parameter2; ...} ] ;
# Parameters that can be specified in the peer's parameter list:
# No_TCP; No_SCTP; No_IP; No_IPv6; Prefer_TCP; TLS_old_method;
# No_TLS; # assume transparent security instead of TLS. DTLS is not supported yet (will change in future versions).
# Port = 5868; # The port to connect to
# TcTimer = 30;
# TwTimer = 30;
# ConnectTo = "202.249.37.5";
# ConnectTo = "2001:200:903:2::202:1";
# TLS_Prio = "NORMAL";
# Realm = "realm.net"; # Reject the peer if it does not advertise this realm.
# Examples:
#ConnectPeer = "aaa.wide.ad.jp";
#ConnectPeer = "old.diameter.serv" { TcTimer = 60; TLS_old_method; No_SCTP; Port=3868; } ;
ConnectPeer = "pcrf.localdomain" { ConnectTo = "127.0.0.9"; No_TLS; };
##############################################################

View File

@@ -0,0 +1,19 @@
# Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com>
# This file is part of Open5GS.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
file = 'open5gs'
configure_file(input : file + '.in', output : file, configuration : conf_data)

View File

@@ -0,0 +1,16 @@
@localstatedir@/log/open5gs/*.log {
daily
sharedscripts
missingok
compress
rotate 14
create 640 open5gs open5gs
postrotate
for i in nrfd scpd seppd pcrfd hssd ausfd udmd udrd upfd sgwcd sgwud smfd mmed amfd; do
if systemctl --quiet is-active open5gs-$i; then
systemctl reload open5gs-$i
fi
done
endscript
}

59
configs/meson.build Normal file
View File

@@ -0,0 +1,59 @@
# Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com>
# This file is part of Open5GS.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
conf_data = configuration_data()
conf_data.set('bindir', bindir)
conf_data.set('sysconfdir', sysconfdir)
conf_data.set('libdir', libdir)
conf_data.set('localstatedir', localstatedir)
build_configs_dir = join_paths(open5gs_build_dir, 'configs')
conf_data.set('build_configs_dir', build_configs_dir)
build_subprojects_freeDiameter_extensions_dir = join_paths(
open5gs_build_dir, 'subprojects', 'freeDiameter', 'extensions')
conf_data.set('build_subprojects_freeDiameter_extensions_dir',
build_subprojects_freeDiameter_extensions_dir)
example_conf = '''
sample.yaml
attach.yaml
310014.yaml
csfb.yaml
volte.yaml
vonr.yaml
slice.yaml
srsenb.yaml
non3gpp.yaml
transfer.yaml
transfer-error-case.yaml
'''.split()
foreach file : example_conf
gen = configure_file(
input : file + '.in',
output : file,
configuration : conf_data)
endforeach
subdir('open5gs')
subdir('freeDiameter')
subdir('systemd')
subdir('logrotate')
subdir('newsyslog')
subdir('examples')

View File

@@ -0,0 +1,19 @@
# Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com>
# This file is part of Open5GS.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
file = 'open5gs.conf'
configure_file(input : file + '.in', output : file, configuration : conf_data)

View File

@@ -0,0 +1,17 @@
# truncate rails logs every day at midnight, keep 14 previous logs, compress previous logs
#
# logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]
@localstatedir@/log/open5gs/nrf.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-nrfd/pid`
@localstatedir@/log/open5gs/scp.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-scpd/pid`
@localstatedir@/log/open5gs/sepp.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-seppd/pid`
@localstatedir@/log/open5gs/pcrf.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-pcrfd/pid`
@localstatedir@/log/open5gs/hss.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-hssd/pid`
@localstatedir@/log/open5gs/ausf.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-ausfd/pid`
@localstatedir@/log/open5gs/udm.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-udmd/pid`
@localstatedir@/log/open5gs/udr.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-udrd/pid`
@localstatedir@/log/open5gs/upf.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-upfd/pid`
@localstatedir@/log/open5gs/sgwc.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-sgwcd/pid`
@localstatedir@/log/open5gs/sgwu.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-sgwud/pid`
@localstatedir@/log/open5gs/smf.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-smfd/pid`
@localstatedir@/log/open5gs/mme.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-mmed/pid`
@localstatedir@/log/open5gs/amf.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-amfd/pid`

310
configs/non3gpp.yaml.in Normal file
View File

@@ -0,0 +1,310 @@
db_uri: mongodb://localhost/open5gs
logger:
test:
serving:
- plmn_id:
mcc: 999
mnc: 70
global:
parameter:
# no_nrf: true
# no_scp: true
no_sepp: true
# no_amf: true
# no_smf: true
# no_upf: true
# no_ausf: true
# no_udm: true
# no_pcf: true
# no_nssf: true
# no_bsf: true
# no_udr: true
# no_mme: true
# no_sgwc: true
# no_sgwu: true
# no_pcrf: true
# no_hss: true
mme:
freeDiameter:
identity: mme.localdomain
realm: localdomain
listen_on: 127.0.0.2
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
address: 127.0.0.8
s1ap:
server:
- address: 127.0.0.2
gtpc:
server:
- address: 127.0.0.2
client:
sgwc:
- address: 127.0.0.3
smf:
- address: 127.0.0.4
gummei:
- plmn_id:
mcc: 999
mnc: 70
mme_gid: 2
mme_code: 1
tai:
- plmn_id:
mcc: 999
mnc: 70
tac: 1
security:
integrity_order : [ EIA2, EIA1, EIA0 ]
ciphering_order : [ EEA0, EEA1, EEA2 ]
network_name:
full: Open5GS
time:
t3412:
value: 540
sgwc:
gtpc:
server:
- address: 127.0.0.3
pfcp:
server:
- address: 127.0.0.3
client:
sgwu:
- address: 127.0.0.6
smf:
sbi:
server:
- address: 127.0.0.4
port: 7777
client:
nrf:
- uri: http://127.0.0.10:7777
pfcp:
server:
- address: 127.0.0.4
client:
upf:
- address: 127.0.0.7
gtpc:
server:
- address: 127.0.0.4
gtpu:
server:
- address: 127.0.0.4
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
dns:
- 8.8.8.8
- 8.8.4.4
- 2001:4860:4860::8888
- 2001:4860:4860::8844
mtu: 1400
freeDiameter:
identity: smf.localdomain
realm: localdomain
listen_on: 127.0.0.4
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
address: 127.0.0.9
- identity: aaa.localdomain
address: 127.0.0.1
amf:
sbi:
server:
- address: 127.0.0.5
port: 7777
client:
nrf:
- uri: http://127.0.0.10:7777
ngap:
server:
- address: 127.0.0.5
guami:
- plmn_id:
mcc: 999
mnc: 70
amf_id:
region: 2
set: 1
tai:
- plmn_id:
mcc: 999
mnc: 70
tac: 1
plmn_support:
- plmn_id:
mcc: 999
mnc: 70
s_nssai:
- sst: 1
security:
integrity_order : [ NIA2, NIA1, NIA0 ]
ciphering_order : [ NEA0, NEA1, NEA2 ]
network_name:
full: Open5GS
amf_name: open5gs-amf0
time:
t3512:
value: 540 # 9 mintues * 60 = 540 seconds
sgwu:
pfcp:
server:
- address: 127.0.0.6
gtpu:
server:
- address: 127.0.0.6
upf:
pfcp:
server:
- address: 127.0.0.7
gtpu:
server:
- address: 127.0.0.7
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
metrics:
server:
- address: 127.0.0.7
port: 9090
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
address: 127.0.0.2
- identity: aaa.localdomain
address: 127.0.0.1
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- module: @build_subprojects_freeDiameter_extensions_dir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_rfc5777.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_mip6i.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nasreq.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_nas_mipv6.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca.fdx
- module: @build_subprojects_freeDiameter_extensions_dir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
address: 127.0.0.4
nrf:
sbi:
server:
- address: 127.0.0.10
port: 7777
ausf:
sbi:
server:
- address: 127.0.0.11
port: 7777
client:
nrf:
- uri: http://127.0.0.10:7777
udm:
sbi:
server:
- address: 127.0.0.12
port: 7777
client:
nrf:
- uri: http://127.0.0.10:7777
pcf:
sbi:
server:
- address: 127.0.0.13
port: 7777
client:
nrf:
- uri: http://127.0.0.10:7777
metrics:
server:
- address: 127.0.0.13
port: 9090
nssf:
sbi:
server:
- address: 127.0.0.14
port: 7777
client:
nrf:
- uri: http://127.0.0.10:7777
nsi:
- uri: http://127.0.0.10:7777
s_nssai:
sst: 1
bsf:
sbi:
server:
- address: 127.0.0.15
port: 7777
client:
nrf:
- uri: http://127.0.0.10:7777
udr:
sbi:
server:
- address: 127.0.0.20
port: 7777
client:
nrf:
- uri: http://127.0.0.10:7777

300
configs/open5gs/amf.yaml.in Normal file
View File

@@ -0,0 +1,300 @@
logger:
file:
path: @localstatedir@/log/open5gs/amf.log
# level: info # fatal|error|warn|info(default)|debug|trace
global:
max:
ue: 1024 # The number of UE can be increased depending on memory size.
# peer: 64
amf:
sbi:
server:
- address: 127.0.0.5
port: 7777
client:
# nrf:
# - uri: http://127.0.0.10:7777
scp:
- uri: http://127.0.0.200:7777
ngap:
server:
- address: 127.0.0.5
metrics:
server:
- address: 127.0.0.5
port: 9090
guami:
- plmn_id:
mcc: 999
mnc: 70
amf_id:
region: 2
set: 1
tai:
- plmn_id:
mcc: 999
mnc: 70
tac: 1
plmn_support:
- plmn_id:
mcc: 999
mnc: 70
s_nssai:
- sst: 1
security:
integrity_order : [ NIA2, NIA1, NIA0 ]
ciphering_order : [ NEA0, NEA1, NEA2 ]
network_name:
full: Open5GS
short: Next
amf_name: open5gs-amf0
time:
# t3502:
# value: 720 # 12 minutes * 60 = 720 seconds
t3512:
value: 540 # 9 minutes * 60 = 540 seconds
################################################################################
# SBI Server
################################################################################
# o Bind to the address on the eth0 and advertise as open5gs-amf.svc.local
# sbi:
# server:
# - dev:eth0
# advertise: open5gs-amf.svc.local
#
# o Specify a custom port number 7777 while binding to the given address
# sbi:
# server:
# - address: amf.localdomain
# port: 7777
#
# o Bind to 127.0.0.5 and advertise as open5gs-amf.svc.local
# sbi:
# server:
# - address: 127.0.0.5
# port: 7777
# advertise: open5gs-amf.svc.local
#
# o Bind to port 7777 but advertise with a different port number 8888
# sbi:
# server:
# - address: 127.0.0.5
# port: 7777
# advertise: open5gs-amf.svc.local:8888
#
################################################################################
# SBI Client
################################################################################
# o Direct Communication with NRF
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
#
# o Indirect Communication by Delegating to SCP
# sbi:
# client:
# scp:
# - uri: http://127.0.0.200:7777
#
# o Indirect Communication without Delegation
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
# scp:
# - uri: http://127.0.0.200:7777
# delegated:
# nrf:
# nfm: no # Directly communicate NRF management functions
# disc: no # Directly communicate NRF discovery
# scp:
# next: no # Do not delegate to SCP for next-hop
#
# o Indirect Communication with Delegated Discovery
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
# scp:
# - uri: http://127.0.0.200:7777
# delegated:
# nrf:
# nfm: no # Directly communicate NRF management functions
# disc: yes # Delegate discovery to SCP
# scp:
# next: yes # Delegate to SCP for next-hop communications
#
# o Default delegation: all communications are delegated to the SCP
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
# scp:
# - uri: http://127.0.0.200:7777
# # No 'delegated' section; defaults to AUTO delegation
#
################################################################################
# HTTPS scheme with TLS
################################################################################
# o Set as default if not individually set
# default:
# tls:
# server:
# scheme: https
# private_key: @sysconfdir@/open5gs/tls/amf.key
# cert: @sysconfdir@/open5gs/tls/amf.crt
# client:
# scheme: https
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# sbi:
# server:
# - address: amf.localdomain
# client:
# nrf:
# - uri: https://nrf.localdomain
#
# o Enable SSL key logging for Wireshark
# - This configuration allows capturing SSL/TLS session keys
# for debugging or analysis purposes using Wireshark.
# default:
# tls:
# server:
# scheme: https
# private_key: @sysconfdir@/open5gs/tls/amf.key
# cert: @sysconfdir@/open5gs/tls/amf.crt
# sslkeylogfile: @localstatedir@/log/open5gs/tls/amf-server-sslkeylog.log
# client:
# scheme: https
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# client_sslkeylogfile: @localstatedir@/log/open5gs/tls/amf-client-sslkeylog.log
# sbi:
# server:
# - address: amf.localdomain
# client:
# nrf:
# - uri: https://nrf.localdomain
#
# o Add client TLS verification
# default:
# tls:
# server:
# scheme: https
# private_key: @sysconfdir@/open5gs/tls/amf.key
# cert: @sysconfdir@/open5gs/tls/amf.crt
# verify_client: true
# verify_client_cacert: @sysconfdir@/open5gs/tls/ca.crt
# client:
# scheme: https
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# client_private_key: @sysconfdir@/open5gs/tls/amf.key
# client_cert: @sysconfdir@/open5gs/tls/amf.crt
# sbi:
# server:
# - address: amf.localdomain
# client:
# nrf:
# - uri: https://nrf.localdomain
#
################################################################################
# NGAP Server
################################################################################
# o Listen on address available in `eth0` interface
# ngap:
# server:
# - dev: eth0
#
################################################################################
# 3GPP Specification
################################################################################
# o GUAMI
# guami:
# - plmn_id:
# mcc: 999
# mnc: 70
# amf_id:
# region: 2
# set: 1
# pointer: 4
# - plmn_id:
# mcc: 001
# mnc: 01
# amf_id:
# region: 5
# set: 2
#
# o TAI
# tai:
# - plmn_id:
# mcc: 001
# mnc: 01
# tac: [1, 3, 5]
# tai:
# - plmn_id:
# mcc: 002
# mnc: 02
# tac: [6-10, 15-18]
# tai:
# - plmn_id:
# mcc: 003
# mnc: 03
# tac: 20
# - plmn_id:
# mcc: 004
# mnc: 04
# tac: 21
# tai:
# - plmn_id:
# mcc: 005
# mnc: 05
# tac: [22, 28]
# - plmn_id:
# mcc: 006
# mnc: 06
# tac: [30-32, 34, 36-38, 40-42, 44, 46, 48]
# - plmn_id:
# mcc: 007
# mnc: 07
# tac: 50
# - plmn_id:
# mcc: 008
# mnc: 08
# tac: 60
# - plmn_id:
# mcc: 009
# mnc: 09
# tac: [70, 80]
#
# o PLMN Support
# plmn_support:
# - plmn_id:
# mcc: 999
# mnc: 70
# s_nssai:
# - sst: 1
# sd: 010000
# - plmn_id:
# mcc: 999
# mnc: 70
# s_nssai:
# - sst: 1
#
# o Access Control
# access_control:
# - default_reject_cause: 13
# - plmn_id:
# reject_cause: 15
# mcc: 001
# mnc: 01
# - plmn_id:
# mcc: 002
# mnc: 02
# - plmn_id:
# mcc: 999
# mnc: 70
#
# o Relative Capacity
# relative_capacity: 100

View File

@@ -0,0 +1,163 @@
logger:
file:
path: @localstatedir@/log/open5gs/ausf.log
# level: info # fatal|error|warn|info(default)|debug|trace
global:
max:
ue: 1024 # The number of UE can be increased depending on memory size.
# peer: 64
ausf:
sbi:
server:
- address: 127.0.0.11
port: 7777
client:
# nrf:
# - uri: http://127.0.0.10:7777
scp:
- uri: http://127.0.0.200:7777
################################################################################
# SBI Server
################################################################################
# o Bind to the address on the eth0 and advertise as open5gs-ausf.svc.local
# sbi:
# server:
# - dev:eth0
# advertise: open5gs-ausf.svc.local
#
# o Specify a custom port number 7777 while binding to the given address
# sbi:
# server:
# - address: ausf.localdomain
# port: 7777
#
# o Bind to 127.0.0.11 and advertise as open5gs-ausf.svc.local
# sbi:
# server:
# - address: 127.0.0.11
# port: 7777
# advertise: open5gs-ausf.svc.local
#
# o Bind to port 7777 but advertise with a different port number 8888
# sbi:
# server:
# - address: 127.0.0.11
# port: 7777
# advertise: open5gs-ausf.svc.local:8888
#
################################################################################
# SBI Client
################################################################################
# o Direct Communication with NRF
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
#
# o Indirect Communication by Delegating to SCP
# sbi:
# client:
# scp:
# - uri: http://127.0.0.200:7777
#
# o Indirect Communication without Delegation
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
# scp:
# - uri: http://127.0.0.200:7777
# delegated:
# nrf:
# nfm: no # Directly communicate NRF management functions
# disc: no # Directly communicate NRF discovery
# scp:
# next: no # Do not delegate to SCP for next-hop
#
# o Indirect Communication with Delegated Discovery
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
# scp:
# - uri: http://127.0.0.200:7777
# delegated:
# nrf:
# nfm: no # Directly communicate NRF management functions
# disc: yes # Delegate discovery to SCP
# scp:
# next: yes # Delegate to SCP for next-hop communications
#
# o Default delegation: all communications are delegated to the SCP
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
# scp:
# - uri: http://127.0.0.200:7777
# # No 'delegated' section; defaults to AUTO delegation
#
################################################################################
# HTTPS scheme with TLS
################################################################################
# o Set as default if not individually set
# default:
# tls:
# server:
# scheme: https
# private_key: @sysconfdir@/open5gs/tls/ausf.key
# cert: @sysconfdir@/open5gs/tls/ausf.crt
# client:
# scheme: https
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# sbi:
# server:
# - address: ausf.localdomain
# client:
# nrf:
# - uri: https://nrf.localdomain
#
# o Enable SSL key logging for Wireshark
# - This configuration allows capturing SSL/TLS session keys
# for debugging or analysis purposes using Wireshark.
# default:
# tls:
# server:
# scheme: https
# private_key: @sysconfdir@/open5gs/tls/ausf.key
# cert: @sysconfdir@/open5gs/tls/ausf.crt
# sslkeylogfile: @localstatedir@/log/open5gs/tls/ausf-server-sslkeylog.log
# client:
# scheme: https
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# client_sslkeylogfile: @localstatedir@/log/open5gs/tls/ausf-client-sslkeylog.log
# sbi:
# server:
# - address: ausf.localdomain
# client:
# nrf:
# - uri: https://nrf.localdomain
#
# o Add client TLS verification
# default:
# tls:
# server:
# scheme: https
# private_key: @sysconfdir@/open5gs/tls/ausf.key
# cert: @sysconfdir@/open5gs/tls/ausf.crt
# verify_client: true
# verify_client_cacert: @sysconfdir@/open5gs/tls/ca.crt
# client:
# scheme: https
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# client_private_key: @sysconfdir@/open5gs/tls/ausf.key
# client_cert: @sysconfdir@/open5gs/tls/ausf.crt
# sbi:
# server:
# - address: ausf.localdomain
# client:
# nrf:
# - uri: https://nrf.localdomain

163
configs/open5gs/bsf.yaml.in Normal file
View File

@@ -0,0 +1,163 @@
logger:
file:
path: @localstatedir@/log/open5gs/bsf.log
# level: info # fatal|error|warn|info(default)|debug|trace
global:
max:
ue: 1024 # The number of UE can be increased depending on memory size.
# peer: 64
bsf:
sbi:
server:
- address: 127.0.0.15
port: 7777
client:
# nrf:
# - uri: http://127.0.0.10:7777
scp:
- uri: http://127.0.0.200:7777
################################################################################
# SBI Server
################################################################################
# o Bind to the address on the eth0 and advertise as open5gs-bsf.svc.local
# sbi:
# server:
# - dev:eth0
# advertise: open5gs-bsf.svc.local
#
# o Specify a custom port number 7777 while binding to the given address
# sbi:
# server:
# - address: bsf.localdomain
# port: 7777
#
# o Bind to 127.0.0.15 and advertise as open5gs-bsf.svc.local
# sbi:
# server:
# - address: 127.0.0.15
# port: 7777
# advertise: open5gs-bsf.svc.local
#
# o Bind to port 7777 but advertise with a different port number 8888
# sbi:
# server:
# - address: 127.0.0.15
# port: 7777
# advertise: open5gs-bsf.svc.local:8888
#
################################################################################
# SBI Client
################################################################################
# o Direct Communication with NRF
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
#
# o Indirect Communication by Delegating to SCP
# sbi:
# client:
# scp:
# - uri: http://127.0.0.200:7777
#
# o Indirect Communication without Delegation
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
# scp:
# - uri: http://127.0.0.200:7777
# delegated:
# nrf:
# nfm: no # Directly communicate NRF management functions
# disc: no # Directly communicate NRF discovery
# scp:
# next: no # Do not delegate to SCP for next-hop
#
# o Indirect Communication with Delegated Discovery
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
# scp:
# - uri: http://127.0.0.200:7777
# delegated:
# nrf:
# nfm: no # Directly communicate NRF management functions
# disc: yes # Delegate discovery to SCP
# scp:
# next: yes # Delegate to SCP for next-hop communications
#
# o Default delegation: all communications are delegated to the SCP
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
# scp:
# - uri: http://127.0.0.200:7777
# # No 'delegated' section; defaults to AUTO delegation
#
################################################################################
# HTTPS scheme with TLS
################################################################################
# o Set as default if not individually set
# default:
# tls:
# server:
# scheme: https
# private_key: @sysconfdir@/open5gs/tls/bsf.key
# cert: @sysconfdir@/open5gs/tls/bsf.crt
# client:
# scheme: https
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# sbi:
# server:
# - address: bsf.localdomain
# client:
# nrf:
# - uri: https://nrf.localdomain
#
# o Enable SSL key logging for Wireshark
# - This configuration allows capturing SSL/TLS session keys
# for debugging or analysis purposes using Wireshark.
# default:
# tls:
# server:
# scheme: https
# private_key: @sysconfdir@/open5gs/tls/bsf.key
# cert: @sysconfdir@/open5gs/tls/bsf.crt
# sslkeylogfile: @localstatedir@/log/open5gs/tls/bsf-server-sslkeylog.log
# client:
# scheme: https
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# client_sslkeylogfile: @localstatedir@/log/open5gs/tls/bsf-client-sslkeylog.log
# sbi:
# server:
# - address: bsf.localdomain
# client:
# nrf:
# - uri: https://nrf.localdomain
#
# o Add client TLS verification
# default:
# tls:
# server:
# scheme: https
# private_key: @sysconfdir@/open5gs/tls/bsf.key
# cert: @sysconfdir@/open5gs/tls/bsf.crt
# verify_client: true
# verify_client_cacert: @sysconfdir@/open5gs/tls/ca.crt
# client:
# scheme: https
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# client_private_key: @sysconfdir@/open5gs/tls/bsf.key
# client_cert: @sysconfdir@/open5gs/tls/bsf.crt
# sbi:
# server:
# - address: bsf.localdomain
# client:
# nrf:
# - uri: https://nrf.localdomain

View File

@@ -0,0 +1,3 @@
-----BEGIN PRIVATE KEY-----
MC4CAQAwBQYDK2VuBCIEIBDJxn6GGlYloduPaEEjiW2bNQYZnT3xlo4HtshEi7FH
-----END PRIVATE KEY-----

View File

@@ -0,0 +1,3 @@
-----BEGIN PRIVATE KEY-----
MC4CAQAwBQYDK2VuBCIEIFAK2WjCQjB8TU7COXwdIKVhKGjPa+SJuyOVObjfW9hM
-----END PRIVATE KEY-----

View File

@@ -0,0 +1,3 @@
-----BEGIN PRIVATE KEY-----
MC4CAQAwBQYDK2VuBCIEIHh8rsYF8otbnyb8bcrhD1AAV5C9iBtjTlYJY3k5k0dt
-----END PRIVATE KEY-----

View File

@@ -0,0 +1,38 @@
# Copyright (C) 2022 by Sukchan Lee <acetcom@gmail.com>
# This file is part of Open5GS.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
hnet_sysconfdir = join_paths(open5gs_sysconfdir, 'hnet')
meson.add_install_script(python3_exe, '-c',
mkdir_p.format(hnet_sysconfdir))
hnet_security = '''
curve25519-1.key
secp256r1-2.key
curve25519-3.key
secp256r1-4.key
curve25519-5.key
secp256r1-6.key
'''.split()
foreach file : hnet_security
gen = configure_file(
input : file,
output : file,
configuration : conf_data)
meson.add_install_script(python3_exe, '-c',
install_conf.format(gen, hnet_sysconfdir))
endforeach

View File

@@ -0,0 +1,8 @@
-----BEGIN EC PARAMETERS-----
BggqhkjOPQMBBw==
-----END EC PARAMETERS-----
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIHSp+RhHH1bzvv2lxR1zij+U9aUtS8nbl5n1Il+8zd5BoAoGCCqGSM49
AwEHoUQDQgAEre/NExfRzoVi7CW5G0gAEg4SNtbiZh6kI1qE48hdokS8QqWUz1YS
9J6PvihX2OSZ+RMixzf8zxu9tuTUJKgKlQ==
-----END EC PRIVATE KEY-----

View File

@@ -0,0 +1,8 @@
-----BEGIN EC PARAMETERS-----
BggqhkjOPQMBBw==
-----END EC PARAMETERS-----
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIAGZvsOAU0YMHhBK33hRkGMPkA3Xefq5b5hPQD6qnf5goAoGCCqGSM49
AwEHoUQDQgAEdXfTAGY+0ibQoO9bfmk7+M/l//BiMzO6lNIUEMSj1k3k9SQPygGY
jAuUHpVM4Uo6cWxuyurEn8pWn1vF3tVhbg==
-----END EC PRIVATE KEY-----

View File

@@ -0,0 +1,8 @@
-----BEGIN EC PARAMETERS-----
BggqhkjOPQMBBw==
-----END EC PARAMETERS-----
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIG3VKSXh/3WK0HzCkN1DgeUjF7TSLgAUyMn/WGHsxrZ3oAoGCCqGSM49
AwEHoUQDQgAENU1ibHe7oWu4m6M8P0XoA78ZNKtdIsJgVU0nCk/c5sC3V+/4GuxU
owtbASEXQZg4SGvts+1Yqz0p4WwCAAcwpQ==
-----END EC PRIVATE KEY-----

View File

@@ -0,0 +1,19 @@
db_uri: mongodb://localhost/open5gs
logger:
file:
path: @localstatedir@/log/open5gs/hss.log
# level: info # fatal|error|warn|info(default)|debug|trace
global:
max:
ue: 1024 # The number of UE can be increased depending on memory size.
# peer: 64
hss:
freeDiameter: @sysconfdir@/freeDiameter/hss.conf
metrics:
server:
- address: 127.0.0.8
port: 9090
# sms_over_ims: "sip:smsc.mnc001.mcc001.3gppnetwork.org:7060;transport=tcp"
# use_mongodb_change_stream: true

View File

@@ -0,0 +1,53 @@
# Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com>
# This file is part of Open5GS.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
open5gs_sysconfdir = join_paths(sysconfdir, 'open5gs')
meson.add_install_script(python3_exe, '-c',
mkdir_p.format(open5gs_sysconfdir))
open5gs_conf = '''
mme.yaml
sgwc.yaml
sgwu.yaml
smf.yaml
amf.yaml
upf.yaml
hss.yaml
pcrf.yaml
nrf.yaml
scp.yaml
sepp1.yaml
sepp2.yaml
ausf.yaml
udm.yaml
udr.yaml
pcf.yaml
nssf.yaml
bsf.yaml
'''.split()
foreach file : open5gs_conf
gen = configure_file(
input : file + '.in',
output : file,
configuration : conf_data)
meson.add_install_script(python3_exe, '-c',
install_conf.format(gen, open5gs_sysconfdir))
endforeach
subdir('tls')
subdir('hnet')

308
configs/open5gs/mme.yaml.in Normal file
View File

@@ -0,0 +1,308 @@
logger:
file:
path: @localstatedir@/log/open5gs/mme.log
# level: info # fatal|error|warn|info(default)|debug|trace
global:
max:
ue: 1024 # The number of UE can be increased depending on memory size.
# peer: 64
mme:
freeDiameter: @sysconfdir@/freeDiameter/mme.conf
s1ap:
server:
- address: 127.0.0.2
gtpc:
server:
- address: 127.0.0.2
client:
sgwc:
- address: 127.0.0.3
smf:
- address: 127.0.0.4
metrics:
server:
- address: 127.0.0.2
port: 9090
gummei:
- plmn_id:
mcc: 999
mnc: 70
mme_gid: 2
mme_code: 1
tai:
- plmn_id:
mcc: 999
mnc: 70
tac: 1
security:
integrity_order : [ EIA2, EIA1, EIA0 ]
ciphering_order : [ EEA0, EEA1, EEA2 ]
network_name:
full: Open5GS
short: Next
mme_name: open5gs-mme0
time:
# t3402:
# value: 720 # 12 minutes * 60 = 720 seconds
# t3412:
# value: 3240 # 54 minutes * 60 = 3240 seconds
# t3423:
# value: 720 # 12 minutes * 60 = 720 seconds
################################################################################
# S1AP Server
################################################################################
# o Listen on address available in `eth0` interface
# ngap:
# server:
# - dev: eth0
#
################################################################################
# GTP-C Server
################################################################################
# o Listen on IPv4 and IPv6
# gtpc:
# server:
# - address: 127.0.0.2
# - address: ::1
#
################################################################################
# GTP-C Client
################################################################################
# o SGW selection by eNodeB TAC
# (either single TAC or multiple TACs, DECIMAL representation)
# gtpc:
# client:
# sgwc:
# - address: 127.0.0.3
# tac: 26000
# - address: 127.0.2.2
# tac: [25000, 27000, 28000]
#
# o SGW selection by e_cell_id(28bit)
# (either single or multiple e_cell_id, HEX representation)
# gtpc:
# client:
# sgwc:
# - address: 127.0.0.3
# e_cell_id: abcde01
# - address: 127.0.2.2
# e_cell_id: [12345, a9413, 98765]
#
# o SMF selection by APN
# gtpc:
# client:
# smf:
# - address: 127.0.0.4
# apn: internet
# - address: 127.0.0.5
# apn: volte
#
# o SMF selection by eNodeB TAC
# (either single TAC or multiple TACs, DECIMAL representation)
# gtpc:
# client:
# smf:
# - address: 127.0.0.4
# tac: 26000
# - address: 127.0.2.4
# tac: [25000, 27000, 28000]
#
# o SMF selection by e_cell_id(28bit)
# (either single or multiple e_cell_id, HEX representation)
# gtpc:
# client:
# smf:
# - address: 127.0.0.4
# e_cell_id: abcde01
# - address: 127.0.2.4
# e_cell_id: [12345, a9413, 98765]
#
# o One SGSN is defined.
# If prefer_ipv4 is not true, [fd69:f21d:873c:fa::2] is selected.
# gtpc:
# client:
# sgsn:
# - address:
# - 127.0.0.3
# - fd69:f21d:873c:fa::2
# routes:
# - rai:
# lai:
# plmn_id:
# mcc: 001
# mnc: 01
# lac: 43690
# rac: 187
# ci: 1223
#
#
# o Two SGSNs are defined. Last one is used by default if no
# matching RAI+CI route is found.
# gtpc:
# client:
# sgsn:
# - address:
# - 127.0.0.3
# - fd69:f21d:873c:fa::2
# routes:
# - rai:
# lai:
# plmn_id:
# mcc: 001
# mnc: 01
# lac: 43690
# rac: 187
# ci: 1223
# - name: sgsn3.open5gs.org
# default_route: true
#
################################################################################
# SGaAP Server
################################################################################
# o MSC/VLR
# sgsap:
# client:
# - address: msc.open5gs.org # SCTP server address configured on the MSC/VLR
# local_address: 127.0.0.2 # SCTP local IP addresses to be bound in the MME
# map:
# tai:
# plmn_id:
# mcc: 001
# mnc: 01
# tac: 4131
# lai:
# plmn_id:
# mcc: 001
# mnc: 01
# lac: 43691
# map:
# tai:
# plmn_id:
# mcc: 002
# mnc: 02
# tac: 4132
# lai:
# plmn_id:
# mcc: 002
# mnc: 02
# lac: 43692
# - address: # SCTP server address configured on the MSC/VLR
# - 127.0.0.88
# - 10.0.0.88
# - 172.16.0.88
# - 2001:db8:babe::88
# local_address: # SCTP local IP addresses to be bound in the MME
# - 127.0.0.2
# - 192.168.1.4
# - 2001:db8:cafe::2
# map:
# tai:
# plmn_id:
# mcc: 001
# mnc: 01
# tac: 4133
# lai:
# plmn_id:
# mcc: 002
# mnc: 02
# lac: 43693
#
################################################################################
# 3GPP Specification
################################################################################
# o GUMMEI
# gummei:
# - plmn_id:
# mcc: 001
# mnc: 01
# mme_gid: 2
# mme_code: 1
# - plmn_id:
# - mcc: 002
# mnc: 02
# - mcc: 003
# mnc: 03
# mme_gid: [3, 4]
# mme_code:
# - 2
# - 3
#
# o TAI
# tai:
# - plmn_id:
# mcc: 001
# mnc: 01
# tac: [1, 3, 5]
# tai:
# - plmn_id:
# mcc: 002
# mnc: 02
# tac: [6-10, 15-18]
# tai:
# - plmn_id:
# mcc: 003
# mnc: 03
# tac: 20
# - plmn_id:
# mcc: 004
# mnc: 04
# tac: 21
# tai:
# - plmn_id:
# mcc: 005
# mnc: 05
# tac: [22, 28]
# - plmn_id:
# mcc: 006
# mnc: 06
# tac: [30-32, 34, 36-38, 40-42, 44, 46, 48]
# - plmn_id:
# mcc: 007
# mnc: 07
# tac: 50
# - plmn_id:
# mcc: 008
# mnc: 08
# tac: 60
# - plmn_id:
# mcc: 009
# mnc: 09
# tac: [70, 80]
#
# o Access Control
# access_control:
# - default_reject_cause: 13
# - plmn_id:
# reject_cause: 15
# mcc: 001
# mnc: 01
# - plmn_id:
# mcc: 002
# mnc: 02
# - plmn_id:
# mcc: 999
# mnc: 70
#
# o HSS Selection
# o realm and host are optional
# o realm will be generated from plmn_id if not provided
# o host will not be used if not provided
# hss_map:
# - plmn_id:
# mcc: 001
# mnc: 01
# - plmn_id:
# mcc: 002
# mnc: 02
# realm: epc.mnc002.mcc002.3gppnetwork.org
# - plmn_id:
# mcc: 999
# mnc: 70
# realm: localdomain
# host: hss.localdomain
#
# o Relative Capacity
# relative_capacity: 100

101
configs/open5gs/nrf.yaml.in Normal file
View File

@@ -0,0 +1,101 @@
logger:
file:
path: @localstatedir@/log/open5gs/nrf.log
# level: info # fatal|error|warn|info(default)|debug|trace
global:
max:
ue: 1024 # The number of UE can be increased depending on memory size.
# peer: 64
nrf:
serving: # 5G roaming requires PLMN in NRF
- plmn_id:
mcc: 999
mnc: 70
sbi:
server:
- address: 127.0.0.10
port: 7777
################################################################################
# SBI Server
################################################################################
# o Bind to the address on the eth0 and advertise as open5gs-nrf.svc.local
# sbi:
# server:
# - dev:eth0
# advertise: open5gs-nrf.svc.local
#
# o Specify a custom port number 7777 while binding to the given address
# sbi:
# server:
# - address: nrf.localdomain
# port: 7777
#
# o Bind to 127.0.0.10 and advertise as open5gs-nrf.svc.local
# sbi:
# server:
# - address: 127.0.0.10
# port: 7777
# advertise: open5gs-nrf.svc.local
#
# o Bind to port 7777 but advertise with a different port number 8888
# sbi:
# server:
# - address: 127.0.0.10
# port: 7777
# advertise: open5gs-nrf.svc.local:8888
#
################################################################################
# HTTPS scheme with TLS
################################################################################
# o Set as default if not individually set
# default:
# tls:
# server:
# scheme: https
# private_key: @sysconfdir@/open5gs/tls/nrf.key
# cert: @sysconfdir@/open5gs/tls/nrf.crt
# client:
# scheme: https
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# sbi:
# server:
# - address: nrf.localdomain
#
# o Enable SSL key logging for Wireshark
# - This configuration allows capturing SSL/TLS session keys
# for debugging or analysis purposes using Wireshark.
# default:
# tls:
# server:
# scheme: https
# private_key: @sysconfdir@/open5gs/tls/nrf.key
# cert: @sysconfdir@/open5gs/tls/nrf.crt
# sslkeylogfile: @localstatedir@/log/open5gs/tls/nrf-server-sslkeylog.log
# client:
# scheme: https
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# client_sslkeylogfile: @localstatedir@/log/open5gs/tls/nrf-client-sslkeylog.log
# sbi:
# server:
# - address: nrf.localdomain
#
# o Add client TLS verification
# default:
# tls:
# server:
# scheme: https
# private_key: @sysconfdir@/open5gs/tls/nrf.key
# cert: @sysconfdir@/open5gs/tls/nrf.crt
# verify_client: true
# verify_client_cacert: @sysconfdir@/open5gs/tls/ca.crt
# client:
# scheme: https
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# client_private_key: @sysconfdir@/open5gs/tls/nrf.key
# client_cert: @sysconfdir@/open5gs/tls/nrf.crt
# sbi:
# server:
# - address: nrf.localdomain

View File

@@ -0,0 +1,202 @@
logger:
file:
path: @localstatedir@/log/open5gs/nssf.log
# level: info # fatal|error|warn|info(default)|debug|trace
global:
max:
ue: 1024 # The number of UE can be increased depending on memory size.
# peer: 64
nssf:
sbi:
server:
- address: 127.0.0.14
port: 7777
client:
# nrf:
# - uri: http://127.0.0.10:7777
scp:
- uri: http://127.0.0.200:7777
nsi:
- uri: http://127.0.0.10:7777
s_nssai:
sst: 1
################################################################################
# SBI Server
################################################################################
# o Bind to the address on the eth0 and advertise as open5gs-nssf.svc.local
# sbi:
# server:
# - dev:eth0
# advertise: open5gs-nssf.svc.local
#
# o Specify a custom port number 7777 while binding to the given address
# sbi:
# server:
# - address: nssf.localdomain
# port: 7777
#
# o Bind to 127.0.0.14 and advertise as open5gs-nssf.svc.local
# sbi:
# server:
# - address: 127.0.0.14
# port: 7777
# advertise: open5gs-nssf.svc.local
#
# o Bind to port 7777 but advertise with a different port number 8888
# sbi:
# server:
# - address: 127.0.0.14
# port: 7777
# advertise: open5gs-nssf.svc.local:8888
#
################################################################################
# SBI Client
################################################################################
# o Network Slice Instance(NSI)
# 1. NRF[http://::1:7777/nnrf-nfm/v1/nf-instances]
# S-NSSAI[SST:1]
# 2. NRF[http://127.0.0.19:7777/nnrf-nfm/v1/nf-instances]
# NSSAI[SST:1, SD:000080]
# 3. NRF[http://127.0.0.10:7777/nnrf-nfm/v1/nf-instances]
# NSSAI[SST:1, SD:009000]
#
# sbi:
# client:
# nsi:
# - uri: http://[::1]:7777
# s_nssai:
# sst: 1
# - uri: http://127.0.0.19:7777
# s_nssai:
# sst: 1
# sd: 000080
# - uri: http://127.0.0.10:7777
# s_nssai:
# sst: 1
# sd: 009000
#
# o Direct Communication with NRF
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
#
# o Indirect Communication by Delegating to SCP
# sbi:
# client:
# scp:
# - uri: http://127.0.0.200:7777
#
# o Indirect Communication without Delegation
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
# scp:
# - uri: http://127.0.0.200:7777
# delegated:
# nrf:
# nfm: no # Directly communicate NRF management functions
# disc: no # Directly communicate NRF discovery
# scp:
# next: no # Do not delegate to SCP for next-hop
#
# o Indirect Communication with Delegated Discovery
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
# scp:
# - uri: http://127.0.0.200:7777
# delegated:
# nrf:
# nfm: no # Directly communicate NRF management functions
# disc: yes # Delegate discovery to SCP
# scp:
# next: yes # Delegate to SCP for next-hop communications
#
# o Default delegation: all communications are delegated to the SCP
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
# scp:
# - uri: http://127.0.0.200:7777
# # No 'delegated' section; defaults to AUTO delegation
#
#
################################################################################
# HTTPS scheme with TLS
################################################################################
# o Set as default if not individually set
# default:
# tls:
# server:
# scheme: https
# private_key: @sysconfdir@/open5gs/tls/nssf.key
# cert: @sysconfdir@/open5gs/tls/nssf.crt
# client:
# scheme: https
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# sbi:
# server:
# - address: nssf.localdomain
# client:
# nrf:
# - uri: https://nrf.localdomain
# nsi:
# - uri: https://nrf.localdomain
# s_nssai:
# sst: 1
#
# o Enable SSL key logging for Wireshark
# - This configuration allows capturing SSL/TLS session keys
# for debugging or analysis purposes using Wireshark.
# default:
# tls:
# server:
# scheme: https
# private_key: @sysconfdir@/open5gs/tls/nssf.key
# cert: @sysconfdir@/open5gs/tls/nssf.crt
# sslkeylogfile: @localstatedir@/log/open5gs/tls/nssf-server-sslkeylog.log
# client:
# scheme: https
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# client_sslkeylogfile: @localstatedir@/log/open5gs/tls/nssf-client-sslkeylog.log
# sbi:
# server:
# - address: nssf.localdomain
# client:
# nrf:
# - uri: https://nrf.localdomain
# nsi:
# - uri: https://nrf.localdomain
# s_nssai:
# sst: 1
#
# o Add client TLS verification
# default:
# tls:
# server:
# scheme: https
# private_key: @sysconfdir@/open5gs/tls/nssf.key
# cert: @sysconfdir@/open5gs/tls/nssf.crt
# verify_client: true
# verify_client_cacert: @sysconfdir@/open5gs/tls/ca.crt
# client:
# scheme: https
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# client_private_key: @sysconfdir@/open5gs/tls/nssf.key
# client_cert: @sysconfdir@/open5gs/tls/nssf.crt
# sbi:
# server:
# - address: nssf.localdomain
# client:
# nrf:
# - uri: https://nrf.localdomain
# nsi:
# - uri: https://nrf.localdomain
# s_nssai:
# sst: 1

301
configs/open5gs/pcf.yaml.in Normal file
View File

@@ -0,0 +1,301 @@
db_uri: mongodb://localhost/open5gs
logger:
file:
path: @localstatedir@/log/open5gs/pcf.log
# level: info # fatal|error|warn|info(default)|debug|trace
global:
max:
ue: 1024 # The number of UE can be increased depending on memory size.
# peer: 64
pcf:
sbi:
server:
- address: 127.0.0.13
port: 7777
client:
# nrf:
# - uri: http://127.0.0.10:7777
scp:
- uri: http://127.0.0.200:7777
metrics:
server:
- address: 127.0.0.13
port: 9090
################################################################################
# PCF Policy Configuration: UE Home PLMN and SUPI Range Based Policies
################################################################################
#
# This configuration applies policies based on the UE's home PLMN ID and
# SUPI range. When both supi_range and plmn_id are specified in a policy,
# the policy is applied only if both conditions are met.
#
# supi_range: Specifies one or more ranges of SUPIs. A maximum of 16 ranges
# can be defined.
# plmn_id : Specifies the UE's home PLMN using MCC and MNC.
#
# Example:
#
# policy:
# - supi_range: # Filter policies by SUPI
# - 999700000000001-999709999999999
# - 315010000000001-315010999999999
# plmn_id: # Filter policies by home PLMN-ID
# mcc: 999
# mnc: 70
# slice: # Specify slice configuration
# - sst: 1 # Allowed values: 1, 2, 3, 4
# default_indicator: true
# session: # Define session based on DNN
# - name: internet
# type: 3 # 1: IPv4, 2: IPv6, 3: IPv4v6
# ambr:
# downlink:
# value: 1
# unit: 3 # 0: bps, 1: Kbps, 2: Mbps, 3: Gbps, 4: Tbps
# uplink:
# value: 1
# unit: 3
# qos:
# index: 9 # Allowed values: 1,2,3,4,65,66,67,75,71,72,
# # 73,74,76,5,6,7,8,9,69,70,79,80,82,83,
# # 84,85,86
# arp:
# priority_level: 8 # Allowed values: 1 to 15
# pre_emption_vulnerability: 1 # 1: Disabled, 2: Enabled
# pre_emption_capability: 1 # 1: Disabled, 2: Enabled
# - name: ims
# type: 3 # 1: IPv4, 2: IPv6, 3: IPv4v6
# ambr:
# downlink:
# value: 1
# unit: 3 # 0: bps, 1: Kbps, 2: Mbps, 3: Gbps, 4: Tbps
# uplink:
# value: 1
# unit: 3
# qos:
# index: 5 # Allowed values: 1,2,3,4,65,66,67,75,71,72,
# # 73,74,76,5,6,7,8,9,69,70,79,80,82,83,
# # 84,85,86
# arp:
# priority_level: 1 # Allowed values: 1 to 15
# pre_emption_vulnerability: 1 # 1: Disabled, 2: Enabled
# pre_emption_capability: 1 # 1: Disabled, 2: Enabled
# pcc_rule:
# - qos:
# index: 1 # Allowed values as above
# arp:
# priority_level: 1 # Allowed values: 1 to 15
# pre_emption_vulnerability: 1 # 1: Disabled, 2: Enabled
# pre_emption_capability: 1 # 1: Disabled, 2: Enabled
# mbr:
# downlink:
# value: 82
# unit: 1 # 0: bps, 1: Kbps, 2: Mbps, 3: Gbps, 4: Tbps
# uplink:
# value: 82
# unit: 1
# gbr:
# downlink:
# value: 82
# unit: 1
# uplink:
# value: 82
# unit: 1
# flow:
# - direction: 2
# description: "permit out icmp from any to assigned"
# - direction: 1
# description: "permit out icmp from any to assigned"
# - direction: 2
# description: "permit out udp from 10.200.136.98/32 23455 to assigned 1-65535"
# - direction: 1
# description: "permit out udp from 10.200.136.98/32 1-65535 to assigned 50021"
# - qos:
# index: 2 # Allowed values as above
# arp:
# priority_level: 4 # Allowed values: 1 to 15
# pre_emption_vulnerability: 2 # 1: Disabled, 2: Enabled
# pre_emption_capability: 2 # 1: Disabled, 2: Enabled
# mbr:
# downlink:
# value: 802
# unit: 1
# uplink:
# value: 802
# unit: 1
# gbr:
# downlink:
# value: 802
# unit: 1
# uplink:
# value: 802
# unit: 1
#
# - supi_range: # Filter policies by SUPI only
# - 001010000000001-001019999999999
# slice: # Specify slice configuration
# - sst: 1 # Allowed values: 1, 2, 3, 4
# sd: 000001
# default_indicator: true
# session: # Define session based on DNN
# - name: internet
# type: 3 # 1: IPv4, 2: IPv6, 3: IPv4v6
# ambr:
# downlink:
# value: 1
# unit: 3 # 0: bps, 1: Kbps, 2: Mbps, 3: Gbps, 4: Tbps
# uplink:
# value: 1
# unit: 3
# qos:
# index: 9 # Allowed values as above
# arp:
# priority_level: 8 # Allowed values: 1 to 15
# pre_emption_vulnerability: 1 # 1: Disabled, 2: Enabled
# pre_emption_capability: 1 # 1: Disabled, 2: Enabled
#
################################################################################
# SBI Server
################################################################################
# o Bind to the address on the eth0 and advertise as open5gs-pcf.svc.local
# sbi:
# server:
# - dev:eth0
# advertise: open5gs-pcf.svc.local
#
# o Specify a custom port number 7777 while binding to the given address
# sbi:
# server:
# - address: pcf.localdomain
# port: 7777
#
# o Bind to 127.0.0.13 and advertise as open5gs-pcf.svc.local
# sbi:
# server:
# - address: 127.0.0.13
# port: 7777
# advertise: open5gs-pcf.svc.local
#
# o Bind to port 7777 but advertise with a different port number 8888
# sbi:
# server:
# - address: 127.0.0.13
# port: 7777
# advertise: open5gs-pcf.svc.local:8888
#
################################################################################
# SBI Client
################################################################################
# o Direct Communication with NRF
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
#
# o Indirect Communication by Delegating to SCP
# sbi:
# client:
# scp:
# - uri: http://127.0.0.200:7777
#
# o Indirect Communication without Delegation
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
# scp:
# - uri: http://127.0.0.200:7777
# delegated:
# nrf:
# nfm: no # Directly communicate NRF management functions
# disc: no # Directly communicate NRF discovery
# scp:
# next: no # Do not delegate to SCP for next-hop
#
# o Indirect Communication with Delegated Discovery
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
# scp:
# - uri: http://127.0.0.200:7777
# delegated:
# nrf:
# nfm: no # Directly communicate NRF management functions
# disc: yes # Delegate discovery to SCP
# scp:
# next: yes # Delegate to SCP for next-hop communications
#
# o Default delegation: all communications are delegated to the SCP
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
# scp:
# - uri: http://127.0.0.200:7777
# # No 'delegated' section; defaults to AUTO delegation
#
################################################################################
# HTTPS scheme with TLS
################################################################################
# o Set as default if not individually set
# default:
# tls:
# server:
# scheme: https
# private_key: @sysconfdir@/open5gs/tls/pcf.key
# cert: @sysconfdir@/open5gs/tls/pcf.crt
# client:
# scheme: https
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# sbi:
# server:
# - address: pcf.localdomain
# client:
# nrf:
# - uri: https://nrf.localdomain
#
# o Enable SSL key logging for Wireshark
# - This configuration allows capturing SSL/TLS session keys
# for debugging or analysis purposes using Wireshark.
# default:
# tls:
# server:
# scheme: https
# private_key: @sysconfdir@/open5gs/tls/pcf.key
# cert: @sysconfdir@/open5gs/tls/pcf.crt
# sslkeylogfile: @localstatedir@/log/open5gs/tls/pcf-server-sslkeylog.log
# client:
# scheme: https
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# client_sslkeylogfile: @localstatedir@/log/open5gs/tls/pcf-client-sslkeylog.log
# sbi:
# server:
# - address: pcf.localdomain
# client:
# nrf:
# - uri: https://nrf.localdomain
#
# o Add client TLS verification
# default:
# tls:
# server:
# scheme: https
# private_key: @sysconfdir@/open5gs/tls/pcf.key
# cert: @sysconfdir@/open5gs/tls/pcf.crt
# verify_client: true
# verify_client_cacert: @sysconfdir@/open5gs/tls/ca.crt
# client:
# scheme: https
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# client_private_key: @sysconfdir@/open5gs/tls/pcf.key
# client_cert: @sysconfdir@/open5gs/tls/pcf.crt
# sbi:
# server:
# - address: pcf.localdomain
# client:
# nrf:
# - uri: https://nrf.localdomain

View File

@@ -0,0 +1,134 @@
db_uri: mongodb://localhost/open5gs
logger:
file:
path: @localstatedir@/log/open5gs/pcrf.log
# level: info # fatal|error|warn|info(default)|debug|trace
global:
max:
ue: 1024 # The number of UE can be increased depending on memory size.
# peer: 64
pcrf:
freeDiameter: @sysconfdir@/freeDiameter/pcrf.conf
metrics:
server:
- address: 127.0.0.9
port: 9090
################################################################################
# PCRF Policy Configuration: SUPI Range Based Policies
################################################################################
#
# This configuration applies policies based solely on the UE's SUPI range.
#
# supi_range: Specifies one or more ranges of SUPIs.
# session: Defines the session configuration for each DNN.
#
# Example:
#
# policy:
# - supi_range: # Filter policies by SUPI
# - 999700000000001-999709999999999
# - 315010000000001-315010999999999
# session: # Define session based on DNN
# - name: internet
# type: 3 # 1: IPv4, 2: IPv6, 3: IPv4v6
# ambr:
# downlink:
# value: 1
# unit: 3 # 0: bps, 1: Kbps, 2: Mbps, 3: Gbps, 4: Tbps
# uplink:
# value: 1
# unit: 3
# qos:
# index: 9 # Allowed values: 1,2,3,4,65,66,67,75,71,72,
# # 73,74,76,5,6,7,8,9,69,70,79,80,82,83,
# # 84,85,86
# arp:
# priority_level: 8 # Allowed values: 1 to 15
# pre_emption_vulnerability: 1 # 1: Disabled, 2: Enabled
# pre_emption_capability: 1 # 1: Disabled, 2: Enabled
# - name: ims
# type: 3 # 1: IPv4, 2: IPv6, 3: IPv4v6
# ambr:
# downlink:
# value: 1
# unit: 3
# uplink:
# value: 1
# unit: 3
# qos:
# index: 5 # Allowed values as above
# arp:
# priority_level: 1 # Allowed values: 1 to 15
# pre_emption_vulnerability: 1 # 1: Disabled, 2: Enabled
# pre_emption_capability: 1 # 1: Disabled, 2: Enabled
# pcc_rule:
# - qos:
# index: 1 # Allowed values as above
# arp:
# priority_level: 1
# pre_emption_vulnerability: 1
# pre_emption_capability: 1
# mbr:
# downlink:
# value: 82
# unit: 1 # 0: bps, 1: Kbps, 2: Mbps, 3: Gbps, 4: Tbps
# uplink:
# value: 82
# unit: 1
# gbr:
# downlink:
# value: 82
# unit: 1
# uplink:
# value: 82
# unit: 1
# flow:
# - direction: 2
# description: "permit out icmp from any to assigned"
# - direction: 1
# description: "permit out icmp from any to assigned"
# - direction: 2
# description: "permit out udp from 10.200.136.98/32 23455 to assigned 1-65535"
# - direction: 1
# description: "permit out udp from 10.200.136.98/32 1-65535 to assigned 50021"
# - qos:
# index: 2 # Allowed values as above
# arp:
# priority_level: 4 # Allowed values: 1 to 15
# pre_emption_vulnerability: 2 # 1: Disabled, 2: Enabled
# pre_emption_capability: 2 # 1: Disabled, 2: Enabled
# mbr:
# downlink:
# value: 802
# unit: 1
# uplink:
# value: 802
# unit: 1
# gbr:
# downlink:
# value: 802
# unit: 1
# uplink:
# value: 802
# unit: 1
#
# - supi_range: # Filter policies by SUPI only
# - 001010000000001-001019999999999
# session: # Define session based on DNN
# - name: internet
# type: 3 # 1: IPv4, 2: IPv6, 3: IPv4v6
# ambr:
# downlink:
# value: 1
# unit: 3
# uplink:
# value: 1
# unit: 3
# qos:
# index: 9 # Allowed values as above
# arp:
# priority_level: 8 # Allowed values: 1 to 15
# pre_emption_vulnerability: 1 # 1: Disabled, 2: Enabled
# pre_emption_capability: 1 # 1: Disabled, 2: Enabled

198
configs/open5gs/scp.yaml.in Normal file
View File

@@ -0,0 +1,198 @@
logger:
file:
path: @localstatedir@/log/open5gs/scp.log
# level: info # fatal|error|warn|info(default)|debug|trace
global:
max:
ue: 1024 # The number of UE can be increased depending on memory size.
# peer: 64
scp:
sbi:
server:
- address: 127.0.0.200
port: 7777
client:
nrf:
- uri: http://127.0.0.10:7777
################################################################################
# SCP Info
################################################################################
# o SCP port number(s) WITHOUT SCP Domain
# - If no SCP port information is present in ScpInfo or
# in ScpDomainInfo for a specific SCP domain,
# the HTTP client shall use the default HTTP port number,
# i.e. TCP port 80 for "http" URIs or TCP port 443
# for "https" URIs as specified in IETF RFC 7540 [9]
# when sending a request to the SCP within the specific SCP domain.
# info:
# port:
# http: 7777
# https: 8888
#
# o SCP port number(s) WITH SCP Domain
# - If this attribute is present,
# it has precedence over the scpPorts attribute of ScpInfo.
# info:
# domain:
# - name: SCP_Domain_1
# fqdn: scp.localdomain
# port:
# http: 7777
# https: 8888
#
# o Complex Example
# info:
# port:
# http: 7777
# https: 8888
# domain:
# - name: SCP_Domain_1
# fqdn: scp.hplmndomain
# port:
# http: 3333
# https: 4444
# - name: SCP_Domain_2
# fqdn: scp.vplmndomain
# port:
# http: 5555
# https: 6666
#
################################################################################
# SBI Server
################################################################################
# o Bind to the address on the eth0 and advertise as open5gs-scp.svc.local
# sbi:
# server:
# - dev:eth0
# advertise: open5gs-scp.svc.local
#
# o Specify a custom port number 7777 while binding to the given address
# sbi:
# server:
# - address: scp.localdomain
# port: 7777
#
# o Bind to 127.0.0.200 and advertise as open5gs-scp.svc.local
# sbi:
# server:
# - address: 127.0.0.200
# port: 7777
# advertise: open5gs-scp.svc.local
#
# o Bind to port 7777 but advertise with a different port number 8888
# sbi:
# server:
# - address: 127.0.0.200
# port: 7777
# advertise: open5gs-scp.svc.local:8888
#
################################################################################
# SBI Client
################################################################################
# o Direct Communication with NRF
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
#
# o Indirect Communication by Delegating to Next-SCP
# sbi:
# client:
# scp:
# - uri: http://127.0.0.200:7777
#
# o Indirect Communication without Delegation
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
# scp:
# - uri: http://127.0.0.200:7777
# delegated:
# scp:
# next: no # Do not delegate to SCP for next-hop
#
# o Indirect Communication with Delegation
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
# scp:
# - uri: http://127.0.0.200:7777
# delegated:
# scp:
# next: yes # Delegate to SCP for next-hop communications
#
# o Default delegation: all communications are delegated to the Next-SCP
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
# scp:
# - uri: http://127.0.0.200:7777
# # No 'delegated' section; defaults to AUTO delegation
#
################################################################################
# HTTPS scheme with TLS
################################################################################
# o Set as default if not individually set
# default:
# tls:
# server:
# scheme: https
# private_key: @sysconfdir@/open5gs/tls/scp.key
# cert: @sysconfdir@/open5gs/tls/scp.crt
# client:
# scheme: https
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# sbi:
# server:
# - address: scp.localdomain
# client:
# nrf:
# - uri: https://nrf.localdomain
#
# o Enable SSL key logging for Wireshark
# - This configuration allows capturing SSL/TLS session keys
# for debugging or analysis purposes using Wireshark.
# default:
# tls:
# server:
# scheme: https
# private_key: @sysconfdir@/open5gs/tls/scp.key
# cert: @sysconfdir@/open5gs/tls/scp.crt
# sslkeylogfile: @localstatedir@/log/open5gs/tls/scp-server-sslkeylog.log
# client:
# scheme: https
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# client_sslkeylogfile: @localstatedir@/log/open5gs/tls/scp-client-sslkeylog.log
# sbi:
# server:
# - address: scp.localdomain
# client:
# nrf:
# - uri: https://nrf.localdomain
#
# o Add client TLS verification
# default:
# tls:
# server:
# scheme: https
# private_key: @sysconfdir@/open5gs/tls/scp.key
# cert: @sysconfdir@/open5gs/tls/scp.crt
# verify_client: true
# verify_client_cacert: @sysconfdir@/open5gs/tls/ca.crt
# client:
# scheme: https
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# client_private_key: @sysconfdir@/open5gs/tls/scp.key
# client_cert: @sysconfdir@/open5gs/tls/scp.crt
# sbi:
# server:
# - address: scp.localdomain
# client:
# nrf:
# - uri: https://nrf.localdomain

View File

@@ -0,0 +1,285 @@
logger:
file:
path: @localstatedir@/log/open5gs/sepp1.log
# level: info # fatal|error|warn|info(default)|debug|trace
global:
max:
ue: 1024 # The number of UE can be increased depending on memory size.
# peer: 64
sepp:
default:
tls:
server:
private_key: @sysconfdir@/open5gs/tls/sepp1.key
cert: @sysconfdir@/open5gs/tls/sepp1.crt
client:
cacert: @sysconfdir@/open5gs/tls/ca.crt
sbi:
server:
- address: 127.0.1.250
port: 7777
client:
# nrf:
# - uri: http://127.0.0.10:7777
scp:
- uri: http://127.0.0.200:7777
n32:
server:
- sender: sepp1.localdomain
scheme: https
address: 127.0.1.251
port: 7777
n32f:
scheme: https
address: 127.0.1.252
port: 7777
client:
sepp:
- receiver: sepp2.localdomain
uri: https://sepp2.localdomain:7777
resolve: 127.0.2.251
n32f:
uri: https://sepp2.localdomain:7777
resolve: 127.0.2.252
################################################################################
# SEPP Info
################################################################################
# o SEPP port number(s) for HTTP and/or HTTPS
# - This attribute shall be present if the SEPP uses non-default HTTP and/or
# HTTPS ports. When present, it shall contain the HTTP and/or HTTPS ports.
# (Minimum: 0 Maximum: 65535)
# info:
# port:
# http: 7777
# https: 8888
#
################################################################################
# No TLS - N32 Server/Client
################################################################################
# o SEPP uses the same interface that other NFs(NRF, AMF, ...) use.
# sbi:
# server:
# - address: 127.0.1.250
# port: 7777
# client:
# scp:
# - uri: http://127.0.0.200:7777
# n32:
# server:
# - sender: sepp1.localdomain
# client:
# sepp:
# - receiver: sepp2.localdomain
# uri: http://127.0.2.250:7777
#
# o SEPP uses a separate interface
# that is different from those used by other NFs.
# sbi:
# server:
# - address: 127.0.1.250
# port: 7777
# client:
# scp:
# - uri: http://127.0.0.200:7777
# n32:
# server:
# - sender: sepp1.localdomain
# address: 127.0.1.251
# port: 7777
# client:
# sepp:
# - receiver: sepp2.localdomain
# uri: http://127.0.2.251:7777
#
# o Not only SEPP but also the N32 forwarding uses a separate interface
# that is different from those used by other NFs.
# sbi:
# server:
# - address: 127.0.1.250
# port: 7777
# client:
# scp:
# - uri: http://127.0.0.200:7777
# n32:
# server:
# - sender: sepp1.localdomain
# address: 127.0.1.251
# port: 7777
# n32f:
# address: 127.0.1.252
# port: 7777
# client:
# sepp:
# - receiver: sepp2.localdomain
# uri: http://127.0.2.251:7777
# n32f:
# uri: http://127.0.2.252:7777
#
################################################################################
# HTTPS scheme with TLS - N32 Server/Client
################################################################################
#
# o Only N32 uses HTTPS with TLS, while other NFs use HTTP without TLS.
# default:
# tls:
# server:
# private_key: @sysconfdir@/open5gs/tls/sepp1.key
# cert: @sysconfdir@/open5gs/tls/sepp1.crt
# client:
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# sbi:
# server:
# - address: 127.0.1.250
# port: 7777
# client:
# scp:
# - uri: http://127.0.0.200:7777
# n32:
# server:
# - sender: sepp1.localdomain
# scheme: https
# address: 127.0.1.251
# client:
# sepp:
# - receiver: sepp2.localdomain
# uri: https://sepp2.localdomain
# resolve: 127.0.2.251
#
# o Enable SSL key logging for Wireshark
# - This configuration allows capturing SSL/TLS session keys
# for debugging or analysis purposes using Wireshark.
# default:
# tls:
# server:
# private_key: @sysconfdir@/open5gs/tls/sepp1.key
# cert: @sysconfdir@/open5gs/tls/sepp1.crt
# sslkeylogfile: @localstatedir@/log/open5gs/tls/sepp1-server-sslkeylog.log
# client:
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# client_sslkeylogfile: @localstatedir@/log/open5gs/tls/sepp1-client-sslkeylog.log
# sbi:
# server:
# - address: 127.0.1.250
# port: 7777
# client:
# scp:
# - uri: http://127.0.0.200:7777
# n32:
# server:
# - sender: sepp1.localdomain
# scheme: https
# address: 127.0.1.251
# client:
# sepp:
# - receiver: sepp2.localdomain
# uri: https://sepp2.localdomain
# resolve: 127.0.2.251
#
# o Add client TLS verification to N32 interface
# default:
# tls:
# server:
# private_key: @sysconfdir@/open5gs/tls/sepp1.key
# cert: @sysconfdir@/open5gs/tls/sepp1.crt
# verify_client: true
# verify_client_cacert: @sysconfdir@/open5gs/tls/ca.crt
# client:
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# client_private_key: @sysconfdir@/open5gs/tls/sepp1.key
# client_cert: @sysconfdir@/open5gs/tls/sepp1.crt
# sbi:
# server:
# - address: 127.0.1.250
# port: 7777
# client:
# scp:
# - uri: http://127.0.0.200:7777
# n32:
# server:
# - sender: sepp1.localdomain
# scheme: https
# address: 127.0.1.251
# client:
# sepp:
# - receiver: sepp2.localdomain
# uri: https://sepp2.localdomain
# resolve: 127.0.2.251
#
# o Both SEPP and N32 forwarding also uses HTTPS with TLS,
# while other NFs use HTTP without TLS.
# default:
# tls:
# server:
# private_key: @sysconfdir@/open5gs/tls/sepp1.key
# cert: @sysconfdir@/open5gs/tls/sepp1.crt
# verify_client: true
# verify_client_cacert: @sysconfdir@/open5gs/tls/ca.crt
# client:
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# client_private_key: @sysconfdir@/open5gs/tls/sepp1.key
# client_cert: @sysconfdir@/open5gs/tls/sepp1.crt
# sbi:
# server:
# - address: 127.0.1.250
# port: 7777
# client:
# scp:
# - uri: http://127.0.0.200:7777
# n32:
# server:
# - sender: sepp1.localdomain
# scheme: https
# address: 127.0.1.251
# n32f:
# scheme: https
# address: 127.0.1.252
# client:
# sepp:
# - receiver: sepp2.localdomain
# uri: https://sepp2.localdomain
# resolve: 127.0.2.251
# n32f:
# uri: https://sepp2.localdomain
# resolve: 127.0.2.252
#
# o N32 control and N32 forwarding interface use different key/certificate.
# sbi:
# server:
# - address: 127.0.1.250
# port: 7777
# client:
# scp:
# - uri: http://127.0.0.200:7777
# n32:
# server:
# - sender: sepp1.localdomain
# scheme: https
# address: 127.0.1.251
# private_key: @sysconfdir@/open5gs/tls/sepp1.key
# cert: @sysconfdir@/open5gs/tls/sepp1.crt
# verify_client: true
# verify_client_cacert: @sysconfdir@/open5gs/tls/ca.crt
# n32f:
# scheme: https
# address: 127.0.1.252
# private_key: @sysconfdir@/open5gs/tls/sepp1-n32f.key
# cert: @sysconfdir@/open5gs/tls/sepp1-n32f.crt
# verify_client: true
# verify_client_cacert: @sysconfdir@/open5gs/tls/ca.crt
# client:
# sepp:
# - receiver: sepp2.localdomain
# uri: https://sepp2.localdomain
# resolve: 127.0.2.251
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# client_private_key: @sysconfdir@/open5gs/tls/sepp1.key
# client_cert: @sysconfdir@/open5gs/tls/sepp1.crt
# n32f:
# uri: https://sepp2.localdomain
# resolve: 127.0.2.252
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# client_private_key: @sysconfdir@/open5gs/tls/sepp1-n32f.key
# client_cert: @sysconfdir@/open5gs/tls/sepp1-n32f.crt

View File

@@ -0,0 +1,287 @@
logger:
file:
path: @localstatedir@/log/open5gs/sepp2.log
# level: info # fatal|error|warn|info(default)|debug|trace
global:
max:
ue: 1024 # The number of UE can be increased depending on memory size.
# peer: 64
sepp:
default:
tls:
server:
private_key: @sysconfdir@/open5gs/tls/sepp2.key
cert: @sysconfdir@/open5gs/tls/sepp2.crt
# sslkeylogfile: @localstatedir@/log/open5gs/tls/sepp2-server-sslkeylog.log
client:
cacert: @sysconfdir@/open5gs/tls/ca.crt
# sslkeylogfile: @localstatedir@/log/open5gs/tls/sepp2-client-sslkeylog.log
sbi:
server:
- address: 127.0.2.250
port: 7777
client:
# nrf:
# - uri: http://127.0.0.10:7777
scp:
- uri: http://127.0.0.200:7777
n32:
server:
- sender: sepp2.localdomain
scheme: https
address: 127.0.2.251
port: 7777
n32f:
scheme: https
address: 127.0.2.252
port: 7777
client:
sepp:
- receiver: sepp1.localdomain
uri: https://sepp1.localdomain:7777
resolve: 127.0.1.251
n32f:
uri: https://sepp1.localdomain:7777
resolve: 127.0.1.252
################################################################################
# SEPP Info
################################################################################
# o SEPP port number(s) for HTTP and/or HTTPS
# - This attribute shall be present if the SEPP uses non-default HTTP and/or
# HTTPS ports. When present, it shall contain the HTTP and/or HTTPS ports.
# (Minimum: 0 Maximum: 65535)
# info:
# port:
# http: 7777
# https: 8888
#
################################################################################
# No TLS - N32 Server/Client
################################################################################
# o SEPP uses the same interface that other NFs(NRF, AMF, ...) use.
# sbi:
# server:
# - address: 127.0.2.250
# port: 7777
# client:
# scp:
# - uri: http://127.0.0.200:7777
# n32:
# server:
# - sender: sepp2.localdomain
# client:
# sepp:
# - receiver: sepp1.localdomain
# uri: http://127.0.1.250:7777
#
# o SEPP uses a separate interface
# that is different from those used by other NFs.
# sbi:
# server:
# - address: 127.0.2.250
# port: 7777
# client:
# scp:
# - uri: http://127.0.0.200:7777
# n32:
# server:
# - sender: sepp2.localdomain
# address: 127.0.2.251
# port: 7777
# client:
# sepp:
# - receiver: sepp1.localdomain
# uri: http://127.0.1.251:7777
#
# o Not only SEPP but also the N32 forwarding uses a separate interface
# that is different from those used by other NFs.
# sbi:
# server:
# - address: 127.0.2.250
# port: 7777
# client:
# scp:
# - uri: http://127.0.0.200:7777
# n32:
# server:
# - sender: sepp2.localdomain
# address: 127.0.2.251
# port: 7777
# n32f:
# address: 127.0.2.252
# port: 7777
# client:
# sepp:
# - receiver: sepp1.localdomain
# uri: http://127.0.1.251:7777
# n32f:
# uri: http://127.0.1.252:7777
#
################################################################################
# HTTPS scheme with TLS - N32 Server/Client
################################################################################
#
# o Only N32 uses HTTPS with TLS, while other NFs use HTTP without TLS.
# default:
# tls:
# server:
# private_key: @sysconfdir@/open5gs/tls/sepp2.key
# cert: @sysconfdir@/open5gs/tls/sepp2.crt
# client:
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# sbi:
# server:
# - address: 127.0.2.250
# port: 7777
# client:
# scp:
# - uri: http://127.0.0.200:7777
# n32:
# server:
# - sender: sepp2.localdomain
# scheme: https
# address: 127.0.2.251
# client:
# sepp:
# - receiver: sepp1.localdomain
# uri: https://sepp1.localdomain
# resolve: 127.0.1.251
#
# o Enable SSL key logging for Wireshark
# - This configuration allows capturing SSL/TLS session keys
# for debugging or analysis purposes using Wireshark.
# default:
# tls:
# server:
# private_key: @sysconfdir@/open5gs/tls/sepp2.key
# cert: @sysconfdir@/open5gs/tls/sepp2.crt
# sslkeylogfile: @localstatedir@/log/open5gs/tls/sepp2-server-sslkeylog.log
# client:
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# client_sslkeylogfile: @localstatedir@/log/open5gs/tls/sepp2-client-sslkeylog.log
# sbi:
# server:
# - address: 127.0.2.250
# port: 7777
# client:
# scp:
# - uri: http://127.0.0.200:7777
# n32:
# server:
# - sender: sepp2.localdomain
# scheme: https
# address: 127.0.2.251
# client:
# sepp:
# - receiver: sepp1.localdomain
# uri: https://sepp1.localdomain
# resolve: 127.0.1.251
#
# o Add client TLS verification to N32 interface
# default:
# tls:
# server:
# private_key: @sysconfdir@/open5gs/tls/sepp2.key
# cert: @sysconfdir@/open5gs/tls/sepp2.crt
# verify_client: true
# verify_client_cacert: @sysconfdir@/open5gs/tls/ca.crt
# client:
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# client_private_key: @sysconfdir@/open5gs/tls/sepp2.key
# client_cert: @sysconfdir@/open5gs/tls/sepp2.crt
# sbi:
# server:
# - address: 127.0.2.250
# port: 7777
# client:
# scp:
# - uri: http://127.0.0.200:7777
# n32:
# server:
# - sender: sepp2.localdomain
# scheme: https
# address: 127.0.2.251
# client:
# sepp:
# - receiver: sepp1.localdomain
# uri: https://sepp1.localdomain
# resolve: 127.0.1.251
#
# o Both SEPP and N32 forwarding also uses HTTPS with TLS,
# while other NFs use HTTP without TLS.
# default:
# tls:
# server:
# private_key: @sysconfdir@/open5gs/tls/sepp2.key
# cert: @sysconfdir@/open5gs/tls/sepp2.crt
# verify_client: true
# verify_client_cacert: @sysconfdir@/open5gs/tls/ca.crt
# client:
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# client_private_key: @sysconfdir@/open5gs/tls/sepp2.key
# client_cert: @sysconfdir@/open5gs/tls/sepp2.crt
# sbi:
# server:
# - address: 127.0.2.250
# port: 7777
# client:
# scp:
# - uri: http://127.0.0.200:7777
# n32:
# server:
# - sender: sepp2.localdomain
# scheme: https
# address: 127.0.2.251
# n32f:
# scheme: https
# address: 127.0.2.252
# client:
# sepp:
# - receiver: sepp1.localdomain
# uri: https://sepp1.localdomain
# resolve: 127.0.1.251
# n32f:
# uri: https://sepp1.localdomain
# resolve: 127.0.1.252
#
# o N32 control and N32 forwarding interface use different key/certificate.
# sbi:
# server:
# - address: 127.0.2.250
# port: 7777
# client:
# scp:
# - uri: http://127.0.0.200:7777
# n32:
# server:
# - sender: sepp2.localdomain
# scheme: https
# address: 127.0.2.251
# private_key: @sysconfdir@/open5gs/tls/sepp2.key
# cert: @sysconfdir@/open5gs/tls/sepp2.crt
# verify_client: true
# verify_client_cacert: @sysconfdir@/open5gs/tls/ca.crt
# n32f:
# scheme: https
# address: 127.0.2.252
# private_key: @sysconfdir@/open5gs/tls/sepp2-n32f.key
# cert: @sysconfdir@/open5gs/tls/sepp2-n32f.crt
# verify_client: true
# verify_client_cacert: @sysconfdir@/open5gs/tls/ca.crt
# client:
# sepp:
# - receiver: sepp1.localdomain
# uri: https://sepp1.localdomain
# resolve: 127.0.1.251
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# client_private_key: @sysconfdir@/open5gs/tls/sepp2.key
# client_cert: @sysconfdir@/open5gs/tls/sepp2.crt
# n32f:
# uri: https://sepp1.localdomain
# resolve: 127.0.1.252
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# client_private_key: @sysconfdir@/open5gs/tls/sepp2-n32f.key
# client_cert: @sysconfdir@/open5gs/tls/sepp2-n32f.crt

View File

@@ -0,0 +1,70 @@
logger:
file:
path: @localstatedir@/log/open5gs/sgwc.log
# level: info # fatal|error|warn|info(default)|debug|trace
global:
max:
ue: 1024 # The number of UE can be increased depending on memory size.
# peer: 64
sgwc:
gtpc:
server:
- address: 127.0.0.3
pfcp:
server:
- address: 127.0.0.3
client:
sgwu:
- address: 127.0.0.6
################################################################################
# GTP-C Server
################################################################################
# o Listen on IPv4 and IPv6
# gtpc:
# server:
# - address: 127.0.0.3
# - address: fd69:f21d:873c:fa::2
#
################################################################################
# PFCP Server
################################################################################
# o Override PFCP address to be advertised to SGW-U in PFCP association
# pfcp:
# server:
# - dev: eth0
# advertise: open5gs-sgwc.svc.local
#
################################################################################
# PFCP Client
################################################################################
# o SGWU selection by eNodeB TAC
# (either single TAC or multiple TACs, DECIMAL representation)
# pfcp:
# client:
# sgwu:
# - address: 127.0.0.6
# tac: 1
# - address: 127.0.0.12
# tac: [3,5,8]
#
# o SGWU selection by UE's APN (either single APN or multiple APNs)
# pfcp:
# client:
# sgwu:
# - address: 127.0.0.6
# apn: ims
# - address: 127.0.0.12
# apn: [internet, web]
#
# o SGWU selection by CellID(e_cell_id: 28bit)
# (either single e_cell_id or multiple e_cell_id, HEX representation)
# pfcp:
# client:
# sgwu:
# - address: 127.0.0.6
# e_cell_id: 463
# - address: 127.0.0.12
# e_cell_id: [123456789, 9413]

View File

@@ -0,0 +1,52 @@
logger:
file:
path: @localstatedir@/log/open5gs/sgwu.log
# level: info # fatal|error|warn|info(default)|debug|trace
global:
max:
ue: 1024 # The number of UE can be increased depending on memory size.
# peer: 64
sgwu:
pfcp:
server:
- address: 127.0.0.6
client:
# sgwc: # SGW-U PFCP Client try to associate SGW-C PFCP Server
# - address: 127.0.0.3
gtpu:
server:
- address: 127.0.0.6
################################################################################
# PFCP Server
################################################################################
# o Override PFCP address to be advertised to SGW-C in PFCP association
# pfcp:
# server:
# - dev: eth0
# advertise: open5gs-sgwu.svc.local
#
################################################################################
# GTP-U Server
################################################################################
# o Override SGW-U GTP-U address to be advertised inside S1AP messages
# gtpu:
# server:
# - dev: ens3
# advertise: sgw1.epc.mnc001.mcc001.3gppnetwork.org
#
# o User Plane IP Resource information
# gtpu:
# server:
# - address: 127.0.0.6
# teid_range_indication: 4
# teid_range: 10
# network_instance: internet
# source_interface: 0
# - address: 127.0.10.4
# teid_range_indication: 4
# teid_range: 5
# network_instance: ims
# source_interface: 1

423
configs/open5gs/smf.yaml.in Normal file
View File

@@ -0,0 +1,423 @@
logger:
file:
path: @localstatedir@/log/open5gs/smf.log
# level: info # fatal|error|warn|info(default)|debug|trace
global:
max:
ue: 1024 # The number of UE can be increased depending on memory size.
# peer: 64
smf:
sbi:
server:
- address: 127.0.0.4
port: 7777
client:
# nrf:
# - uri: http://127.0.0.10:7777
scp:
- uri: http://127.0.0.200:7777
pfcp:
server:
- address: 127.0.0.4
client:
upf:
- address: 127.0.0.7
gtpc:
server:
- address: 127.0.0.4
gtpu:
server:
- address: 127.0.0.4
metrics:
server:
- address: 127.0.0.4
port: 9090
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1
- subnet: 2001:db8:cafe::/48
gateway: 2001:db8:cafe::1
dns:
- 8.8.8.8
- 8.8.4.4
- 2001:4860:4860::8888
- 2001:4860:4860::8844
mtu: 1400
# p-cscf:
# - 127.0.0.1
# - ::1
# ctf:
# enabled: auto # auto(default)|yes|no
freeDiameter: @sysconfdir@/freeDiameter/smf.conf
################################################################################
# SMF Info
################################################################################
# <SMF Selection - 5G Core only>
# 1. SMF sends SmfInfo(S-NSSAI, DNN, TAI) to the NRF
# 2. NRF responds to AMF with SmfInfo during NF-Discovery.
# 3. AMF selects SMF based on S-NSSAI, DNN and TAI in SmfInfo.
#
# Note that if there is no SmfInfo, any AMF can select this SMF.
#
# o S-NSSAI[SST:1] and DNN[internet] - At least 1 DNN is required in S-NSSAI
# info:
# - s_nssai:
# - sst: 1
# dnn:
# - internet
#
# o S-NSSAI[SST:1 SD:009000] and DNN[internet or ims]
# info:
# - s_nssai:
# - sst: 1
# sd: 009000
# dnn:
# - internet
# - ims
#
# o S-NSSAI[SST:1] and DNN[internet] and TAI[PLMN-ID:99970 TAC:1]
# info:
# - s_nssai:
# - sst: 1
# dnn:
# - internet
# tai:
# - plmn_id:
# mcc: 999
# mnc: 70
# tac: 1
#
# o If any of conditions below are met:
# - S-NSSAI[SST:1] and DNN[internet] and TAI[PLMN-ID:99970 TAC:1-9]
# - S-NSSAI[SST:2 SD:000080] and DNN[internet or ims]
# - S-NSSAI[SST:4] and DNN[internet] and TAI[PLMN-ID:99970 TAC:10-20,30-40]
# info:
# - s_nssai:
# - sst: 1
# dnn:
# - internet
# tai:
# - plmn_id:
# mcc: 999
# mnc: 70
# tac:
# - 1-9
# - s_nssai:
# - sst: 2
# sd: 000080
# dnn:
# - internet
# - ims
# - s_nssai:
# - sst: 4
# dnn:
# - internet
# tai:
# - plmn_id:
# mcc: 999
# mnc: 70
# tac:
# - 10-20
# - 30-40
#
# o Complex Example
# info:
# - s_nssai:
# - sst: 1
# dnn:
# - internet
# - sst: 1
# sd: 000080
# dnn:
# - internet
# - ims
# - sst: 1
# sd: 009000
# dnn:
# [internet, ims]
# - sst: 2
# dnn:
# - internet
# - sst: 3
# sd: 123456
# dnn:
# - internet
# tai:
# - plmn_id:
# mcc: 999
# mnc: 70
# tac: [1, 2, 3]
# - plmn_id:
# mcc: 999
# mnc: 70
# tac: 4
# - plmn_id:
# mcc: 999
# mnc: 70
# tac:
# - 5
# - 6
# - plmn_id:
# mcc: 999
# mnc: 70
# tac:
# - 100-200
# - 300-400
# - plmn_id:
# mcc: 999
# mnc: 70
# tac:
# - 500-600
# - 700-800
# - 900-1000
# - s_nssai:
# - sst: 4
# dnn:
# - internet
# tai:
# - plmn_id:
# mcc: 999
# mnc: 70
# tac: 99
#
################################################################################
# SBI Server
################################################################################
# o Bind to the address on the eth0 and advertise as open5gs-smf.svc.local
# sbi:
# server:
# - dev:eth0
# advertise: open5gs-smf.svc.local
#
# o Specify a custom port number 7777 while binding to the given address
# sbi:
# server:
# - address: smf.localdomain
# port: 7777
#
# o Bind to 127.0.0.4 and advertise as open5gs-smf.svc.local
# sbi:
# server:
# - address: 127.0.0.4
# port: 7777
# advertise: open5gs-smf.svc.local
#
# o Bind to port 7777 but advertise with a different port number 8888
# sbi:
# server:
# - address: 127.0.0.4
# port: 7777
# advertise: open5gs-smf.svc.local:8888
#
################################################################################
# SBI Client
################################################################################
# o Direct Communication with NRF
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
#
# o Indirect Communication by Delegating to SCP
# sbi:
# client:
# scp:
# - uri: http://127.0.0.200:7777
#
# o Indirect Communication without Delegation
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
# scp:
# - uri: http://127.0.0.200:7777
# delegated:
# nrf:
# nfm: no # Directly communicate NRF management functions
# disc: no # Directly communicate NRF discovery
# scp:
# next: no # Do not delegate to SCP for next-hop
#
# o Indirect Communication with Delegated Discovery
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
# scp:
# - uri: http://127.0.0.200:7777
# delegated:
# nrf:
# nfm: no # Directly communicate NRF management functions
# disc: yes # Delegate discovery to SCP
# scp:
# next: yes # Delegate to SCP for next-hop communications
#
# o Default delegation: all communications are delegated to the SCP
# sbi:
# client:
# nrf:
# - uri: http://127.0.0.10:7777
# scp:
# - uri: http://127.0.0.200:7777
# # No 'delegated' section; defaults to AUTO delegation
#
################################################################################
# HTTPS scheme with TLS
################################################################################
# o Set as default if not individually set
# default:
# tls:
# server:
# scheme: https
# private_key: @sysconfdir@/open5gs/tls/smf.key
# cert: @sysconfdir@/open5gs/tls/smf.crt
# client:
# scheme: https
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# sbi:
# server:
# - address: smf.localdomain
# client:
# nrf:
# - uri: https://nrf.localdomain
#
# o Enable SSL key logging for Wireshark
# - This configuration allows capturing SSL/TLS session keys
# for debugging or analysis purposes using Wireshark.
# default:
# tls:
# server:
# scheme: https
# private_key: @sysconfdir@/open5gs/tls/smf.key
# cert: @sysconfdir@/open5gs/tls/smf.crt
# sslkeylogfile: @localstatedir@/log/open5gs/tls/smf-server-sslkeylog.log
# client:
# scheme: https
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# client_sslkeylogfile: @localstatedir@/log/open5gs/tls/smf-client-sslkeylog.log
# sbi:
# server:
# - address: smf.localdomain
# client:
# nrf:
# - uri: https://nrf.localdomain
#
# o Add client TLS verification
# default:
# tls:
# server:
# scheme: https
# private_key: @sysconfdir@/open5gs/tls/smf.key
# cert: @sysconfdir@/open5gs/tls/smf.crt
# verify_client: true
# verify_client_cacert: @sysconfdir@/open5gs/tls/ca.crt
# client:
# scheme: https
# cacert: @sysconfdir@/open5gs/tls/ca.crt
# client_private_key: @sysconfdir@/open5gs/tls/smf.key
# client_cert: @sysconfdir@/open5gs/tls/smf.crt
# sbi:
# server:
# - address: smf.localdomain
# client:
# nrf:
# - uri: https://nrf.localdomain
#
################################################################################
# PFCP Server
################################################################################
# o Override PFCP address to be advertised to UPF in PFCP association
# pfcp:
# server:
# - dev: eth0
# advertise: open5gs-smf.svc.local
#
################################################################################
# PFCP Client
################################################################################
# o UPF selection by eNodeB TAC
# (either single TAC or multiple TACs, DECIMAL representation)
# pfcp:
# client:
# upf:
# - address: 127.0.0.7
# tac: 1
# - address: 127.0.0.12
# tac: [3,5,8]
#
# o UPF selection by UE's DNN/APN (either single DNN/APN or multiple DNNs/APNs)
# pfcp:
# client:
# upf:
# - address: 127.0.0.7
# dnn: ims
# - address: 127.0.0.12
# dnn: [internet, web]
#
# o UPF selection by CellID(e_cell_id: 28bit, nr_cell_id: 36bit)
# (either single enb_id or multiple enb_ids, HEX representation)
# pfcp:
# client:
# upf:
# - address: 127.0.0.7
# e_cell_id: 463
# - address: 127.0.0.12
# nr_cell_id: [123456789, 9413]
#
################################################################################
# GTP-C Server
################################################################################
# o Listen on IPv4 and IPv6
# gtpc:
# server:
# - address: 127.0.0.4
# - address: fd69:f21d:873c:fa::3
#
################################################################################
# GTP-U Server
################################################################################
# o Listen on IPv4 and IPv6
# gtpu:
# server:
# - address: 127.0.0.4
# - address: ::1
#
################################################################################
# 3GPP Specification
################################################################################
# o Specific DNN/APN(e.g 'ims') uses 10.46.0.1/16, 2001:db8:babe::1/48
# (If the UE has unknown DNN/APN(not internet/ims), SMF/UPF will crash.)
# session:
# - subnet: 10.45.0.0/16
# gateway: 10.45.0.1
# dnn: internet
# - subnet: 2001:db8:cafe::/48
# dnn: internet
# - subnet: 10.46.0.0/16
# gateway: 10.46.0.1
# dnn: ims
# - subnet: 2001:db8:babe::/48
# dnn: ims
#
# o Pool Range
# session:
# - subnet: 10.45.0.0/16
# gateway: 10.45.0.1
# range:
# - 10.45.0.100-10.45.0.200
# - 10.45.1.100-
# - -10.45.0.200
# - subnet: 2001:db8:cafe::/48
# range:
# - 2001:db8:cafe:a0::0-2001:db8:cafe:b0::0
# - 2001:db8:cafe:c0::0-2001:db8:cafe:d0::0
#
# o Security Indication(5G Core only)
# security_indication:
# integrity_protection_indication: required|preferred|not-needed
# confidentiality_protection_indication: required|preferred|not-needed
# maximum_integrity_protected_data_rate_uplink: bitrate64kbs|maximum-UE-rate
# maximum_integrity_protected_data_rate_downlink: bitrate64kbs|maximum-UE-rate

View File

@@ -0,0 +1,20 @@
-----BEGIN CERTIFICATE-----
MIIDWzCCAkOgAwIBAgIBATANBgkqhkiG9w0BAQsFADBJMRcwFQYDVQQDDA5jYS5s
b2NhbGRvbWFpbjELMAkGA1UEBhMCS08xDjAMBgNVBAgMBVNlb3VsMREwDwYDVQQK
DAhOZW9QbGFuZTAeFw0yMzA5MzAyMjU5MDZaFw0zMzA5MjcyMjU5MDZaMEoxCzAJ
BgNVBAYTAktPMQ4wDAYDVQQIDAVTZW91bDERMA8GA1UECgwITmVvUGxhbmUxGDAW
BgNVBAMMD2FtZi5sb2NhbGRvbWFpbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAMgxuA/+na3AK01hZtQ0x202EBOHlaenDJiN34N8XnOpv9QG4/OYeY7P
kWqB1A/K0baSVik4kRsuQV5RArDDB71eLujnVmAl/AATvUS+6Lwp9VPdX40gfSbX
XvDQIoXUXKD6Y4TpzZcTuoJjK7d25a402gs4fbQNi3+cUu0bGgqVRO6rDWYFiQYA
bC8tSB8ze+Rpk37AleHtp72zQyjGSsAkmFf8Orf0VMBzOX0RcTWwXk31qJgd6L07
gkIr+FTr0Qn/HHKaax4ipFQFGIZHGNXmArgUTh5gzAFHkhf3GGicJ9CQdARh8/65
Gtf1LUHCG9o4ZLZuY5jbGa1LdjiLydMCAwEAAaNNMEswCQYDVR0TBAIwADAdBgNV
HQ4EFgQUj77fWkkYf0fjHacP0JoGd8w72w0wHwYDVR0jBBgwFoAU2xbCTj9E9Ha4
EurcTxHWMflmx3wwDQYJKoZIhvcNAQELBQADggEBAKXR8GHfuUWI1EJzDK0pSrKm
vezZYYBgy1QSgdPlVCyeprJlrKKstOA7P103hKI+OhTCqx6DOVsa0N3NdipSt0NF
walBbW+LbvcjTOYExjSwydv+wkran2fJVpnPA/ZYoWvm8e9tulsM79PRTD//B4Vq
6DRDQehryNr+O5ML5A8x9pFdXGGcv1ker8kgaW2IrtXv6PLH3A6u9+90ffdQwFET
Q/qaDD6UXcTBZGTPrlf70GDvc1COMi2tlIM1NmXHImo5L7Z8knLThq3e0waJECnM
SABIMkvjijnoVXKjMrKgQ9gd9Osp95E1Pysc23TtLH3jtYxfxPOYMJvpK1O2S4M=
-----END CERTIFICATE-----

View File

@@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICjzCCAXcCAQAwSjEYMBYGA1UEAwwPYW1mLmxvY2FsZG9tYWluMQswCQYDVQQG
EwJLTzEOMAwGA1UECAwFU2VvdWwxETAPBgNVBAoMCE5lb1BsYW5lMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyDG4D/6drcArTWFm1DTHbTYQE4eVp6cM
mI3fg3xec6m/1Abj85h5js+RaoHUD8rRtpJWKTiRGy5BXlECsMMHvV4u6OdWYCX8
ABO9RL7ovCn1U91fjSB9Jtde8NAihdRcoPpjhOnNlxO6gmMrt3blrjTaCzh9tA2L
f5xS7RsaCpVE7qsNZgWJBgBsLy1IHzN75GmTfsCV4e2nvbNDKMZKwCSYV/w6t/RU
wHM5fRFxNbBeTfWomB3ovTuCQiv4VOvRCf8ccpprHiKkVAUYhkcY1eYCuBROHmDM
AUeSF/cYaJwn0JB0BGHz/rka1/UtQcIb2jhktm5jmNsZrUt2OIvJ0wIDAQABoAAw
DQYJKoZIhvcNAQELBQADggEBACPQGxY87LUNIvvWqwDDLnZmV5sj5EA6O9gtlmbs
Eukjh3xnvGOEo7hpka0eM1EYX63trB3pv21kfU/SNiZNiqaKtBWbL3dvrEF7DERd
1HQDHOmpNUc9WvZ2vfrXhUqR7eDp6lyHiqu1Ij0fQOoV3h7uEFqw/wDFEzi/aIOp
66xKiqlsaPKbRQn0wmbUHNgLzjlllw+BQxIupCg83T2z77Mjz3gTiKIxcF3yZmRP
oOOHD39tcBT0DgpzafPC83WzGjoxbeQ0DRTvUTGWayz+7NsFmxrsqVsJcx0Q8gNw
HL2+9OHptC2DH1cj9FqbcU5KvdyzDYaUKSZualNkgAo5nuI=
-----END CERTIFICATE REQUEST-----

View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDIMbgP/p2twCtN
YWbUNMdtNhATh5WnpwyYjd+DfF5zqb/UBuPzmHmOz5FqgdQPytG2klYpOJEbLkFe
UQKwwwe9Xi7o51ZgJfwAE71Evui8KfVT3V+NIH0m117w0CKF1Fyg+mOE6c2XE7qC
Yyu3duWuNNoLOH20DYt/nFLtGxoKlUTuqw1mBYkGAGwvLUgfM3vkaZN+wJXh7ae9
s0MoxkrAJJhX/Dq39FTAczl9EXE1sF5N9aiYHei9O4JCK/hU69EJ/xxymmseIqRU
BRiGRxjV5gK4FE4eYMwBR5IX9xhonCfQkHQEYfP+uRrX9S1BwhvaOGS2bmOY2xmt
S3Y4i8nTAgMBAAECggEAEpy0vR/x7u532CjfE4mYpOmq0vX/Dugz/pbqGeJdMamt
gPvnA4XAf2uC3IEXgyRbHPs78Xcl3n4Na8RiWKa5OHziJZskZ6oAZM1xAkwxfRT1
jwd807UajZrmY8MmAoU822aMDBZkm9AkveyUaukt72VQhEyLO0srFgEloI+teyA9
gFJnGEkGmDIuLLQv6bDfYPEWX0hN2TRyPzfm1+AOnHZN9FfKyJdMgeUST9D8JrDw
HMr3i1IjY4k9gRUOHTL2b+1wjselrcCbJaJA9MJPufAO2heyHryyqExY4UhcUuFS
/1i4AiwDKJuaH8M/BufR7Upn/CdjgEX1tkGA/8+CQQKBgQDlPeUGPofuAuCa4Q4C
31HJ4lvTrEDUrW155tdOmrmdh5nQMhJ0Sn9us9d+C8RXWhu/IjctdIj0wkrC/xNE
C+0VHTglW5lYhV6k70+91kLbTndqfMYbomg+NRaaY8wR2kdvAr2tf5XYqmivgqMJ
Duqj6O0yKnmcpRpRccxbwxJ6oQKBgQDfj9ZlffQNU61k3kMKr2ZLCTgA7j4pwpWh
RQ82JnxVTYLoTgGtM8QX9JfbrFIEp09DNd3Pc601STBQlHT2PRn5sTRaXPOGP5jP
XBQTAjrBh/H8WR0HvIOmgLs7ncOEIUYQS0BWN1HpeRZzAbyTR/CZzWYIokAq1kfn
hlviOqGD8wKBgQDH5d0cQNLPXXr2E2HgZ1Qus1BXmFFAI6rfLch6JrnNAD3EKqWk
+oF8yx4SL7iaY1zmorNy07fJltMSjtMB91RZoQ0gpmtloYcSVAw5Aelyy02ecgde
eZRlCm4XWwbMWocH6l/0Ntk4AgEfas84SuWY4LhVkmxRiDcW5iDJs6UdgQKBgQDI
rCkrovqNd93929Bb6AOvORAvLatY+tQrFX1JAxS50UC/Wz4ABaZwRlqFkdFxYekx
EEoRK+l/GjonKosueLw3OEwhDKx/hdiZ0TInuemZzHh3Jlp7lkiqDYWDRuK4WNG2
UIXonfGF2+49v4JQxdN/izKab2Gf0gZrGVyi3jQa5wKBgQDRBY0Op4lRm02PCIVi
BRLIDMNzR/FDVCM7H1/SqB7fqqYAOKdvLjvOFXqBuHbw4JLh7Sxy1qt4YB3eJniJ
bkBBREpy/qP9s6kQARrAiWyRw/rCi6uwBejFG2f7EbT+QK8cxg9AIrZtzDyOMvEq
g9QwoqJkiXGpXNQe/aZL9V+9GA==
-----END PRIVATE KEY-----

View File

@@ -0,0 +1,20 @@
-----BEGIN CERTIFICATE-----
MIIDXDCCAkSgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBJMRcwFQYDVQQDDA5jYS5s
b2NhbGRvbWFpbjELMAkGA1UEBhMCS08xDjAMBgNVBAgMBVNlb3VsMREwDwYDVQQK
DAhOZW9QbGFuZTAeFw0yMzA5MzAyMjU5MDdaFw0zMzA5MjcyMjU5MDdaMEsxCzAJ
BgNVBAYTAktPMQ4wDAYDVQQIDAVTZW91bDERMA8GA1UECgwITmVvUGxhbmUxGTAX
BgNVBAMMEGF1c2YubG9jYWxkb21haW4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQDbQWSkjNFtGaoMw9MHySnxSy3GxP/jA998L8vu6HLvr/Q+p/jUz0GV
9ids5Jj+GSOJyHaFdm27Nt0mcdSnwhhrdmlERpAtKV7FyfneNP/gop4F2+/fdLd0
WkrnxKPIi7n007YzZVLF11YC3AUsxL/8H5es9xe/WBatOf78VhU3H5/kWjtslMpz
hOgphaUrXnEOU9RDeI/17sqcULGjcNxJu7R/kV1pHDSCi7YCLrazGe/gplm7/kW4
il0cm3aJMYpAss0QI/tGPU+bRS/gVmQQfC2cgFup8DMPHbPeGDzkRUT2ertEzvEc
n3bfB2KouIgNZ6ekHwZlT0rdyvTna539AgMBAAGjTTBLMAkGA1UdEwQCMAAwHQYD
VR0OBBYEFPpBBKBdolJWbI15Yvcn5DgJ0Zo+MB8GA1UdIwQYMBaAFNsWwk4/RPR2
uBLq3E8R1jH5Zsd8MA0GCSqGSIb3DQEBCwUAA4IBAQB32Rexzz+lBZ4JH8R1j/Hn
MiDzuoM+n3lhOaNP9NHOddpofOypSt60NvK4ejNKSvis6it4SiPtMCUMv/dxBzsI
AFYN9LfT41klVDZyD1vFaS/niIt4m1T4XR4x0P5ALjWqMWzKLEmFdXtN6OrbnORU
QfssTjbq/XgVOIKmwdbBheQJbIIDSNKt4sKH39yP4mdhl84vbklodXYXxOD7LEjw
ST2v9zsiuxCf2BXcXA3gmfJKFTib4CrrIvh9gHCvEyyD85psypmBuSovLSELBW2B
9OtFMKSqNu6pIdaLpNSxYnWbSzOeOM6ogPJ0QsPgkhhuhX2FA3DgIwF6++WCJEyw
-----END CERTIFICATE-----

View File

@@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICkDCCAXgCAQAwSzEZMBcGA1UEAwwQYXVzZi5sb2NhbGRvbWFpbjELMAkGA1UE
BhMCS08xDjAMBgNVBAgMBVNlb3VsMREwDwYDVQQKDAhOZW9QbGFuZTCCASIwDQYJ
KoZIhvcNAQEBBQADggEPADCCAQoCggEBANtBZKSM0W0ZqgzD0wfJKfFLLcbE/+MD
33wvy+7ocu+v9D6n+NTPQZX2J2zkmP4ZI4nIdoV2bbs23SZx1KfCGGt2aURGkC0p
XsXJ+d40/+CingXb7990t3RaSufEo8iLufTTtjNlUsXXVgLcBSzEv/wfl6z3F79Y
Fq05/vxWFTcfn+RaO2yUynOE6CmFpStecQ5T1EN4j/XuypxQsaNw3Em7tH+RXWkc
NIKLtgIutrMZ7+CmWbv+RbiKXRybdokxikCyzRAj+0Y9T5tFL+BWZBB8LZyAW6nw
Mw8ds94YPORFRPZ6u0TO8Ryfdt8HYqi4iA1np6QfBmVPSt3K9Odrnf0CAwEAAaAA
MA0GCSqGSIb3DQEBCwUAA4IBAQACJcOvM6YWxP6iLO9vfhNDIeko051KLraRXK0v
nmwcF0JIhbuo9NWI/1QeFYbe18sguA7s7M3G/Hz52yvRVKLlv/mmT7DzbafUfJ3n
AO35LaY5yRsJJB9eGYipB9IvwM5EyjquUQ2UUUVmYUQ5eyKd2cBXcB3Lu1tACE9C
yFoJiK+mTfnxwsmswj/m1N4VNNCOewgxbL1WjTz0goYtVSoC3Uru3J5Z2YPZMzQN
F8ql+NnfrE1LbUCN7+ukxpA/Jgl0b2XjVUGVw3BRPvT6qaF0pnP9wQ+hIhYk1Rut
WxYtVXbtFTgMwQ+igIx3q4JmloFEMb6ntKhWR4gXCyAPAWzH
-----END CERTIFICATE REQUEST-----

View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDbQWSkjNFtGaoM
w9MHySnxSy3GxP/jA998L8vu6HLvr/Q+p/jUz0GV9ids5Jj+GSOJyHaFdm27Nt0m
cdSnwhhrdmlERpAtKV7FyfneNP/gop4F2+/fdLd0WkrnxKPIi7n007YzZVLF11YC
3AUsxL/8H5es9xe/WBatOf78VhU3H5/kWjtslMpzhOgphaUrXnEOU9RDeI/17sqc
ULGjcNxJu7R/kV1pHDSCi7YCLrazGe/gplm7/kW4il0cm3aJMYpAss0QI/tGPU+b
RS/gVmQQfC2cgFup8DMPHbPeGDzkRUT2ertEzvEcn3bfB2KouIgNZ6ekHwZlT0rd
yvTna539AgMBAAECggEAI7akIRV66215wHiJQERpG4+mVjEyiRTRa1YRvsmIJzie
7THJG0jjIv0kcN1Pelw36LKJc7XVq+AE58U04VqBRcfU37UquOB7OnZqx+IUJ8/1
M3keumQ1mbM3bkcecoUn9hQiIn8Hm4g2z2JtSVyG9RdkSl05NgawMuk2en2/GOo1
jC0F9R/TVNwnTacg9mi4K0NEjSH7SLUsckT9jokbaW+Dm7vlSR8I9vOIZURZhT8B
0NOW9hdD0rzefNCCNSXCSyY8zUr/uc+D8yryhba62MIp39cSlpxunVN510WexiuB
78ukCfyY7hkjsDxaolgrt1JPenYjvaOnYGLg8WHolQKBgQDinXQCfoyDj+neGd1T
KJ9WO4W7TiMsCN53yWeHeiB0Cq9VhLYZ6y5SzVz6NCsAJLBGpPSy/lOlUhR/aQ6N
0HB+2fsJ/syBbUtuqwkoQPq5PZScVzdZdFob0+2hCCCF6TuFkA2eY3dCTs141GQJ
tfPny+5uSdRwO/goPPRrAakmhwKBgQD3r6LCh+CZ2QrP4yNONXNVh69uDuimN7r+
l06PyAe4pHeErClxLQI9XU2jG90h4dS2Qk2VJXO2JrOcxId9IEINnBZehor8veNg
MMtlr2U/EHbXIMNTqEOjQ3uuuFb3nXr8EMBU7vLX9pASrjB00l/CZK1pfRLG/h3e
HOMSriy0WwKBgB62XCyiXgTOklGJi9djYATd2EgEVPv4z73ITAGuaYuQjya178Af
gY2zS3CVdWZ1knZgkNFZapizQRfrcw+BOl3WyREXuTupRlnfUERmWhSU5fkyUMwM
2tF+rWvvoAjGDU0SsuXOcTFJYMuJbW1rfXzixJOp6eK0HfPGHxIJjZUtAoGBAMZZ
xgrpC4nJEWqH6GciUNmGzothrxglez+U5hoow14vf3Mk+A8lTyzbQmhD0SPoGRNY
J48wLekKNz5s+F/Q7HS/sf5C2p0qaCNJECm/e2I0iicfmqytDHV7flneT+7+E1Y3
B/88WAdw8dGz4yQ6sOsY+vKGcfof2MVd9s6n4y8PAoGBAJE0X4QG4Y/JK2BuqNMO
McrbaoqH9y9DKBjly1yFz6S8K7niZ7n8z2FdbX86pJCxvUMnvFrd94HrYTKSQgpv
snTH4kQENzDgUqvm0KP1rq09UQM0ZJpTgBvtWf/IPFtP6PxQh4yauyJRY3sx3n3q
hlm9Rp3UwbYZM29LiiVpxDTi
-----END PRIVATE KEY-----

View File

@@ -0,0 +1,20 @@
-----BEGIN CERTIFICATE-----
MIIDWzCCAkOgAwIBAgIBAzANBgkqhkiG9w0BAQsFADBJMRcwFQYDVQQDDA5jYS5s
b2NhbGRvbWFpbjELMAkGA1UEBhMCS08xDjAMBgNVBAgMBVNlb3VsMREwDwYDVQQK
DAhOZW9QbGFuZTAeFw0yMzA5MzAyMjU5MDdaFw0zMzA5MjcyMjU5MDdaMEoxCzAJ
BgNVBAYTAktPMQ4wDAYDVQQIDAVTZW91bDERMA8GA1UECgwITmVvUGxhbmUxGDAW
BgNVBAMMD2JzZi5sb2NhbGRvbWFpbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBALcfit31Zsj4Dm8vBLaKwrO7idPNoxN7jUQTPdBR5+EA6g1bMZtyKqDS
Tio/FR2BnKGoCG9eRmz7yIdN/ctjipM/f+c44ElxWr2UprJihfaeJtj0yDwxAhWs
xdbzGTBAkz58QoA0hOAHk8jS7n5jHClDtUHLHpawBxvpIbSypRUR7P1BOXtKvLvC
AScY31sgbqXoyerH1x6KdAq+H1o8ohs6UQhF3x3fceY0w97WOK4GNz6JKgiguc8Z
NmJt3r/NotjSqfDHoseUmCLxY1nZgRDhC6yOlAhgZt3wU6vcZBGZod+RK7dPqb6d
Z6awyuZYv2vY4ck+TQwdbMQX6pU4g1MCAwEAAaNNMEswCQYDVR0TBAIwADAdBgNV
HQ4EFgQUAioPxAkTUXOTQWmoxQi/KDtV5N8wHwYDVR0jBBgwFoAU2xbCTj9E9Ha4
EurcTxHWMflmx3wwDQYJKoZIhvcNAQELBQADggEBALJDxgGqslk6HsI8JIM5G3/v
OltyUH01kx4zVk5Vmfd3kYsX+SkpfvShKTIuKTYj9mCO8r/tj71YYRobkGwZrzsp
MArGJYBjgj1m0UyCyK1YaHhUcHtp9A+xJP1bwpsvUGD0ltRvvB8eBf7A01+pCtq0
t6Bz3IZGJbhtAXZMq2NT7P7T/hjpQCpJrXzNNNu54tFBzyPq9QMz4dufUHEetTVk
YwA1eXPeuAfau5azxOpePvB/iMqK+A+i556+BkOv/TImLeSm9dW1MqYLuvOnLsfA
tmZLgm8OUlXFnjXPXjT4qKszPoBQV6zEAxC58LPB9CU0Ka4UIOAjpkMIspU6ZBA=
-----END CERTIFICATE-----

View File

@@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICjzCCAXcCAQAwSjEYMBYGA1UEAwwPYnNmLmxvY2FsZG9tYWluMQswCQYDVQQG
EwJLTzEOMAwGA1UECAwFU2VvdWwxETAPBgNVBAoMCE5lb1BsYW5lMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtx+K3fVmyPgOby8EtorCs7uJ082jE3uN
RBM90FHn4QDqDVsxm3IqoNJOKj8VHYGcoagIb15GbPvIh039y2OKkz9/5zjgSXFa
vZSmsmKF9p4m2PTIPDECFazF1vMZMECTPnxCgDSE4AeTyNLufmMcKUO1QcselrAH
G+khtLKlFRHs/UE5e0q8u8IBJxjfWyBupejJ6sfXHop0Cr4fWjyiGzpRCEXfHd9x
5jTD3tY4rgY3PokqCKC5zxk2Ym3ev82i2NKp8Meix5SYIvFjWdmBEOELrI6UCGBm
3fBTq9xkEZmh35Ert0+pvp1nprDK5li/a9jhyT5NDB1sxBfqlTiDUwIDAQABoAAw
DQYJKoZIhvcNAQELBQADggEBAFSIMWWmF5dKNZK0+Adq4qmuT8e/YEues02gp1gn
kESG1UG5NIIuBFnznLS9LD5JrQ5VhhL6GswyLGy6KtTMuzjhHqQnxomw7ERUHHo+
C8U0ZxpnfoiHcoJ2laoKsaxjtiRQLI8B72GDj2zsDR4qGpAb2F5AnWCWbVV+Elap
cAvNSulWTfkatSw1SM816N4jWohgqJO8nruT2PJ6eUGpetYqqZsRAfQsOGyTO/AS
C7LBaflPdOOib9X8m71G4fJgDylweqm3VOEToPl2bI80VKCKPJemjlNv5VU/ERbi
PfGFH7dpL2/SK9sNkUGX/90sgRoFw2xMUjxsO8tdRPKCeA4=
-----END CERTIFICATE REQUEST-----

View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC3H4rd9WbI+A5v
LwS2isKzu4nTzaMTe41EEz3QUefhAOoNWzGbciqg0k4qPxUdgZyhqAhvXkZs+8iH
Tf3LY4qTP3/nOOBJcVq9lKayYoX2nibY9Mg8MQIVrMXW8xkwQJM+fEKANITgB5PI
0u5+YxwpQ7VByx6WsAcb6SG0sqUVEez9QTl7Sry7wgEnGN9bIG6l6Mnqx9ceinQK
vh9aPKIbOlEIRd8d33HmNMPe1jiuBjc+iSoIoLnPGTZibd6/zaLY0qnwx6LHlJgi
8WNZ2YEQ4QusjpQIYGbd8FOr3GQRmaHfkSu3T6m+nWemsMrmWL9r2OHJPk0MHWzE
F+qVOINTAgMBAAECggEAApHf2VD0aGiWwN4VJllyW9Xxz4LPJ/RWNxJzQR7Z7rEc
SvCwx9PFbMYjkHmb9CYmZELFgrtjdWvfh6Qpph0kMjNnbTLB1Wk3H61cEE/MPa0N
fxwisGzA1zxtkFOPOTttKMJsp0ju/m4//cb8AtKlCaBohRJZJqTOWYifHCtcbRwl
OsSh1hRTJfLX7KH3JRHTGv3M+soYD0PCj3/5C2GZRdc0w8WGmp55pQWf13OmYbb3
oVXZAg9aZmaFV1oeVoRAVqS1WZNiufsnbaOjzNrBoz+FbZRJCu8QFAawKx2yU15u
Svsn6mq1jp6DoxzWtP151ZG4V+h41UIMx4KwQqN46QKBgQC3iwe8eIbV/ygIuHGe
S2vNxhBd7AEQvRwE0p0rgSPOSYpQz/H8F4wEiqWtvOpeoiD2CEcTcUgAPNwGxUM7
wSgk70DBDjEy4a76Pf9ET60RFNQn6sv0pKX7B+/s5A8m0A6D4uuBADxrNYI7etR/
hTbNqMBhlODoGZV1PpWhJjUUOwKBgQD/ahRa4bU5eGE42XWvnOTfqoLyuFxgEe2+
1selHXnYgyR9UUVHuEgp/1JjWpiWY5cqIseZ+JXq75ejf8/JF133zdVFzaVM6yKo
HJje6LpQwJP6+KXAXnAgNfyPzu/wKYimg9tVfc+yEkkrGyqIm9d6gPG5EF6irWvQ
rLW03q3TyQKBgEj49bJxGOqr73bIHiQZSFsfjBJLaoEFLsacFfDd/yZdBqjqhAL+
OaT0mrpgia3mN8SZteh8+WtexvvKIdj4CsXkeZJH2jeokrDbRUobg2tvJIpaR4yU
iYkstq8wXPXJcnvtFETNmzfkpkqPozyv8gICPbqOPn0I7usWXtcbIa9RAoGAU3+p
ceCR71zUY9Jrr+KZzCkhMBpnUJzr3VS35dnSCJ8u4a0c+gpbxScMFyD5+0hJlePS
3xouYKS9LR1On439EVMAIxbMsG26Yb0fmNf6eQXMGuMIxO/ath0QGS9sr1XUr6Mx
pCxCJxPlSatS52ATPKBE5dxdI8+QDKM5sAyQRUkCgYBWu9dBiZVHQMAM3fwRXH0j
MUxkvZCqXN532oY/DzN7KSpEidj/pifFSkfCtxSsMNYEt8TjxQ3aGngbo3KLLSgR
KHveNNAC/cmsm+vOcwkByegxg3V1UjMBZZPDa8D5+EjdyMmw644kYsY+/MLaeC3f
+0AkmcNkkGEMf/vTkitaGg==
-----END PRIVATE KEY-----

View File

@@ -0,0 +1,21 @@
-----BEGIN CERTIFICATE-----
MIIDczCCAlugAwIBAgIULbsCcbfly6gG1xNKgw+pd3Mpl/UwDQYJKoZIhvcNAQEL
BQAwSTEXMBUGA1UEAwwOY2EubG9jYWxkb21haW4xCzAJBgNVBAYTAktPMQ4wDAYD
VQQIDAVTZW91bDERMA8GA1UECgwITmVvUGxhbmUwHhcNMjMwOTMwMjI1OTA2WhcN
MzMwOTI3MjI1OTA2WjBJMRcwFQYDVQQDDA5jYS5sb2NhbGRvbWFpbjELMAkGA1UE
BhMCS08xDjAMBgNVBAgMBVNlb3VsMREwDwYDVQQKDAhOZW9QbGFuZTCCASIwDQYJ
KoZIhvcNAQEBBQADggEPADCCAQoCggEBAN5zIbvVvMJiZ/WLpSeVMeiiv7dSPr7t
foxfyQBObbmkuEBzVodrIqTRz5dZtPwQsMcUb90ICwdqvSxcLSalRtB+XPRR805B
fa40e3sz1RxCbrtnCfBESQ8XGTLBoAFy5qQjnPxJN25/KJEpwcPeKRcsRZtOPz8v
cN7Zr2o/+EhYI7n6OHWorQXsiu8+flF7jx6R+CkvoUSZgPXc4YrP/kxCRvoIteNR
ZB2U5VO0gRZYxJW0u3eN971ECon+OWZA+zEtaWfHfCATaR8UHeiAIcMlg115NGmW
eS14DfLvNwzXdzNlQtGYtJB5ALdpkGv6rMkPbQd3Do5Muhe65vCzvykCAwEAAaNT
MFEwHQYDVR0OBBYEFNsWwk4/RPR2uBLq3E8R1jH5Zsd8MB8GA1UdIwQYMBaAFNsW
wk4/RPR2uBLq3E8R1jH5Zsd8MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL
BQADggEBABhYFDeiQqUueMaVyOEpagf7Nxmqdt1xWjbsY8JbbpfbQfCBZQJRXbzO
Q8bCDFCxqzXThu8mYrdXKCjqvlyinuwNJme904yEHNlIj5apVz9ZUiTmxxcI1RIA
AiK3LMag7Ymi0TLFgO0N8U4G2aeFLE8zfLVT7PhQN7ZUcYY3xpwXnyUkDpFYUQhh
jEosJWq6n3Bp7eAXhXb8iPdEdWoudZVVOXrbnIOMny0EVyAoUhlDmyJ/PBK4gD0a
str3BXbM+RjcmRQPcnYwjlA0F4yQ6etuAr4NzxWZCQUvaTQRlSk5OlpQY27p8AB/
p4+VynSYQQxfw+t0xGC2Pd5cxM7i5eA=
-----END CERTIFICATE-----

View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDecyG71bzCYmf1
i6UnlTHoor+3Uj6+7X6MX8kATm25pLhAc1aHayKk0c+XWbT8ELDHFG/dCAsHar0s
XC0mpUbQflz0UfNOQX2uNHt7M9UcQm67ZwnwREkPFxkywaABcuakI5z8STdufyiR
KcHD3ikXLEWbTj8/L3De2a9qP/hIWCO5+jh1qK0F7IrvPn5Re48ekfgpL6FEmYD1
3OGKz/5MQkb6CLXjUWQdlOVTtIEWWMSVtLt3jfe9RAqJ/jlmQPsxLWlnx3wgE2kf
FB3ogCHDJYNdeTRplnkteA3y7zcM13czZULRmLSQeQC3aZBr+qzJD20Hdw6OTLoX
uubws78pAgMBAAECggEADwsD7kljQe8le5sgpVjqbpwVUSB2AmbAhsQ/E5u6KAwF
5ingLjkzA9vCaS6vInELtPLI9WgPvHkqtAWQJUuXZEF49MOKXuTnF5d2ydtn+OJc
ANiHeTpZvHQ1IO14h6onA1UuaETLqfFeCdVw91drOb6lmGQsVJAKcHxetFWa6zCW
aGoqPDOkc4MfLzrhrarTRYY4SnATfpVDU6BQTNYPtogkejzTfhelrvBqWyIXDnPa
kLxRRSMY1f0uT91IkHfPqPi23V0EWzhKAzzfkLm/wnkp28lQp2dvckQcyq3N3/eE
leqpFabxNsvor/PQjB49h3ya9JgjO8RWviMtavkLRwKBgQDpTHARAUPlkBgwaGba
RvCzH4O1wE7CGF1ZQLrCv1lZlv7vAbKuT8z3DtHajdTUF68AztVYkidyrzAOvTkj
+yb9KQddMPnVnrJnlVlUKwbGMv/H9UDd5Z4wKkhkSvXW3u6RSP7p3Ai0NBX2VDQg
EGhHLHAkC7MHIYdkwfrqsK5/EwKBgQD0GHHZrzcOf/fuGMPqCpgdHZEOoiKR0ChK
Ms/P7ZMikvjCbDbaZ4u3lBugtKVpKUNGVtkUCOu9fYN3WLxZJfjejsjAplbKT4Dy
dFuuV9tC1tYh/FCA8PyV7IFIybyif631npDZdsPruExPzzPQ1mB1Qhx+3uD76Buq
WKAY0pLEUwKBgF0Pbox58rl5lwyIOK7NKWpqIcG4KjJmQaY+mcDhTyTbhGmWRc4e
auYJ9U+2z7Sild4+ov+nnTC0DPl0JXzizBSj7xoPVTkPCp8jBfT7DMK2ySzb+boJ
w+X2l9XZyOKjHoq5kWV7rcUkGbaetAQuR0pMwZa/S/SGPVnFvu8q9xAdAoGAZn31
IBBAL+hvtBvV92mnYWJOzDQsC8m5gR5Av+/jffr0VL6XcbFUqyqXRy1S3wsiYmCJ
Ga59Pb17/BrYSx50lw6hILM3cg9b93IAJP5i5HfMxcxqCRonFNSPnH6IpDq0UpPY
AleqAEoMUN6RxTiem928lVEEawGUzDwWTRXt5l0CgYEAycUA4UwY4YX79LOwdS9w
mRJZytHYLNCalWU/pNQ14Ys37AQoP24LLSQQxmP1qz0pCtjpYDWVXt1Wx3KE/Gww
Mk3t5c6u3aOqm86cWGfjj+E6cL5e2TCqmr5B83nd+K1/XgvMVj9RjI9K/kbolfEa
y6RhFFkoV4KOmEMHGazVRzM=
-----END PRIVATE KEY-----

View File

@@ -0,0 +1,20 @@
-----BEGIN CERTIFICATE-----
MIIDWzCCAkOgAwIBAgIBBDANBgkqhkiG9w0BAQsFADBJMRcwFQYDVQQDDA5jYS5s
b2NhbGRvbWFpbjELMAkGA1UEBhMCS08xDjAMBgNVBAgMBVNlb3VsMREwDwYDVQQK
DAhOZW9QbGFuZTAeFw0yMzA5MzAyMjU5MDdaFw0zMzA5MjcyMjU5MDdaMEoxCzAJ
BgNVBAYTAktPMQ4wDAYDVQQIDAVTZW91bDERMA8GA1UECgwITmVvUGxhbmUxGDAW
BgNVBAMMD2hzcy5sb2NhbGRvbWFpbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAK8bG+Q0Ffy7mHyYV19pmCHlvSDqt/3SC/px6E+ChVJhhdezecfM6B50
jlhEzZCnUP4WJY3pFcnoT1ot4ZMfzST36UB1rF782VIN1Tw9UMITNKB+OQD8g3b5
2jKXcE8T9+YWQNdjW/UOHbTPcfioQ5CqwVJ0Mdtkvdia+lDPUQFZQLxSqSWpbCj/
7zIuY6c4QIBcvCjFF+4Yio5aJ1+6eeoA8fvesqKKZ1LVYOiBMU7a9DZVng+m9TGK
m4+L5R0hsvPUvRuIgZb7Hs3lAmripUDeunjEz2hdrYhDg/gLe3ZxoatZ/FfVOGai
uGhQxT1xFwnCZUJ3y+aXbneGRoIHLQUCAwEAAaNNMEswCQYDVR0TBAIwADAdBgNV
HQ4EFgQUHHVuri9UsBTZB/V1s5wsj6rpfUAwHwYDVR0jBBgwFoAU2xbCTj9E9Ha4
EurcTxHWMflmx3wwDQYJKoZIhvcNAQELBQADggEBAFViLrjE9ajSHpwnhFp1vCJB
jXknhJiM1aK+fJuMmu0w7EcIzbLxV3Ciy+qFmYWLruTKCGJHRD5mLFkgU5EAlGXr
tUh6IwdHETYPfIjtFI/1gPFM1MhosCiaJ9H459O8bHvez2p3gKklAH82tG1ATv6p
phtxHsazRGn79Qixq6udF4k5ZxxqxxMYcQnTZjJPM0E5apPS2RgRYCa6wjxORoe6
06XarDKR8Ynbl40IxiQhCl+IAhX1hq3J9Y0DFyKYTtklU6xBpkqLpUpzB6LmeeKR
OqPC9rAx+ZPYgBL7lnM2GvFmbtndQJp4BqwTzwove+mso3Iom/AV8YFqxN7PF18=
-----END CERTIFICATE-----

View File

@@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICjzCCAXcCAQAwSjEYMBYGA1UEAwwPaHNzLmxvY2FsZG9tYWluMQswCQYDVQQG
EwJLTzEOMAwGA1UECAwFU2VvdWwxETAPBgNVBAoMCE5lb1BsYW5lMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArxsb5DQV/LuYfJhXX2mYIeW9IOq3/dIL
+nHoT4KFUmGF17N5x8zoHnSOWETNkKdQ/hYljekVyehPWi3hkx/NJPfpQHWsXvzZ
Ug3VPD1QwhM0oH45APyDdvnaMpdwTxP35hZA12Nb9Q4dtM9x+KhDkKrBUnQx22S9
2Jr6UM9RAVlAvFKpJalsKP/vMi5jpzhAgFy8KMUX7hiKjlonX7p56gDx+96yoopn
UtVg6IExTtr0NlWeD6b1MYqbj4vlHSGy89S9G4iBlvsezeUCauKlQN66eMTPaF2t
iEOD+At7dnGhq1n8V9U4ZqK4aFDFPXEXCcJlQnfL5pdud4ZGggctBQIDAQABoAAw
DQYJKoZIhvcNAQELBQADggEBAIGqHHJ/J73v/Jz2vUXFwHtNvFfd8N6PFmVJuDUu
07OikeFrtvluiTu608uurjvLr3gpY/0a7BORZDjg3UdK2kADQFsftKoNWYlJRga5
4i33PI6bq/lQGVaeZWEqJli1vHdGvv9nFgd2pnXJfhhymaPSpXx7dpEDm1YQ85Dw
wcLQSX41bobcMqgFzrAO8YiYLzu/sm101DmO/IuCJ/HPFKlH3we8owGvEEgKembI
eFj5JzeajYsXT8aK6/1kmYF/I38MiNaqTUgc1hezxRe7HHF2lkDDNrrBmH9H2O+i
lKeMqHPnURvXha3C48NJ9mvqkvbMi0xsYoLJoQ6Nj7kGC/A=
-----END CERTIFICATE REQUEST-----

View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCvGxvkNBX8u5h8
mFdfaZgh5b0g6rf90gv6cehPgoVSYYXXs3nHzOgedI5YRM2Qp1D+FiWN6RXJ6E9a
LeGTH80k9+lAdaxe/NlSDdU8PVDCEzSgfjkA/IN2+doyl3BPE/fmFkDXY1v1Dh20
z3H4qEOQqsFSdDHbZL3YmvpQz1EBWUC8UqklqWwo/+8yLmOnOECAXLwoxRfuGIqO
WidfunnqAPH73rKiimdS1WDogTFO2vQ2VZ4PpvUxipuPi+UdIbLz1L0biIGW+x7N
5QJq4qVA3rp4xM9oXa2IQ4P4C3t2caGrWfxX1ThmorhoUMU9cRcJwmVCd8vml253
hkaCBy0FAgMBAAECggEAHTz6kEU+MqAkWxGY7T6Vf3t79AYdSM2M4Hmqn7QcjN/p
2FWIjRsi2wr9RbHfXTsC5BpQlPyJfdhDf7xPgSB7QaP/l5rOeGHh67iRlWhrlqxc
SjwpSoffb7tSesYco6ei6hFnLE/T5/w+a5WD41A9T+ejNiBevtJ4fLWL/HhRf1bf
3d54Pt/G+mZj2LvfgySFm0/50K2Qf+L51VcydUEE3yxH4H9t5aEZL/h1l6+/SmCb
ZTk4UTuzImcm8jqNQVVfwmJ6zs0/kl3KnEnUom6FdRQu2Ur55lHWwSJPExnPvg8o
w7UHy+Oz862rjFDk+3t9oJ0nChdYZPcsdDBfDgrJgQKBgQDBHEgkZ0DiKNQDY7vs
7t5bowDqhwxXvHARFF8uWPHkOkB50t1/FAfigsNOw2eUBQV7HvxwtOmlROK+tG6T
a4m1Rm9DoYbFHqbas+oPwRgt7YHA5XOLB4EOWC4AqIv3RZsc37EwxAH0eO73s4/c
a3wYUSsFIvbhvh82bLdA+pYb5QKBgQDoIcasY3O/i5dFKx37gPoUB+AP2CaIz1h5
SCyGnplfbnSr+6L8Fpex0jUsCeKLq3uNTrsXcnXnv6+TFfxGiZlGgiKoKhF+uBG1
9T3PQxZ5xJkrUsEV7zhZB65jNFckX0b6QntmMJ+Lh0rTWfOG6Ft7OKGtS0PAZIIy
xSVE9rr6oQKBgEkH+hySVA5z5GJ3yG19lOhRCBqqAjf4EuXSr4BmsOxgP1wTLCNQ
Hv9B9r0F11k6YO1ENbImKSqQl7QJprvn8od04MVSBBbuVanmWsGkhBFyfhzGaeEN
cHhNTvB+zZgxYc0Up/1KU3byeWWCKgjxOVg08jEaHQYYkdNSYCeZ3UUlAoGAcHj9
FEXTrXlrP/5WNqgVg2MVc1fdw+gDDDCmMkviMFUKftIb9FzV/zjEvqPDer0JzjvZ
dtDkw/cikPfUFjFRbNJdDHHlrCpvmmRLIIN2/mT9efpMx93yxWBtZG/V0S/A6j0Q
IUFp7GcPIDyzPCiVOq0D2T1ghHWuh/7xwepySkECgYEAgMx/+pXyxZgV/oPo8/E1
Vqh2bANwKr3rNnsM0rL1C7IuKvU0x6zLMNk0sub3BWndm5M5ya9P6jXOORTls9We
UXWyJLWZ6cqM2M1LPye/8pL56ZtlqfLerP5ZuoR3daTAWaslANg7SUNtLG48bCuJ
TjNlLKcJAQ1NlDkh5uTvJ8o=
-----END PRIVATE KEY-----

View File

@@ -0,0 +1,65 @@
# Copyright (C) 2022 by Sukchan Lee <acetcom@gmail.com>
# This file is part of Open5GS.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
tls_sysconfdir = join_paths(open5gs_sysconfdir, 'tls')
meson.add_install_script(python3_exe, '-c',
mkdir_p.format(tls_sysconfdir))
tls_security = '''
ca.crt
amf.key
ausf.key
bsf.key
hss.key
mme.key
nrf.key
nssf.key
pcf.key
pcrf.key
scp.key
smf.key
udm.key
udr.key
amf.crt
ausf.crt
bsf.crt
hss.crt
mme.crt
nrf.crt
nssf.crt
pcf.crt
pcrf.crt
scp.crt
smf.crt
udm.crt
udr.crt
sepp1.key
sepp1.crt
sepp2.key
sepp2.crt
sepp3.key
sepp3.crt
'''.split()
foreach file : tls_security
gen = configure_file(
input : file,
output : file,
configuration : conf_data)
meson.add_install_script(python3_exe, '-c',
install_conf.format(gen, tls_sysconfdir))
endforeach

View File

@@ -0,0 +1,20 @@
-----BEGIN CERTIFICATE-----
MIIDWzCCAkOgAwIBAgIBBTANBgkqhkiG9w0BAQsFADBJMRcwFQYDVQQDDA5jYS5s
b2NhbGRvbWFpbjELMAkGA1UEBhMCS08xDjAMBgNVBAgMBVNlb3VsMREwDwYDVQQK
DAhOZW9QbGFuZTAeFw0yMzA5MzAyMjU5MDdaFw0zMzA5MjcyMjU5MDdaMEoxCzAJ
BgNVBAYTAktPMQ4wDAYDVQQIDAVTZW91bDERMA8GA1UECgwITmVvUGxhbmUxGDAW
BgNVBAMMD21tZS5sb2NhbGRvbWFpbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAMre2PdKySqe+wUz87NIBO4agYNyy6E/Yb1sOBDdAzaqIZcFLxwwPl0c
zV7tWYr4N/7ahiVi4b8tPrHnOHEOuVwrzhZ9SKaKgo6/v4rdEYQsfWJ/q95bAutJ
CyPv6FtssxWNuNfs90YHYANhtWfNr+9cYPfYjBKxtIazLO/Am7IpedPl2nCQzy2i
RGaa6i91ihmOCcy2GmnZS+ri0pGJSQqueogQUusQQTTTcbyPfNj/O6LvllfxcWbu
rC2+cP1vidMQY3pivzoAjqWBcsiZWXvggslyQkV6xU4NCEKGzXMYNg1cx8XY4MIW
SLuKfPBqndJG6v6+7zO24kqsA8zVuy0CAwEAAaNNMEswCQYDVR0TBAIwADAdBgNV
HQ4EFgQUlWnPImH1sbToftbtqjQoyKAqG94wHwYDVR0jBBgwFoAU2xbCTj9E9Ha4
EurcTxHWMflmx3wwDQYJKoZIhvcNAQELBQADggEBAKVuWtSm3SAJxrasL7bvyuWU
lUv4+KE4BaIKsFFBOCGHyAShMmq8Bxf4wItER7VUiJDNMU3q+kzI+FSeDsy+nVSp
oC5Ar1PUzeHsalEleBjn5j5cEt/YHsvP8bUTxGanVM6SM/YPgJEV3/TyY6M94sxf
5Dy8MYVQk3WoQ5d++u9dxZkZw2lU1BNSzppSBpVqcEDOFN3su3BywAfZsE2RdvpV
l7cZzwF/GTBK9XeJAnQPBH/MwAvcIog+BqpsXN7OlhJ/dK/zR71dsV9+dh0PU5X2
5eqgB2JWTjduIWqfVFjfQhhdRNnzqSf+LwPOJZe5qeiTrd2rdKL+T6FB3F+hGrU=
-----END CERTIFICATE-----

View File

@@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICjzCCAXcCAQAwSjEYMBYGA1UEAwwPbW1lLmxvY2FsZG9tYWluMQswCQYDVQQG
EwJLTzEOMAwGA1UECAwFU2VvdWwxETAPBgNVBAoMCE5lb1BsYW5lMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyt7Y90rJKp77BTPzs0gE7hqBg3LLoT9h
vWw4EN0DNqohlwUvHDA+XRzNXu1Zivg3/tqGJWLhvy0+sec4cQ65XCvOFn1IpoqC
jr+/it0RhCx9Yn+r3lsC60kLI+/oW2yzFY241+z3RgdgA2G1Z82v71xg99iMErG0
hrMs78Cbsil50+XacJDPLaJEZprqL3WKGY4JzLYaadlL6uLSkYlJCq56iBBS6xBB
NNNxvI982P87ou+WV/FxZu6sLb5w/W+J0xBjemK/OgCOpYFyyJlZe+CCyXJCRXrF
Tg0IQobNcxg2DVzHxdjgwhZIu4p88Gqd0kbq/r7vM7biSqwDzNW7LQIDAQABoAAw
DQYJKoZIhvcNAQELBQADggEBAD2/tFJ8kLsl6wC5hPVOETTAQ/woSb9bte4rd40k
FlqImQy0kC0xf5CUfCNG4lgniq+t+HxTppjSkL4731o7enP0kUSnaKtY2stzR1pq
DxUlP0uZfqgDaBaAmS2e4e3yKY9q7yN5IA7QZYDiFBMxOSvdwmgxp0+BXdqxNy+w
2o3XfspkV0qg97VoHL7w757y8ZpNrnOPahUpsycCxhKPhMx0K0ZOCZVEx44PHsv3
4yf/8bgAfrOttWp0dab3ySqcledlGgsiOw4kRUIrMDl/07lGpuKkfpt0qfLukKc4
7qzujs2PYSligOrXE2Hd189fNEZWE4Rw1M6ZaDbHCtnAzCI=
-----END CERTIFICATE REQUEST-----

View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDK3tj3SskqnvsF
M/OzSATuGoGDcsuhP2G9bDgQ3QM2qiGXBS8cMD5dHM1e7VmK+Df+2oYlYuG/LT6x
5zhxDrlcK84WfUimioKOv7+K3RGELH1if6veWwLrSQsj7+hbbLMVjbjX7PdGB2AD
YbVnza/vXGD32IwSsbSGsyzvwJuyKXnT5dpwkM8tokRmmuovdYoZjgnMthpp2Uvq
4tKRiUkKrnqIEFLrEEE003G8j3zY/zui75ZX8XFm7qwtvnD9b4nTEGN6Yr86AI6l
gXLImVl74ILJckJFesVODQhChs1zGDYNXMfF2ODCFki7inzwap3SRur+vu8ztuJK
rAPM1bstAgMBAAECggEAXQJfab0NTq+VuXRwmfT+YaWgVEIorrRO3NgFOmIBq6nD
faggSaWqqejfFVLvNyIHFh5c2z4i7pHRSSIPg/HytJnWwgPNb6FYKxcpO4KQGc+F
6sdK5kZGp9WUuHSwzF2hG1Qe90wKsD4IXHSLBVzNeQma4XaT/awgbpMuGnttRngh
ajl1hDY0jymfPoZnY4MpwnewiTmAaTNwCob75u+wQZ05m+XySt1rlTf9VS2z+T9L
EsKieuLb00pbIc78ht6Od64cfONorsLs5IW8m7SBVDQMDwKeowV/Ny0/osxUQoGn
BDQvuHymUDklVowPs46kxrqRKbKVJCbjGElAoWNftwKBgQDbsKvHtvA4RH3oJ6vG
XSoc/9giEIx76XPEKzwfLM80IxOsHH/+oEC3O1ymgak1i4wm0m5cOuw7aZgx6mvR
aNwyK6QAVUSjoMcfVaiYx5kg8c/8l+AGOuKWraT8IALZVRO9A232NnxGlwE4Gg6c
K6GY3kQalqpmQ81JA9dKjxObnwKBgQDsZoUXP3Jg1r7bScdskShm4S8ozLibZgPr
7+aDSh0N19wTvj4c2EgFxDeF4Qqs2rcZWMLbAdwMYVqhvmy/WmhuopD1YD1Zuuhi
wx+QMc2dgnLYH2i4Dg1wOLiW+nm0EHihu25Tw1teVjc9GZa222/zjDHP4Vy0vcv/
ahweZBg1swKBgQC1FHuTI4v/pRzutXxWBcbHnm6FLYTOQg/k+woUXDfyLpNxgxBR
Tb/qCCkHKcrSUtLT0RGcPgkns5L6WdJDCp6tT+FfUOlBwi0++7j7LVJfoFGiT4Ed
QX4xWrGqC6ytfP3HB0Ok9SYcfS1JE9lFCoWpXlNeYx/TKUHVVDApyaMM2wKBgH3l
Yz+sRGeaNe5m7lO9Qnz3s7vQuwfXXoNKMcL9t1dl/AhvqniGHmUjyEX+QUco+5X+
FVe5N81IE5JL7XJC3Zb98KEc7c9ZoOTn8WlDfLNDg5HhuE08/p8jNfsBzcq9cuD/
BpSJV6F33NcnR4J+frJ/mQ+Sf2KqKXgOtIbi25nNAoGAPfC01YgfEREH6n+63dBk
UFzQvMGSXx0xlEfCyyBzDi++dAotl/uU/8tHwfZQ+jPZvxytplwL+H7GekFCBJZD
uPyBfJ4IBwJFMlnYbwk+g49Ji4NGNN+0c5O9GdPyfo5LbeZTHyH2mPWOZAf6Zv7p
IOz39RluHAEgx7YBF03gtyM=
-----END PRIVATE KEY-----

View File

@@ -0,0 +1,20 @@
-----BEGIN CERTIFICATE-----
MIIDWzCCAkOgAwIBAgIBBjANBgkqhkiG9w0BAQsFADBJMRcwFQYDVQQDDA5jYS5s
b2NhbGRvbWFpbjELMAkGA1UEBhMCS08xDjAMBgNVBAgMBVNlb3VsMREwDwYDVQQK
DAhOZW9QbGFuZTAeFw0yMzA5MzAyMjU5MDdaFw0zMzA5MjcyMjU5MDdaMEoxCzAJ
BgNVBAYTAktPMQ4wDAYDVQQIDAVTZW91bDERMA8GA1UECgwITmVvUGxhbmUxGDAW
BgNVBAMMD25yZi5sb2NhbGRvbWFpbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAIW9eu+Ch+vWtlNyi2kJRmMzFDI3nSg3UCtSEgpb9GP47bvOSO01/psw
h2YMKaGFQlnHBMEfHpIDZuhI5CD7PnEJVqSEO8mIkISapz+wDawjcqKbinDPPSXk
iao8JWQ+XNRznw4dJL6WRMQnrmAbnaxNfFBX38kztvX5Vum3hrlT4IikVozqO3O/
BtdKXSONMjE0Aja6ntA55bII49NLiSP70I42Wo6lFP7h58cNjbWZzRijjs+7ei72
mW53Brs8STWEEAStfHGvoNWe3lviwvIBT6EXVhbapdV6HzUO1drH1uBh5ZhkkqCY
muxhguGaEkJ45/1De2l8a3x9PqM1vdUCAwEAAaNNMEswCQYDVR0TBAIwADAdBgNV
HQ4EFgQUM0LJXI8GiLqqnXUk5aQZ/05y5AMwHwYDVR0jBBgwFoAU2xbCTj9E9Ha4
EurcTxHWMflmx3wwDQYJKoZIhvcNAQELBQADggEBADAIXlbAq6rQkqh31QIbIT/O
NbMiJtan3NW542UjHZH52Xbw5R0rjy4CARFemF0p2Uty1+N4h3z0PEV9eVMzHqRy
zV421G+IWt0nc7T9q5VINYIgA9Mkp1pYNExrQo/rP+PgPkUVyLnUlagaU5ob9OSC
jimFNCQMu0Y6omf2l64mK+ILNWafqtS1Kt9WOGEGCLynzsgljO9bFFfPqhDea08l
sN3Kxym15Mnv0o26Vexke1zviQqkAH1ubl7F+doFFJB7EZo4bAXR67DV3hZV9Wd9
SbgulDGjeM6a3VO5gH0oHA57L0meYeMXplCPsBPoT/Ctzdj274fCd4/0NQ8tEe0=
-----END CERTIFICATE-----

View File

@@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICjzCCAXcCAQAwSjEYMBYGA1UEAwwPbnJmLmxvY2FsZG9tYWluMQswCQYDVQQG
EwJLTzEOMAwGA1UECAwFU2VvdWwxETAPBgNVBAoMCE5lb1BsYW5lMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhb1674KH69a2U3KLaQlGYzMUMjedKDdQ
K1ISClv0Y/jtu85I7TX+mzCHZgwpoYVCWccEwR8ekgNm6EjkIPs+cQlWpIQ7yYiQ
hJqnP7ANrCNyopuKcM89JeSJqjwlZD5c1HOfDh0kvpZExCeuYBudrE18UFffyTO2
9flW6beGuVPgiKRWjOo7c78G10pdI40yMTQCNrqe0Dnlsgjj00uJI/vQjjZajqUU
/uHnxw2NtZnNGKOOz7t6LvaZbncGuzxJNYQQBK18ca+g1Z7eW+LC8gFPoRdWFtql
1XofNQ7V2sfW4GHlmGSSoJia7GGC4ZoSQnjn/UN7aXxrfH0+ozW91QIDAQABoAAw
DQYJKoZIhvcNAQELBQADggEBAB5K/Y1wgvOeUO8r5UOP0khQ0+xb6pA/czV6W8cj
He9LBxEHMdLF/qSASq1Ro7x2BYDNi2frpG41m6jYXMQRYkCp38m6C3um1t+Aoa56
3Q8MXZs6+uxjtvJ9Y6thjDVRZgJr4a6IAIxe580/y49cuC6+JJUZZrkoKpQr1clH
BmNfpGcpJ9tT/bl33AxQ96gAqI4DLsEbYB1H+dOCtSArnqNR5W7TPhUWNej5jaQ9
Xd2HGbo3ySZ5I4O7Rj2LNOhGTx/JPv2CzhyGi85IXUF4/K0Zb+yulVAcCz6RwSbB
3k8/EOGH7E3rdZpST2arhr6m4fZww2eyu9SOBYsWngNwxKQ=
-----END CERTIFICATE REQUEST-----

View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCFvXrvgofr1rZT
cotpCUZjMxQyN50oN1ArUhIKW/Rj+O27zkjtNf6bMIdmDCmhhUJZxwTBHx6SA2bo
SOQg+z5xCVakhDvJiJCEmqc/sA2sI3Kim4pwzz0l5ImqPCVkPlzUc58OHSS+lkTE
J65gG52sTXxQV9/JM7b1+Vbpt4a5U+CIpFaM6jtzvwbXSl0jjTIxNAI2up7QOeWy
COPTS4kj+9CONlqOpRT+4efHDY21mc0Yo47Pu3ou9pludwa7PEk1hBAErXxxr6DV
nt5b4sLyAU+hF1YW2qXVeh81DtXax9bgYeWYZJKgmJrsYYLhmhJCeOf9Q3tpfGt8
fT6jNb3VAgMBAAECggEAC496bfOpjiBMOGBhXp33oKGMsF6QTiah3mzEtHKIaI/e
9On68c5GCOIkAhUxEA410w7aAVuQR+zVW2TZm2Q8XIcDH0ty45PTcjLwHBg6xlN2
GEo7qE6xqXHc2INEdCrT2WV5LT4lq/fPT+liMFqSwY8dHNDLvlejDBYWhjNgCOrw
M48lXj+j8rx88qfjjFKEMMfGStSyw1XVu02VylByIUlsEA79yCeVO0Ri+UnXQx7q
WcEKwWpEjkZuoGCMgD5HFZU13mlWz/0RvUKie5SgTr/amjCs9t8WKTVm74x7cU3j
6IZ9V3fGnSvnSRNFpsuacsIuMQLL4iTCs2aPsrViTQKBgQC5IDipNwmn3I/ArgUY
vSwlE8YNKPBM79BtekrjzRvhfcqxCSPys+LliTbyqcrXlSVwrxob9kTvvbwWl8Io
5JoEbkzpIISKDaqnptArkViM3FqPTbUJwA4XftBURlFRJJLpkgeOEz83Tj0SAtVI
UY1OixcR35tnD6RntgLkMtuHFwKBgQC48Q8KltwYBlTucP59pVNV5vo5FRD4Q4gD
zXybNdnGNaT5UA/WSq1V4LHFLsHlTn6wKe/qfcWfyuK2OmMfsHVhY71MxwDO5uTy
NW7z8fDAe90CHrmwLweeGK7BznS31L1vhjCAjehNOZH3w4SaohGt35KZMP+SV7xp
LIEsJwF18wKBgDSMg+jsmY4PmrKb8xBpql0/9qkHpOaB8E0TOKzfLPneBiooqQ6c
p1x2jaVmMxDs4jrRSX0Ec98FoZ1cKJ4I/fsiACzwsQ6rAHUkcdTcJiGd7wrciPYi
kR10PtidOTnqQtWQQRrANeKSD93L9hTYKV9RNhQ5v9gKZaWW0c1K7muzAoGAQkJb
WTfjctgR5bul8e4hhU1TqM/bXJcVTAd69UC93T2q9YexpNzsbTArgLHX1gfha8wa
oLCe9TkDMLaKfPgDlfjeAXvq1jXzILP0JIIx90RpUjEf5fdzizjco6MMPjCCDkrN
ZcFx0PknStVJ1PzryJepNilP52Z3olbHkMIIy/ECgYBVExbAI5E1JsLH4+IKmaRK
gaUnQSeFjJd4pLAzoZLGomCJ4OXLQEay/GVAXhsaVDqP9VBaSUYOznhJkF5Y2rD0
8AtoC1jm+X+yCHPIWEbLe8bgnr3HZ/t/byq7dNFPa2ZJt6UZMzYtnJXTl6f7Ez9q
3/2imAM/UDKwPkr4pjJ6Ew==
-----END PRIVATE KEY-----

View File

@@ -0,0 +1,20 @@
-----BEGIN CERTIFICATE-----
MIIDXDCCAkSgAwIBAgIBCzANBgkqhkiG9w0BAQsFADBJMRcwFQYDVQQDDA5jYS5s
b2NhbGRvbWFpbjELMAkGA1UEBhMCS08xDjAMBgNVBAgMBVNlb3VsMREwDwYDVQQK
DAhOZW9QbGFuZTAeFw0yMzA5MzAyMjU5MDhaFw0zMzA5MjcyMjU5MDhaMEsxCzAJ
BgNVBAYTAktPMQ4wDAYDVQQIDAVTZW91bDERMA8GA1UECgwITmVvUGxhbmUxGTAX
BgNVBAMMEG5zc2YubG9jYWxkb21haW4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQCkAaOGB42qIzn0gOFHohNmaNR0oYMUSsRGwElalHobPSXVi4943Zkg
vhAC8F8Zx3EReO0EK+HuMxqyf21noaw5n0Cn/TGDRm2FDifRTXrypvrKS51PxvpE
Ot9Kxv0d8P+oTm60lttNn23ekCRwMazoa4m28LnqsEaIhm2Gfdnb1o+D3l/6usdd
mR5j2tyI2lgvvewAALw4CHgZSDmnnX7XRsjWHQ9VwCFPF6OXqzVxjuCzE/yTrKUU
xaosg0WdP/Hc/ce4hfJUrIUos2443TJ3E2zsP1fZ3kkJuVw4mwA6VmYaiAdJ5ZlF
YyLYY92I5l/T7w3byHc17LNBP2ZlXguBAgMBAAGjTTBLMAkGA1UdEwQCMAAwHQYD
VR0OBBYEFJBi1oDE+Fai8sxS1CbGn/OkXiosMB8GA1UdIwQYMBaAFNsWwk4/RPR2
uBLq3E8R1jH5Zsd8MA0GCSqGSIb3DQEBCwUAA4IBAQA5z2M4T0HHqRWiQ6j5rMmd
flNkAQA/j1y3A07RigWfPvHir+zlkxWFpYq1n/JmuBlZs5y5bmDiBex3mIU0hezc
Aupugqy2TyGl1+cJR4Z4nCJosEamwN14V/YVv8imNNyoJFW71VWTC5vdvG21tKGG
XbePaeRponksWLQB7y11YR58mO6VI5YpeqlXT+1CdsmsKGNVvAJ6tYaP8jSMWTEL
+agqeNIO3zevGSeOJZEuFzpv7qWkahXTsd+lOYUmNnBRwtI28YVCTwvjFGDhs0Dy
832dneoTj6ozBVSEY4K9hQeFat2wurcMgh7LnpAUwMZ1gwXqqT8w6yKDyq3w/dhT
-----END CERTIFICATE-----

View File

@@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICkDCCAXgCAQAwSzEZMBcGA1UEAwwQbnNzZi5sb2NhbGRvbWFpbjELMAkGA1UE
BhMCS08xDjAMBgNVBAgMBVNlb3VsMREwDwYDVQQKDAhOZW9QbGFuZTCCASIwDQYJ
KoZIhvcNAQEBBQADggEPADCCAQoCggEBAKQBo4YHjaojOfSA4UeiE2Zo1HShgxRK
xEbASVqUehs9JdWLj3jdmSC+EALwXxnHcRF47QQr4e4zGrJ/bWehrDmfQKf9MYNG
bYUOJ9FNevKm+spLnU/G+kQ630rG/R3w/6hObrSW202fbd6QJHAxrOhribbwueqw
RoiGbYZ92dvWj4PeX/q6x12ZHmPa3IjaWC+97AAAvDgIeBlIOaedftdGyNYdD1XA
IU8Xo5erNXGO4LMT/JOspRTFqiyDRZ0/8dz9x7iF8lSshSizbjjdMncTbOw/V9ne
SQm5XDibADpWZhqIB0nlmUVjIthj3YjmX9PvDdvIdzXss0E/ZmVeC4ECAwEAAaAA
MA0GCSqGSIb3DQEBCwUAA4IBAQCSlk6Gp397YRwXNZYtDfnHWU7bXpg9BkA7A10q
lRWx6jOY2y8OSzrJnysgbUrj4Yr2OKc56V+oepe+NaMaFEOxnpp5JubWKsCVTdpK
1ELMs4RWdfrtzQbXMGXRw2GelszMWl5rncDdKCXaJmbi/FSnA5Klc7oHMpbCFQkz
+dP+mZeuAfM4Nx6M+cNc3XvsI1Ieixk1/BrLgyTKvZTeDvT4cgczF36tKrhI7aVq
IwIfXSLIZhGlz/f3H4MvkBCMMN5xCBnsb9iGWlkJmsjgPBksHXhPmcRxiwfGKpES
8CcsmPxHhyQzBS/kQmpBq/uVOOzu3F3iTQJlnpjJsIFvMq2S
-----END CERTIFICATE REQUEST-----

View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCkAaOGB42qIzn0
gOFHohNmaNR0oYMUSsRGwElalHobPSXVi4943ZkgvhAC8F8Zx3EReO0EK+HuMxqy
f21noaw5n0Cn/TGDRm2FDifRTXrypvrKS51PxvpEOt9Kxv0d8P+oTm60lttNn23e
kCRwMazoa4m28LnqsEaIhm2Gfdnb1o+D3l/6usddmR5j2tyI2lgvvewAALw4CHgZ
SDmnnX7XRsjWHQ9VwCFPF6OXqzVxjuCzE/yTrKUUxaosg0WdP/Hc/ce4hfJUrIUo
s2443TJ3E2zsP1fZ3kkJuVw4mwA6VmYaiAdJ5ZlFYyLYY92I5l/T7w3byHc17LNB
P2ZlXguBAgMBAAECggEABZ2wLaV2kWUIQ3D0oVEtClEg7UvEQyfDsR2rExRAf0xI
l4U9v79aQEfGagNZab/bTpslBgMdhwEAsyxUcylJ8uV2bS7Ef/wjioC0BA8yt978
wqDiONpn2Xn7LgJ5gUCJ0JoEqnIgkAoJHhl7eoN2qiLFtFD77xT15VjogBF6Tr1+
NDTR32xDMr9zjgJaEqWarDvlx1oMr2WSxBe7cY+AcaqbC8CFt1WPpsquAKogOq2e
DMrTXQ9voWkgDFepgB24I3FHPBpLwfUKfhWVF/PZePpVKVpBzZCdUB0JFoxn1yW0
xpzVvRMSVJnNEq8B39Gpf2QUX5ZKpLzSljeNpBWB3QKBgQC9b5o0VuYeCs31AQuw
cMyrildLEamlLQLm2Ohq8WKExRaVeiS0nst+ebl5S/eGEsByw41MkUKQe2+iNVS1
4eE05BhQ/EJ5MHi/yDm8yYH9HGKTqX5QHcKJgwyyFaRw+JAuEjpFPWewEf+P7A+Y
sovMzv+bL4I/I43LXfMV05Qv2wKBgQDdopBMVd6hD1mnxvHoI14LWLn7tMCGAM6Y
7rzY+k5/2GEbN1HmBCs7CLqW1tvA8aNXFxuik/KdQv45A2NpisxNZ645KCJPR5rL
XBEZT/WqfwFN6eQVEbsbsmgl23rPMJWdkkwOQtRRLS5rcmgek7Bz50Z3B45WO6lX
43HxaEfu0wKBgQCMNR/TAUZMkf6iCeYW70Xs6PV3EFmZcVkmdwB+tq4OSrlOZRrp
vGYs8/b8+eb4CsT5rBbWxuSXf2S+j+5kuAwxU2lT94FTpTaZ654gRpy5M9saI2bj
8ULc+GvbGv2cx7we/Uq3mJ03yfp3EWbxw6SJL+QrfdxO0wfNr3mNfA2/5QKBgDsj
WFt2Aix5mxOgiwXFAiAG8cFO7pwS9Q1rjmpbB70nMGoBrdGxRRPAdYEwHXzzPQFN
Aiu0TGVX7duqoskTpwX0Z1GK+vSqh4xBqbJWWpe+wctXYGuaypFOXmnTkYZdUV61
HaQkguCSLLOw2EVoZQnYKT4zfvBVhQ8Vel7O03rPAoGBAJTCJoGxMuxvG0j3jpey
rGagoyHCEtwhLObVb7IUuQx2MdtM8w3i8nG+0stahGL6gian0JtRIjtUjtb4LYLj
w9RdXCCkj9bYVuKuvj8DadlwlOQerYkBEqj+hOxopz77mSUnk7Mzi1EeM8Nxs9MW
PXfIDKQ2a7vtoQVbjwBCuZLl
-----END PRIVATE KEY-----

View File

@@ -0,0 +1,20 @@
-----BEGIN CERTIFICATE-----
MIIDWzCCAkOgAwIBAgIBDDANBgkqhkiG9w0BAQsFADBJMRcwFQYDVQQDDA5jYS5s
b2NhbGRvbWFpbjELMAkGA1UEBhMCS08xDjAMBgNVBAgMBVNlb3VsMREwDwYDVQQK
DAhOZW9QbGFuZTAeFw0yMzA5MzAyMjU5MDlaFw0zMzA5MjcyMjU5MDlaMEoxCzAJ
BgNVBAYTAktPMQ4wDAYDVQQIDAVTZW91bDERMA8GA1UECgwITmVvUGxhbmUxGDAW
BgNVBAMMD3BjZi5sb2NhbGRvbWFpbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAKG6c2IjFOFDfXeMbwxvJHgCUMxb0mrWecikqcpU6S2Di2YnymirZzFd
WCz6Go4lvLUAJJFqCkcdgLGz+Ab/hX5SF7lMLOUrfXeOvU1DqRaJPWrixZFRwuLu
CCeNEdR7C+hVW0Py2BCx7Ta/iZCCkK0xXezTPMq6zhHzESp46Cyc9ed+TPymaGqP
ilPAnzsW8+WlVD9CXtYDQ0QOAVjixBshMDOizDaL99kuU3rSoLHHArTLvEmwv8cO
VYnS72X6h+l+L7bxLNfZNzOo2syZaqmjrqqgiqYtNy0lfqu1f8/nVQBq4+DWxINx
YJrgK+Q2CDIgAISV1scqPoFKO4pewzkCAwEAAaNNMEswCQYDVR0TBAIwADAdBgNV
HQ4EFgQUdLk+Tn54JS8yKzTkQggWvP1romowHwYDVR0jBBgwFoAU2xbCTj9E9Ha4
EurcTxHWMflmx3wwDQYJKoZIhvcNAQELBQADggEBAK00ZUHQ4dId/9WKu3M75m3v
Ve2qqaYB8S5knF5iWvjKUGJcv48fyO6it7HpAHors5H9hc9IR/zXpjJ/cQm7pwuk
vIdRDwpbTEfjYH160Fi03scUXl5c0pb1xyjmTau8h3EBN6WyBji2lbb6o/+pU+LO
q34qKydNZu05WtjaRO1KbCLSZDYd65DTA5AbeNb5H2hv7IuUIgTJTDj9TuZrjyin
EI6oLPY3RQyFSfU4QUyvumBj9ib/qwS5zBat8H+En3Kvc58HFDVZQrMgQjKb2kIg
iIMttLXvB7YLeE/AfuYH4Pia0TiJRZNfOitiAN3Cz8J+nNFgkavCj80pYcZVIUw=
-----END CERTIFICATE-----

View File

@@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICjzCCAXcCAQAwSjEYMBYGA1UEAwwPcGNmLmxvY2FsZG9tYWluMQswCQYDVQQG
EwJLTzEOMAwGA1UECAwFU2VvdWwxETAPBgNVBAoMCE5lb1BsYW5lMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAobpzYiMU4UN9d4xvDG8keAJQzFvSatZ5
yKSpylTpLYOLZifKaKtnMV1YLPoajiW8tQAkkWoKRx2AsbP4Bv+FflIXuUws5St9
d469TUOpFok9auLFkVHC4u4IJ40R1HsL6FVbQ/LYELHtNr+JkIKQrTFd7NM8yrrO
EfMRKnjoLJz1535M/KZoao+KU8CfOxbz5aVUP0Je1gNDRA4BWOLEGyEwM6LMNov3
2S5TetKgsccCtMu8SbC/xw5VidLvZfqH6X4vtvEs19k3M6jazJlqqaOuqqCKpi03
LSV+q7V/z+dVAGrj4NbEg3FgmuAr5DYIMiAAhJXWxyo+gUo7il7DOQIDAQABoAAw
DQYJKoZIhvcNAQELBQADggEBAJjf5BK5HAFbhOFFgmYUlU124JDpQh7O4WF0CQNe
XSDKy1EyMgngvLRL/fMtsHUiLwAZ5681DxQ0zK93lAtlHKW2xA71QxQBbUwQdLIR
hCpQAY35gWektdhFbpSVMz23qLiShkbQv/Sza8ucfsqKPDTmO9bc8hPZth5GCJkl
nB81emMt9dvdkivaNfMTnBgdgy2ONY+gsF9xvnQCVRTc5cP+9PRwQI5Njg+mXLBO
BPvOu26HhJX1BmBP9U77Bqf5RgOR96BYisc10rw9XzfbCymh8dIKN72tFtQxlgXY
DbbT7UuGxFuaJeYfdeOeRc9wet/ALC12he+zbpz/F2oksHA=
-----END CERTIFICATE REQUEST-----

View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQChunNiIxThQ313
jG8MbyR4AlDMW9Jq1nnIpKnKVOktg4tmJ8poq2cxXVgs+hqOJby1ACSRagpHHYCx
s/gG/4V+Uhe5TCzlK313jr1NQ6kWiT1q4sWRUcLi7ggnjRHUewvoVVtD8tgQse02
v4mQgpCtMV3s0zzKus4R8xEqeOgsnPXnfkz8pmhqj4pTwJ87FvPlpVQ/Ql7WA0NE
DgFY4sQbITAzosw2i/fZLlN60qCxxwK0y7xJsL/HDlWJ0u9l+ofpfi+28SzX2Tcz
qNrMmWqpo66qoIqmLTctJX6rtX/P51UAauPg1sSDcWCa4CvkNggyIACEldbHKj6B
SjuKXsM5AgMBAAECggEAB/7XxXpGhfx4L3jZ5Jt6ChTTOccwV+fSjYDWhBI+lOlz
8tD0yMfwihg7S73xoiVrdudS531+lJV4z1A+atonF1+nnJmPfqTvxwFfinpV2a9f
QfGEIvMP13g9HvdycjbDF/FgWbOfyvOA7rv5aROLY4SVSCgJUVx645hIuPjRQaNM
w1MsBGfnYsor5BsGI4ru5uCD0pHDDcxagso6CGN5kTTVxTKOlHvH22OIc9y5J3+k
73tOccfLZ+/VZCSno1+xfZmhXxP9ZOnYSgIk1cSGkELjWWSqOQv47ljJC//kQ5gG
vBhb4IDWsvdQv3kqjPY2NU/niBcPYG2VkNpV44B9oQKBgQDSrdWmu9x06TX1Gi9e
glKaFETxskAD7LFC25ZGjRITNOAtv8z8CAQa+MdnEchPh37w0lkLdDoZaY9Rbfya
ZyxLQdUl2t/rCIZno7N3U8HBSLaJhb3ZCy6sNSg8+J3XFgzoqv1oiKTMEJqSEFIS
24X3ntbf3SDkLK8gVNJ1dHlguwKBgQDEhOI47vA1qa5jbNpmIPqEqFYO3r2k5ta3
yM3yNtY5sep+LukcHANpRKNNK1FZDIKBM/g6Or0I/mzldCtd16sWT41Os9JTb+/K
1UwT1adHqD0i6NXEHfs54HdMswSs4BJ++JSslIELvjc5di06DQ1dabdctDXHqUJj
MiogA7F2mwKBgHLX+eg67fD5E8W5cWr2ZarCM9cBEO5Sv0ovw1pQGjNIFpA5xrb4
c6x0QtaHlgbsWKFUOOAKioVByrNb3mAYr8eSamuJRZise//Q98qraKpBRefvdM70
zotnKrkZ2Yje50iJtTufiR4ISwomRWcsLXoPJxi/ROe9B/X65wLJ7ERzAoGBAKxJ
k8s2L4HccPbZx98hqoAC1O/Ud47KkhQuB+ACE24hfOODXPs31AXGFyTghUD8pq1/
UnA6buAjrnS7lAmBuoyk0c3d+NcNm7zHoxsAhNddt7uTRVXasxXapLypdb/Z8l0+
sZlb2IbjDKdj4+Kw7ramqAquMzgIPBubLzNCCaNhAoGBAI63kqL9qrqGuPCx4Su6
buRcLTBiFDMYANZeUuqO/wb8HY2OYASwZyvBQEiSB7SghedkMu45yTWEE6ik6Ikh
NdF0x0lCzkjb3umIa06t9BDu1IJLs0HWvfLejhCzJDUa1z79UnP3158CNOufg5hE
Q/tV9EBP9Fb4BUMQjaHZNMBR
-----END PRIVATE KEY-----

View File

@@ -0,0 +1,20 @@
-----BEGIN CERTIFICATE-----
MIIDXDCCAkSgAwIBAgIBDTANBgkqhkiG9w0BAQsFADBJMRcwFQYDVQQDDA5jYS5s
b2NhbGRvbWFpbjELMAkGA1UEBhMCS08xDjAMBgNVBAgMBVNlb3VsMREwDwYDVQQK
DAhOZW9QbGFuZTAeFw0yMzA5MzAyMjU5MDlaFw0zMzA5MjcyMjU5MDlaMEsxCzAJ
BgNVBAYTAktPMQ4wDAYDVQQIDAVTZW91bDERMA8GA1UECgwITmVvUGxhbmUxGTAX
BgNVBAMMEHBjcmYubG9jYWxkb21haW4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQCoaV8Sw9BUk70EsJYFcnZHKUR5zctXLlmF22roIe7vPFK4Pkpp0jSb
uukCrcm9YDvr32jZcoXdIcRHKWzaD/VrSJpPfrBSSvFUFJdTLCdnmp2POPwAZVbk
hfNo5atX+T/Fo9tYzPGFMUk5w6thXZVO8NbIZkYIYzsBDYn3CmlUN0/zJM3xtMPw
989CU3KPCtr97+eqMgitSZjZ16NHA3UA2orK/nPGreIwx5xkYfdQCF8noDmkIZ5M
52sMpiuFJJ28G+/xNFBz4bOsrHxZgRUaSxMm72jG7AuHXv8AQwCqg2d+lqeLEnJ+
KSfu27LjBxvtXrnSeQCV10p3W0+DvvifAgMBAAGjTTBLMAkGA1UdEwQCMAAwHQYD
VR0OBBYEFCxEk3wASo20shbmQ9YbBVsKWHQ3MB8GA1UdIwQYMBaAFNsWwk4/RPR2
uBLq3E8R1jH5Zsd8MA0GCSqGSIb3DQEBCwUAA4IBAQBb50ueuFMhqdDGRO2aD/Nx
vp1Pxg+YOcq9vHscY2o0dEyg+hJYoVhAFSZF0ay6H1gvLlNDtsN2MSzgwNp1CGVX
ku6MCXdXkoV8rBIkZpcdgjHBoZ3CEr3Akd7gtRdYxjv9/rtppNXCP8UJh3hi1Yvc
KGrfbhVYM0QxnQhwRypAzrpifrf+fbzyyZvfg8AlkUFqGAvIcA+VT7+TF3UjwAwP
KXl1dL8CFFakPutekeVXFYnG7pbgCsG/1f4zo8Mt5jP2cVkltudMLuZsh+/Zu5kP
wdYKs6xN14rvc/kMquPqswNHMlT//0MzF9otmnvkgrjtr1pOGqwUaMI7P8FUaLj/
-----END CERTIFICATE-----

View File

@@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICkDCCAXgCAQAwSzEZMBcGA1UEAwwQcGNyZi5sb2NhbGRvbWFpbjELMAkGA1UE
BhMCS08xDjAMBgNVBAgMBVNlb3VsMREwDwYDVQQKDAhOZW9QbGFuZTCCASIwDQYJ
KoZIhvcNAQEBBQADggEPADCCAQoCggEBAKhpXxLD0FSTvQSwlgVydkcpRHnNy1cu
WYXbaugh7u88Urg+SmnSNJu66QKtyb1gO+vfaNlyhd0hxEcpbNoP9WtImk9+sFJK
8VQUl1MsJ2eanY84/ABlVuSF82jlq1f5P8Wj21jM8YUxSTnDq2FdlU7w1shmRghj
OwENifcKaVQ3T/MkzfG0w/D3z0JTco8K2v3v56oyCK1JmNnXo0cDdQDaisr+c8at
4jDHnGRh91AIXyegOaQhnkznawymK4Uknbwb7/E0UHPhs6ysfFmBFRpLEybvaMbs
C4de/wBDAKqDZ36Wp4sScn4pJ+7bsuMHG+1eudJ5AJXXSndbT4O++J8CAwEAAaAA
MA0GCSqGSIb3DQEBCwUAA4IBAQCjlFphKphYjN62Jkbd97sfHQePni13vOwh4XOa
ncs4uJ0p/zT3N1raeTaCkBbQdzg8tAOaHEtk2i8yhki9IF91g7afbxpczynunO8n
+lD085kGtguBcvyAc1WPAox8xLXqGFg1vFrEzdUMuCTfHFkMJg/0KTMBOu/e11Wo
0ZmaOZK2pcOMijEkCNpxks7kdhaRH307f0XTny/uumvUGAy+Ie3dqxVxrQXdz+UL
Jr0y3uFi/DAtGEDznhPN1GOFyyTY1sxEhEJbCVTKisjQopOjtxvu5W3HOKFyk2dc
OR0Mnll7a9oJ9ilagVilSsraLFIAsLTNDbH35V2xJu7q+4sP
-----END CERTIFICATE REQUEST-----

View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCoaV8Sw9BUk70E
sJYFcnZHKUR5zctXLlmF22roIe7vPFK4Pkpp0jSbuukCrcm9YDvr32jZcoXdIcRH
KWzaD/VrSJpPfrBSSvFUFJdTLCdnmp2POPwAZVbkhfNo5atX+T/Fo9tYzPGFMUk5
w6thXZVO8NbIZkYIYzsBDYn3CmlUN0/zJM3xtMPw989CU3KPCtr97+eqMgitSZjZ
16NHA3UA2orK/nPGreIwx5xkYfdQCF8noDmkIZ5M52sMpiuFJJ28G+/xNFBz4bOs
rHxZgRUaSxMm72jG7AuHXv8AQwCqg2d+lqeLEnJ+KSfu27LjBxvtXrnSeQCV10p3
W0+DvvifAgMBAAECggEACJELmAMZPCQjukhX6UEFnosNLlD3O0u38WTUOaii5HfM
vA3XGoOUeijLeipoQld8f3wRc6DYCa6SXbhQDtY++qJqebQNDgfn4goGGeH7bdFh
8GDKriPO2WMC8F62ajbbNUIngeCIQekxkLGmVxaRO2m+0y94ooFBsBpbM+jLViWW
RWmnB3c4JhrCxRsCIcaCL4rjesShEAerDU45Drr6+7zC8gmifnkM3Co8yXEM2Sp7
XtO3ZCOvbhiGEMugZS9jrr+5CNUCd7zk4lMpUtDI50gFU8THYZkZVWhd7EYhknmD
iCRqg6/sD39uosrGcqA6joehWwM6870eSqd5gdWBuQKBgQDh9cvbqa7NxPvGa04D
/OyjSkcC0NVDeM65CqvCuzeMQhizDsaiAi3BVBjyuaEgmAGu5Anm7qe4opTwUI5E
doPbfnUifK3kJefQBs2JPMNkIloGvbFQsbu7H7qUAhQCtvcHD5E95tnlB9GoyRCV
2tQRjGlFJVFflPPhr+LkbCuVlQKBgQC+zP/vjxaanEmULVPEd3+rhrsD5kfexwU4
3WHpOinSkuccgWBMoIUYJHM0H2NCAbitcz4zLxVvRLQytGL3GHlSwNvHwWqZ6bv/
gblMFzqt9/KJn9VwsqCW9rQpG2lkPk/Wl59oWosmOJ02vag0pzxK9DtsIPAwBMyg
D7/59AugYwKBgQCDU+J59vL78UMMHY2oT7YRabg/8LQilPJBJeySL1GnmTrVxv63
ZmDFfmVJnY4CbZZ82VjP+WFNtGCwE4G8VM1qIuNdee1vLoC+rVWEL+a4Kib8x/9o
kQQ1S8mbAGI0+bY1Slz2B1gY/yRh3wpermKXGG6Om5Ph46ajQyCx9hSWyQKBgCmM
PGMvFm3+gGs635XVq8BvK0QzHg1d6z4xvwNpfffzs03awlyNS84xCcEc4KFb/JoQ
kUfWBeXf4Rl1fGNwOeMSSgmajZsMcbq2xeHS4R1G89KSMolC7INTH3IgHPgONZZ2
F+lCZjChfWKRNBKbJB7yRgpKteLO+LwWEejdArcfAoGAFVL0YlwvtFpQSN8ttpGE
qdYp7nbcH8qV5vbDQq6M0iJ+lqKy+N4NxaD+J5fxrRnxy180w0thcj6ORCZQeo67
4PRYb9X4z9G8cXDwkPeUW79Qf09ZfgqX7PfF9o1yVSpWK4k/pQAtSnevTc1wz/77
4ynXBhLYHsulse8kkhBtHhc=
-----END PRIVATE KEY-----

View File

@@ -0,0 +1,20 @@
-----BEGIN CERTIFICATE-----
MIIDWzCCAkOgAwIBAgIBBzANBgkqhkiG9w0BAQsFADBJMRcwFQYDVQQDDA5jYS5s
b2NhbGRvbWFpbjELMAkGA1UEBhMCS08xDjAMBgNVBAgMBVNlb3VsMREwDwYDVQQK
DAhOZW9QbGFuZTAeFw0yMzA5MzAyMjU5MDdaFw0zMzA5MjcyMjU5MDdaMEoxCzAJ
BgNVBAYTAktPMQ4wDAYDVQQIDAVTZW91bDERMA8GA1UECgwITmVvUGxhbmUxGDAW
BgNVBAMMD3NjcC5sb2NhbGRvbWFpbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAK3GrMBq6chj2u/sI05/uxfPeW5c5/GSSEFua4cIxVl8PrLDDz4KH/C0
XRlHYAfglM5Loe7fogN+mmAG1bVOyOZjn2/YR7WN0TYFtst2NJ0aJt807xvIiBhz
njg/vry2QroKhrewOPkzPyYYhq5PLLG5IEPYDJbp/Dy57yJDgdN+KBP0Xo4J2V27
nuTUgzmMpzylTjc0OE3f3EKb28AuNpnFN/Hh1VDig/QKfSIelCt3650l1iSkXghP
D1lqwkbynLftuqUH4TwmmbDAnTTngdug+iX14lITNUH9pZCaQzHu3s0loXCIM2cd
tTvYH8TDe7piWU5gVueyGliLxYTWnmMCAwEAAaNNMEswCQYDVR0TBAIwADAdBgNV
HQ4EFgQUfQiOX60ERuQpEhO1spKSbulx/vEwHwYDVR0jBBgwFoAU2xbCTj9E9Ha4
EurcTxHWMflmx3wwDQYJKoZIhvcNAQELBQADggEBAI1sl/aPVwvaQLESedl8oOcI
ueQ6xd3lCXUN9XbhLsZh3IfgNC1ug9iTLEK5Ky+e7tjVVnoOZ0wLnUJhIYL/gJp8
4aqKs7qmHzRLFYVvEvWsO4eSr3qHNIykU16q7Ve746PsTQJGuQqjMynPO5rsUstn
JMLde/6MWh36Umqfk6/YILoCJO0BrtUt1UL/J40w6XvD8ARplDCi3HZDZ0aXMaWQ
2JGtLy8AuwK8G9IQiGMLmsXF5WzxDJ0tC+P7AeSYCBlRzzE59OgiCuYzgRzP34F7
R9KTvi46L+16IZ2RcPIaWx+fZ15E32nvJCHaIU/fqQpakIC9wPUQ+QEfzUCm5iU=
-----END CERTIFICATE-----

View File

@@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICjzCCAXcCAQAwSjEYMBYGA1UEAwwPc2NwLmxvY2FsZG9tYWluMQswCQYDVQQG
EwJLTzEOMAwGA1UECAwFU2VvdWwxETAPBgNVBAoMCE5lb1BsYW5lMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArcaswGrpyGPa7+wjTn+7F895blzn8ZJI
QW5rhwjFWXw+ssMPPgof8LRdGUdgB+CUzkuh7t+iA36aYAbVtU7I5mOfb9hHtY3R
NgW2y3Y0nRom3zTvG8iIGHOeOD++vLZCugqGt7A4+TM/JhiGrk8ssbkgQ9gMlun8
PLnvIkOB034oE/RejgnZXbue5NSDOYynPKVONzQ4Td/cQpvbwC42mcU38eHVUOKD
9Ap9Ih6UK3frnSXWJKReCE8PWWrCRvKct+26pQfhPCaZsMCdNOeB26D6JfXiUhM1
Qf2lkJpDMe7ezSWhcIgzZx21O9gfxMN7umJZTmBW57IaWIvFhNaeYwIDAQABoAAw
DQYJKoZIhvcNAQELBQADggEBAAnjmoDZF3VdzFrQ3AGq84bhrlhRcLhG1zimagDP
PEY8kWw/Qtn2ZVFHgapWmGmBoNuh+6PskXAgTy7URJwCe6VPWkdPwlYwmoBkvr4B
rdGdlgDwsw0p+oP77KOuiaJdxl+9QhWIan0uUMGxykdOlr7ILCXzlN9Uy20H8lSX
0aCThiEPWhJXaRZNBTy+58mYss2d4iQB6sSXsSqr9gOh9N5lnB0KnHvprwLmJ/lv
87wh4dDezLaZrJfIOxg9KAkxcoMIoHMqAFBgDEXPPMGJ5bENHTlpAt2c6Z50sGeB
QRKvnvqvyzHXfPuTlIL3qMab8wr2rustf4+CfbOp/FO1JgQ=
-----END CERTIFICATE REQUEST-----

Some files were not shown because too many files have changed in this diff Show More