Compare commits

...

2647 Commits

Author SHA1 Message Date
Sukchan Lee
a4fe2f2a44 Release v2.5.9 2023-03-06 22:11:42 +09:00
Sukchan Lee
5d388d7423 [PFCP/GTP] Fixed security bug (#2127,#2128,#2129) 2023-03-05 08:51:08 +09:00
Sukchan Lee
8b3ae96212 [AMF] Disallow handling service requests unless UE is already registered
(#2100)
2023-03-05 08:45:40 +09:00
Bostjan Meglic
eff191a265 [AMF] Disallow handling service requests unless UE is already registered 2023-03-05 08:40:52 +09:00
Sukchan Lee
be25059381 [SBI] Crash occurs when ENUM in the MAP (#2103) 2023-03-01 18:08:20 +09:00
Sukchan Lee
2387ca8c5a [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:37:40 +09:00
Sukchan Lee
8fd54fb35f [SBI] (#2069) Fix possible crash when handling PatchItems in NFProfile PATCH req 2023-02-14 23:12:25 -10:00
Sukchan Lee
ea6afaba89 [MME] Follow-up on #2063 2023-02-13 06:43:19 -10:00
Sukchan Lee
254d961a4e [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:35:51 -10:00
Sukchan Lee
8cb8a49f02 [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:58:36 +09:00
Sukchan Lee
32d6d359ee [TEST] Reduce paging wait time 2023-02-05 12:18:39 +09:00
Sukchan Lee
a834eef6cd [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:05:27 +09:00
Sukchan Lee
2ae17cd2a6 [SBI] HTTP/2 user-agent header (#2048)
Open5GS now checks User-AGENT only in SCP.
2023-02-05 09:52:01 +09:00
Sukchan Lee
05452c8731 [SBI/NF] Follow-up on #2045 2023-02-04 21:42:43 +09:00
Bostjan Meglic
d8957130c1 [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:42:35 +09:00
Sukchan Lee
87e5620401 [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:51:32 +09:00
Sukchan Lee
5c10632a1b [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:26:36 +09:00
Sukchan Lee
e3bba81d5f Added Service-MAP to Requester-Features (#2027)
ALWAYS Added Service-MAP to Requester-Features in Discovery Option
2023-01-29 09:18:36 +09:00
Sukchan Lee
99783bda92 [AMF] Added debug message in SM (#2021) 2023-01-28 12:11:48 +09:00
Sukchan Lee
9c245ce6c9 [AMF] Fixed crashes from malformed 5GS-ID (#2020) 2023-01-26 20:50:25 +09:00
Sukchan Lee
c1a04bed45 [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-26 00:14:00 +09:00
Sukchan Lee
2a6d3d26cf [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:49:37 +09:00
Sukchan Lee
2f525f054f [SBI] Fixed crash if no BW Unit(Xbps) (#2000) 2023-01-24 21:58:28 +09:00
Sukchan Lee
1d57db6df7 [CORE] Increase SDU buffer to 32k (#2008) 2023-01-24 21:48:24 +09:00
Sukchan Lee
8bc2f66128 [MME] Fixed a crash when no UE context (#2016) 2023-01-23 18:44:43 +09:00
Sukchan Lee
476fc64f6d Update document for v2.5.8 2023-01-23 11:07:47 +09:00
Sukchan Lee
882f13ae11 remove old document 2023-01-23 11:07:34 +09:00
Sukchan Lee
f2645bf01f Release v2.5.8 2023-01-23 11:00:47 +09:00
Sukchan Lee
fa74863ee1 [PROTO] Increase SDU buffer 8k->16k (#2008) 2023-01-21 16:19:31 +09:00
Sukchan Lee
7df3ebb363 [AMF] Fixed MEMORY LEAK (#1925) 2023-01-21 16:16:17 +09:00
Sukchan Lee
31470c3ea3 [UPF] Fixed bug when 2 PDRs with same TEID (#2003) 2023-01-20 10:04:02 +09:00
Sukchan Lee
4d85d0965f Update document for 2.5.7 2023-01-14 12:04:56 +09:00
Sukchan Lee
5f9ca55645 Release v2.5.7 2023-01-14 12:03:52 +09:00
ridzafauzi
9e9ba42c78 changed error tagged log to info tagged log for handling 5g guti information during Configuration Update procedure 2023-01-11 23:12:59 +09:00
Sukchan Lee
d35a707ee2 [PCRF] More fixes for crashes (#1981) 2023-01-10 16:15:20 +09:00
Sukchan Lee
8a722de16c [PCRF] Fixed a crash (#1981)
An assertion was fired when switching between video and audio.
2023-01-07 15:23:25 +09:00
Sukchan Lee
9013dd6fd9 [MME] Clear UE Context for Attach Reject (#1848)
Attach Reject + PDN Connectivity Reject need to clear UE Context
2022-12-27 21:08:29 +09:00
Sukchan Lee
e3b261eb8b [SBI] Case-Insensitive inside MIME message (#1939) 2022-12-05 21:32:00 +09:00
Lester
750478bfd4 free replybuf after sent replay message 2022-12-05 14:52:08 +09:00
Miguel Borges de Freitas
172cec51e7 amf: fix regression for smf selection 2022-12-04 15:24:09 +09:00
Sukchan Lee
a601a7a775 [AMF] Fixed a crash while NGReset (#1928) 2022-12-04 15:24:09 +09:00
Sukchan Lee
694a48a6ca [AMF] Wrongly sending PDU Session Release (#1925) 2022-12-04 15:24:09 +09:00
Sukchan Lee
2319375ea7 [UPF] Fixed an infinte loop when ext_len is 0 2022-12-02 08:00:36 +09:00
Sukchan Lee
c5bf02313f [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:05:32 +09:00
Sukchan Lee
c5b1b18dd7 Continue to fix alpine stack overflow (#1911) 2022-11-27 00:13:05 +09:00
Sukchan Lee
6bf406b454 Fixed alpine stack overflow (#1911) 2022-11-27 00:05:14 +09:00
Sukchan Lee
80cda9b03f [AMF/MME] Refactor SM to prevent crash (#1912) 2022-11-26 21:40:23 +09:00
Sukchan Lee
c4235ef489 Fixed MacOSX Test code 2022-11-26 18:50:27 +09:00
Sukchan Lee
968236af20 Fixed test code for MacOSX Ventura 2022-11-26 18:50:27 +09:00
Lester
8ea6e2415f 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:34:06 +09:00
Sukchan Lee
3531166d38 Rollback ogs-app timer 2022-11-18 23:27:20 +09:00
Sukchan Lee
25f8c9a03e Update document for v2.5.6 2022-11-18 23:03:53 +09:00
Sukchan Lee
148ea44562 Release v2.5.6 2022-11-18 22:45:25 +09:00
Sukchan Lee
d5b34322f3 Fixed crash after 48 hours of running (#1893) 2022-11-18 21:30:33 +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
Sukchan Lee
94797e7d7a Update debian package 2019-05-28 20:05:07 +09:00
Sukchan Lee
581f4feb97 struct name update 2019-05-28 17:46:19 +09:00
Sukchan Lee
7c1c320141 gtp interface update 2019-05-28 14:47:06 +09:00
Sukchan Lee
244770de65 mistypo 2019-05-28 11:36:23 +09:00
Sukchan Lee
68ac111bd5 update document 2019-05-26 17:18:56 +09:00
Sukchan Lee
56556195a9 Document update 2019-05-26 17:15:14 +09:00
Sukchan Lee
9be8d1fd00 change new struct definition 2019-05-26 16:10:06 +09:00
Sukchan Lee
cdffdcaa78 update it 2019-05-26 15:27:09 +09:00
Sukchan Lee
ed803b27cb Update it 2019-05-26 12:57:29 +09:00
Sukchan Lee
314642fe1a Update it 2019-05-26 12:22:43 +09:00
Sukchan Lee
d58ddcb3ae Fix the crash error (#187) 2019-05-25 19:39:37 +09:00
Sukchan Lee
60277dcf05 Enable all s1ap message test 2019-05-19 20:26:33 +09:00
Sukchan Lee
77b8656dc3 Fix the PIDFile of the systemd service file (#182) 2019-05-19 00:42:16 +09:00
Sukchan Lee
0f892f6e84 Support a different APN for each PGW (#183) 2019-05-19 00:24:15 +09:00
Sukchan Lee
8ae096f77e Document: Fix the method of uninstalling nextepc 2019-05-18 21:08:25 +09:00
Sukchan Lee
6c99b7c187 Release Notes - v0.4.1 2019-05-18 19:32:14 +09:00
Sukchan Lee
fe68841456 Update debian changelog for ubuntu(bionic) 2019-05-18 09:59:30 +00:00
Sukchan Lee
314a1cd4be Update debian changelog for ubuntu(xenial) 2019-05-18 09:58:03 +00:00
Sukchan Lee
179df88c32 Update debian changelog 2019-05-18 08:19:39 +00:00
Sukchan Lee
bc180c3ffc Improve sanity check for queue-push fail 2019-05-06 23:13:26 +09:00
Sukchan Lee
ab81e38487 Fix the ./testsimple crash in MacOSX 2019-05-06 22:49:58 +09:00
Sukchan Lee
2d7438313d Change initialization sequence 2019-05-06 20:43:50 +09:00
Sukchan Lee
bb67705a66 BUGFIX: if SCTP uses SEQPACKET, sock should not use hash key. 2019-05-06 19:22:43 +09:00
Sukchan Lee
f097364d52 Merge branch 'master' of https://github.com/open5gs/nextepc 2019-05-03 12:43:17 +00:00
Sukchan Lee
0992fbe7f3 Fix the bug of segmentation fault in test program (#175) 2019-05-03 12:41:57 +00:00
Sukchan Lee
9bef56806e Merge pull request #178 from medeiros405/master
Change in the Log about the address use for the UE.
2019-05-03 12:27:37 +10:00
medeiros405
2ef9718209 Change in the Log about the address use for the UE. 2019-05-02 21:40:10 -03: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
Sukchan Lee
d744893fba Update document to fix the WebUI installation URL (#176) 2019-05-02 16:34:05 +10:00
Sukchan Lee
0291d97dd5 Update document for changing debian repository 2019-05-01 18:13:21 +09:00
Sukchan Lee
a5f764544f Remove net-select in debian docker 2019-05-01 17:43:42 +09:00
Sukchan Lee
39766bc379 Merge branch 'master' of https://github.com/open5gs/nextepc 2019-05-01 17:25:29 +09:00
Sukchan Lee
bf1c6c00fe change fedora latest version 2019-05-01 17:24:59 +09:00
Sukchan Lee
c8ed909f46 Remove __DATE__/__TIME due to reproduce same binary 2019-05-01 07:56:46 +00:00
Sukchan Lee
49adabdc70 Fix the compile error for CentOS (#175) 2019-04-30 21:22:35 +00:00
Sukchan Lee
e5523342d4 Set submodule to ogslib master 2019-05-01 00:22:43 +09:00
Sukchan Lee
08efe857a0 Merge branch 'master' of https://github.com/open5gs/nextepc 2019-04-30 15:19:03 +00:00
Sukchan Lee
aec51b399a add xenial package 2019-04-30 15:18:50 +00:00
Sukchan Lee
ce2590d6fc fix the warning 2019-04-30 00:04:43 +09:00
Sukchan Lee
157d5fd739 Update NEWS document 2019-04-29 23:47:33 +09:00
Sukchan Lee
1e2ca81ae3 update ogslib changeset 2019-04-29 23:37:32 +09:00
Sukchan Lee
de2cadd926 update changelog for ubuntu 2019-04-29 14:30:51 +00:00
Sukchan Lee
dacfb7d209 Reset debian changelog 2019-04-29 14:09:29 +00:00
Sukchan Lee
f87ecc9e2c ubuntu release tag 2019-04-29 13:53:10 +00:00
Sukchan Lee
1300a4f0e7 add ubuntu release script 2019-04-29 13:50:50 +00:00
Sukchan Lee
16ea21d4a0 update document 2019-04-29 22:26:52 +09:00
Sukchan Lee
92733e71be Add Google Analytics 2019-04-28 23:20:33 +09:00
Sukchan Lee
8a5ef1ac1a Update Document 2019-04-28 20:28:52 +09:00
Sukchan Lee
6294ae3349 Merge branch 'master' of https://github.com/open5gs/nextepc 2019-04-28 20:20:27 +09:00
Sukchan Lee
59cd4aaa2e Set OGSLib master 2019-04-28 20:19:39 +09:00
Sukchan Lee
b9e3d76783 version update in webui 2019-04-28 09:16:18 +00:00
Sukchan Lee
3defa0974c Merge branch 'r0.3.11' 2019-04-28 09:14:50 +00:00
Sukchan Lee
bb2e976958 nextepc release v0.3.11 2019-04-28 05:17:14 +00:00
Sukchan Lee
9b53988ab6 Update document 2019-04-28 13:42:14 +09:00
Sukchan Lee
af1b87002a Update document 2019-04-28 00:45:07 +09:00
Sukchan Lee
75b09fe410 fix gitignore since test progname is changed 2019-04-28 00:11:48 +09:00
Sukchan Lee
c47f065e1a fix the baseurl to nextepc 2019-04-28 00:10:50 +09:00
Sukchan Lee
48bfe83c0f Add a Document 2019-04-28 00:01:51 +09:00
Sukchan Lee
3ff9c6bbb5 add gitsubmodule 2019-04-28 00:00:02 +09:00
Sukchan Lee
1b62f07684 remove gitmodules 2019-04-27 23:57:29 +09:00
Sukchan Lee
0ebd85f364 Integration with OGSLib 2019-04-27 23:54:30 +09:00
Sukchan Lee
4165ec1264 Release v0.3.11 2019-04-27 14:00:29 +00:00
Sukchan Lee
540a3956bb Merge pull request #171 from toldjuuso/patch-1
typo: trace log message on s11
2019-04-19 06:15:52 +09:00
Juuso Haavisto
9919e7dc86 typo: trace log message on s11 2019-04-18 20:10:18 +03:00
Sukchan Lee
6bd8411fc1 Add log message if EIA0 is used (#167) 2019-04-02 11:11:24 +09:00
Sukchan Lee
8fea12643a nas_plmn_id_t structure for NAS message. (#166)
/**********************************
 * NAS PLMN_ID Structure             */
typedef struct _nas_plmn_id_t {
ED2(uint8_t mcc2:4;,
    uint8_t mcc1:4;)
ED2(uint8_t mnc3:4;,
    uint8_t mcc3:4;)
ED2(uint8_t mnc2:4;,
    uint8_t mnc1:4;)
} __attribute__ ((packed)) nas_plmn_id_t;

/**********************************
 * PLMN_ID Structure             */
typedef struct _plmn_id_t {
ED2(c_uint8_t mcc2:4;,
    c_uint8_t mcc1:4;)
ED2(c_uint8_t mnc1:4;,
    c_uint8_t mcc3:4;)
ED2(c_uint8_t mnc3:4;,
    c_uint8_t mnc2:4;)
} __attribute__ ((packed)) plmn_id_t;
2019-03-31 14:26:18 +09:00
Sukchan Lee
c964d1df3c Increase packet memory buffer (#161) 2019-03-22 16:59:37 +09:00
Sukchan Lee
ddaea685b3 Notify mailing list 2019-03-17 21:37:48 +09:00
Sukchan Lee
e1ad9c43d7 Fix the source code (#159) 2019-03-17 01:58:14 +00:00
Sukchan Lee
0b91d42cb1 Merge pull request #159 from laf0rge/laforge/typo
nas_message.py: Fix copy+paste error
2019-03-17 10:57:37 +09:00
Harald Welte
653701abdb nas_message.py: Fix copy+paste error
Files are not generated by gtpv2c_tlv.py but by nas_message.py
2019-03-16 20:55:54 +01:00
Sukchan Lee
58bcda332b Set ENB-ID to zero in S1AP message. (#156) 2019-03-10 10:32:26 +09:00
Sukchan Lee
8cb620e477 refine exit routine for nextepc-epcd 2019-03-03 21:11:50 +09:00
Sukchan Lee
5cac796e46 Support 4-byte RES in auth (#147) 2019-02-07 20:53:01 +09:00
Sukchan Lee
8c68560ccd fix the timezone in EMM & GTP encoding 2019-01-20 15:36:11 +09:00
Sukchan Lee
b2c6c8f856 Merge pull request #129 from EugeneBogush/patch-1
maybe this more logically?
2018-12-05 06:46:03 +09:00
EugeneBogush
f753d38338 maybe this more logically? 2018-12-04 18:00:46 +02:00
Sukchan Lee
c711e788d2 Add TimeZone in the docker environment 2018-11-13 10:03:24 +09:00
Sukchan Lee
26f4081979 Merge pull request #109 from brchiu/add_missing_c_namespace 2018-10-12 20:49:48 +09:00
Bi-Ruei, Chiu
3427835ecc Add missing C namespace 2018-10-12 14:59:30 +08:00
Sukchan Lee
7312dd1974 Change configuration description (#100) 2018-09-23 14:41:55 +09:00
Sukchan Lee
f5599896ff SGW selection mode is added (#100) 2018-09-23 14:29:19 +09:00
Sukchan Lee
aea1d83026 Create mme_sgw_t and mme_pgw_t for configuration (#100) 2018-09-23 13:16:40 +09:00
Jihoon Brandon Lee
3dc2d396db S1AP PWS(public warning system) support
S1AP Write Replace Warning Request/Response
S1AP Kill Request/Response
CBC integration (SBc-AP) is required to initiate a PWS procedure.
2018-09-13 20:38:33 -06:00
Sukchan Lee
d004770e17 Release v0.3.10 2018-08-17 11:54:36 +00:00
Sukchan Lee
f049ffb945 Release v0.3.10 2018-08-17 04:28:50 +00:00
Sukchan Lee
3b66bf09aa Renew freeDiameter Certification #93, #94 2018-08-17 10:00:15 +09:00
Sukchan Lee
0e7cf76f8a Change directory src/app to src/common 2018-08-14 17:28:22 +09:00
Sukchan Lee
0ce11e3a7c Remove 'app_name' global variable 2018-08-14 17:01:46 +09:00
Sukchan Lee
d96efc6ea9 Re-arrange function declaration on Test Code 2018-08-13 17:49:49 +09:00
Sukchan Lee
a5dd751817 update packet-lock.json 2018-08-13 16:55:21 +09:00
Sukchan Lee
334de68d85 update package-lock.json 2018-08-13 15:46:09 +09:00
Sukchan Lee
295213dd62 Add Attach-Request handler in all EMM state.
If signal is low, UE cannot send an appropriate NAS message.

In this case, the eNB either sends a NASNonDelivery message or
sends the message back according to UE's NAS timer.

At this point, NextEPC did not implement NAS-Specification exactly. The
NASNonDelivery message will be ignored, and a timer of NAS is not yet in
need.

However, since necessary to recover, it is now implemented to
accept an Attach Request in all EMM state. The other features will be
added later if we decide that it is really necessary.
2018-08-11 12:27:50 +09:00
James Park
0a93c886ad Merge branch 'master' of https://github.com/acetcom/cellwire 2018-08-10 17:09:39 -07:00
James Park
f91b872d0b Do not resolve remote peer, which may results in the failure of running
nextepcd.
2018-08-10 17:04:34 -07:00
Sukchan Lee
283e37ca26 update package-lock.json 2018-08-09 20:55:20 +09:00
Sukchan Lee
e2afb6b2fc fix package-lock 2018-07-31 19:40:04 +09:00
Sukchan Lee
51b07a496e Show reason string for YAML parser error (#40) 2018-07-23 20:28:38 +09:00
Sukchan Lee
c3e5bdba53 fix the indentation 2018-07-04 18:05:30 +09:00
Sukchan Lee
271949ad86 Merge pull request #73 from giuliol/master
fixed TLV uint32 bug
2018-07-04 18:04:08 +09:00
Sukchan Lee
7ed6d53604 update it 2018-07-02 22:35:36 +09:00
Sukchan Lee
85a100c69d udpate it 2018-07-02 22:34:59 +09:00
Sukchan Lee
3327420b6f Change discussion channel from slack to discord 2018-07-02 22:31:59 +09:00
Sukchan Lee
64a9fef969 upgrade NPM package 2018-07-02 22:20:13 +09:00
Sukchan Lee
95079a8e90 fix the slack invite link 2018-07-02 21:02:51 +09:00
Sukchan Lee
1c658c1e45 add make in fedora dockerfile 2018-06-23 22:12:57 +09:00
Sukchan Lee
06e56a4509 fix the compile error in MacOSX 2018-06-23 22:10:39 +09:00
Sukchan Lee
2295636f36 Merge branch 'master' of https://github.com/acetcom/nextepc 2018-06-23 13:00:01 +00:00
Sukchan Lee
8f9219bef0 fix the compile error for GCC 8.1 2018-06-23 12:59:40 +00:00
Sukchan Lee
b2f957dc8e fix the compiler error in the mongo-c-driver 1.11 2018-06-23 21:14:03 +09:00
Sukchan Lee
71c7508047 Merge branch 'master' of https://github.com/acetcom/nextepc 2018-06-20 17:57:17 +09:00
Sukchan Lee
bc87fc9c18 remove unnecessary code 2018-06-20 17:57:02 +09:00
Sukchan Lee
50fdf5474f Add log for UE IP (#71) 2018-06-19 22:43:13 +09:00
giuliol
51fde0acd8 fixed TLV uint32 bug 2018-06-18 10:34:17 +01:00
Sukchan Lee
5ee7cdd3f8 Release v0.3.9 2018-06-03 01:42:05 +00:00
Sukchan Lee
048eb3f2b2 Change default DISPLAY environment.
We set the DISPLAY=docker.for.mac.localhost:0
If you want to use wireshark in Linux, you need to set DISPLAY to :0.
2018-06-03 10:32:28 +09:00
Sukchan Lee
352b02fc3e Fix the Dockerfile error 2018-06-03 10:17:56 +09:00
Sukchan Lee
9d8695fa31 Update logging message 2018-05-31 09:40:34 +09:00
Sukchan Lee
9415f5215c Fix SCTP for Mac OS X 2018-05-30 22:17:46 +09:00
Sukchan Lee
8c674aa134 Update logging 2018-05-30 21:58:10 +09:00
Sukchan Lee
3b9b1108b1 Configure Outbound streams on SCTP_COMM_UP 2018-05-30 21:49:17 +09:00
Sukchan Lee
9aed43075c SCTP recv interface will be changed. (Progressing...) 2018-05-30 17:45:14 +09:00
Sukchan Lee
3d78f285be Install wireshark in docker 2018-05-30 15:05:47 +09:00
Sukchan Lee
749d632b86 Change the name of docker image 2018-05-29 17:41:11 +09:00
Sukchan Lee
37ecb9a63b Change debian package in docker 2018-05-29 16:03:29 +09:00
Sukchan Lee
0d3af830bb Unlink debian from ubuntu 2018-05-29 13:05:37 +09:00
Sukchan Lee
7c7cfd1cbf Support bionic in Docker 2018-05-29 11:20:48 +09:00
Sukchan Lee
4f1efbb521 Add wireshark in Docker 2018-05-29 11:15:18 +09:00
Sukchan Lee
2fb37ad797 Change the assert to warning
- When UEContextReleaseComplete is received,
    It could be unknown MME-UE-S1AP-ID.
- So, we change the log from assert to warning
2018-05-23 20:40:46 +09:00
Sukchan Lee
ffa6c2c15b Fix the bug of invalid TAU update result.
- MME should set TAU update result in TAU accept message. TAU udpate
result should be derived from TAU request message.
2018-05-22 19:21:34 +09:00
Sukchan Lee
c906b243a2 fix the encryption bug 2018-05-22 17:39:43 +09:00
Sukchan Lee
056fc43d34 Fix the bug for EIA2 (#64) 2018-05-22 11:31:09 +09:00
Sukchan Lee
76c84bdaa4 Fix the bug in building TAU accept message (#29)
- TAU accept should be integrity protected
2018-05-21 15:17:34 +09:00
Sukchan Lee
6ae20c9d1c refine code 2018-05-19 06:16:53 +09:00
Sukchan Lee
fe84604fa0 Oops! Change inbound_streams to outbound_streams (#63) 2018-05-19 06:06:02 +09:00
Sukchan Lee
85a2a64b65 Support Mac OS X for SCTP streams negotiations 2018-05-18 23:08:57 +09:00
Sukchan Lee
f5c203d3ac remove redundant code 2018-05-18 17:32:56 +09:00
Sukchan Lee
9a0afe035a Negociate SCTP stream ID with eNodeB (#63) 2018-05-18 17:14:29 +09:00
Sukchan Lee
76d8df3879 remove d_error 2018-05-18 15:52:47 +09:00
Sukchan Lee
550a606306 Update error message if SGW is not running (#59) 2018-05-14 21:46:19 +09:00
Sukchan Lee
1b21c21395 change warning to trace 2018-05-13 21:14:51 +09:00
Sukchan Lee
157dab73c7 fix the linux for SCTP streams 2018-05-13 18:31:01 +09:00
Sukchan Lee
7dba30b1e6 S1AP sends SCTP packet with stream id (#54) 2018-05-13 18:02:24 +09:00
Sukchan Lee
55fa0115e8 Merge branch 'master' into stream 2018-05-13 17:01:36 +09:00
Sukchan Lee
2142d406f0 fix the timezone for GTPv2 message 2018-05-13 17:00:57 +09:00
Sukchan Lee
9d84d4d43a Fix the timezone error 2018-05-13 16:45:49 +09:00
Medeiros405
16aa960b1e Small fix to set correct timezone in UE. 2018-05-13 00:27:39 -03:00
Sukchan Lee
57ef9697c3 Merge branch 'stream' of https://github.com/acetcom/nextepc into stream 2018-05-13 10:04:12 +09:00
Sukchan Lee
280aaf9fe1 Add SCTP output stream generator (#54) 2018-05-10 11:19:05 +09:00
Sukchan Lee
529b55c16b Introduce new configuration for SCTP streams (#54)
SCTP initmsg
 - Number of output streams : configured(default:30)
 - Maximum input streams : 65535
 - Maximum attempts : 4
 - Maximum initial timeout : 8 seconds
2018-05-10 10:35:15 +09:00
Sukchan Lee
10f59c850b Generate SCTP output stream identifier 2018-05-09 23:09:04 +09:00
Sukchan Lee
e18467889c Introduce new configuration for SCTP streams
SCTP initmsg
 - Number of output streams : configured(default:30)
 - Maximum input streams : 65535
 - Maximum attempts : 4
 - Maximum initial timeout : 8 seconds
2018-05-09 22:11:25 +09:00
Sukchan Lee
3148d4cd67 Support Ubuntu 18.04 LTS (bionic) 2018-05-05 22:52:03 +09:00
Sukchan Lee
de92fdd5c7 Update debian changelog for ubuntu 18.04(bionic)
We've release ubuntu 18.04 LTS(bionic)
2018-05-05 21:51:50 +09:00
Sukchan Lee
f3ddfaec44 Fix the docker development environment 2018-05-02 22:11:02 +09:00
Sukchan Lee
2d5f9d0d26 Release v0.3.8 2018-04-29 21:48:27 +09:00
Sukchan Lee
765eb2ada0 update it 2018-04-20 10:48:52 +02:00
Sukchan Lee
ee3c2d29bf Merge branch 'master' of https://github.com/acetcom/nextepc 2018-04-20 09:06:50 +02:00
Sukchan Lee
60aca81a1f fix the bug for handover command in case of no indirect tunnel 2018-04-20 09:06:17 +02:00
Sukchan Lee
e60a3d567d fix memory-leak when s1ap decode is failed 2018-04-18 22:21:58 +09:00
James Park
c968067829 -Initialize enb_ue_s1ap_id to invalid value
-Use mme_ue_s1apid if enb_ue_s1ap_id is not valid when encoding
ue_context_release_command
2018-04-17 14:35:15 -07:00
James Park
553804dd94 Fix bug: Paging message should be copied before sending 2018-04-17 11:46:20 -07:00
Sukchan Lee
38a252bbf0 Merge branch 'master' of https://github.com/acetcom/nextepc 2018-04-15 18:37:58 +09:00
Sukchan Lee
ae1660c436 add warning 2018-04-15 18:37:45 +09:00
Sukchan Lee
d2aed88ac6 Release 0.3.7 2018-04-14 15:04:04 +09:00
James Park
e5a0b1ff69 Reduce the number of buffered packets when UE is in idle.
FIXME: Need to be adjusted when the number of clbuf is increased.
2018-04-12 10:11:17 -07:00
Sukchan Lee
539d0c7bc5 fix the bug about wrong size value when calling core_calloc 2018-04-11 06:47:28 +09:00
James Park
a1e06c919f Fix bug : wrong size vlaue when calling core_calloc 2018-04-10 14:35:18 -07:00
Sukchan Lee
935e4b56ef Use common S1AP library for UERadioCapability
- Use S1AP_STORE/CLEAR macros for storing/retrieving UERadioCapability
- UERadioCapability will be stored in UECapabilityInfoIndication
- InitialContextSetupRequest use the stored UERadioCapability
2018-04-09 21:52:16 +09:00
Sukchan Lee
2a1feae83f add the log in initial_context_setup_request 2018-04-06 09:38:11 +09:00
Sukchan Lee
b1055f703a if Unknown GUTI in TAU request, MME sends TAU-reject (#42) 2018-03-27 09:42:23 +09:00
Sukchan Lee
dab5bae4ed add constraint for safety 2018-03-25 22:51:30 +09:00
Sukchan Lee
8ff9a7cf4c eNB/MME Configuration Transfer with new S1AP library 2018-03-24 10:08:55 +09:00
Sukchan Lee
82dee88309 change d_assert to d_error if target eNB is not found 2018-03-23 13:14:56 +09:00
Sukchan Lee
6ff80f4457 Apply velichkov's s1ap branch update 2018-03-22 15:55:52 +09:00
Sukchan Lee
62eed38e63 mistypo 2018-03-22 14:57:46 +09:00
Sukchan Lee
e66c8270d8 update readme 2018-03-22 14:55:03 +09:00
Sukchan Lee
ab6f48193b readme updated 2018-03-22 14:53:18 +09:00
Sukchan Lee
f3b4a9b70f Move new S1AP encoder/decoder 2018-03-22 14:12:03 +09:00
Sukchan Lee
80b14b85f0 Merge branch 's1ap' 2018-03-22 13:53:52 +09:00
Sukchan Lee
db1d139364 add debug message for s1ap(trace_level:25) 2018-03-21 21:15:01 +09:00
Sukchan Lee
03644bdb0c Release 0.3.6 2018-03-21 08:05:56 +00:00
Sukchan Lee
c944e87d5a Release 0.3.6 2018-03-21 16:49:39 +09:00
Sukchan Lee
778d23e717 Reset is done 2018-03-21 16:37:15 +09:00
Sukchan Lee
ef9d5948a8 s1 reset encoder/decoder is added 2018-03-21 16:10:20 +09:00
Sukchan Lee
13ece7f4d4 Merge branch 'master' into s1ap 2018-03-21 14:06:20 +09:00
Sukchan Lee
a9e5283db3 fix compile error trusty 32bit 2018-03-20 15:12:24 +09:00
Sukchan Lee
87b6896128 fix compile error 2018-03-18 18:50:36 +09:00
Sukchan Lee
6c692e05f5 Oops! 2018-03-16 13:29:36 +09:00
Sukchan Lee
bf6e3cdc8c change assert to warning 2018-03-16 13:13:56 +09:00
Sukchan Lee
8a2699b81f increase recv buffer size to 8192 (#35) 2018-03-15 21:54:50 +09:00
Sukchan Lee
d503fadd55 fix the testvolte 2018-03-15 17:39:41 +09:00
Sukchan Lee
463e40d41b test initial context setup failure and handover failure 2018-03-15 17:22:45 +09:00
Sukchan Lee
4b32d7f448 Merge branch 'master' into s1ap 2018-03-15 14:14:43 +09:00
Sukchan Lee
25c90c0e96 Increase SCTP recv buffer from 2048 to 4096 2018-03-15 10:50:32 +09:00
Sukchan Lee
1cd740704e update it 2018-03-14 18:12:07 +09:00
Sukchan Lee
9434c751cb merge master branch 2018-03-14 17:59:56 +09:00
Sukchan Lee
0414f19684 Merge branch 'master' into s1ap 2018-03-14 17:45:54 +09:00
Sukchan Lee
5d21ae4071 Sends ErrorIndication if S1 context has already been removed (#29) 2018-03-14 17:24:04 +09:00
Sukchan Lee
f89358dc03 add handover failure 2018-03-14 16:36:56 +09:00
Sukchan Lee
4c8123f771 ENB Status Transfer is added with s1ap_copy_ie() 2018-03-14 14:03:43 +09:00
Sukchan Lee
637d8613ba fix the 32bit S1AP problem 2018-03-14 13:40:45 +09:00
Sukchan Lee
d881f8c2ed handover test 2018-03-13 23:42:55 +09:00
Sukchan Lee
dbdd6bfdcf handover test 2018-03-13 23:16:01 +09:00
Sukchan Lee
99a8e06ccf Oops. rollback 2018-03-13 17:52:00 +09:00
Sukchan Lee
a11f6e431c S1AP handover is added. (Not tested) 2018-03-13 17:50:11 +09:00
Sukchan Lee
8e52447a53 ErrorIndication is added 2018-03-12 23:06:14 +09:00
Sukchan Lee
5172d2034a Path Switch Request is added 2018-03-12 22:47:10 +09:00
Sukchan Lee
49fba95ebb update README 2018-03-12 20:58:31 +09:00
Sukchan Lee
74834c0eb4 change s1ap asn1c to velichkov 2018-03-12 11:55:44 +00:00
Sukchan Lee
422d1c2f8f Merge branch 's1ap-brchiu' of https://github.com/acetcom/nextepc into s1ap-brchiu 2018-03-12 11:38:40 +00:00
Sukchan Lee
98a317b4b9 port linux 2018-03-12 11:38:21 +00:00
Sukchan Lee
ff3dc862b3 paging is tested 2018-03-11 21:24:26 +09:00
Sukchan Lee
9e55f1c78a Paging is added 2018-03-11 20:57:18 +09:00
Sukchan Lee
c7d24c804b E-RAB Setup/Release is added 2018-03-11 20:41:37 +09:00
Sukchan Lee
308c6f1e66 all attach test is successful 2018-03-11 16:36:51 +09:00
Sukchan Lee
6480689da4 ue context release is added 2018-03-11 14:38:35 +09:00
Sukchan Lee
2c1d70de3c new s1ap : attach done 2018-03-10 22:52:21 +09:00
Sukchan Lee
d40bf0463d continue to move new s1ap library 2018-03-10 12:21:02 +09:00
Sukchan Lee
e10d358a2b Merge branch 'master' into s1ap-brchiu 2018-03-09 21:02:17 +09:00
Sukchan Lee
bb844434f2 MME Configuration Transfer is added (#29) 2018-03-08 23:29:02 +09:00
Sukchan Lee
6c3390bf30 MME can support S1-handover without creating indirect tunnel 2018-03-07 22:32:31 +09:00
Sukchan Lee
c31dfb507d eNB Configuration Transfer is added (#29) 2018-03-07 21:53:53 +09:00
Sukchan Lee
5fad2f0e5c Release 0.3.5 2018-03-06 12:43:34 +00:00
James Park
e69cea9b5b Ignore UCS2 bit to encode UIA 2018-03-05 11:02:36 -08:00
Sukchan Lee
1c8d10a696 remove s1ap2 2018-03-05 23:33:29 +09:00
Sukchan Lee
0d073fbb73 s1setup encoder is implemented 2018-03-05 23:32:14 +09:00
Sukchan Lee
c5689b3f66 update it 2018-03-05 23:01:07 +09:00
Sukchan Lee
0c9b034f12 move s1ap3 to s1ap 2018-03-05 22:17:22 +09:00
Sukchan Lee
16b69865ac remove s1ap 2018-03-05 22:14:38 +09:00
Sukchan Lee
fa981b8028 update it 2018-03-04 23:34:40 +09:00
Sukchan Lee
0628b76296 update it 2018-03-04 23:23:35 +09:00
Sukchan Lee
0d8928ff05 re-add s1ap 2018-03-04 16:30:03 +09:00
Sukchan Lee
da04290a62 encoder/decoder sample code is added 2018-03-04 13:35:06 +09:00
Sukchan Lee
6f9e45a332 Modify the security capability length (#27)
If octet 5 is included, then also octet 6 shall be included and octet 7
may be included.
2018-03-03 14:18:33 +09:00
Sukchan Lee
9357381839 Fix the bug of secuirty capability in security command (#27) 2018-03-03 14:10:24 +09:00
Sukchan Lee
8ab602e6d2 update it 2018-02-27 18:35:57 +09:00
Sukchan Lee
84e7f50b3f update test code (#22) 2018-02-27 12:01:01 +09:00
Sukchan Lee
2bc92c5ac8 fix the indentation
* VIM
set sw=4
set ts=4
set expandtab

* Limited with 80 Column
2018-02-27 11:59:08 +09:00
Sukchan Lee
2429a4e363 fix the presentmask and change default configuration (#22) 2018-02-27 11:56:10 +09:00
Sukchan Lee
dab0f3ef3a Merge pull request #22 from medeiros405/master 2018-02-27 11:08:55 +09:00
medeiros405
144548f4c0 src/mme/emm_handler.c 2018-02-26 13:48:26 -03:00
medeiros405
1f44efbc3d src/mme/emm_handler.c 2018-02-26 13:46:28 -03:00
Sukchan Lee
6df88862f9 mistypo 2018-02-26 22:36:51 +09:00
Sukchan Lee
f49a66dfc5 script update 2018-02-26 14:59:51 +09:00
Sukchan Lee
7e8718e346 update it 2018-02-26 11:57:49 +09:00
medeiros405
02712a38e6 src/mme/emm_handler.c
src/mme/mme_context.c
src/mme/mme_context.h
support/config/mme.conf.in
2018-02-25 18:33:36 -03:00
Sukchan Lee
888cbfbdb8 S1-reset encoder/decoder is added 2018-02-22 22:52:59 +09:00
Sukchan Lee
cdf7fb94bf S1-Setup failure is added 2018-02-22 22:23:16 +09:00
Sukchan Lee
e4989c7aa3 fix the README.md 2018-02-22 11:27:38 +09:00
Sukchan Lee
5365893c34 Release 0.3.4 2018-02-22 02:17:11 +00:00
Sukchan Lee
3c65414135 Release 0.3.4 2018-02-22 02:14:31 +00:00
Sukchan Lee
80bcfcf646 Release 0.3.4 2018-02-22 02:10:52 +00:00
Sukchan Lee
7e460fbcb4 dput is added 2018-02-22 10:47:21 +09:00
Sukchan Lee
62fe796d41 fix check.sh 2018-02-22 09:51:38 +09:00
Sukchan Lee
0104543f7d add manpage for dev 2018-02-22 00:48:42 +09:00
Sukchan Lee
39c30cb908 fix it 2018-02-22 00:32:11 +09:00
Sukchan Lee
c09b272e53 fix the base image for docker-dev 2018-02-22 00:30:28 +09:00
Sukchan Lee
92d8bde84a change dependency docker-dev 2018-02-22 00:18:31 +09:00
Sukchan Lee
e2bb5706fa update Dockerfile 2018-02-21 23:55:44 +09:00
Sukchan Lee
d74afc5bc7 for old version gcc compiler, we fix the size of child_desc in TLV message library 2018-02-21 14:48:41 +00:00
Sukchan Lee
c8a65b6b18 add other OS for docker 2018-02-21 23:20:48 +09:00
Sukchan Lee
f5582c97b5 NULL-pointer sgw_ue context is accessed (#18) 2018-02-21 17:29:47 +09:00
Sukchan Lee
b8cc130bf5 update check.sh 2018-02-21 14:35:46 +09:00
Sukchan Lee
12d65e92d1 re-arrange package between base and dev 2018-02-21 14:11:41 +09:00
Sukchan Lee
2904284405 Dockerfile cache invalidating for nextepc build 2018-02-21 13:16:11 +09:00
Sukchan Lee
f1b0cd5748 Merge branch 'master' of https://github.com/acetcom/nextepc 2018-02-21 12:35:19 +09:00
Sukchan Lee
91c9586561 update docker configuration 2018-02-21 12:35:05 +09:00
Sukchan Lee
05cfcf4cc3 Override configuration if DB_URI environment variable is existed 2018-02-21 03:25:48 +00:00
Sukchan Lee
c827701824 update it 2018-02-20 23:57:06 +09:00
Sukchan Lee
5fcc7e2ee6 runtime is testedwq 2018-02-20 23:49:24 +09:00
Sukchan Lee
bd1dff2dc5 missing files 2018-02-20 22:47:56 +09:00
Sukchan Lee
f1ad0b11ae change network configuration for docker 2018-02-20 22:29:46 +09:00
Sukchan Lee
9a86d4cb7c Initial Proposal for Docker (#16) 2018-02-20 19:36:34 +09:00
Sukchan Lee
38cccb8a85 move new directory 2018-02-17 15:15:17 +09:00
Sukchan Lee
2d72eaa24d Docker for MongoDB and WebUI recommended by Issue (#16) 2018-02-17 14:47:06 +09:00
Sukchan Lee
f915820f3a network script update for linux 2018-02-15 16:59:27 +09:00
Sukchan Lee
1009ac5e47 add masquerading for Mac OS X 2018-02-14 20:09:04 +09:00
Sukchan Lee
536138457e fix the warning for Mac OS X 2018-02-14 10:22:36 +09:00
Sukchan Lee
730053cef4 update README.md 2018-02-14 10:07:20 +09:00
Sukchan Lee
4a01623d6e update README.md 2018-02-14 00:34:14 +09:00
Sukchan Lee
0cf0e73bf9 update README.md 2018-02-14 00:33:18 +09:00
Sukchan Lee
87e7992450 update docker README.md 2018-02-14 00:29:22 +09:00
Sukchan Lee
75aaf632b8 Dockerfile updated 2018-02-13 23:48:44 +09:00
Sukchan Lee
5c3c99acda update Dockerfile for including Web User Interface 2018-02-13 17:16:17 +09:00
Sukchan Lee
081170a86e add template Dockerfile for NextEPC 2018-02-13 16:15:11 +09:00
Sukchan Lee
c9b4a20223 Release v0.3.3 2018-02-13 04:50:34 +00:00
Sukchan Lee
926e73e87d We use deb-systemd-invoke instead of systemdctl (#16) 2018-02-13 03:38:33 +00:00
Sukchan Lee
61f796d341 update README.md 2018-02-12 22:11:27 +09:00
Sukchan Lee
03715c84be update README.md 2018-02-12 21:47:36 +09:00
Sukchan Lee
72d28286ea update README.md 2018-02-12 21:23:12 +09:00
Sukchan Lee
c2d68cf4b6 update it 2018-02-12 16:43:05 +09:00
Sukchan Lee
e99f6c7789 update README 2018-02-12 08:48:05 +09:00
Sukchan Lee
340b3cb69c Release v0.3.3 Update 2018-02-11 16:10:22 +00:00
Sukchan Lee
5d8231e6c2 Relase v0.3.3 2018-02-11 23:43:55 +09:00
Sukchan Lee
1e5313c230 fix the compile error in CentOS 2018-02-11 12:07:09 +00:00
Sukchan Lee
d488bc3ed7 fix the conflict between PDN disconnect and Detach Request 2018-02-10 23:59:03 +09:00
Sukchan Lee
0de9185545 change debug level 2018-02-10 17:08:51 +09:00
Sukchan Lee
9563e49f48 update nextepc-pgwd.service for systemd-networkd (#16) 2018-02-10 06:53:38 +00:00
Sukchan Lee
881196cde2 Debian package update for docker issue (#16)
* Previously, pgwtun is setup with ifupdown package.
* Now, we'll use the systemd-networkd.
2018-02-10 11:15:39 +09:00
Sukchan Lee
c096cce571 update print-out 2018-02-09 23:14:30 +09:00
Sukchan Lee
3c33206dee update comment 2018-02-09 16:43:28 +09:00
Sukchan Lee
382c52a481 clear sgw s1u path if delete session response is received 2018-02-09 16:26:55 +09:00
Sukchan Lee
f904b63053 Authentication failure should be handled based on EMM_CAUSE(#17)
* Synch failure(EMM_CAUSE:21)
  - Re-authorization. Send authentication request again.

* MAC failure(EMM_CAUSE:20)
  - Send Authentication Reject
  - Send UE Context Release Command

* Non-EPS authentication failure(EMM_CAUSE:26)
  - Send Authentication Reject
  - Send UE Context Release Command

* Others
  - Send Authentication Reject
  - Send UE Context Release Command
2018-02-07 14:12:40 +09:00
Sukchan Lee
7769ded65a remove installcheck 2018-02-06 03:45:08 +00:00
Sukchan Lee
0170166b6b update docker manual 2018-02-06 12:32:39 +09:00
Sukchan Lee
935e81f9c9 test directory re-factor 2018-02-06 12:18:11 +09:00
Sukchan Lee
9fbcb45171 testsuite is added. (refer to libosmocom) 2018-02-06 11:59:49 +09:00
Sukchan Lee
c9596d82f7 add cleanfiles 2018-02-05 14:29:13 +00:00
Sukchan Lee
598b711c01 make check is added. 2018-02-05 23:21:37 +09:00
Sukchan Lee
f9096d55f5 for make check, sample configuration is added 2018-02-05 22:45:14 +09:00
Sukchan Lee
0e87056e2e share common files for test programs 2018-02-05 20:57:06 +09:00
Sukchan Lee
ad10c84ffe volte test configuration is updated 2018-02-05 17:26:20 +09:00
Sukchan Lee
7b99cc7d7c Changes default IP configuration (#14)
* NextEPC will not use 127.0.0.1 address for Diameter and GTP-U

* MME
  S1AP: Auto-Detect
  GTP-C: Auto-Detect
  DIAMETER: 127.0.0.2

* SGW
  GTP-C: 127.0.0.2
  GTP-U: Auto-Detect

* PGW
  GTP-C: Both 127.0.0.3 and [::1]
  GTP-U: Both 127.0.0.3 and [::1]
  DIAMETER: 127.0.0.3

* HSS
  DIAMETER: 127.0.0.4

* PCRF
  DIAMETER: 127.0.0.5
2018-02-05 08:08:41 +00:00
Sukchan Lee
75cc9bbb47 update bearer context status in tracking area update 2018-02-04 23:48:49 +09:00
Sukchan Lee
3a57990cbc T3402 is redundant. Remove it in Attach/TAU Accept 2018-02-04 23:41:44 +09:00
Sukchan Lee
14ef938fb9 SGW sends End Marker if GTP Node changes. Previously, ULI's cell ID 2018-02-04 23:15:20 +09:00
Sukchan Lee
5c1a3d54e3 rename it 2018-02-04 17:05:30 +09:00
Sukchan Lee
2defa5c868 add simualtor for the active flag 2018-02-04 16:58:56 +09:00
Sukchan Lee
4371084af4 Tracking Area Update with considering Initial UE message and active flag 2018-02-04 16:01:09 +09:00
Sukchan Lee
c0d4f25717 tracking area update request's active flag 2018-02-04 13:12:26 +09:00
Sukchan Lee
aacaa83eea rollback paging check routine 2018-02-03 23:44:04 +09:00
Sukchan Lee
de04e1de45 introduce ECM_IDLE and ECM_CONNECTED 2018-02-03 23:23:50 +09:00
Sukchan Lee
95551de5f9 tracking area update is handling based on UE ECM status 2018-02-03 22:55:05 +09:00
Sukchan Lee
bb4339de2a rename it 2018-02-03 18:29:32 +09:00
Sukchan Lee
831b3e8985 Error Indication is added 2018-02-03 11:48:15 +09:00
Sukchan Lee
f37b3cbfd3 rollback it 2018-02-03 09:18:22 +09:00
Sukchan Lee
23998862f2 update it 2018-02-03 08:49:46 +09:00
Sukchan Lee
e72d79a328 rollback it 2018-02-03 04:18:31 +09:00
Sukchan Lee
66d16ae1bb update it 2018-02-03 03:44:14 +09:00
Sukchan Lee
00178ff65e fix the bug in X2 handover TAI/E_CGI 2018-02-03 02:08:43 +09:00
Sukchan Lee
582c771605 fix the bug : TAU after S1 Handover 2018-02-03 02:00:38 +09:00
Sukchan Lee
52a1e05f41 change warn to trace level 5 2018-02-02 23:36:03 +09:00
Sukchan Lee
c293bef05a add IP address log if No TEID 2018-02-02 21:29:02 +09:00
Sukchan Lee
ebddb2ad9f rename it 2018-02-02 21:09:37 +09:00
Sukchan Lee
7c2dd5e462 add simulator for S1 holding timer 2018-02-02 20:32:13 +09:00
Sukchan Lee
f61233e627 update it 2018-02-02 19:59:26 +09:00
Sukchan Lee
b97597ae7c change S1 release scheme with holding timer(30sec) 2018-02-02 19:37:36 +09:00
Sukchan Lee
57f3baa273 UE-initiated detach_request is handled in every EMM-state 2018-02-02 15:59:21 +09:00
Sukchan Lee
d944bca038 context(tai, e_cgi) transfer during S1-handover 2018-02-02 15:30:25 +09:00
Sukchan Lee
857a250e4f add to trace for testing tracking area update 2018-02-02 13:46:49 +09:00
Sukchan Lee
34986be707 rollback implicit S1 release 2018-02-02 04:26:01 +09:00
Sukchan Lee
cb7132a2fa fix the bug 2018-02-02 04:20:02 +09:00
Sukchan Lee
5397cfd2d8 Send UE Context Release Command instead of Implicit S1 release 2018-02-02 02:48:55 +09:00
Sukchan Lee
0cd0221b29 rollback conflict between service request and downlink notification 2018-02-01 23:21:20 +09:00
Sukchan Lee
8bd186adad tracking area update accept with ue context release command 2018-02-01 23:06:35 +09:00
Sukchan Lee
4e5d156a6a ECM-IDLE/CONNECTED state is added in MME Context Library 2018-02-01 22:48:59 +09:00
Sukchan Lee
c9e44579d8 refine code 2018-02-01 21:38:59 +09:00
Sukchan Lee
4648dc05d5 log update 2018-02-01 16:54:52 +09:00
Sukchan Lee
ca79c05fe6 Update TAU Accept & Initial Context Setup Failure 2018-02-01 16:39:42 +09:00
Sukchan Lee
b040214364 add U-plane TEID trace log 2018-02-01 14:07:01 +09:00
Sukchan Lee
c3afd65ff3 fix the bug for FSM library 2018-02-01 11:56:01 +09:00
Sukchan Lee
f4baa62209 explicit S1 release for initial contexgt setup failure 2018-01-31 06:24:23 +00:00
Sukchan Lee
03cf945f95 fix the memroy leak in SGW Downlink Notification Ack 2018-01-31 15:01:13 +09:00
Sukchan Lee
01d7f157ff modify release access bearer regardless ue context release request's cause 2018-01-31 12:54:59 +09:00
Sukchan Lee
e49e1d2331 Use explict S1 release for initial context setup failure 2018-01-30 22:14:12 +09:00
Sukchan Lee
67393d0160 Implicit S1 Release immediately if Older S1 context is found. 2018-01-30 22:10:28 +09:00
Sukchan Lee
7ca9ead4b9 refine code 2018-01-30 21:57:19 +09:00
Sukchan Lee
3f7c3d3041 Prevent GUTI re-allocation for every attach_request 2018-01-30 07:25:42 +09:00
Sukchan Lee
cf6df20ad7 refine code 2018-01-29 13:44:25 +00:00
Sukchan Lee
b77c9b8ff6 refine code 2018-01-29 22:38:53 +09:00
Sukchan Lee
795ecc8cf8 Implicit S1 Release 2018-01-29 19:10:54 +09:00
Sukchan Lee
b704e94efa fix the memory leak t3413 paging timer in MME_UE Context 2018-01-29 16:47:07 +09:00
Sukchan Lee
ae6e747e52 ECM_IDLE/CONNECTED is introduced 2018-01-29 14:48:51 +09:00
Sukchan Lee
60cfbed747 Update state machine 2018-01-28 22:08:53 +09:00
Sukchan Lee
597fcfbad9 rollback implict S1 release 2018-01-28 16:13:48 +09:00
Sukchan Lee
762431cb6f GUTI is suppressed in Attach accept if GUTI is not changed. 2018-01-28 15:32:45 +09:00
Sukchan Lee
21a130bc16 Implicitly S1 release without sending UE context release command 2018-01-28 15:08:52 +09:00
Sukchan Lee
5774aeb62d Change Cause value in UE Context Release Command 2018-01-28 14:11:17 +09:00
Sukchan Lee
7b2355a40f MME_UE Context is not deleted even thought Detach Request(switch-off case) 2018-01-28 13:50:21 +09:00
Sukchan Lee
28237ea6af clean security context if KSI is INVALID(7) 2018-01-26 09:08:50 +09:00
Sukchan Lee
09969e859d update log 2018-01-26 07:10:41 +09:00
Sukchan Lee
9451928786 remove INVALID ASSERT in SGW 2018-01-26 06:52:30 +09:00
Sukchan Lee
c6bfed6628 Debian Release 0.3.2 2018-01-24 08:12:43 +00:00
Sukchan Lee
20efdd5639 update the GTP TLV trace 2018-01-24 14:17:24 +09:00
Sukchan Lee
dfb9755295 update data plane trace 2018-01-24 02:59:23 +00:00
Sukchan Lee
6272d170e0 Merge branch 'master' of https://github.com/acetcom/nextepc 2018-01-24 02:55:14 +00:00
Sukchan Lee
e31976e505 fix the linux compile error 2018-01-24 02:54:56 +00:00
Sukchan Lee
4c98dae79e fix the bug indirect tunnel 2018-01-24 11:54:04 +09:00
Sukchan Lee
94145fec62 fix the bug for finding indirect tunnel 2018-01-24 11:32:46 +09:00
Sukchan Lee
bba98cf066 s1ap_encoder/s1ap_decoder module use d_trace() instead of printf() 2018-01-24 10:17:50 +09:00
Sukchan Lee
9503c8efdc chage debug buffer size to HUGE_STRING_LEN(8192) for avoiding buffer overflow 2018-01-24 10:08:59 +09:00
Sukchan Lee
f5f4e42be9 update ATTACH_ACCEPT message for solving the problem of EMM_STATUS 2018-01-24 00:03:44 +09:00
Sukchan Lee
afafce6760 update gitignore 2018-01-23 20:20:19 +09:00
Sukchan Lee
49cfb51a65 fix the open-ims test configuration 2018-01-23 17:54:25 +09:00
Sukchan Lee
02a11b6c50 Oops! check the trace level 2018-01-23 08:52:10 +00:00
Sukchan Lee
859322cb22 fix the freediameter logger from d_trace() to printf() 2018-01-23 08:49:33 +00:00
Sukchan Lee
b1c61cfcbf state name changes detached/attached -> de_registered/registered 2018-01-23 17:18:18 +09:00
Sukchan Lee
ed92c30b26 adjust trace_level 2018-01-23 17:11:21 +09:00
Sukchan Lee
610292fb5c dp log added 2018-01-23 16:48:40 +09:00
Sukchan Lee
66d71924ce update trace level 2018-01-23 16:10:46 +09:00
Sukchan Lee
b37a74416a trace name gtp -> gtpv2, others -> app 2018-01-23 16:02:35 +09:00
Sukchan Lee
35a95fd4ac update trace level 2018-01-23 15:38:07 +09:00
Sukchan Lee
d66e25dda3 refine tun error log 2018-01-23 14:36:52 +09:00
Sukchan Lee
6850e3b2a3 update log 2018-01-22 15:12:36 +00:00
Sukchan Lee
225e1ba07f refine GTP/Diameter Log 2018-01-23 00:00:57 +09:00
Sukchan Lee
67870af84f update trace log for S1AP/NAS 2018-01-22 23:14:20 +09:00
Sukchan Lee
17cbd61552 add emm_state_exception if identity response cannot find IMSI 2018-01-22 17:08:53 +09:00
Sukchan Lee
ebd8d2f571 update state machin 2018-01-22 16:53:47 +09:00
Sukchan Lee
7d43bd870e refine attached/detached state handler 2018-01-22 16:35:12 +09:00
Sukchan Lee
f94553bc8a update state machine 2018-01-22 12:24:18 +09:00
Sukchan Lee
6e6eb7a355 refine code 2018-01-22 11:40:26 +09:00
Sukchan Lee
b678d9e9a2 change the log level for conflict M-TMSI 2018-01-21 22:46:48 +09:00
Sukchan Lee
4c8e2add2f fix the bug M-TMSI generator 2018-01-21 22:36:49 +09:00
Sukchan Lee
8557d50341 rename hss_kdf -> hss_auc 2018-01-21 20:46:02 +09:00
Sukchan Lee
e785d4ca4e refine S1ap_Cause related source code 2018-01-21 20:31:28 +09:00
Sukchan Lee
32d62805df changes trace level 2018-01-21 17:40:06 +09:00
Sukchan Lee
4eb314d781 In emm_state_attached state, if NAS MAC is failed, service reject is sent out 2018-01-21 17:36:59 +09:00
Sukchan Lee
1d947c5698 M-TMSI is generated by Random Number for protecting security attach 2018-01-21 16:53:39 +09:00
Sukchan Lee
05f631f0ac change service_request test packet 2018-01-21 15:44:30 +09:00
Sukchan Lee
9b9bfdc0b0 add head logger for indicating configuration file path 2018-01-21 11:21:56 +09:00
Sukchan Lee
f93d367eee update EMM state machine 2018-01-20 15:09:30 +09:00
Sukchan Lee
6bcd72cf45 update state machine 2018-01-20 12:42:58 +09:00
Sukchan Lee
2a6102d207 fix the bug 2018-01-20 12:16:08 +09:00
Sukchan Lee
734ac953a7 Oops! remove comment out 2018-01-20 09:57:24 +09:00
Sukchan Lee
56dd6b6a28 fix the memory leak when SGW cannot find tunnel 2018-01-20 09:35:03 +09:00
Sukchan Lee
3be652701e update EMM state machine 2018-01-20 08:52:59 +09:00
Sukchan Lee
862571c8ed rollback state machine 2018-01-20 04:29:58 +09:00
Sukchan Lee
907c3f2f3c rollback previous commit 2018-01-20 04:07:20 +09:00
Sukchan Lee
baf273c06e add simulator for verifying NAS MAC 2018-01-20 03:11:20 +09:00
Sukchan Lee
cb50821aa8 if TAU_REQUEST is received, update keNB. 2018-01-19 22:21:06 +09:00
Sukchan Lee
1830b0bc75 add authentication failure exception 2018-01-19 17:43:46 +09:00
Sukchan Lee
d02763dde5 security mode reject is added 2018-01-19 17:30:18 +09:00
Sukchan Lee
ee0d7fe7d8 add error handling if ue context release request is radio network 2018-01-19 17:00:37 +09:00
Sukchan Lee
e4c189fec2 if TAU_REJECT or SERVICE_REJECT, MME UE Context is removed. 2018-01-19 16:29:21 +09:00
Sukchan Lee
2701add779 if EMM_STATUS is received, EMM state will be recovered to an initial state 2018-01-19 15:37:25 +09:00
Sukchan Lee
9b8eef2545 rollback previous commit 2018-01-19 14:03:27 +09:00
Sukchan Lee
52c6504c65 for test..disable NAS MAC check 2018-01-19 04:49:41 +09:00
Sukchan Lee
f35aa2178f fix the abort-cause value 2018-01-19 01:32:01 +09:00
Sukchan Lee
46f85d9fc8 Volte QoS is basically derived by IMS instead of EPC.
If the QoS informaton is provided from IMS, we'll use WEBUI QoS value
2018-01-19 01:23:13 +09:00
Sukchan Lee
131babeddc Turn off IPv6 in default setting. But UE network can support both IPv4 and IPv6 2018-01-18 10:21:13 +09:00
Sukchan Lee
6acdff21bb fix the bug for initial context setup failiure 2018-01-18 10:04:55 +09:00
Sukchan Lee
e0504dcf12 check enb_ue context before paging message is sent out 2018-01-18 08:36:56 +09:00
Sukchan Lee
95708a6ce4 fix the memory leak 2018-01-18 08:03:37 +09:00
Sukchan Lee
c9b4a1023b add missing files 2018-01-17 14:13:19 +00:00
Sukchan Lee
8025f10586 diameter log level is fixed 2018-01-17 23:08:20 +09:00
Sukchan Lee
e2f1872ea7 loglevel is adjusted 2018-01-17 22:55:52 +09:00
Sukchan Lee
8ae6f82aee fix linux compile error 2018-01-17 13:37:11 +00:00
Sukchan Lee
2620a4bd44 missing files 2018-01-17 22:35:35 +09:00
Sukchan Lee
3334afe891 refine it 2018-01-17 22:26:48 +09:00
Sukchan Lee
ab4c8f3e9e test code name changes from testrx to testvolte 2018-01-17 22:16:47 +09:00
Sukchan Lee
c56f75299c if WEBUI activates state dedicated bearer, modify bearer will be initiated 2018-01-17 21:47:59 +09:00
Sukchan Lee
8537aaee1b ASR/ASA is done 2018-01-17 21:22:30 +09:00
Sukchan Lee
d13b735d26 rx_sess_data is changed to list structure 2018-01-17 20:31:49 +09:00
Sukchan Lee
3662ad423e add simulation code for testing LTE disconnect during Voice Call 2018-01-17 17:17:22 +09:00
Sukchan Lee
d8f23bed1a mme_ue_remove() if detach request is switch-off 2018-01-17 16:53:49 +09:00
Sukchan Lee
131fb3ac79 modify dedicated bearer is done 2018-01-17 16:01:11 +09:00
Sukchan Lee
fffd654391 NAS modify bearer request/accept is done 2018-01-17 15:41:45 +09:00
Sukchan Lee
c12e76e32d Update Bearer Request is added in PGW 2018-01-17 13:49:08 +09:00
Sukchan Lee
f1e41050c3 re-factoring Gx/Rx diameter to apply modification 2018-01-17 12:41:57 +09:00
Sukchan Lee
4acc21093b add time information to the d_trace() 2018-01-17 10:09:06 +09:00
James Park
543753d0d1 Merge branch 'master' of https://github.com/acetcom/cellwire 2018-01-16 16:33:46 -08:00
James Park
2bb9446fa2 Fix bug: Wrong assignment of teid 2018-01-16 16:33:06 -08:00
Sukchan Lee
73a352657d print raw packet if S1AP decoder is failed 2018-01-17 08:52:58 +09:00
Sukchan Lee
47407e4855 deactivate dedicated bearer is done 2018-01-16 22:14:59 +09:00
Sukchan Lee
60b59babe0 deactivate bearer context request is added 2018-01-16 20:49:39 +09:00
Sukchan Lee
733f598f24 PCC Rule Remove is added in RAR/RAA 2018-01-16 16:11:30 +09:00
Sukchan Lee
521b18ea2a STR/STA is added 2018-01-15 17:25:14 +09:00
Sukchan Lee
5457e4042e suppport P-CSCF session state maintained mode 2018-01-15 14:57:39 +09:00
Sukchan Lee
4b0565c2e9 refine code 2018-01-15 12:52:05 +09:00
Sukchan Lee
d1303a60e4 refine code 2018-01-15 11:54:22 +09:00
Sukchan Lee
257d58d999 Add Detach Request Log 2018-01-14 23:02:16 +09:00
Sukchan Lee
059a71822c P-CSCF simulator is done(Only Call Initiating). Later we will implement 'Call Terminating' 2018-01-14 22:49:29 +09:00
Sukchan Lee
d77be669a9 update it 2018-01-14 22:02:37 +09:00
Sukchan Lee
c1848e03a1 update it 2018-01-14 21:31:16 +09:00
Sukchan Lee
ee770398c2 RAR/RAA is mostly done 2018-01-14 19:54:50 +09:00
Sukchan Lee
11b4463ce4 continue to implement RAR 2018-01-14 18:15:38 +09:00
Sukchan Lee
4b1c4b598b Gx/Rx interface is changed 2018-01-14 13:51:35 +09:00
Sukchan Lee
2884430c57 remove Specific-Action/Abort-Cause in Gx message 2018-01-14 13:00:41 +09:00
Sukchan Lee
853913b31d fix the bug for initial context setup failure 2018-01-13 23:06:21 +09:00
Sukchan Lee
8c3d4ca0de core_free -> CORE_FREE. We need to know which function raise this
exception
2018-01-13 22:03:30 +09:00
Sukchan Lee
63562dd63a add log message 2018-01-13 21:19:43 +09:00
Sukchan Lee
4417578210 RS/RA bug is fixed.
RA dst IP address is dervied from RA's src IP address
RA prefix address is used subnet address instead of UE IPv6 address
2018-01-13 14:15:00 +09:00
Sukchan Lee
694c39c69e fix the bug related UE context release request(transport error) 2018-01-12 08:54:58 +09:00
Sukchan Lee
9675c3bf8c initiate GTP delete session request if EPC received initial context setup failure 2018-01-12 08:32:33 +09:00
Sukchan Lee
8753879a93 Oops! remove unneeded code 2018-01-12 08:29:25 +09:00
Sukchan Lee
f41559c55f fix the bug releated the handler for UE context release request(transport:1) 2018-01-12 08:25:30 +09:00
Sukchan Lee
7e2488035e update .gitignore 2018-01-11 23:25:36 +09:00
Sukchan Lee
b424213768 add ErrorIndication(Proceduer ID : 15, initiating message) decoder 2018-01-11 22:33:36 +09:00
Sukchan Lee
3503fda431 clarify attach/tau/service reject interface 2018-01-11 22:25:35 +09:00
Sukchan Lee
47dc5eec38 change UE context release command/complete interface.
- Before : Based on EMM state, we decided call mme_ue_remove() or not
- After : Explictly, user should set about calling the mme_ue_remove().
2018-01-11 22:12:48 +09:00
Sukchan Lee
1498f6c015 GTP ECHO-REQ/RSP log level chaged to 5 2018-01-11 14:39:12 +09:00
Sukchan Lee
7a771173bc refine log 2018-01-11 14:06:02 +09:00
Sukchan Lee
9ec0867941 log refine for GTP 2018-01-11 13:42:33 +09:00
Sukchan Lee
f360d20f01 PCRF(RAR) message is done 2018-01-10 23:41:56 +09:00
Sukchan Lee
2059341d4f Diameter Gx Code Refine 2018-01-10 22:09:08 +09:00
Sukchan Lee
58f501d397 For IMS, WebUI behavior is changed.
If Flow is not added in PCC_Rule, this PCC_Rule will not be installed in PGW.
In this case, AF function will give the Flow Description.
If Rx(Media-Type) is set to "AUDIO" type, PCC_Rule(QCI=1) will be associated,
And then, the PCC_Rule will be installed in PGW
2018-01-10 21:44:23 +09:00
Sukchan Lee
95aaf2f8f1 AAR is done 2018-01-10 19:56:10 +09:00
Sukchan Lee
e24856eb0e GX RAR/RAA(PGW-PCRF) is added 2018-01-10 16:06:19 +09:00
Sukchan Lee
e7c14242c7 Merge branch 'master' of https://github.com/acetcom/nextepc 2018-01-10 14:15:17 +09:00
Sukchan Lee
0a490cf819 MME/HSS diameter code refine 2018-01-10 14:15:00 +09:00
Sukchan Lee
b25082cb06 PGW/PCRF diameter code refine 2018-01-10 12:45:58 +09:00
James Park
81a957172b Merge branch 'master' of https://github.com/acetcom/cellwire 2018-01-09 18:09:08 -08:00
James Park
a5057c1488 Change the number of cluster 2018-01-09 18:08:33 -08:00
Sukchan Lee
60b82c75e6 fix linux compile error 2018-01-09 14:11:21 +00:00
Sukchan Lee
1f0452d37d add RAR handler in PGW 2018-01-09 23:06:48 +09:00
Sukchan Lee
e9da026495 PCRF RX/GX session association 2018-01-09 22:53:09 +09:00
Sukchan Lee
b99c266533 P-CSCF simulator adds Frame-IP-Address and Frame-IPv6-Prefix.
This is used to test PCRF Rx/Gx dimaeter session assoication
2018-01-09 21:25:52 +09:00
Sukchan Lee
b80b295af4 if eNB initiated UE Context Release Request with Transport Error, MME sends NAS UE Context Release Command with NAS detach cause 2018-01-09 18:02:56 +09:00
Sukchan Lee
a15b60024b ignore delete session in UEContextReleaseComplete
if MME re-started, there is no MME_UE context. In this case, we ignore
delete sessoin process in UEContextReleaseComplete
2018-01-09 17:38:06 +09:00
Sukchan Lee
1a9ba2680b change assert to warning when PGW cannot find subnet 2018-01-09 17:04:10 +09:00
Sukchan Lee
06a4a09d08 gtp code refine 2018-01-09 16:37:05 +09:00
Sukchan Lee
20f45a455e name changes for gtp_connect_to_node to gtp_add_node_with_teid 2018-01-09 15:25:49 +09:00
James Park
2406bf8d19 Fix bug : wrong assigment of gtp length in header 2018-01-08 20:14:59 -08:00
Sukchan Lee
13a06479a9 add hash for associating Gx/Rx interface by
Framed-IP-Address/Framed-IPv6-Address
2018-01-08 22:42:44 +09:00
Sukchan Lee
38e245d467 PCRF session state is added 2018-01-08 21:20:19 +09:00
Sukchan Lee
e4397176cf support pcrf gx session maintained mode 2018-01-08 20:09:13 +09:00
Sukchan Lee
779d5e88d0 PCRF freeDiameter module disunite to Gx module and Rx module 2018-01-08 18:34:51 +09:00
Sukchan Lee
e95dcf192d refine pgw freeDiameter code 2018-01-08 09:54:19 +09:00
Sukchan Lee
69a880b5fe support session state maintained mode in PGW freeDiameter 2018-01-07 21:56:44 +09:00
Sukchan Lee
64268232b1 Session-Id diameter encoder is added 2018-01-07 21:29:53 +09:00
Sukchan Lee
5ca708deab fix the bug for diameter session memory management 2018-01-07 15:26:17 +09:00
Sukchan Lee
7e63ab488d fix the gcc 7.2.0 compile warning 2018-01-06 22:50:56 +09:00
Sukchan Lee
229a56f85d for debugging subnet assert, add packet log in this situation 2018-01-06 14:25:05 +09:00
Sukchan Lee
d2e54482c1 Update S1P ASN for GUMMEIType in InitialUEMessage 2018-01-06 12:36:47 +09:00
Sukchan Lee
5a96013bf8 Merge branch 'master' of https://github.com/acetcom/nextepc 2018-01-06 01:00:15 +00:00
Sukchan Lee
8e8d0c2978 add assert log 2018-01-06 00:59:42 +00:00
Jihoon Brandon Lee
a13f21b115 bugfix on length check of GTP echo 2018-01-05 12:44:43 -07:00
Sukchan Lee
09eceddd97 fix compile error in linux 2018-01-05 15:30:59 +00:00
Sukchan Lee
a630830f0c P-CSCF simualtor is mostly done 2018-01-06 00:23:26 +09:00
Sukchan Lee
cd45d6d2c5 remove AA-Request/Answer in PGW. All P-CSCF stuff is moving to testrx 2018-01-05 23:59:14 +09:00
Sukchan Lee
f717eeb3ae P-CSCF diameter module is added 2018-01-05 23:49:55 +09:00
Sukchan Lee
9e8ced5835 Apply new freeDiameter configuration to all other daemon(HSS, PGW, PCRF) 2018-01-05 23:31:30 +09:00
Sukchan Lee
f945b483e8 MME freeDiameter configuration is done 2018-01-05 23:03:41 +09:00
Sukchan Lee
b166adf3bd fix the memory leak in the fd_config 2018-01-05 22:46:02 +09:00
Sukchan Lee
9cca50b7c7 missing files 2018-01-05 17:01:28 +09:00
Sukchan Lee
add2145851 freeDiameter Config Re-factoring!
For P-CSCF simulation, it is not good if freeDiameter configuartion is
needed. As such, we merged this configuration is in the nextepc
configuration.
2018-01-05 16:25:02 +09:00
Sukchan Lee
65e1a8dbac fix the linux compile warning 2018-01-04 13:10:06 +00:00
Sukchan Lee
b0b7e9f167 add missing files 2018-01-04 22:08:32 +09:00
Sukchan Lee
9d14f5e89d fix the bug the unlimited loop.
if the system is not supported SCTP, mme daemon is to be unlimited loop.
2018-01-04 22:03:59 +09:00
Sukchan Lee
9675c47a10 improve testrx code 2018-01-04 21:22:21 +09:00
Sukchan Lee
627077247c Diameter Rx Test Simualtor is initially implemented. 2018-01-04 20:52:19 +09:00
Sukchan Lee
b8ef9e9e2a Header Refactoring 2018-01-04 20:38:22 +09:00
Sukchan Lee
fe1c368577 move 3gpp_test to core library 2018-01-04 18:02:56 +09:00
Sukchan Lee
1a3f5cf86e add AA Request/Answer Sample code 2018-01-04 12:57:00 +09:00
Sukchan Lee
560204ab46 Router Advertisement Destination IP address changes
from ff::1 to UE IP Address(e.g. cafe::2)
2018-01-04 08:51:07 +09:00
Sukchan Lee
e4bec187fd add Diameter Rx Interface (PCRF - P-CSCF) 2018-01-03 21:45:14 +09:00
Sukchan Lee
9544a79c2c P-CSCF IP address configuration is added in PGW 2018-01-03 15:29:48 +09:00
Sukchan Lee
81be4cca66 PGW dimaeter IP address is changed from 127.0.0.1 to 127.0.0.2
127.0.0.1:3868 could be used by other software. So, we will change the
IP address.
2018-01-03 09:28:23 +09:00
Sukchan Lee
4501a76d96 UE Time Zone is added in Create Session Request(GTP) and CCR(Gx)
I'm not sure where this value should be configured.
At this point, MME estimate UE Time Zone from MME's system.
From this, MME generates UE TIme Zone for Create Session Request.
PGW is just forward this value to the PCRF using CCR(Gx) Message.
2018-01-02 22:14:28 +09:00
Sukchan Lee
408ce293de if initial context setup failure is received, MME_UE context is deleted. 2018-01-02 18:30:17 +09:00
Sukchan Lee
18859c1203 if TAI list is not properly configured, MME sends Attach Reject or TAU
Rejct message.

Attach/TAU Reject contents
 - S1ap_CauseNas_unspecified
 - EMM_CAUSE_TRACKING_AREA_NOT_ALLOWED
 - ESM_CAUSE_PROTOCOL_ERROR_UNSPECIFIED if session is created.
2018-01-02 18:18:45 +09:00
Sukchan Lee
f40159ea2a relase 0.3.1 2017-12-31 22:20:39 +00:00
Sukchan Lee
8081ea3044 fix the bug 2017-12-20 13:16:16 +09:00
Sukchan Lee
c81e2beee6 fix the error for SCTP Kernel Extension on Mac OS X 10.11(El Capital) 2017-12-19 20:19:50 +09:00
Sukchan Lee
a864b36f44 Default APN is added 2017-12-19 17:05:54 +09:00
Sukchan Lee
0557be8ffd Merge branch 'master' of https://github.com/acetcom/nextepc 2017-12-18 20:57:47 +09:00
Sukchan Lee
7d3ec80f5d YAML version check is set to 0.1.4 2017-12-18 11:54:57 +00:00
Sukchan Lee
7a293e8d3a update manual 2017-12-18 20:47:01 +09:00
Sukchan Lee
72c9ae5d56 Merge branch 'ipv6' 2017-12-18 11:16:27 +00:00
Sukchan Lee
f71b2502ad update changelog 2017-12-18 11:15:41 +00:00
Sukchan Lee
e7207e74d2 Merge branch 'ipv6' 2017-12-18 19:37:05 +09:00
Sukchan Lee
385d73e17a IND + 1 from Spec 33.102 C.3.4 2017-12-18 18:21:54 +09:00
Sukchan Lee
d85f546de2 use zero amf in re-synch 2017-12-18 17:28:22 +09:00
Sukchan Lee
fdebe90f7c test scenario is added for debug re-synch failure 2017-12-18 17:10:44 +09:00
Sukchan Lee
65088e690d fix the reboot bug in package scenario 2017-12-18 16:02:28 +09:00
Sukchan Lee
48c5574819 Merge branch 'ipv6' of https://github.com/acetcom/nextepc into ipv6 2017-12-18 05:55:53 +00:00
Sukchan Lee
b52d1faa64 remove testepc in package build 2017-12-18 05:55:43 +00:00
Sukchan Lee
92cebbce2d package manual update 2017-12-18 14:24:44 +09:00
Sukchan Lee
996a0df756 fix the configuration file 2017-12-18 14:01:16 +09:00
Sukchan Lee
a3fbbf70cb debian package is updated 2017-12-18 13:27:56 +09:00
Sukchan Lee
466b15f5ad Web UI version to v0.3.0 2017-12-18 13:23:20 +09:00
Sukchan Lee
a39764cf50 README update 2017-12-18 13:21:10 +09:00
Sukchan Lee
0fab5ee3da ubuntu network configuration for ipv6 is added 2017-12-18 13:17:35 +09:00
Sukchan Lee
573d509919 Change LICENSE to GNU AGPL v3.0 2017-12-18 10:35:54 +09:00
Sukchan Lee
03f681ca05 configuration comment is updated 2017-12-18 09:26:29 +09:00
Sukchan Lee
649fd75b14 Authentication failure(Resynch failure) is added 2017-12-18 00:01:07 +09:00
Sukchan Lee
8f1df48a95 refine error log 2017-12-17 20:29:07 +09:00
Sukchan Lee
de09353e5d Merge branch 'ipv6' of http://github.com/acetcom/nextepc into ipv6 2017-12-17 10:02:34 +00:00
Sukchan Lee
487a4eb155 remove lock in select_loop dispatcher 2017-12-17 10:02:08 +00:00
Sukchan Lee
1131166988 remove sctp warning 2017-12-17 09:40:29 +00:00
Sukchan Lee
88f34c42be configuration is updated 2017-12-17 17:04:44 +09:00
Sukchan Lee
cdaf1c0468 router advertisement use link-local-address in source ip 2017-12-17 07:25:36 +00:00
Sukchan Lee
a102864428 Oops! update it 2017-12-18 00:54:29 +09:00
Sukchan Lee
a5cc4f7a43 update it 2017-12-18 00:50:10 +09:00
Sukchan Lee
73fb7e1c30 Merge branch 'ipv6' of https://github.com/acetcom/nextepc into ipv6 2017-12-18 00:48:34 +09:00
Sukchan Lee
fa6bb86e3d Merge branch 'ipv6' of https://github.com/acetcom/nextepc into ipv6 2017-12-17 20:23:41 +09:00
Sukchan Lee
8d3330cb79 multiple device is added 2017-12-17 06:36:50 +00:00
Sukchan Lee
60804c79d6 subnet is tested 2017-12-17 05:50:24 +00:00
Sukchan Lee
0cf2319b9c pgw dev/subnet context is added 2017-12-17 04:33:12 +00:00
Sukchan Lee
f0f5a5ce31 refine code 2017-12-17 11:22:12 +09:00
Sukchan Lee
0c3054652d refine code 2017-12-17 02:07:04 +00:00
Sukchan Lee
7ea5f3d910 Merge branch 'ipv6' of https://github.com/acetcom/nextepc into ipv6 2017-12-16 23:22:56 +09:00
Sukchan Lee
16080d9aa7 fix the header 2017-12-16 18:19:31 +09:00
Sukchan Lee
d7696f4fa6 fix the header type 2017-12-16 09:15:28 +00:00
Sukchan Lee
f38587595f SLAAC is added 2017-12-16 09:06:34 +00:00
Sukchan Lee
9d4afbba97 update test code 2017-12-16 05:53:30 +00:00
Sukchan Lee
04d3753f1c fix the jumbo frame bug 2017-12-16 13:26:34 +09:00
Sukchan Lee
ba5687de1b fix the bug ipv6 header decoder 2017-12-16 13:25:09 +09:00
Sukchan Lee
52b2125538 IPv6 Header Length calculation 2017-12-16 12:44:19 +09:00
Sukchan Lee
70286b3fd0 parameter.multicast, parameter.no_slaac is added 2017-12-16 09:24:27 +09:00
Sukchan Lee
7de0753b2c webui update 2017-12-15 23:17:13 +09:00
Sukchan Lee
d5381019c9 add the radvd.conf example 2017-12-15 22:53:01 +09:00
Sukchan Lee
7898fb4ae3 IPv6 Multicast is added 2017-12-15 22:42:52 +09:00
Sukchan Lee
b63f92fc20 Fix the bug for TFT IPv6 2017-12-15 12:51:51 +00:00
Sukchan Lee
d0530877c2 TFT rule for IPv6 is added 2017-12-15 20:53:53 +09:00
Sukchan Lee
08b88eba73 IPv6 Classification is initially updated 2017-12-15 09:13:14 +00:00
Sukchan Lee
cc762f3c00 WebUI PGW IP setting is added 2017-12-15 13:47:57 +09:00
Sukchan Lee
634de8c788 IPv6 DNS is added 2017-12-15 10:46:58 +09:00
Sukchan Lee
94c2c6ca7d message format creation bug is fixed related prefixlen 2017-12-15 09:41:54 +09:00
Sukchan Lee
ae57423eab IPv6 Loopback TUN done 2017-12-14 13:47:13 +00:00
Sukchan Lee
46c699143a IPv6 Control Plane done 2017-12-14 21:42:19 +09:00
Sukchan Lee
a74c9be2e6 PGW IP Pool bug is fixed 2017-12-14 18:30:12 +09:00
Sukchan Lee
c4b4a6850d default APN profile is changed from IPv4 only to IPv4 and IPv6 2017-12-14 17:14:33 +09:00
Sukchan Lee
bd9f1a74a4 IPv6 loopback is tested 2017-12-14 06:23:23 +00:00
Sukchan Lee
c5abd526d6 remove icmpv6 data 2017-12-14 06:07:06 +00:00
Sukchan Lee
e4f100055c ICMPv6 send done 2017-12-14 05:31:00 +00:00
Sukchan Lee
1864509cbb ICMPv6 is implemented. But kernel didn't send ping6 reply. Sigh! 2017-12-14 04:01:56 +00:00
Sukchan Lee
05c95dbfef default address is changed.
o PGW
 - GTPC : 127.0.0.1, [::1]
 - GTPU : 127.0.0.1, [::1]

o SGW
 - GTPC : 127.0.0.2
 - GTPU : auto-configured

o MME
 - S1AP : auto-configured
 - GTPC : auto-configured
 - Diameter : 127.0.0.3

o HSS
 - Diameter : 127.0.0.4

o PCRF
 - Diameter : 127.0.0.5
2017-12-14 01:46:35 +00:00
Sukchan Lee
79ec7d8bc0 default configuration is changed for packaging.
Even though nextepc can support link-local address, User may not want to
setup link-local address automatically. So we remove link-link address
in default configuration
2017-12-14 10:33:03 +09:00
Sukchan Lee
7e84bd1aaf Merge branch 'ipv6' of https://github.com/acetcom/nextepc into ipv6 2017-12-14 08:58:04 +09:00
Sukchan Lee
cb59525ca4 FreeBSD IPv6 TUN is not working. IPv6 IP/Rount Setting is all rollbacked 2017-12-14 07:26:32 +09:00
Sukchan Lee
9f05e5e10f update ip setting 2017-12-13 22:42:33 +09:00
Sukchan Lee
fc9b182e55 delete reduant routing table 2017-12-13 21:43:13 +09:00
Sukchan Lee
bd94d695be IPv6 setting done.. but IPv6 routining table update is not working. 2017-12-13 20:22:52 +09:00
Sukchan Lee
b7fb6c6117 temporal update 2017-12-13 16:07:12 +09:00
Sukchan Lee
b7479df01b default configuration is added 2017-12-13 14:11:44 +09:00
Sukchan Lee
6cd9e965a1 Tun IPv4 is done 2017-12-13 12:20:02 +09:00
Sukchan Lee
3fc397c9f2 pool allocation is changed with new method 2017-12-13 12:02:51 +09:00
Sukchan Lee
2f407de0d4 new pool structure is implemented for supporting IPv6 and APN 2017-12-13 11:14:00 +09:00
Sukchan Lee
54636e1843 IPv4 Pool done 2017-12-12 23:50:38 +09:00
Sukchan Lee
989de209d0 configuration is updated 2017-12-12 17:00:32 +09:00
Sukchan Lee
85f6bd6826 fix the warning for freeDiameter 2017-12-11 21:44:27 +09:00
Sukchan Lee
0347f05f9b rollback 2017-12-11 21:30:32 +09:00
Sukchan Lee
8902169320 Merge branch 'ipv6' of https://github.com/acetcom/nextepc into ipv6 2017-12-11 21:01:55 +09:00
Sukchan Lee
31dd8b0f8c add -Wno-format-truncate CFLAGS in freeDiameter library 2017-12-11 21:01:01 +09:00
Sukchan Lee
4336e50d54 update it 2017-12-11 11:37:44 +00:00
Sukchan Lee
95b2f5a951 minor update 2017-12-11 09:00:44 +00:00
Sukchan Lee
cb4893c36b Multiple TAI List done 2017-12-11 16:55:11 +09:00
Sukchan Lee
5551ecf6cd TAI List encoding done in Attach Accept 2017-12-11 16:08:17 +09:00
Sukchan Lee
521d7877b4 Multiple TAI list
Configuration Parer, Message Build is added
2017-12-11 00:01:02 +09:00
Sukchan Lee
178678c216 tai update 2017-12-09 23:25:29 +09:00
Sukchan Lee
ce801ee218 dev is added in the configuration 2017-12-09 23:07:19 +09:00
Sukchan Lee
8e1506a454 remove reduant code 2017-12-09 09:51:42 +00:00
Sukchan Lee
b04c7393f2 fix the bug 2017-12-09 09:50:12 +00:00
Sukchan Lee
15c3827ca9 improve test code for no_ipv4 flags 2017-12-09 18:21:22 +09:00
Sukchan Lee
b04d930f77 fix the test program bug in no_ipv4: true 2017-12-09 04:42:42 +00:00
Sukchan Lee
fc4a89b678 fix the memory lean when auto-detect interface case 2017-12-09 04:02:00 +00:00
Sukchan Lee
587598c8a9 Merge branch 'ipv6' of http://github.com/acetcom/nextepc into ipv6 2017-12-09 12:31:12 +09:00
Sukchan Lee
d70701361f refine test program for testing dual ipv4/v6 stack 2017-12-09 12:30:46 +09:00
Sukchan Lee
1f71dd9e6e missing 2017-12-09 02:47:21 +00:00
Sukchan Lee
969dc789df fix the testcode bug 2017-12-09 01:02:34 +09:00
Sukchan Lee
7108d8cd7f eNB S1U IPv6 test done 2017-12-09 00:58:16 +09:00
Sukchan Lee
e8e6836ab8 add initial context setup response encoder for generating IPv6 packet 2017-12-08 23:58:50 +09:00
Sukchan Lee
9b5234bd5f change link local address 2017-12-08 20:25:34 +09:00
Sukchan Lee
23c5e1040a Merge branch 'ipv6' of http://github.com/acetcom/nextepc into ipv6 2017-12-08 07:17:08 +00:00
Sukchan Lee
26fc43f6cb add mutex 2017-12-08 07:16:43 +00:00
Sukchan Lee
f4c4dbe55d ignore unknown message 2017-12-08 15:48:25 +09:00
Sukchan Lee
f069f19185 rollback 2017-12-08 06:30:15 +00:00
Sukchan Lee
e424e554d7 ipv6 address is changed 2017-12-08 15:05:50 +09:00
Sukchan Lee
bd424f3a08 trace update 2017-12-08 14:48:48 +09:00
Sukchan Lee
681a488ade Merge branch 'ipv6-mac' into ipv6 2017-12-08 05:36:03 +00:00
Sukchan Lee
a0599f7c2d S1AP MAC is done 2017-12-08 14:29:35 +09:00
Sukchan Lee
793b06ce33 Mac OS X S1AP improved 2017-12-08 12:43:35 +09:00
Sukchan Lee
06f8870796 remove logo 2017-12-07 13:20:55 +00:00
Sukchan Lee
126c8b4e11 fix the bug 2017-12-07 11:45:54 +00:00
Sukchan Lee
e4fd5ad70f GTP-U is tested 2017-12-07 20:11:22 +09:00
Sukchan Lee
44fed77ac4 all address format is changed to support IPv4/IPv6 dual stack 2017-12-07 17:40:15 +09:00
Sukchan Lee
ceda682290 intermediate 2017-12-07 17:23:45 +09:00
Sukchan Lee
3e05717180 transport layer convertor is added 2017-12-07 16:51:21 +09:00
Sukchan Lee
590630b839 ip_t is introduced 2017-12-07 15:04:35 +09:00
Sukchan Lee
6d412139ef update gtp_f_teid_t 2017-12-07 14:48:25 +09:00
Sukchan Lee
48cdb1e390 merge 3gpp library to core library 2017-12-07 14:37:58 +09:00
Sukchan Lee
717439cafa remove old_addr 2017-12-07 13:47:07 +09:00
Sukchan Lee
03a6bb7902 SGW/PGW GTP-U is added 2017-12-07 13:27:17 +09:00
Sukchan Lee
f8f18eb6f5 change gtp_send to core_sendto for echo reponse 2017-12-06 23:48:54 +09:00
Sukchan Lee
d2dcf4a877 GTP-U reomte done 2017-12-06 23:42:37 +09:00
Sukchan Lee
397f37cbb7 refine it 2017-12-06 20:52:32 +09:00
Sukchan Lee
35f35458c7 refine it 2017-12-06 20:44:30 +09:00
Sukchan Lee
82b84d760c refine it 2017-12-06 17:58:38 +09:00
Sukchan Lee
10becbb998 remove reduant variable in the context 2017-12-06 12:28:24 +09:00
Sukchan Lee
1c587edff5 no_ipv4, no_ipv6, prefer_ipv4 is tested 2017-12-06 12:13:56 +09:00
Sukchan Lee
9d3049de00 remove POINTTOPOINT interface in probe ip address 2017-12-05 14:30:09 +00:00
Sukchan Lee
5ebc0c0b0d add script 2017-12-05 22:51:50 +09:00
Sukchan Lee
4591209759 PGW GTP-C server is added 2017-12-05 21:34:17 +09:00
Sukchan Lee
a747f91b39 SGW GTP-C server is added 2017-12-05 21:11:36 +09:00
Sukchan Lee
1ab90bcef4 name changes 2017-12-05 20:42:14 +09:00
Sukchan Lee
a7690e395b refine it 2017-12-05 20:39:15 +09:00
Sukchan Lee
1a592f4d51 PGW GTP client is added 2017-12-05 14:56:47 +09:00
Sukchan Lee
c4c03da77f refine 2017-12-05 14:27:24 +09:00
Sukchan Lee
5663cd87c1 SGW GTP-C Client is added 2017-12-05 13:28:34 +09:00
Sukchan Lee
fe921e0c2f refine ipv6 2017-12-05 10:50:31 +09:00
Sukchan Lee
63fb6625b3 multiple addresss is added 2017-12-05 00:16:34 +09:00
Sukchan Lee
410133bf68 core_copyaddrinfo is introduced 2017-12-04 19:45:02 +09:00
Sukchan Lee
609aa4558f name changes 2017-12-03 22:25:31 +09:00
Sukchan Lee
97c7ad63b6 fix the PGW peer configuration bug 2017-12-03 21:34:39 +09:00
Sukchan Lee
a6d23971cd All MME GTP configuration is done 2017-12-03 17:00:11 +09:00
Sukchan Lee
17b6a013b8 parameter.prefer_ipv4 is implemented 2017-12-03 16:31:53 +09:00
Sukchan Lee
f86839eb7b configuration is changed from the discussions 2017-12-03 12:02:56 +09:00
Sukchan Lee
2c00f28b50 MME GTP Client is done 2017-12-02 15:49:03 +09:00
Sukchan Lee
ce5b65b4df gtp node is added 2017-12-02 14:17:32 +09:00
Sukchan Lee
3ae058dc63 gtp_node_t memset is added 2017-12-02 12:01:43 +09:00
Sukchan Lee
4a2604b52c name changes 2017-12-02 10:50:24 +09:00
Sukchan Lee
8add407715 fix the bug 2017-12-02 00:49:58 +09:00
Sukchan Lee
c300d2b99a MME GTPC Server done 2017-12-02 00:44:07 +09:00
Sukchan Lee
8287db900c update it 2017-12-01 22:04:51 +09:00
Sukchan Lee
7e0ce073fb mme gtp config is added 2017-12-01 21:47:15 +09:00
Sukchan Lee
b6b39c9dad socknode_filter_family is added 2017-12-01 20:27:56 +09:00
Sukchan Lee
71b58e7724 tcp/udp interface is changed 2017-12-01 17:39:28 +09:00
Sukchan Lee
d874ec5b48 remove type 2017-12-01 16:30:14 +09:00
Sukchan Lee
5cebb48bc6 socknode_getifaddrs_to_list is added 2017-12-01 15:56:56 +09:00
Sukchan Lee
c6623a277a fix the bug 2017-12-01 20:59:57 +09:00
Sukchan Lee
fee05d3764 socknode is added 2017-12-01 11:34:34 +09:00
Sukchan Lee
5a818eb8cd gtp_node is added 2017-11-30 20:13:15 +09:00
Sukchan Lee
f25626ee84 add log 2017-11-30 10:00:47 +09:00
Sukchan Lee
4baf7ece46 core_getifaddrs is introduced.
IP address of all interfaces is automatically retrived.
But, some interface will be discarded.
 - unspcified IP address
 - loopback address
 - IPv6 multicast
 - IPv6 link-local
 - IPv6 site-local
2017-11-29 22:04:56 +09:00
Sukchan Lee
6a90caaf8f update configuration 2017-11-29 20:46:13 +09:00
Sukchan Lee
c58d3d64f3 remove old json configuration file 2017-11-29 20:40:02 +09:00
Sukchan Lee
bb343cb8e4 YAML is updated 2017-11-29 15:17:35 +09:00
Sukchan Lee
d07b8f1e01 fix compile error 2017-11-29 05:58:26 +00:00
Sukchan Lee
dd15dacb18 YAML project is done 2017-11-29 14:44:14 +09:00
Sukchan Lee
e7d3d2f4da pgw is done 2017-11-29 14:24:55 +09:00
Sukchan Lee
60ac1dbfe6 hss/pcrf/sgw yaml is done 2017-11-29 09:51:34 +09:00
Sukchan Lee
17b360bc18 mme yaml config is done 2017-11-29 09:41:29 +09:00
Sukchan Lee
f1ac8b853b continue to parsing YAML 2017-11-29 00:53:21 +09:00
Sukchan Lee
e1e907bad7 gummei is finished with YAML 2017-11-29 00:32:46 +09:00
Sukchan Lee
c4b86f5ee9 array is added 2017-11-28 13:44:44 +09:00
Sukchan Lee
1528568bb8 update it 2017-11-27 23:53:47 +09:00
Sukchan Lee
0b78387d7f sample code. 2017-11-27 20:23:16 +09:00
Sukchan Lee
aaa57d3008 name changes 2017-11-27 15:45:33 +09:00
Sukchan Lee
f9fe704ccb downgrade yaml library from 0.1.7 to 0.1.6 2017-11-27 06:21:28 +00:00
Sukchan Lee
8b5ae91547 context uses YAML config. 2017-11-27 14:58:53 +09:00
Sukchan Lee
8e40a0eb64 initial code for moving configuration file format to the YAML 2017-11-27 10:35:08 +09:00
Sukchan Lee
4f722f2807 update it 2017-11-26 08:54:47 +09:00
Sukchan Lee
73fd1a8d99 update it 2017-11-25 14:52:02 +00:00
Sukchan Lee
82112f5678 update it 2017-11-25 14:47:33 +00:00
Sukchan Lee
7eceefb0f2 update it 2017-11-25 14:46:31 +00:00
Sukchan Lee
40c99a8c13 name changes done 2017-11-25 23:41:00 +09:00
Sukchan Lee
1e68d47927 name changes 2017-11-25 23:30:47 +09:00
Sukchan Lee
92fc35861f name changes 2017-11-25 23:28:34 +09:00
Sukchan Lee
7d7e9f154b Mac OS X IPv6 bug is fixed 2017-11-25 09:58:04 +09:00
Sukchan Lee
b34d8b931e configuration is updated 2017-11-24 16:08:26 +00:00
Sukchan Lee
61432a3070 mme->s1ap_sock is removed 2017-11-25 00:52:07 +09:00
Sukchan Lee
23fa36bc23 name changes 2017-11-24 15:04:45 +00:00
Sukchan Lee
cb63c2b1ea remove mme->s1ap_addr and mme->s1ap_port 2017-11-24 13:02:40 +00:00
Sukchan Lee
b2620caf26 set the hostname is NULL 2017-11-24 11:48:24 +00:00
Sukchan Lee
5a8d169ba1 remove AI_PASSIVE if hostname is NULL 2017-11-24 20:45:51 +09:00
Sukchan Lee
d49404ad2d loopback address is changes from 127.76.0.1 to 127.0.0.1 2017-11-25 04:16:18 +09:00
Sukchan Lee
2dcb56a41d Merge branch 'ipv6-addr' of http://github.com/acetcom/nextepc into ipv6-addr 2017-11-24 10:03:57 +00:00
Sukchan Lee
7025491846 add sock type in enb context 2017-11-24 10:03:48 +00:00
Sukchan Lee
62afe724ed Oops! mistake 2017-11-24 19:02:19 +09:00
Sukchan Lee
8fb2e0ba3b change default IP : 127.76.0.x -> 127.0.0.x 2017-11-24 13:52:22 +09:00
Sukchan Lee
6412231f29 all remove core_net.h 2017-11-24 11:49:37 +09:00
Sukchan Lee
685272fce8 improve usrsctp 2017-11-23 23:01:49 +09:00
Sukchan Lee
859d6427fd enb->addr is changes to pointer 2017-11-23 21:05:55 +09:00
Sukchan Lee
65fb2d280f enodeb's s1ap_addr types changes from c_uint32_t to c_sockaddr_t 2017-11-23 19:44:49 +09:00
Sukchan Lee
5d0bc98f8d Oops! mistake 2017-11-23 14:19:38 +09:00
Sukchan Lee
227cae5762 S1AP changes from net_lib to new socket library 2017-11-23 02:53:33 +00:00
Sukchan Lee
65b7008378 fix the tun driver bugs 2017-11-23 00:42:28 +09:00
Sukchan Lee
2f49e6024d gtp's net_sock_t to sock_id. GTP-U is failed 2017-11-23 00:19:28 +09:00
Sukchan Lee
b1023fac1d port to linux 2017-11-22 14:11:47 +00:00
Sukchan Lee
cfc352ea0d remove c_sa_len 2017-11-22 22:55:28 +09:00
Sukchan Lee
a27f294f74 TUN driver is added 2017-11-22 22:32:57 +09:00
Sukchan Lee
e44e613ff2 s1ap structure changes from net_sock_t to sock_id 2017-11-22 21:50:08 +09:00
Sukchan Lee
38a5ad3c68 remove port from gtp_node_t 2017-11-22 20:35:45 +09:00
Sukchan Lee
ce827fe733 change address type from c_uint32_t to c_sockaddr_t 2017-11-22 19:51:06 +09:00
Sukchan Lee
1928da0557 c_sa_len, c_sa_family, c_sa_port is introduced 2017-11-22 06:21:26 +00:00
Sukchan Lee
9c593a2757 Oops! mistake.. Use sock library for connect/bind socket function 2017-11-22 15:09:21 +09:00
Sukchan Lee
0fb47c499f fix the freebsd segmenation fault error 2017-11-22 01:56:51 +09:00
Sukchan Lee
5bf84f3b62 local_addr/remote_addr is added 2017-11-21 15:28:23 +09:00
Sukchan Lee
7151a98f41 GTP Peer Node finding method is changed.
Before : received IP address from UDP socket
After : Based on TEID. Initially, finding from Sender F-TEID
2017-11-21 14:52:07 +09:00
Sukchan Lee
21d2ca34f6 mac porting for new socket library 2017-11-19 22:07:44 +09:00
Sukchan Lee
5778fb6cbc core_inet_pton is added 2017-11-19 12:56:48 +00:00
Sukchan Lee
1ad25fbc9c s1setup test is done 2017-11-19 10:41:50 +00:00
Sukchan Lee
8a6b602836 New SCTP library is initially applied in test program 2017-11-19 08:31:18 +00:00
Sukchan Lee
ef3bb2e368 sctp_connect is added 2017-11-19 07:21:29 +00:00
Sukchan Lee
376f7c1304 udp connect function is added for bind & connect behavior 2017-11-19 08:27:20 +09:00
Sukchan Lee
1238f31178 update getaddrinfo if hostname is NULL 2017-11-19 07:57:41 +09:00
Sukchan Lee
f186ec93dd previous archi is failed in FreeBSD OS
re-architecture socket library
2017-11-18 12:55:44 +00:00
Sukchan Lee
2ba078277f fix the link 2017-11-18 14:58:25 +09:00
Sukchan Lee
89439ce79e fix the link 2017-11-18 14:57:05 +09:00
Sukchan Lee
19e18b9efb README update 2017-11-18 14:44:51 +09:00
Sukchan Lee
113cbd0e9e minor fix 2017-11-16 13:45:49 +00:00
Sukchan Lee
6db21f54c1 c_sockaddr_t is created for supporting both IPv4 and IPv6 address. 2017-11-16 12:49:07 +00:00
Sukchan Lee
a4d1bae083 SCTP library is initially added 2017-11-16 10:46:25 +00:00
Sukchan Lee
7c505f917a minor update 2017-11-16 01:51:05 +00:00
Sukchan Lee
e521d75e7a tcp/udp bug is fixed 2017-11-15 15:17:55 +00:00
Sukchan Lee
221fd81bb2 fix the linux compile error 2017-11-15 14:38:51 +00:00
Sukchan Lee
068d049a9f IPv6 project is started.
1. Remove thread lock in select loop.
2. Nonblocking will be used in select loop for good performance.
3. Connection mode for UDP socket & SCTP(SEQPACKET)

More test is needed.
2017-11-15 22:59:30 +09:00
Sukchan Lee
90a50d999d sleep is needed in test code 2017-11-10 02:31:32 +00:00
Sukchan Lee
12ae140185 reduant code 2017-11-10 11:23:55 +09:00
Sukchan Lee
f839fd93b7 Control Plane and Data Plane Thread is merged to One thread in SGW/PGW
- for protecting context, SGW/PGW is implemented with only one thread.
- In PGW, processing control plane could be delayed +10ms when diameter
thread sends message queue to the PGW control plane.
- In other case, all performance may be same with previous architecture.
2017-11-10 00:38:05 +00:00
Sukchan Lee
cd59df5011 just minor update 2017-11-09 14:56:03 +09:00
Sukchan Lee
11df912058 remove jsmn library.
jsmn library is very simple, but it is difficult to handle configuration
josn.
I changed json to libbson library. I think it is more maintainable.
2017-11-09 00:05:18 +09:00
Sukchan Lee
4e0abf8775 remove static object in library 2017-11-08 00:00:57 +09:00
Sukchan Lee
a0e6cc3996 Oops! missing files 2017-11-07 14:28:46 +00:00
Sukchan Lee
5361934469 change the libbase to lib3gpp 2017-11-07 14:20:35 +00:00
Sukchan Lee
6e00fd349c seperate libbase to the libapp 2017-11-07 14:01:27 +00:00
Sukchan Lee
3778e47bdc add version-info in shared library
I'll just set all version to 1:0:0 at this point
2017-11-07 12:41:20 +00:00
Sukchan Lee
53a86f30cc remove base 2017-11-06 13:42:34 +00:00
Sukchan Lee
e63fa44fff all library is changed to shared library 2017-11-06 13:32:37 +00:00
Sukchan Lee
f4a47e30c7 support relative path of freeDiameter 2017-11-06 13:02:36 +00:00
Sukchan Lee
1941c8b729 freediameter extensions installation path is changed to
'${libdir}/nextepc/freeDiameter'
2017-11-06 11:36:07 +00:00
Sukchan Lee
8b916d15f4 move fd/extensions to freeDiameter-1.2.1/extensions 2017-11-06 10:14:14 +00:00
Sukchan Lee
4ef15728a0 merge libcore/libcoreunix to libcore
merge libfd/libfdx/libfds6a to libfd
2017-11-06 08:32:19 +00:00
Sukchan Lee
bfbb98fc1f fix the dependency error 2017-11-06 00:08:06 +09:00
Sukchan Lee
5cc56ab353 change shared library 2017-11-05 14:57:19 +00:00
Sukchan Lee
1b0536dca0 change all library from static to shared library 2017-11-05 17:13:50 +09:00
Sukchan Lee
0d13c26307 change the freeDiameter library from static to the shared library 2017-11-05 16:20:52 +09:00
Sukchan Lee
cd2df5d894 add dlopen library search 2017-11-04 11:03:18 +09:00
Sukchan Lee
d87383be69 Oops! remove dependpency lib 2017-11-04 10:34:02 +09:00
Sukchan Lee
d851d03925 Merge branch 'dep' of https://github.com/acetcom/nextepc into dep
fix the conflict
2017-11-04 10:24:24 +09:00
Sukchan Lee
d092c329da rollback..Mac OSX is not working if we link libfdore/proto to the shared
object.
2017-11-04 10:23:07 +09:00
Sukchan Lee
4345398ca2 fix the warning of dh_shdeplibs 2017-11-03 15:36:24 +00:00
Sukchan Lee
d2cf6821b8 fix the library dependency 2017-11-03 21:55:20 +09:00
Sukchan Lee
3db70a3ad0 update changelog for launchpad ppa package 2017-11-03 02:31:48 +00:00
Sukchan Lee
362db04ff6 Merge branch 'master' of https://github.com/acetcom/nextepc 2017-11-03 11:27:28 +09:00
Sukchan Lee
ea7cca3d40 postrm script improved 2017-11-03 02:27:05 +00:00
Sukchan Lee
f35eea1634 add favicon in Web User Interface 2017-11-03 10:48:38 +09:00
Sukchan Lee
2c5f9e6c0c Fix errata 2017-11-02 21:38:12 +09:00
Sukchan Lee
066339d8cb update README 2017-11-02 17:21:21 +09:00
Sukchan Lee
d9ab53bbf0 update changelog for launchpad ppa 2017-11-02 07:52:37 +00:00
Sukchan Lee
561c041010 remove README 2017-11-02 16:08:34 +09:00
Sukchan Lee
fbe3e3685f debug log change to trace 2017-11-02 16:07:40 +09:00
Sukchan Lee
2f43079fc6 update pgw.postinstall
introduce systemctl.sh
2017-11-01 01:11:55 +00:00
Sukchan Lee
0bdbee24cf fix the bug for pgw post install script 2017-10-31 14:42:02 +00:00
Sukchan Lee
081f8c8808 MongoDB re-connect using systemd 2017-10-31 12:29:39 +00:00
Sukchan Lee
a9dd6be8e8 Ubuntu artful update 2017-10-31 05:54:13 +00:00
Sukchan Lee
a25de7b287 fix the PGW installation 2017-10-31 04:44:11 +00:00
Sukchan Lee
46b403c43d all running error is fixed 2017-10-31 09:32:18 +09:00
James Park
b060ea1714 Add sleep so that server is ready to accept connection. 2017-10-30 15:26:30 -07:00
Sukchan Lee
f627565696 Upload Launchpad PPA for Ubuntu 17.10 i386 2017-10-30 13:34:17 +00:00
Sukchan Lee
badc1f2da3 fix compile error 2017-10-30 10:39:05 +00:00
Sukchan Lee
10cda2cfd7 exclude TCP test in testnetlib because sometimes this test is failed as
follows.

 OpenSUSE OBS
 - Ubuntu 17.04 i586 failed

[  542s] testnetlib          :  Line 262: expected <0>, but saw <-1>
[  542s] [10/30 07:48:38.730] ERRR: connect error(111:Connection refused)(proto:6 remote:127.0.0.1 dport:5121 lport:0) (net_lib.c:353)
[  542s] [10/30 07:48:38.730] ERRR: connect error(111:Connection refused)(proto:6 remote:127.0.0.1 dport:5121 lport:0) (net_lib.c:353)
[  542s] [10/30 07:48:38.730] ERRR: connect error(111:Connection refused)(proto:6 remote:127.0.0.1 dport:5121 lport:0) (net_lib.c:353)
[  542s] [10/30 07:48:38.730] ERRR: connect error(111:Connection refused)(proto:6 remote:127.0.0.1 dport:5121 lport:0) (net_lib.c:353)
[  542s] [10/30 07:48:38.730] ASSERT: !(net_sock && buffer). Invalid params
[  542s]  (net_lib.c:590)
[  542s] [10/30 07:48:38.730] ASSERT: !(net_sock). net_sock is NULL
[  542s]  (net_lib.c:408)
[  542s] [10/30 07:48:38.730] ASSERT: !(net_sock). net_sock is NULL
2017-10-30 10:37:33 +00:00
Sukchan Lee
abdcbe7b7a change names of ubuntu package version 2017-10-30 07:10:43 +00:00
Sukchan Lee
377f725f26 update debian changelog
add Ubuntu Zesty(Ubuntu 17.04-amd64, i586)
add Ubuntu Artful(Ubuntu 17.10-amd64)
2017-10-30 05:46:42 +00:00
Sukchan Lee
ff31858a81 update debian changelog 2017-10-30 04:50:11 +00:00
Sukchan Lee
9e27685cd0 disable test code. will be fixed later. 2017-10-30 02:14:33 +00:00
Sukchan Lee
c09483b540 at this point, I'm not sure how to handle this file.
I'll just rollback it.
2017-10-29 13:03:39 +00:00
Sukchan Lee
44f0155f5a add metapackage 2017-10-29 12:54:03 +00:00
Sukchan Lee
a0eb08a2fa PID command line option(-p) is added 2017-10-29 20:48:17 +09:00
Sukchan Lee
8c289c6d6e update logrotate and newsyslog following previous modification 2017-10-29 20:16:18 +09:00
Sukchan Lee
baf6af79d6 LOG configuration is changed.
We'll juse file log as a default log.
Older logger name is changed socket logger and default configuration is
disabled
2017-10-29 10:22:22 +00:00
Sukchan Lee
2d1983cfb0 /var/run bug is fixed
For systemd environment, we define runtime directory like the follwings
MME : /var/run/nextepc-mmed
SGW : /var/run/nextepc-sgwd
PGW : /var/run/nextepc-pgwd
HSS : /var/run/nextepc-hssd
PCRF : /var/run/nextepc-pcrfd

In each directory, PID File is created as follows.
MME : /var/run/nextepc-mmed/pid
SGW : /var/run/nextepc-sgwd/pid
PGW : /var/run/nextepc-pgwd/pid
HSS : /var/run/nextepc-hssd/pid
PCRF : /var/run/nextepc-pcrfd/pid
2017-10-29 10:57:15 +09:00
Sukchan Lee
5c4c4498d2 logging disunite to each individual 2017-10-29 00:44:09 +09:00
Sukchan Lee
f72aa7a468 systemd update 2017-10-28 19:50:50 +09:00
Sukchan Lee
c8ec3702d0 update debian rule for override_dh_auto_test
VM(like OBS) may not support SCTP
At this point, I disabled SCTP-needed test code.
2017-10-28 10:09:44 +00:00
Sukchan Lee
4e33365bf4 debian packaging is initially done.
network script is added
move testscript in debian/rules
2017-10-27 16:15:14 +00:00
Sukchan Lee
fdae399c74 debian packaging (stage 2)
make check re-enabled, but data plane is disabled at this point
user(nextepc/nextec) created
pgwtun interface is created when PGW-preinstall script
2017-10-27 06:01:59 +00:00
Sukchan Lee
e367b00d2c do debian packaging (stage-1) 2017-10-27 03:15:14 +00:00
Sukchan Lee
b08c91190a remove to install systemd, logrotate, newsyslog
I'm not sure where is good things for this system file.
We need to decide when these stuffs are installed in Debian package or `make install`

At this point, I'll remove to install them for other developer.
Later, I'll fix it!
2017-10-26 13:26:10 +09:00
Sukchan Lee
52080092b6 GTP-U is re-enabled in test program.
I'll use src : 45.45.0.2 dst ip : 45.45.0.1 for data plane loopback test
2017-10-25 19:49:28 +09:00
Sukchan Lee
88b5560a2a change test packet to loopback address 2017-10-25 19:33:18 +09:00
Sukchan Lee
6d99061b17 permit even though SGW fails to send gtp end marker 2017-10-25 19:04:35 +09:00
Sukchan Lee
f624adf540 change default configuration using loopback addresses
mme : 127.76.0.1
sgw : 127.76.0.2
pgw : 127.76.0.3
hss : 127.76.0.4
pcrf : 127.76.0.5

If you would like to connect internet, you need to change MME.S1AP_IPV4
and SGW.GTPU_IPV4 with external IP address
2017-10-25 16:30:19 +09:00
Sukchan Lee
67827d5ea4 change assert to d_error for log file permission problem 2017-10-25 14:43:54 +09:00
Sukchan Lee
20800c611b HSS update for supporting OPc 2017-10-25 14:37:12 +09:00
Sukchan Lee
6c8d4328fb fix the bug when profile is changes 2017-10-25 12:45:08 +09:00
Sukchan Lee
588a6ba012 add OPc field to Subscriber and Profile Document 2017-10-25 12:17:52 +09:00
Sukchan Lee
d4dd8bb72d missing files for newsyslog 2017-10-24 22:48:29 +09:00
Sukchan Lee
6d25211f3b add newsyslog for Mac OS X 2017-10-24 22:46:09 +09:00
Sukchan Lee
4ae9673935 Merge branch 'r0.2' of https://github.com/acetcom/nextepc into r0.2
Conflicts:
	test/checkepc.sh
2017-10-24 21:00:10 +09:00
Sukchan Lee
cd36e9a334 update .gitignore 2017-10-24 20:58:22 +09:00
Sukchan Lee
0897c36947 logrotate is now working. 2017-10-24 20:52:58 +09:00
Sukchan Lee
6989a8ae91 to permit 'make install' in user privilege for developer. 2017-10-24 19:40:47 +09:00
Sukchan Lee
df1f35e92b Logrotate is added. But more test is needed 2017-10-24 19:14:09 +09:00
Sukchan Lee
6f5ec19388 PID file is created for logrotate 2017-10-24 15:55:28 +09:00
Sukchan Lee
6eb05495aa change test configuration directory to /tmp 2017-10-24 11:00:58 +09:00
Sukchan Lee
81a8b00d78 Merge branch 'master' into r0.2 2017-10-24 09:54:47 +09:00
Sukchan Lee
382c909ffc Merge pull request #10 from laf0rge/laforge/pending
Allow loopback/link-local/site-local addresses
2017-10-24 09:53:59 +09:00
Sukchan Lee
92ba86f1fd update script for Non-GNU sed 2017-10-24 01:40:01 +09:00
Sukchan Lee
adcc473d6e 'make check` before 'make install'
checkepc.sh script is created.
this script generates necessary configuration file before `make
install`. And then, execute `./testepc -f ./etc/nextepc.conf`
2017-10-24 01:03:25 +09:00
Sukchan Lee
5314bcb687 change @localstatedir@/@sysconfdir@ to the LOCALESTATE_DIR and SYSCONF_DIR in nextepc.conf.in 2017-10-23 15:00:07 +09:00
Sukchan Lee
30e7beb84c Merge branch 'laforge/debian-packaging' of https://github.com/laf0rge/nextepc into debian-packaging 2017-10-23 14:22:07 +09:00
Harald Welte
e8071fa544 freeDiameter: Allow bind to loopback, link-local and site-lcoal addrs
Why would it be illegal to configure/operate freeDiameter to bind to
loopback, link-local or site-local addresses?  Loopback is used a lot
in testing.  link-local and site-local adresses can very well be used
in non-public applications/use cases that don't involve public IPv6
networks.
2017-10-22 18:42:20 +02:00
Sukchan Lee
32b7183483 thread delete location is changed.
See [the issue discussion](https://github.com/sctplab/usrsctp/issues/179)
2017-10-21 07:34:12 +09:00
Sukchan Lee
f6f1720fee update netconfig.sh 2017-10-20 23:51:54 +09:00
Sukchan Lee
6b8cdafbbd Now, we'll use loopback interface for internal socket 2017-10-20 19:15:58 +09:00
Sukchan Lee
074b7b41e8 fix the bug GTP-U testing code 2017-10-20 18:01:47 +09:00
Sukchan Lee
2223dfef0e remove hard-corded code 2017-10-20 17:19:27 +09:00
Sukchan Lee
7b046c75b2 add usrsctp_finish 2017-10-20 16:32:57 +09:00
Sukchan Lee
3bf6326763 create testsctp.c and testusrsctp.c 2017-10-20 16:15:32 +09:00
Sukchan Lee
c2d962d4d1 rollback privous commit 2017-10-20 15:52:30 +09:00
Sukchan Lee
34270825a7 fix the bug usrsctp_finish() 2017-10-20 15:46:06 +09:00
Sukchan Lee
d971a9c9ae testepc is passed in Userland SCTP 2017-10-20 15:14:14 +09:00
Sukchan Lee
d40ba2a67c Oops! re-add net_read() in testcode 2017-10-20 13:47:43 +09:00
Sukchan Lee
7b1949da6c Merge branch 'r0.2' of https://github.com/acetcom/nextepc into r0.2 2017-10-20 13:19:20 +09:00
Sukchan Lee
2a3fe018e8 S1Setup Test is passed in Userland SCTP 2017-10-20 13:18:58 +09:00
Sukchan Lee
36985520f9 send/recv function is tested for only 1 eNB. 2017-10-19 13:42:07 +09:00
Sukchan Lee
cca9f6d521 recv function is tested for Userland SCTP library 2017-10-19 12:50:39 +09:00
Sukchan Lee
da1a50e9d3 Merge branch 'master' into r0.2 2017-10-19 10:15:13 +09:00
Sukchan Lee
c460386d39 Merge pull request #6 from laf0rge/laforge/s1ap-ppid-fix
net_accept(): Inherit PPID from listening socket
2017-10-19 09:50:42 +09:00
Harald Welte
1c64000431 net_accept(): Inherit PPID from listening socket
When we call accept() on a listening socket, we need to inherit
the sctp PPID from the master socket to the new socket of the
just-accepted connection.  Otherwise any sent packets (such as S1AP)
will be sent to PPID=0 rather than the configured PPID (e.g. 18 for
S1AP).
2017-10-18 23:18:53 +02:00
Sukchan Lee
1df4fc9a41 continue to porting Userland SCTP
connection is done.
will implement send/recv function
2017-10-19 01:09:06 +09:00
Harald Welte
ae6f1001f8 Add systemd service files for nextepc daemons 2017-10-18 12:27:53 +02:00
Harald Welte
4bce6df238 Add 'debian' subdirectory for building dpkg packages
Adding this 'debian' subdirectory will allow users to build
binary packages using 'dpkg-buildpackage' and related tools.

Tested so far on Debian unstable and 9 as well as Ubuntu 17.04
and 17.10 on OpenSuSE Build Service.
2017-10-18 12:27:49 +02:00
Sukchan Lee
bb806e492e Finally, I've remove net_sock_t->app_index in core_net.h
Now, we are done to porting SCTP using Userland SCTP
2017-10-18 14:36:12 +09:00
Sukchan Lee
c3ffd52771 mme_enb_t context structure is changed using hash table.
I'll remove net_sock_t->app_index if poosible.
2017-10-18 14:05:22 +09:00
Harald Welte
ec91b9e8da Fix directory mix-up. @prefix@ vs. @sysconfdir@ vs @libdir@ vs @localstatedir@
Installing to @prefix@/etc is wrong, this will end up in /usr/etc
on most linux distributions, where /etc (@sysconfdir@) would be correct.

The same is true for /var (@localstatedir@), we don't want log files
suddenly to be in /usr/var/log rather than /var/log

However, this is further complicated by the fact that @libdir@ is not
recursively resolved but could expand to "${prefix}/lib" which
of course makes no sense inside a config file.  So instead, let's
introduce adl_RECURSIVE_EVAL and define @LIB_DIR@ and @SYSCONF_DIR@
with recursively-expanded versions of those variables.
2017-10-17 23:43:51 +02:00
Harald Welte
cd8f29aa59 Makefile.am: install_data_hook was missing $(DESTDIR)
When creating the /var/log directory, we must create it relative
to the $(DESTDIR) of the installation, and not at it's system-wide
default path without any DESTDIR.
2017-10-17 21:49:29 +02:00
Harald Welte
bb74b173ca Add 'nextepc-' prefix to executables
'mmed' and the like all are a bit of a generic name. Let's prefix the
project name to ensure there will be no clashes with other programs that
also implement a 'MME daemon' or the like.
2017-10-17 21:28:29 +02:00
Sukchan Lee
10b23bb64e fix compile error for usrsctp 2017-10-17 22:18:48 +09:00
Sukchan Lee
ea253016fc autoconf update for supporting Userland SCTP(libusrsctp) 2017-10-17 20:44:05 +09:00
Sukchan Lee
a020b587c1 Merge branch 'master' into r0.2 2017-10-17 16:19:20 +09:00
Sukchan Lee
0eb9ae4792 fix the compile error 2017-10-17 23:04:24 +09:00
Sukchan Lee
f275617225 Merge pull request #1 from laf0rge/master
Add .gitingore file to have clean 'git status' output
2017-10-17 16:16:14 +09:00
Harald Welte
92ecad5118 Add .gitingore file to have clean 'git status' output 2017-10-17 08:12:58 +02:00
Sukchan Lee
d486e84816 improve netconfig
modify GTP packet sending function interface
2017-10-17 13:53:55 +09:00
Sukchan Lee
b287a3b022 fix the bug multiple tun driver 2017-10-17 13:14:10 +09:00
Sukchan Lee
83a21c5840 configuration is changed 2017-10-17 13:04:45 +09:00
Sukchan Lee
b9f4dcf4ea MAC OSX is needed to enable IP fowwarding 2017-10-17 07:44:48 +09:00
Sukchan Lee
a20c96bc21 fix the Makefile errata 2017-10-17 01:25:28 +09:00
Sukchan Lee
291a5ce514 merge MacOSX and FreeBSD code related tun ip config 2017-10-17 01:03:34 +09:00
Sukchan Lee
cdbc8d1ab0 MAC OSX ping loopback test done 2017-10-17 00:56:00 +09:00
Sukchan Lee
689c3b95e7 routing table is automatically added in FreeBSD 2017-10-17 08:24:30 +09:00
Sukchan Lee
b8a37b0ea1 net_tun library is updated for supporting FreeBSD and MacOSX
In FreeBSD and MacOSX, tun driver is automatically configured.
2017-10-17 07:03:37 +09:00
Sukchan Lee
86908cdbe9 ping src:45.45.0.2 dst:45.45.0.1 is only enabled in Linux platform
Linux Kernel reply the icmp message.
FreeBSD/MacOSX is not working.
More study is needed about TUN
2017-10-15 20:43:05 +09:00
Sukchan Lee
0f08c2a624 Ping loopback is added in Linux platform 2017-10-15 20:33:51 +09:00
Sukchan Lee
47bad3794e PGW IP assign rule is updated 2017-10-15 20:33:20 +09:00
Sukchan Lee
fb566fd94c fix the compile error for high GCC version 2017-10-15 01:18:45 +09:00
Sukchan Lee
3bbbd1b5b1 fix the bug for One SGW IP assign 2017-10-15 01:07:27 +09:00
Sukchan Lee
172266b0c5 GTP Loopback Test Module is Added.
1. ping(src:45.45.0.1, dst:45.45.0.1)
2. MME emulates GTP-U instead of eNB, and send GTP-U to the SGW
3. SGW relay to PGW using GTP-U
4. PGW TUN reponse ping reply
5. PGW sends GTP-U to the SGW
6. SGW sends GTP-U to the MME
7. GTP-U decapsulates and sends ping packet to the kernel
2017-10-15 00:45:49 +09:00
Sukchan Lee
1f14b132c2 Merge branch 'r0.2' of https://github.com/acetcom/nextepc into r0.2 2017-10-13 21:51:50 +09:00
Sukchan Lee
3613b27ca7 MME/PGW Configuration is also changed to support One SGW IP assign
Control Plane Test Done.
Data Plan Test is Needed.
2017-10-13 21:31:49 +09:00
Sukchan Lee
4672ee559f One IP assign for SGW
Configuration is changed
Remove S11_XXXX, S1U_XXXX, S5C_XXXX, S5U_XXXX

Introduce GTPC_IPV4, GTPU_IPV4
2017-10-13 21:13:39 +09:00
Sukchan Lee
02773eff40 FreeBSD Porting done. 2017-10-13 18:12:15 +09:00
Sukchan Lee
5d6e63c20e Reduce SGW IP assign to One.
Initially, I've started to update Control Plane related to this issue.
Context Accessing is re-arraged based Thread for finding GTP Node Context.

[MME]
mme_sgw_t : SM thread(Control-Plane)

[SGW]
sgw_mme_t : Net thread(Data-Plane)
sgw_pgw_t : SM thread(Control-Plane)

[PGW]
pgw_sgw_t : Net thread(Data-Plane)
2017-10-13 14:41:55 +09:00
Sukchan Lee
ee4dd7732e Porting to FreeBSD (Stage-1)
I'd just fix the compile error at this point.
2017-10-12 23:01:51 +09:00
Sukchan Lee
8d343221d2 update VERSION to 0.2.0 2017-10-11 15:50:00 +09:00
Sukchan Lee
7c20ac5c64 update VERSION to 0.1.1 2017-10-11 15:46:45 +09:00
Sukchan Lee
dac66d0b80 BUILT_SOURCE is missing.
fdd.tab.h is a file generated from lex & yacc. If we do not tell it to
automake, the dependency issue occurs in `make -j 8`.
2017-10-11 06:25:21 +00:00
Sukchan Lee
4245502ae2 Fix the bug under mongo c driver v1.5
I misunderstand the interface when querying with projection
when the version of Mongo C Driver is lower than 1.5.

For reference, in case of Ubuntu 16.04, Mongo C Driver v1.3.1
will be installed, so when using 'Dedicated Bearer', v0.1.1
should be used because it does not work normally.
2017-10-11 06:08:19 +00:00
8694 changed files with 1646233 additions and 387784 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

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']

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

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

7
.gitignore vendored Normal file
View File

@@ -0,0 +1,7 @@
# This directory is fetched during first build and is present in this directory
subprojects/freeDiameter
subprojects/libtins
subprojects/prometheus-client-c
subprojects/usrsctp
webui/.next

145
LICENSE
View File

@@ -1,5 +1,5 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
@@ -7,17 +7,15 @@
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The GNU Affero General Public License is a free, copyleft license for
software and other kinds of works, specifically designed to ensure
cooperation with the community in the case of network server software.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
our General Public Licenses are intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
software for all its users.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
@@ -26,44 +24,34 @@ them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
Developers that use our General Public Licenses protect your rights
with two steps: (1) assert copyright on the software, and (2) offer
you this License which gives you legal permission to copy, distribute
and/or modify the software.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
A secondary benefit of defending all users' freedom is that
improvements made in alternate versions of the program, if they
receive widespread use, become available for other developers to
incorporate. Many developers of free software are heartened and
encouraged by the resulting cooperation. However, in the case of
software used on network servers, this result may fail to come about.
The GNU General Public License permits making a modified version and
letting the public access it on a server without ever releasing its
source code to the public.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
The GNU Affero General Public License is designed specifically to
ensure that, in such cases, the modified source code becomes available
to the community. It requires the operator of a network server to
provide the source code of the modified version running there to the
users of that server. Therefore, public use of a modified version, on
a publicly accessible server, gives the public access to the source
code of the modified version.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
An older license, called the Affero General Public License and
published by Affero, was designed to accomplish similar goals. This is
a different license, not a version of the Affero GPL, but Affero has
released a new version of the Affero GPL which permits relicensing under
this license.
The precise terms and conditions for copying, distribution and
modification follow.
@@ -72,7 +60,7 @@ modification follow.
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"This License" refers to version 3 of the GNU Affero General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
@@ -549,35 +537,45 @@ to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
13. Remote Network Interaction; Use with the GNU General Public License.
Notwithstanding any other provision of this License, if you modify the
Program, your modified version must prominently offer all users
interacting with it remotely through a computer network (if your version
supports such interaction) an opportunity to receive the Corresponding
Source of your version by providing access to the Corresponding Source
from a network server at no charge, through some standard or customary
means of facilitating copying of software. This Corresponding Source
shall include the Corresponding Source for any work covered by version 3
of the GNU General Public License that is incorporated pursuant to the
following paragraph.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
under version 3 of the GNU General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
but the work with which it is combined will remain governed by version
3 of the GNU General Public License.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
the GNU Affero General Public License from time to time. Such new versions
will be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Program specifies that a certain numbered version of the GNU Affero General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
GNU Affero General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
versions of the GNU Affero General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
@@ -631,44 +629,33 @@ to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
{one line to give the program's name and a brief idea of what it does.}
Copyright (C) {year} {name of author}
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
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
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.
GNU Affero General Public License for more details.
You should have received a copy of the GNU General Public License
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
{project} Copyright (C) {year} {fullname}
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
If your software can interact with users remotely through a computer
network, you should also make sure that it provides a way for users to
get its source. For example, if your program is a web application, its
interface could display a "Source" link that leads users to an archive
of the code. There are many ways you could offer source, and different
solutions will be better for different programs; see section 13 for the
specific requirements.
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
For more information on this, and how to apply and follow the GNU AGPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.

View File

@@ -1,71 +0,0 @@
## Process this file with automake to produce Makefile.in
ACLOCAL_AMFLAGS = -I m4
SUBDIRS = lib src test
bin_PROGRAMS = mmed hssd sgwd pgwd pcrfd epcd
dist_mmed_SOURCES = main.c
mmed_LDADD = $(top_srcdir)/src/libmme.la
mmed_LDFLAGS = -export-dynamic
dist_hssd_SOURCES = main.c
hssd_LDADD = $(top_srcdir)/src/libhss.la
hssd_LDFLAGS = -export-dynamic
dist_sgwd_SOURCES = main.c
sgwd_LDADD = $(top_srcdir)/src/libsgw.la
sgwd_LDFLAGS = -export-dynamic
dist_pgwd_SOURCES = main.c
pgwd_LDADD = $(top_srcdir)/src/libpgw.la
pgwd_LDFLAGS = -export-dynamic
dist_pcrfd_SOURCES = main.c
pcrfd_LDADD = $(top_srcdir)/src/libpcrf.la
pcrfd_LDFLAGS = -export-dynamic
dist_epcd_SOURCES = main.c
epcd_LDADD = $(top_srcdir)/src/libepc.la
epcd_LDFLAGS = -export-dynamic
AM_CPPFLAGS = \
-I$(top_srcdir)/lib/core/include \
-I$(top_srcdir)/src
sysconf_DATA = \
support/nextepc.conf
freeDiameterdir = ${prefix}/etc/freeDiameter
freeDiameter_DATA = \
support/freeDiameter/mme.conf \
support/freeDiameter/hss.conf \
support/freeDiameter/pgw.conf \
support/freeDiameter/pcrf.conf
dist_freeDiameter_DATA = \
support/freeDiameter/cacert.pem \
support/freeDiameter/mme.key.pem \
support/freeDiameter/mme.cert.pem \
support/freeDiameter/hss.key.pem \
support/freeDiameter/hss.cert.pem \
support/freeDiameter/pgw.key.pem \
support/freeDiameter/pgw.cert.pem \
support/freeDiameter/pcrf.key.pem \
support/freeDiameter/pcrf.cert.pem
install-data-hook:
$(MKDIR_P) $(prefix)/var/log
CLEANFILES = symtbl.c
DISTCLEANFILES = $(DIST_ARCHIVES)
MAINTAINERCLEANFILES = \
configure config.in \
aclocal.m4 m4/ltsugar.m4 m4/libtool.m4 m4/ltversion.m4 \
m4/lt~obsolete.m4 m4/ltoptions.m4 \
build-aux/ar-lib build-aux/config.guess build-aux/depcomp \
build-aux/ltmain.sh build-aux/test-driver build-aux/compile \
build-aux/config.sub build-aux/missing build-aux/install-sh \
.cscope.out .cscope.out.in .cscope.files .cscope.out.po \
Makefile.in
MOSTLYCLEANFILES = core *.stackdump

275
README.md
View File

@@ -1,267 +1,30 @@
Building NextEPC
================
<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>
This post will guide you on how to get installed with **NextEPC**. To date, **NextEPC** has been compiled and tested on GNU/Linux distributions(Debian, Ubuntu, Fedora, OpenSUSE) and FreeBSD.
## Getting Started
We will describe this guide using **Ubuntu 16.04 LTS (Xenial)**. You'll need to install **Ubuntu** if you don't have it installed already. To get the latest Ubuntu version, please visit the official Ubuntu website: [https://www.ubuntu.com/download/](https://www.ubuntu.com/download/).
Please follow the [documentation](https://open5gs.org/open5gs/docs/) at [open5gs.org](https://open5gs.org/)!
## Install the dependencies for building the source
## Sponsors
The first step is to use **apt-get** to install all depedencies.
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).
```bash
sudo apt-get -y install git gcc flex bison make autoconf libtool pkg-config libsctp-dev libssl-dev libgnutls-dev libgcrypt-dev libmongoc-dev libbson-dev mongodb
```
<p align="center">
<a target="_blank" href="https://open5gs.org/#sponsors">
<img alt="sponsors" src="https://open5gs.org/assets/img/sponsors.svg">
</a>
</p>
## Retrieve the latest version of the source package
## Community
```bash
git clone https://github.com/acetcom/nextepc
```
- 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.
## Configure the build
## Contributing
```bash
cd nextepc
test -f configure || autoreconf -iv
CFLAGS='-O2' ./configure --prefix=`pwd`/install
```
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.
## Compiling
## License
Hopefully, once you have completed the autotools configuration, you only need to run:
```bash
make -j `nproc`
```
## Installing
Once the compilation is complete, you can install in the configured paths with:
```bash
make install
```
(this might require sudo depending on the configured target directories)
Web Setup
=========
NextEPC is configured with **Mongo DB**, which manages _Subscriber Information_ mainly, and **Configuration File** made in _JSON_ format.
The configuration file can be modified using a general editor such as vi or emacs, but _Subscriber Information_ can be managed properly using _Mongo DB Client_.
NextEPC provides **Web User Interface** solely designed to manage _Subscriber Information_ in an easy way without using _Mongo DB Client_. Let's how to install it from now on.
## Install Node.js and NPM
To get the latest **Node.js** and **NPM** version, you can visit the official **Node.js** website:
[https://nodesjs.org/en/download/](https://nodesjs.org/en/download/).
Or, you can install _Node.js_ and _NPM_ on **Ubuntu** as follows:
```bash
sudo apt-get -y install curl
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get -y install nodejs
```
## Install the dependencies for building the source
The first step is to use **npm** to install all depedencies.
```bash
cd nextepc/webui
npm install
```
## Build Web User Interface
```bash
npm run build
```
## Running Web Server
```bash
npm run start
```
## Login with default account
Use **Web Browser** to connect it. _http://localhost:3000_
* Username : admin
* Password : 1423
Then, you can change your password in _Account_ Menu.
Network Configuration
=====================
NextEPC consists of five nodes such as _MME, SGW, PGW, HSS and PCRF_. Basically, each node can be installed in a physically separate host or in the same host.
We will run these five nodes that make up NextEPC in a **Single Host**. The reason is why it is the easiest way to understand how to configure NextEPC network.
## IP Configuration
In order to run _MME, HSS, SGW, PGW, and PCRF_ on a **Single Host**, IP address is set by using **IP aliasing**.
```bash
sudo ifconfig eth1:hss 10.1.35.214/24 up
sudo ifconfig eth1:mme 10.1.35.215/24 up
sudo ifconfig eth1:sgw_s5 10.1.35.216/24 up
sudo ifconfig eth1:sgw_s11 10.1.35.217/24 up
sudo ifconfig eth1:pcrf 10.1.35.218/24 up
sudo ifconfig eth1:pgw 10.1.35.219/24 up
```
## Setup for Data Path
Use the **TUN Driver** to make _Data Path_ to be used by the **PGW**.
```bash
sudo ip tuntap add name pgwtun mode tun
sudo ifconfig pgwtun 45.45.0.1/16 up
```
## Check Configuration File
A configuration file is located `etc/nextepc.conf` from the installed paths. If you need to change the IP address for a particular problem, you should modify `XXXX_IPV4` field in the configuration file.
For example, if you want the IP aliasing address of *PGW* to be _10.1.35.254_, `PGW.NETWORK.S5C_IPV4` and `PGW_NETWORK.S5U_IPV4` field should be updated like the followings.
<pre>
PGW :
{
FD_CONF_PATH : "/etc/freeDiameter
NETWORK :
{
S5C_IPV4: "10.1.35.254",
S5U_IPV4: "10.1.35.254"
}
TUNNEL:
{
DEV_NAME: "pgwtun"
}
IP_POOL :
{
CIDR: 45.45.45.0/24
}
DNS :
{
PRIMARY_IPV4: "8.8.8.8",
SECONDARY_IPV4: "4.4.4.4"
}
}
</pre>
## Testing Network Configuration
Once you are done, run the testing script.
```bash
./test/testepc
```
You can see the simulated packet through **Wireshark**. _(FILTER : s1ap || gtpv2 || diameter)_
Running NextEPC
===============
## Update GUMMEI and TAI
The followings are the **GUMMEI** and **TAI** of the *MME* currently set to Default. Your *eNodeB* will also have a **PLMN ID** and **TAC** set. Refer to these parameters to change the setting of MME or eNodeB.
<pre>
GUMMEI:
{
PLMN_ID :
{
MCC : "001",
MNC : "01"
}
MME_GID : 2,
MME_CODE : 1
},
TAI:
{
PLMN_ID :
{
MCC: "001",
MNC: "01",
}
TAC: 12345
}
</pre>
For reference, MME can set several GUMMEI and TAI as **JSON array notation** as follows.
<pre>
GUMMEI:
[
{
PLMN_ID :
{
MCC : "001",
MNC : "01"
}
MME_GID : 2,
MME_CODE : 1
},
{
PLMN_ID :
{
MCC : "005",
MNC : "05"
}
MME_GID : 5,
MME_CODE : 6
},
]
TAI:
[
{
PLMN_ID :
{
MCC: "001",
MNC: "01",
}
TAC: 12345
},
{
PLMN_ID :
{
MCC: "005",
MNC: "05",
}
TAC: 6789
}
]
</pre>
## Register Subscriber Information
There is only one setting for this guide. The _Subscriber Information_ required for **HSS** should be registered in _Mongo DB_. Let's run the **Web User Interface** with `npm run start` as mentioned eariler.
Connect http://localhost:3000 using Web Browser.
* Go to Subscriber Menu
* Click + Button to add Subscriber Information
* Fill IMSI, Security(K, OP, AMF), APN in the Form
* Click the `SAVE` Button
## Running NextEPC
Generally, to use NextEPC in several hosts, you must use an independent daemon called _mmed, sgwd, pgwd, hssd, and pcrfd_.
However, we are preparing a more convenient daemon named **epcd**. It enables to service all five nodes of NextEPC.
```bash
./epcd
```
Turn on your **eNodeB** and **Mobile**. Check Wireshark!
Hopefully, you can see the real packet for TAU/Service Request, Dedicated Bearer, Multiple APN, and S1/X2-Handover.
- 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 [NeoPlane](https://neoplane.io/)

View File

@@ -1,90 +0,0 @@
dnl
dnl CORE_SUBST(varname)
dnl
dnl Adds variable with it's value into Makefile, e.g.:
dnl CC = gcc
dnl
AC_DEFUN([CORE_SUBST],[
CORE_VAR_SUBST="$CORE_VAR_SUBST $1"
])
dnl
dnl CORE_SUBST_OLD(varname)
dnl
dnl Same as CORE_SUBST() but also substitutes all @VARNAME@
dnl instances in every file passed to AC_OUTPUT()
dnl
AC_DEFUN([CORE_SUBST_OLD],[
CORE_SUBST($1)
AC_SUBST($1)
])
dnl
dnl CORE_CONFIG_NICE(filename)
dnl
dnl Generates the config.nice file
dnl
AC_DEFUN([CORE_CONFIG_NICE],[
AC_REQUIRE([AC_PROG_EGREP])
AC_REQUIRE([LT_AC_PROG_SED])
CORE_SUBST_OLD(EGREP)
CORE_SUBST_OLD(SED)
test -f $1 && mv $1 $1.old
rm -f $1.old
cat >$1<<EOF
#! /bin/sh
#
# Created by configure
EOF
for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS EXTRA_LDFLAGS_PROGRAM LIBS CC CXX; do
eval val=\$$var
if test -n "$val"; then
echo "$var='$val' \\" >> $1
fi
done
echo "'[$]0' \\" >> $1
if test `expr -- [$]0 : "'.*"` = 0; then
CONFIGURE_COMMAND="$CONFIGURE_COMMAND '[$]0'"
else
CONFIGURE_COMMAND="$CONFIGURE_COMMAND [$]0"
fi
for arg in $ac_configure_args; do
if test `expr -- $arg : "'.*"` = 0; then
if test `expr -- $arg : "--.*"` = 0; then
break;
fi
echo "'[$]arg' \\" >> $1
CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS '[$]arg'"
else
if test `expr -- $arg : "'--.*"` = 0; then
break;
fi
echo "[$]arg \\" >> $1
CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS [$]arg"
fi
done
echo '"[$]@"' >> $1
chmod +x $1
CONFIGURE_COMMAND="$CONFIGURE_COMMAND $CONFIGURE_OPTIONS"
CORE_SUBST_OLD(CONFIGURE_COMMAND)
CORE_SUBST_OLD(CONFIGURE_OPTIONS)
])
AC_DEFUN([AX_CHECK_COMPILE_FLAG],
[AC_PREREQ(2.59)dnl for _AC_LANG_PREFIX
AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl
AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [
ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS
_AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1"
AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])],
[AS_VAR_SET(CACHEVAR,[yes])],
[AS_VAR_SET(CACHEVAR,[no])])
_AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags])
AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes],
[m4_default([$2], :)],
[m4_default([$3], :)])
AS_VAR_POPDEF([CACHEVAR])dnl
])dnl AX_CHECK_COMPILE_FLAGS

237
configs/310014.yaml.in Normal file
View File

@@ -0,0 +1,237 @@
db_uri: mongodb://localhost/open5gs
logger:
parameter:
# no_nrf: true
# no_scp: 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.0.2
no_fwd: true
load_extension:
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
addr: 127.0.0.8
s1ap:
- addr: 127.0.0.2
gtpc:
- addr: 127.0.0.2
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
sgwc:
gtpc:
- addr: 127.0.0.3
pfcp:
- addr: 127.0.0.3
smf:
sbi:
- addr: 127.0.0.4
port: 7777
pfcp:
- addr: 127.0.0.4
gtpc:
- addr: 127.0.0.4
- addr: ::1
gtpu:
- addr: 127.0.0.4
- addr: ::1
subnet:
- addr: 10.45.0.1/16
- addr: 2001:db8:cafe::1/48
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: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
addr: 127.0.0.9
amf:
sbi:
- addr: 127.0.0.5
port: 7777
ngap:
- addr: 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
sgwu:
pfcp:
- addr: 127.0.0.6
gtpu:
- addr: 127.0.0.6
upf:
pfcp:
- addr: 127.0.0.7
gtpu:
- addr: 127.0.0.7
subnet:
- addr: 10.45.0.1/16
- addr: 2001:db8:cafe::1/48
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
addr: 127.0.0.2
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
addr: 127.0.0.4
nrf:
sbi:
- addr:
- 127.0.0.10
- ::1
port: 7777
scp:
sbi:
- addr: 127.0.1.10
port: 7777
ausf:
sbi:
- addr: 127.0.0.11
port: 7777
udm:
sbi:
- addr: 127.0.0.12
port: 7777
pcf:
sbi:
- addr: 127.0.0.13
port: 7777
nssf:
sbi:
- addr: 127.0.0.14
port: 7777
nsi:
- addr: 127.0.0.10
port: 7777
s_nssai:
sst: 1
bsf:
sbi:
- addr: 127.0.0.15
port: 7777
udr:
sbi:
- addr: 127.0.0.20
port: 7777

266
configs/csfb.yaml.in Normal file
View File

@@ -0,0 +1,266 @@
db_uri: mongodb://localhost/open5gs
logger:
parameter:
# no_nrf: true
# no_scp: 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.0.2
no_fwd: true
load_extension:
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
addr: 127.0.0.8
s1ap:
- addr: 127.0.0.2
gtpc:
- addr: 127.0.0.2
sgsap:
- addr: 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
sgwc:
gtpc:
- addr: 127.0.0.3
pfcp:
- addr: 127.0.0.3
smf:
# sbi:
# - addr: 127.0.0.4
# port: 7777
pfcp:
- addr: 127.0.0.4
gtpc:
- addr: 127.0.0.4
- addr: ::1
gtpu:
- addr: 127.0.0.4
- addr: ::1
subnet:
- addr: 10.45.0.1/16
- addr: 2001:db8:cafe::1/48
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: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
addr: 127.0.0.9
amf:
sbi:
- addr: 127.0.0.5
port: 7777
ngap:
- addr: 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
sgwu:
pfcp:
- addr: 127.0.0.6
gtpu:
- addr: 127.0.0.6
upf:
pfcp:
- addr: 127.0.0.7
gtpu:
- addr: 127.0.0.7
subnet:
- addr: 10.45.0.1/16
- addr: 2001:db8:cafe::1/48
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
addr: 127.0.0.2
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
addr: 127.0.0.4
#nrf:
# sbi:
# - addr:
# - 127.0.0.10
# - ::1
# port: 7777
ausf:
sbi:
- addr: 127.0.0.11
port: 7777
udm:
sbi:
- addr: 127.0.0.12
port: 7777
pcf:
sbi:
- addr: 127.0.0.13
port: 7777
nssf:
sbi:
- addr: 127.0.0.14
port: 7777
nsi:
- addr: 127.0.0.10
port: 7777
s_nssai:
sst: 1
bsf:
sbi:
- addr: 127.0.0.15
port: 7777
udr:
sbi:
- addr: 127.0.0.20
port: 7777

View File

@@ -0,0 +1,17 @@
-----BEGIN CERTIFICATE-----
MIICrDCCAhWgAwIBAgIUX3u0zTLhQTa3lsR92/GelxTGQacwDQYJKoZIhvcNAQEL
BQAwaDEXMBUGA1UEAwwOY2EubG9jYWxkb21haW4xCzAJBgNVBAYTAktPMQ4wDAYD
VQQIDAVTZW91bDEOMAwGA1UEBwwFTm93b24xEDAOBgNVBAoMB09wZW41R1MxDjAM
BgNVBAsMBVRlc3RzMB4XDTIwMDgyMjAwMzkxNloXDTMwMDgyMDAwMzkxNlowaDEX
MBUGA1UEAwwOY2EubG9jYWxkb21haW4xCzAJBgNVBAYTAktPMQ4wDAYDVQQIDAVT
ZW91bDEOMAwGA1UEBwwFTm93b24xEDAOBgNVBAoMB09wZW41R1MxDjAMBgNVBAsM
BVRlc3RzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCuPWKllQ1+hM/wQE08
xjDBiSx9GQOCEF5dkLK126u4joIhNFig6wfn/Ui0nq88ApUlEREUXB3D33ZEsAkt
cbwz1UHX2THOeTYX8XdDbkwkbxNOOH902duiQ2UUbf8ve1hsV7+Dr7ue2Fmz4gsR
lHBv1EsIyPZJQlb4qxET+2++2QIDAQABo1MwUTAdBgNVHQ4EFgQUZPvI16MgF9yo
OqpLK4XNvT5TSwkwHwYDVR0jBBgwFoAUZPvI16MgF9yoOqpLK4XNvT5TSwkwDwYD
VR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOBgQAwGvKdevLJNDuSXsFpIkTE
ZRsNnKrprNgbZC4/HkrzpvR1aDQgcSqF12DzSUmoTqzESuMtKvkaLv2IqYko9g4p
iKVu2jBDKrJq4q63Cy71fxwbtXLrqGaWgbXkepzqyJYjn4Nf/ya0shK7l2rIIDyL
crvs5/rXN6enLFUQ3n955w==
-----END CERTIFICATE-----

View File

@@ -0,0 +1,60 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 2 (0x2)
Signature Algorithm: sha256WithRSAEncryption
Issuer: CN=ca.localdomain, C=KO, ST=Seoul, L=Nowon, O=Open5GS, OU=Tests
Validity
Not Before: Aug 22 00:39:17 2020 GMT
Not After : Aug 20 00:39:17 2030 GMT
Subject: C=KO, ST=Seoul, O=Open5GS, OU=Tests, CN=hss.localdomain
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public-Key: (1024 bit)
Modulus:
00:e8:b3:82:96:bd:4a:f6:30:2c:03:60:aa:82:65:
b0:15:32:5f:d3:90:0d:c0:1d:06:62:52:51:c7:12:
36:d7:5c:34:21:ac:4a:44:4d:9b:a5:22:9c:3e:86:
a8:ba:df:02:64:b6:74:f5:95:c4:71:e8:e0:28:1d:
2b:ea:06:94:fa:3c:f1:07:d3:23:55:b6:84:d4:00:
f4:28:08:18:be:c7:38:e1:b7:d9:b4:bf:d3:e1:d3:
d8:13:60:72:e1:e4:d3:31:37:b1:cf:b9:e1:c9:8d:
5e:e2:1c:54:a3:90:b1:69:6f:07:90:ff:68:86:69:
7d:ef:50:69:0d:9d:47:18:39
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
74:20:F9:E9:BD:E1:37:8A:9C:A9:AD:B4:B2:28:7D:44:22:0B:BD:0B
X509v3 Authority Key Identifier:
keyid:64:FB:C8:D7:A3:20:17:DC:A8:3A:AA:4B:2B:85:CD:BD:3E:53:4B:09
Signature Algorithm: sha256WithRSAEncryption
ac:aa:85:5a:57:61:6d:7d:f3:c4:2a:b7:73:3f:e9:bc:b9:6d:
0a:8f:35:24:13:66:46:14:5e:60:90:3e:32:95:72:5a:21:55:
15:fe:ef:30:44:fb:fe:3e:cb:bf:f3:30:ce:3b:bb:4f:c1:64:
41:ea:db:99:f2:ca:db:78:03:95:81:91:3c:fa:1d:9c:8a:55:
eb:9d:6a:c1:b6:de:44:38:0f:99:b4:66:d5:4e:dd:e7:d5:ba:
ff:f2:4b:f6:9a:94:53:55:36:4e:73:2d:da:d1:bb:0f:8f:fb:
1a:22:43:28:6a:b4:5d:a3:40:2c:cf:7e:0d:3e:fb:60:ef:92:
f3:0e
-----BEGIN CERTIFICATE-----
MIICsjCCAhugAwIBAgIBAjANBgkqhkiG9w0BAQsFADBoMRcwFQYDVQQDDA5jYS5s
b2NhbGRvbWFpbjELMAkGA1UEBhMCS08xDjAMBgNVBAgMBVNlb3VsMQ4wDAYDVQQH
DAVOb3dvbjEQMA4GA1UECgwHT3BlbjVHUzEOMAwGA1UECwwFVGVzdHMwHhcNMjAw
ODIyMDAzOTE3WhcNMzAwODIwMDAzOTE3WjBZMQswCQYDVQQGEwJLTzEOMAwGA1UE
CAwFU2VvdWwxEDAOBgNVBAoMB09wZW41R1MxDjAMBgNVBAsMBVRlc3RzMRgwFgYD
VQQDDA9oc3MubG9jYWxkb21haW4wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB
AOizgpa9SvYwLANgqoJlsBUyX9OQDcAdBmJSUccSNtdcNCGsSkRNm6UinD6GqLrf
AmS2dPWVxHHo4CgdK+oGlPo88QfTI1W2hNQA9CgIGL7HOOG32bS/0+HT2BNgcuHk
0zE3sc+54cmNXuIcVKOQsWlvB5D/aIZpfe9QaQ2dRxg5AgMBAAGjezB5MAkGA1Ud
EwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmlj
YXRlMB0GA1UdDgQWBBR0IPnpveE3ipyprbSyKH1EIgu9CzAfBgNVHSMEGDAWgBRk
+8jXoyAX3Kg6qksrhc29PlNLCTANBgkqhkiG9w0BAQsFAAOBgQCsqoVaV2FtffPE
KrdzP+m8uW0KjzUkE2ZGFF5gkD4ylXJaIVUV/u8wRPv+Psu/8zDOO7tPwWRB6tuZ
8srbeAOVgZE8+h2cilXrnWrBtt5EOA+ZtGbVTt3n1br/8kv2mpRTVTZOcy3a0bsP
j/saIkMoarRdo0Asz34NPvtg75LzDg==
-----END CERTIFICATE-----

View File

@@ -51,7 +51,6 @@ Realm = "localdomain";
# Disable use of SCTP protocol (only listen and connect over TCP)
# Default : SCTP enabled
#No_SCTP;
No_SCTP;
# This option is ignored if freeDiameter is compiled with DISABLE_SCTP option.
# Prefer TCP instead of SCTP for establishing new connections.
@@ -80,7 +79,7 @@ No_SCTP;
#ListenOn = "202.249.37.5";
#ListenOn = "2001:200:903:2::202:1";
#ListenOn = "fe80::21c:5ff:fe98:7d62%eth0";
ListenOn = "10.1.35.214";
ListenOn = "127.0.0.8";
##############################################################
@@ -107,8 +106,7 @@ ListenOn = "10.1.35.214";
# 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 = "@prefix@/etc/freeDiameter/hss.cert.pem",
"@prefix@/etc/freeDiameter/hss.key.pem";
TLS_Cred = "@sysconfdir@/freeDiameter/hss.cert.pem", "@sysconfdir@/freeDiameter/hss.key.pem";
# Certificate authority / trust anchors
# The file containing the list of trusted Certificate Authorities (PEM list)
@@ -116,7 +114,7 @@ TLS_Cred = "@prefix@/etc/freeDiameter/hss.cert.pem",
# The directive can appear several times to specify several files.
# Default : GNUTLS default behavior
#TLS_CA = "<file.PEM>";
TLS_CA = "@prefix@/etc/freeDiameter/cacert.pem";
TLS_CA = "@sysconfdir@/freeDiameter/cacert.pem";
# Certificate Revocation List file
# The information about revoked certificates.
@@ -177,6 +175,7 @@ TLS_CA = "@prefix@/etc/freeDiameter/cacert.pem";
# exchanges.
# Default: Relaying is enabled.
#NoRelay;
NoRelay;
# Number of server threads that can handle incoming messages at the same time.
# Default: 4
@@ -224,14 +223,13 @@ TLS_CA = "@prefix@/etc/freeDiameter/cacert.pem";
# 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 = "@prefix@/lib/nextepc/dbg_msg_dumps.so" : "0x8888";
LoadExtension = "@prefix@/lib/nextepc/dict_rfc5777.so";
LoadExtension = "@prefix@/lib/nextepc/dict_mip6i.so";
LoadExtension = "@prefix@/lib/nextepc/dict_nasreq.so";
LoadExtension = "@prefix@/lib/nextepc/dict_nas_mipv6.so";
LoadExtension = "@prefix@/lib/nextepc/dict_dcca.so";
LoadExtension = "@prefix@/lib/nextepc/dict_dcca_3gpp.so";
LoadExtension = "@prefix@/lib/nextepc/dict_s6a.so";
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";
##############################################################
@@ -263,6 +261,6 @@ LoadExtension = "@prefix@/lib/nextepc/dict_s6a.so";
# Examples:
#ConnectPeer = "aaa.wide.ad.jp";
#ConnectPeer = "old.diameter.serv" { TcTimer = 60; TLS_old_method; No_SCTP; Port=3868; } ;
ConnectPeer = "mme.localdomain" { ConnectTo = "10.1.35.215"; No_TLS; };
ConnectPeer = "mme.localdomain" { ConnectTo = "127.0.0.2"; No_TLS; };
##############################################################

View File

@@ -0,0 +1,15 @@
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQDos4KWvUr2MCwDYKqCZbAVMl/TkA3AHQZiUlHHEjbXXDQhrEpE
TZulIpw+hqi63wJktnT1lcRx6OAoHSvqBpT6PPEH0yNVtoTUAPQoCBi+xzjht9m0
v9Ph09gTYHLh5NMxN7HPueHJjV7iHFSjkLFpbweQ/2iGaX3vUGkNnUcYOQIDAQAB
AoGAdxNkv74dnd0IqLHOjut6L16XqqsMXkJ8AdQeBMBNT+bexlxjpJASFW6ghV5i
+T0k/GRhdUouPBvumJhU4Gx9zpVYUMzAxZDgWQfoknQ11fs6bi1aH8Fn9NhC3UeB
ZaSmkAyeTMpJMzVAiVLND3iN/83OcijqSq2MZ4kkdsQngAECQQD/AOBiwlh6AVtZ
bJMbVSVPLdtQRtGuP29gaC64vROE60qfxUcW7H2rHdMq4AWrlaZ3hXxSLU+TuCDt
Z7khtHexAkEA6ZxSJfw1SO0qqu/uHBcQTOzoTKPi28fRt2ilEIOhIzuHbJPpjFEp
snhGfX+XgD4EtXH1ebdmh+rGZ8yRPcjTCQJBAJ170xfq4m1mzR2q+ibVLNd7gIhR
VEmCj6xAaypYSue50DpfwYmcv/ef0bwW4imXoFkMLT0rEowuGNfFSQZRx+ECQETG
TrD8JTvJBsy4QiNm7teWz3TwsrL9itIyLpZECkZzGhVvHky/AEWYfzgnPhT1LTG1
0Qz6X2cYSTz5zrCf1PECQQCPZIkkOUsgq6kGDK5MTzAoTjPxzIDgLX/YdMelwHUA
pK+nv/gxO9Pjd+wcU4GmaD0KXdLtu+dsKT3bx/7RzGjj
-----END RSA PRIVATE KEY-----

View File

@@ -0,0 +1,57 @@
# 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
freediameter_pem = '''
cacert.pem
mme.cert.pem
mme.key.pem
hss.cert.pem
hss.key.pem
smf.cert.pem
smf.key.pem
pcrf.cert.pem
pcrf.key.pem
'''.split()
foreach file : freediameter_pem
gen = configure_file(
input : file,
output : file,
configuration : conf_data)
meson.add_install_script(python3_exe, '-c',
install_conf.format(gen, freediameter_sysconfdir))
endforeach

View File

@@ -0,0 +1,60 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 1 (0x1)
Signature Algorithm: sha256WithRSAEncryption
Issuer: CN=ca.localdomain, C=KO, ST=Seoul, L=Nowon, O=Open5GS, OU=Tests
Validity
Not Before: Aug 22 00:39:17 2020 GMT
Not After : Aug 20 00:39:17 2030 GMT
Subject: C=KO, ST=Seoul, O=Open5GS, OU=Tests, CN=mme.localdomain
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public-Key: (1024 bit)
Modulus:
00:9c:69:25:fc:ee:7f:11:e0:81:f7:b5:51:8f:01:
b8:9e:01:74:03:3e:a5:25:de:6f:28:66:05:6f:7b:
ab:86:0f:09:fc:94:7b:e8:aa:9f:0b:5f:32:27:46:
f0:ca:e2:12:f3:5d:03:80:e9:9a:1d:f0:20:d6:5c:
1b:4b:65:d4:66:e3:b7:63:19:6e:b1:e8:db:6c:24:
df:24:2c:50:f2:1c:8a:33:c1:f7:27:b8:3c:6e:c6:
90:98:ac:43:67:00:6b:3d:ab:39:49:3d:d5:74:77:
6a:0e:38:4e:41:cd:e4:15:63:27:76:b5:9c:75:f8:
cb:6f:cc:5e:f3:a7:68:ef:a5
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
92:69:1E:3F:9F:E2:40:2F:81:24:05:B4:13:AA:8A:65:5C:7C:71:1D
X509v3 Authority Key Identifier:
keyid:64:FB:C8:D7:A3:20:17:DC:A8:3A:AA:4B:2B:85:CD:BD:3E:53:4B:09
Signature Algorithm: sha256WithRSAEncryption
74:fc:32:ee:e6:2b:a5:f5:a4:71:64:49:ff:eb:6f:01:30:32:
b7:61:62:97:e1:2c:0f:50:62:a8:71:9a:bd:8b:d8:0d:4b:28:
ea:b4:5f:1c:30:3e:4c:23:2f:c5:5b:77:ed:48:c2:bb:b7:0c:
d9:50:4d:7f:7f:a3:b9:1e:2c:19:33:1e:41:94:e1:14:1b:45:
e8:ae:27:aa:5e:78:8e:67:67:19:69:48:e3:e4:c0:c3:a7:85:
fd:fd:d6:62:6e:dd:1f:31:2f:bc:9a:d2:fa:82:eb:4b:3e:35:
e0:90:db:ed:de:1a:68:33:6f:e6:90:9f:08:64:60:46:91:09:
74:15
-----BEGIN CERTIFICATE-----
MIICsjCCAhugAwIBAgIBATANBgkqhkiG9w0BAQsFADBoMRcwFQYDVQQDDA5jYS5s
b2NhbGRvbWFpbjELMAkGA1UEBhMCS08xDjAMBgNVBAgMBVNlb3VsMQ4wDAYDVQQH
DAVOb3dvbjEQMA4GA1UECgwHT3BlbjVHUzEOMAwGA1UECwwFVGVzdHMwHhcNMjAw
ODIyMDAzOTE3WhcNMzAwODIwMDAzOTE3WjBZMQswCQYDVQQGEwJLTzEOMAwGA1UE
CAwFU2VvdWwxEDAOBgNVBAoMB09wZW41R1MxDjAMBgNVBAsMBVRlc3RzMRgwFgYD
VQQDDA9tbWUubG9jYWxkb21haW4wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB
AJxpJfzufxHggfe1UY8BuJ4BdAM+pSXebyhmBW97q4YPCfyUe+iqnwtfMidG8Mri
EvNdA4Dpmh3wINZcG0tl1Gbjt2MZbrHo22wk3yQsUPIcijPB9ye4PG7GkJisQ2cA
az2rOUk91XR3ag44TkHN5BVjJ3a1nHX4y2/MXvOnaO+lAgMBAAGjezB5MAkGA1Ud
EwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmlj
YXRlMB0GA1UdDgQWBBSSaR4/n+JAL4EkBbQTqoplXHxxHTAfBgNVHSMEGDAWgBRk
+8jXoyAX3Kg6qksrhc29PlNLCTANBgkqhkiG9w0BAQsFAAOBgQB0/DLu5iul9aRx
ZEn/628BMDK3YWKX4SwPUGKocZq9i9gNSyjqtF8cMD5MIy/FW3ftSMK7twzZUE1/
f6O5HiwZMx5BlOEUG0XorieqXniOZ2cZaUjj5MDDp4X9/dZibt0fMS+8mtL6gutL
PjXgkNvt3hpoM2/mkJ8IZGBGkQl0FQ==
-----END CERTIFICATE-----

View File

@@ -51,7 +51,6 @@ Realm = "localdomain";
# Disable use of SCTP protocol (only listen and connect over TCP)
# Default : SCTP enabled
#No_SCTP;
No_SCTP;
# This option is ignored if freeDiameter is compiled with DISABLE_SCTP option.
# Prefer TCP instead of SCTP for establishing new connections.
@@ -80,7 +79,7 @@ No_SCTP;
#ListenOn = "202.249.37.5";
#ListenOn = "2001:200:903:2::202:1";
#ListenOn = "fe80::21c:5ff:fe98:7d62%eth0";
ListenOn = "10.1.35.215";
ListenOn = "127.0.0.2";
##############################################################
@@ -107,8 +106,7 @@ ListenOn = "10.1.35.215";
# 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 = "@prefix@/etc/freeDiameter/mme.cert.pem",
"@prefix@/etc/freeDiameter/mme.key.pem";
TLS_Cred = "@sysconfdir@/freeDiameter/mme.cert.pem", "@sysconfdir@/freeDiameter/mme.key.pem";
# Certificate authority / trust anchors
# The file containing the list of trusted Certificate Authorities (PEM list)
@@ -116,7 +114,7 @@ TLS_Cred = "@prefix@/etc/freeDiameter/mme.cert.pem",
# The directive can appear several times to specify several files.
# Default : GNUTLS default behavior
#TLS_CA = "<file.PEM>";
TLS_CA = "@prefix@/etc/freeDiameter/cacert.pem";
TLS_CA = "@sysconfdir@/freeDiameter/cacert.pem";
# Certificate Revocation List file
# The information about revoked certificates.
@@ -177,6 +175,7 @@ TLS_CA = "@prefix@/etc/freeDiameter/cacert.pem";
# exchanges.
# Default: Relaying is enabled.
#NoRelay;
NoRelay;
# Number of server threads that can handle incoming messages at the same time.
# Default: 4
@@ -224,14 +223,13 @@ TLS_CA = "@prefix@/etc/freeDiameter/cacert.pem";
# 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 = "@prefix@/lib/nextepc/dbg_msg_dumps.so" : "0x8888";
LoadExtension = "@prefix@/lib/nextepc/dict_rfc5777.so";
LoadExtension = "@prefix@/lib/nextepc/dict_mip6i.so";
LoadExtension = "@prefix@/lib/nextepc/dict_nasreq.so";
LoadExtension = "@prefix@/lib/nextepc/dict_nas_mipv6.so";
LoadExtension = "@prefix@/lib/nextepc/dict_dcca.so";
LoadExtension = "@prefix@/lib/nextepc/dict_dcca_3gpp.so";
LoadExtension = "@prefix@/lib/nextepc/dict_s6a.so";
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";
##############################################################
@@ -263,7 +261,7 @@ LoadExtension = "@prefix@/lib/nextepc/dict_s6a.so";
# Examples:
#ConnectPeer = "aaa.wide.ad.jp";
#ConnectPeer = "old.diameter.serv" { TcTimer = 60; TLS_old_method; No_SCTP; Port=3868; } ;
ConnectPeer = "hss.localdomain" { ConnectTo = "10.1.35.214"; No_TLS; };
ConnectPeer = "hss.localdomain" { ConnectTo = "127.0.0.8"; No_TLS; };
##############################################################

View File

@@ -0,0 +1,15 @@
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQCcaSX87n8R4IH3tVGPAbieAXQDPqUl3m8oZgVve6uGDwn8lHvo
qp8LXzInRvDK4hLzXQOA6Zod8CDWXBtLZdRm47djGW6x6NtsJN8kLFDyHIozwfcn
uDxuxpCYrENnAGs9qzlJPdV0d2oOOE5BzeQVYyd2tZx1+MtvzF7zp2jvpQIDAQAB
AoGARr3D4a7Yp/Q7tBY86gokPsp3dxQ5S3RcIBBseuybOknJAYUCucuZnWIT4/HQ
7GHtokY6VG7TNqEpqOoFqkdHFgDZQlJPG+N2B63JEGxAL0RedHsTbnYQ8MFqrixb
U59yDfwudrlEYAQNML51pEp7D06Add+CPubcFLO8Tnh/z20CQQDQCWRPP0ZdfYk1
NZFS82fWxWE0jhxEu8nFXCh4uawlSOyyl8RFKyvwFhs+u8DAS+ntSA5nBIkglLW5
aM+WbJerAkEAwHi5BIojXNmqjrfDDDaD3jM5/Ug2SOuReVz/7JDoPC/w9rob37RM
pz0bWrtOVCud+mD0WeOjsxfsb6ixpjMF7wJBAI9zmnbG0/eNo/pL6NzBOP4w9rlt
sPJ4Z0avKL0ukxTWt1jjLBTiExcntzvH7b7r2e+ju0KwLvqHcNPcASDh2qcCQBQ4
Wo+ch4yInX9y1L3iuEXOsefm/zT38oeCeqx6qLsx+imhca41vdvP8qC8jsUO9ADK
0MDkxlzZRZCRc2BXeecCQQCl+Ac9n+gtpIUFNmwvgtOnnjDAEDhGgi4lR45frT75
t57D+YTERbn2pygttzhZ6imWMEUnSQJQSGpDAUnVsIUg
-----END RSA PRIVATE KEY-----

View File

@@ -0,0 +1,60 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 4 (0x4)
Signature Algorithm: sha256WithRSAEncryption
Issuer: CN=ca.localdomain, C=KO, ST=Seoul, L=Nowon, O=Open5GS, OU=Tests
Validity
Not Before: Aug 22 00:39:17 2020 GMT
Not After : Aug 20 00:39:17 2030 GMT
Subject: C=KO, ST=Seoul, O=Open5GS, OU=Tests, CN=pcrf.localdomain
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public-Key: (1024 bit)
Modulus:
00:b9:1f:b3:a5:74:de:31:97:ac:fa:86:1d:65:86:
c7:be:b1:25:07:01:f3:69:21:7a:6d:ec:d7:c8:ec:
e2:c9:e8:71:a1:07:ce:0e:68:e5:0f:a9:ec:f3:5e:
5e:3e:a4:ea:27:f3:fa:65:36:2d:7c:ce:a8:70:cc:
34:db:51:b2:28:7b:03:bf:78:06:61:7c:44:81:17:
88:f9:c9:16:cb:2e:9f:21:4a:24:28:0a:0f:76:ef:
63:0f:05:a4:ee:52:64:1f:4f:0b:ec:4e:6c:1b:12:
40:43:75:ed:62:16:ec:6a:ba:15:dd:c4:b9:fa:a9:
de:2c:80:f5:84:c5:97:ec:7b
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
CD:C4:C9:C1:7F:D9:34:1F:DB:08:61:27:FC:59:A2:C2:CC:19:9A:7B
X509v3 Authority Key Identifier:
keyid:64:FB:C8:D7:A3:20:17:DC:A8:3A:AA:4B:2B:85:CD:BD:3E:53:4B:09
Signature Algorithm: sha256WithRSAEncryption
24:3a:da:a7:50:b3:42:ab:e9:87:21:b2:d9:2b:a1:44:0b:5f:
bd:ad:c9:8b:b1:ca:d5:2e:65:46:55:80:11:00:33:03:f9:04:
b1:31:a2:c9:d2:41:e0:ec:73:bc:9a:3c:31:06:cc:d0:2d:73:
1f:b4:93:1c:b0:99:dd:14:27:64:39:7e:c5:ab:53:48:c5:25:
e8:88:fd:4e:b8:dd:64:88:b5:b4:89:8b:15:97:8b:e7:c9:fb:
23:6c:ed:60:9b:2f:f0:99:7a:75:6c:8e:ea:09:c6:ba:ff:e9:
81:3f:97:96:8b:00:58:5b:88:13:e8:8a:39:4c:f6:c9:06:d3:
24:66
-----BEGIN CERTIFICATE-----
MIICszCCAhygAwIBAgIBBDANBgkqhkiG9w0BAQsFADBoMRcwFQYDVQQDDA5jYS5s
b2NhbGRvbWFpbjELMAkGA1UEBhMCS08xDjAMBgNVBAgMBVNlb3VsMQ4wDAYDVQQH
DAVOb3dvbjEQMA4GA1UECgwHT3BlbjVHUzEOMAwGA1UECwwFVGVzdHMwHhcNMjAw
ODIyMDAzOTE3WhcNMzAwODIwMDAzOTE3WjBaMQswCQYDVQQGEwJLTzEOMAwGA1UE
CAwFU2VvdWwxEDAOBgNVBAoMB09wZW41R1MxDjAMBgNVBAsMBVRlc3RzMRkwFwYD
VQQDDBBwY3JmLmxvY2FsZG9tYWluMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
gQC5H7OldN4xl6z6hh1lhse+sSUHAfNpIXpt7NfI7OLJ6HGhB84OaOUPqezzXl4+
pOon8/plNi18zqhwzDTbUbIoewO/eAZhfESBF4j5yRbLLp8hSiQoCg9272MPBaTu
UmQfTwvsTmwbEkBDde1iFuxquhXdxLn6qd4sgPWExZfsewIDAQABo3sweTAJBgNV
HRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZp
Y2F0ZTAdBgNVHQ4EFgQUzcTJwX/ZNB/bCGEn/FmiwswZmnswHwYDVR0jBBgwFoAU
ZPvI16MgF9yoOqpLK4XNvT5TSwkwDQYJKoZIhvcNAQELBQADgYEAJDrap1CzQqvp
hyGy2SuhRAtfva3Ji7HK1S5lRlWAEQAzA/kEsTGiydJB4OxzvJo8MQbM0C1zH7ST
HLCZ3RQnZDl+xatTSMUl6Ij9TrjdZIi1tImLFZeL58n7I2ztYJsv8Jl6dWyO6gnG
uv/pgT+XlosAWFuIE+iKOUz2yQbTJGY=
-----END CERTIFICATE-----

View File

@@ -51,7 +51,6 @@ Realm = "localdomain";
# Disable use of SCTP protocol (only listen and connect over TCP)
# Default : SCTP enabled
#No_SCTP;
No_SCTP;
# This option is ignored if freeDiameter is compiled with DISABLE_SCTP option.
# Prefer TCP instead of SCTP for establishing new connections.
@@ -80,7 +79,7 @@ No_SCTP;
#ListenOn = "202.249.37.5";
#ListenOn = "2001:200:903:2::202:1";
#ListenOn = "fe80::21c:5ff:fe98:7d62%eth0";
ListenOn = "10.1.35.218";
ListenOn = "127.0.0.9";
##############################################################
@@ -107,7 +106,7 @@ ListenOn = "10.1.35.218";
# 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 = "@prefix@/etc/freeDiameter/pcrf.cert.pem", "@prefix@/etc/freeDiameter/pcrf.key.pem";
TLS_Cred = "@sysconfdir@/freeDiameter/pcrf.cert.pem", "@sysconfdir@/freeDiameter/pcrf.key.pem";
# Certificate authority / trust anchors
# The file containing the list of trusted Certificate Authorities (PEM list)
@@ -115,7 +114,7 @@ TLS_Cred = "@prefix@/etc/freeDiameter/pcrf.cert.pem", "@prefix@/etc/freeDiameter
# The directive can appear several times to specify several files.
# Default : GNUTLS default behavior
#TLS_CA = "<file.PEM>";
TLS_CA = "@prefix@/etc/freeDiameter/cacert.pem";
TLS_CA = "@sysconfdir@/freeDiameter/cacert.pem";
# Certificate Revocation List file
# The information about revoked certificates.
@@ -176,6 +175,7 @@ TLS_CA = "@prefix@/etc/freeDiameter/cacert.pem";
# exchanges.
# Default: Relaying is enabled.
#NoRelay;
NoRelay;
# Number of server threads that can handle incoming messages at the same time.
# Default: 4
@@ -223,14 +223,13 @@ TLS_CA = "@prefix@/etc/freeDiameter/cacert.pem";
# 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 = "@prefix@/lib/nextepc/dbg_msg_dumps.so" : "0x8888";
LoadExtension = "@prefix@/lib/nextepc/dict_rfc5777.so";
LoadExtension = "@prefix@/lib/nextepc/dict_mip6i.so";
LoadExtension = "@prefix@/lib/nextepc/dict_nasreq.so";
LoadExtension = "@prefix@/lib/nextepc/dict_nas_mipv6.so";
LoadExtension = "@prefix@/lib/nextepc/dict_dcca.so";
LoadExtension = "@prefix@/lib/nextepc/dict_dcca_3gpp.so";
#LoadExtension = "@prefix@/lib/nextepc/dict_legacy_xml.so" : "@prefix@/etc/freeDiameter/dict_legacy_xml.conf";
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";
##############################################################
@@ -262,6 +261,6 @@ LoadExtension = "@prefix@/lib/nextepc/dict_dcca_3gpp.so";
# Examples:
#ConnectPeer = "aaa.wide.ad.jp";
#ConnectPeer = "old.diameter.serv" { TcTimer = 60; TLS_old_method; No_SCTP; Port=3868; } ;
ConnectPeer = "pgw.localdomain" { ConnectTo = "10.1.35.219"; No_TLS; };
ConnectPeer = "smf.localdomain" { ConnectTo = "127.0.0.4"; No_TLS; };
##############################################################

View File

@@ -0,0 +1,15 @@
-----BEGIN RSA PRIVATE KEY-----
MIICWgIBAAKBgQC5H7OldN4xl6z6hh1lhse+sSUHAfNpIXpt7NfI7OLJ6HGhB84O
aOUPqezzXl4+pOon8/plNi18zqhwzDTbUbIoewO/eAZhfESBF4j5yRbLLp8hSiQo
Cg9272MPBaTuUmQfTwvsTmwbEkBDde1iFuxquhXdxLn6qd4sgPWExZfsewIDAQAB
An8UP2NmtWGYCv7gZ8rPT+6I7Ncf7RayaPb7DuyLDV3At6u18SSYbuCe1fcUpz2n
nGH//K9mYoaXIANMUwl083qIwxT0VbarpTCgiHT8afdISe6Bm8B8Xs0ITEikRHiG
vmI/oCbCA1DkXZlf4jpQbGdet2DyxnJTXv+W9vDkqHOhAkEA74Y+MQgf3eaz/on9
2I5S0kvFJxBYjkAcbkzHmytA5cT45KoCIF+6oPAnBoDkLq3fUotOgWzX2pnWHzMu
+VLtrwJBAMXbhpxQflZ/4eqDYbD49ggVO8VJzl3Ch1B7ZvKW/b+6plRwsdHx0RFk
xbwz02GuJbwf6UjVW1VyaQF6fgkdzPUCQQCYhK+nQxgfkV69zxpvwbilJhBFHph1
BAfWiFd1y+YIKROfb03pVWuePS1sa7hgrOCOTBxSN39/OAPrXAkmQ5MLAkBbNSZp
eoWy1ELNe4EWNr4b3cXu3WYfPKRqCmjbnZUdxCoWtNiUAlgxH3YzmuRvm/rTLRa6
N3hh/FrBjrj49N7dAkA5SaCw2WFulgLRPA6QwfObrQEYkHgtF2++r9jhane5nfq3
/kcrlFnfDfT7ITc32Hmvgj7wJud7w8ANukPXG7DU
-----END RSA PRIVATE KEY-----

View File

@@ -0,0 +1,60 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 3 (0x3)
Signature Algorithm: sha256WithRSAEncryption
Issuer: CN=ca.localdomain, C=KO, ST=Seoul, L=Nowon, O=Open5GS, OU=Tests
Validity
Not Before: Aug 22 00:39:17 2020 GMT
Not After : Aug 20 00:39:17 2030 GMT
Subject: C=KO, ST=Seoul, O=Open5GS, OU=Tests, CN=smf.localdomain
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public-Key: (1024 bit)
Modulus:
00:ad:d6:cb:88:33:51:23:72:f1:16:29:2a:df:b7:
75:d7:38:9e:da:18:b6:27:73:a8:60:ec:04:8f:d0:
cd:c6:2e:10:ff:bd:c3:c2:a3:d7:53:e7:9e:73:07:
07:a9:59:16:b1:7f:92:79:4d:d8:ee:5a:c7:ed:ef:
37:83:8a:7d:94:08:41:0b:34:68:27:a5:4b:7d:cb:
29:fb:85:c0:21:6e:17:72:32:29:7a:28:be:94:31:
56:d2:85:9f:4b:b1:33:6f:f9:eb:01:9c:e7:2f:68:
94:6b:91:58:a7:80:04:94:3c:b3:19:96:91:31:f7:
c4:81:98:2b:85:8f:5c:f0:fd
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
91:4B:EF:65:02:0D:C8:85:FA:4A:3F:29:C0:10:3C:1B:AE:E4:AD:A4
X509v3 Authority Key Identifier:
keyid:64:FB:C8:D7:A3:20:17:DC:A8:3A:AA:4B:2B:85:CD:BD:3E:53:4B:09
Signature Algorithm: sha256WithRSAEncryption
a3:6e:4f:00:bd:1a:62:b9:86:0f:35:f6:18:8d:15:61:a2:bc:
05:07:f1:73:8d:70:6f:e1:34:f1:ae:87:26:87:13:0b:c8:d8:
29:16:70:02:12:73:36:f9:de:43:26:12:7d:9f:d2:20:7c:e2:
76:47:0b:14:ba:67:e5:5a:0d:22:3b:00:c8:35:ab:dd:b1:9a:
e5:75:b0:86:89:02:15:32:b3:e9:48:c3:e0:38:e1:56:4c:fd:
aa:12:96:00:6d:a6:c3:ab:b0:8c:4b:ab:b2:4c:c2:08:26:ab:
d6:3f:26:95:4a:da:b8:dd:9a:f8:fe:b9:c2:e3:7a:a3:2f:2c:
7f:df
-----BEGIN CERTIFICATE-----
MIICsjCCAhugAwIBAgIBAzANBgkqhkiG9w0BAQsFADBoMRcwFQYDVQQDDA5jYS5s
b2NhbGRvbWFpbjELMAkGA1UEBhMCS08xDjAMBgNVBAgMBVNlb3VsMQ4wDAYDVQQH
DAVOb3dvbjEQMA4GA1UECgwHT3BlbjVHUzEOMAwGA1UECwwFVGVzdHMwHhcNMjAw
ODIyMDAzOTE3WhcNMzAwODIwMDAzOTE3WjBZMQswCQYDVQQGEwJLTzEOMAwGA1UE
CAwFU2VvdWwxEDAOBgNVBAoMB09wZW41R1MxDjAMBgNVBAsMBVRlc3RzMRgwFgYD
VQQDDA9zbWYubG9jYWxkb21haW4wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB
AK3Wy4gzUSNy8RYpKt+3ddc4ntoYtidzqGDsBI/QzcYuEP+9w8Kj11PnnnMHB6lZ
FrF/knlN2O5ax+3vN4OKfZQIQQs0aCelS33LKfuFwCFuF3IyKXoovpQxVtKFn0ux
M2/56wGc5y9olGuRWKeABJQ8sxmWkTH3xIGYK4WPXPD9AgMBAAGjezB5MAkGA1Ud
EwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmlj
YXRlMB0GA1UdDgQWBBSRS+9lAg3IhfpKPynAEDwbruStpDAfBgNVHSMEGDAWgBRk
+8jXoyAX3Kg6qksrhc29PlNLCTANBgkqhkiG9w0BAQsFAAOBgQCjbk8AvRpiuYYP
NfYYjRVhorwFB/FzjXBv4TTxrocmhxMLyNgpFnACEnM2+d5DJhJ9n9IgfOJ2RwsU
umflWg0iOwDINavdsZrldbCGiQIVMrPpSMPgOOFWTP2qEpYAbabDq7CMS6uyTMII
JqvWPyaVStq43Zr4/rnC43qjLyx/3w==
-----END CERTIFICATE-----

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@/freeDiameter/smf.cert.pem", "@sysconfdir@/freeDiameter/smf.key.pem";
# 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@/freeDiameter/cacert.pem";
# 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,15 @@
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCt1suIM1EjcvEWKSrft3XXOJ7aGLYnc6hg7ASP0M3GLhD/vcPC
o9dT555zBwepWRaxf5J5TdjuWsft7zeDin2UCEELNGgnpUt9yyn7hcAhbhdyMil6
KL6UMVbShZ9LsTNv+esBnOcvaJRrkVingASUPLMZlpEx98SBmCuFj1zw/QIDAQAB
AoGAV1x1hmn7oav22mMv56PD9be/pOz8RZFLEgIqPLf7YVfvNQaBpYQ/ByyEJVxo
DkP2Mpdg3dMwbIB0ru8j39guSO0evsCG95u5L3lUMLFh/+WTt4W0g4+9y0qD1dUy
y7kk+gKLlbPvyRNr+CiEnpz/rxdWC3J+tVBsWJGNjBGtZWECQQDdn5q7FUrF6HHQ
O5iJYCbeL+Xn4Ajwrr4M9OeGhMz4pTTtE45jjGi2ykFa9TJFMqjLuClBXw5FkIOe
S4unTO7JAkEAyM268Z558xHHnRl6uEN1NrqqpdXtZYnK9lm4/kZRs2mKm/98fjf0
GiHwiKqONP7si4ARE2Ws1wKmXmCe0nNGlQJBAMw8KFCd95FYe4IlWZXHySnaxCki
WbrLnhK8opxhx66gOJz996sfmuRQkVfsPE5uuAU9Cq/WlIVg/xoijmk3yZkCQEFu
YCsZM62TrpKvWcCvIoOZ4b817Sw38S3C4LfiW/71NhhM8NkEDINzabhusvXr11JB
gc7rQ52wHFwGadoze90CQF9qOBatpIFlEDkhzKofRILCWIzSrfhFdcCZqe6K8G10
ngbk3Xg3I0I+qWViDivOm689SC9xniF7wJ1XH0BRBKE=
-----END RSA PRIVATE KEY-----

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,14 @@
@localstatedir@/log/open5gs/*.log {
daily
sharedscripts
missingok
compress
rotate 14
create 640 open5gs open5gs
postrotate
for i in nrfd scpd pcrfd hssd ausfd udmd udrd upfd sgwcd sgwud smfd mmed amfd; do
systemctl reload open5gs-$i
done
endscript
}

52
configs/meson.build Normal file
View File

@@ -0,0 +1,52 @@
# 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)
freediameter_extensions_builddir = join_paths(
meson.build_root(), 'subprojects', 'freeDiameter', 'extensions')
conf_data.set('freediameter_extensions_builddir',
freediameter_extensions_builddir)
example_conf = '''
sample.yaml
310014.yaml
csfb.yaml
volte.yaml
vonr.yaml
slice.yaml
srslte.yaml
non3gpp.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')

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,16 @@
# 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/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`

235
configs/non3gpp.yaml.in Normal file
View File

@@ -0,0 +1,235 @@
db_uri: mongodb://localhost/open5gs
logger:
parameter:
# no_nrf: true
# no_scp: 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.0.2
no_fwd: true
load_extension:
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
addr: 127.0.0.8
s1ap:
- addr: 127.0.0.2
gtpc:
- addr: 127.0.0.2
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:
- addr: 127.0.0.3
pfcp:
- addr: 127.0.0.3
smf:
sbi:
- addr: 127.0.0.4
port: 7777
pfcp:
- addr: 127.0.0.4
gtpc:
- addr: 127.0.0.4
- addr: ::1
gtpu:
- addr: 127.0.0.4
- addr: ::1
subnet:
- addr: 10.45.0.1/16
- addr: 2001:db8:cafe::1/48
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: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
addr: 127.0.0.9
- identity: aaa.localdomain
addr: 127.0.0.1
amf:
sbi:
- addr: 127.0.0.5
port: 7777
ngap:
- addr: 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
sgwu:
pfcp:
- addr: 127.0.0.6
gtpu:
- addr: 127.0.0.6
upf:
pfcp:
- addr: 127.0.0.7
gtpu:
- addr: 127.0.0.7
subnet:
- addr: 10.45.0.1/16
- addr: 2001:db8:cafe::1/48
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
addr: 127.0.0.2
- identity: aaa.localdomain
addr: 127.0.0.1
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
addr: 127.0.0.4
nrf:
sbi:
- addr:
- 127.0.0.10
- ::1
port: 7777
ausf:
sbi:
- addr: 127.0.0.11
port: 7777
udm:
sbi:
- addr: 127.0.0.12
port: 7777
pcf:
sbi:
- addr: 127.0.0.13
port: 7777
nssf:
sbi:
- addr: 127.0.0.14
port: 7777
nsi:
- addr: 127.0.0.10
port: 7777
s_nssai:
sst: 1
bsf:
sbi:
- addr: 127.0.0.15
port: 7777
udr:
sbi:
- addr: 127.0.0.20
port: 7777

471
configs/open5gs/amf.yaml.in Normal file
View File

@@ -0,0 +1,471 @@
#
# logger:
#
# o Set OGS_LOG_INFO to all domain level
# - If `level` is omitted, the default level is OGS_LOG_INFO)
# - If `domain` is omitted, the all domain level is set from 'level'
# (Nothing is needed)
#
# o Set OGS_LOG_ERROR to all domain level
# - `level` can be set with none, fatal, error, warn, info, debug, trace
# level: error
#
# o Set OGS_LOG_DEBUG to mme/emm domain level
# level: debug
# domain: mme,emm
#
# o Set OGS_LOG_TRACE to all domain level
# level: trace
# domain: core,ngap,nas,gmm,sbi,amf,event,tlv,mem,sock
#
logger:
file: @localstatedir@/log/open5gs/amf.log
#
# amf:
#
# <SBI Server>
#
# o SBI Server(http://<all address available>:80)
# sbi:
#
# o SBI Server(http://<any address>:80)
# sbi:
# - addr:
# - 0.0.0.0
# - ::0
# port: 7777
#
# o SBI Server(https://<all address available>:443)
# sbi:
# - tls:
# key: amf.key
# pem: amf.pem
#
# o SBI Server(https://127.0.0.5:443, http://[::1]:80)
# sbi:
# - addr: 127.0.0.5
# tls:
# key: amf.key
# pem: amf.pem
# - addr: ::1
#
# o SBI Server(http://amf.open5gs.org:80)
# sbi:
# - name: amf.open5gs.org
#
# o SBI Server(http://127.0.0.5:7777)
# sbi:
# - addr: 127.0.0.5
# port: 7777
#
# o SBI Server(http://<eth0 IP address>:80)
# sbi:
# - dev: eth0
#
# o Provide custom SBI address to be advertised to NRF
# sbi:
# - dev: eth0
# advertise: open5gs-amf.svc.local
#
# sbi:
# - addr: localhost
# advertise:
# - 127.0.0.99
# - ::1
#
# o SBI Option (Default)
# - tcp_nodelay : true
# - so_linger.l_onoff : false
#
# sbi:
# addr: 127.0.0.5
# option:
# tcp_nodelay: false
# so_linger:
# l_onoff: true
# l_linger: 10
#
# <NF Service>
#
# o NF Service Name(Default : all NF services available)
# service_name:
#
# o NF Service Name(Only some NF services are available)
# service_name:
# - namf-comm
#
# <NF Discovery Query Parameter>
#
# o (Default) If you do not set Query Parameter as shown below,
#
# sbi:
# - addr: 127.0.0.5
# port: 7777
#
# - 'service-names' is included.
#
# sbi:
# - addr: 127.0.0.5
# port: 7777
# discovery:
# option:
# no_service_names: false
#
# o To remove 'service-names' from URI query parameters in NS Discovery
# no_service_names: true
#
# * For Indirect Communication with Delegated Discovery,
# 'service-names' is always included in the URI query parameter.
# * That is, 'no_service_names' has no effect.
#
# <For Indirect Communication with Delegated Discovery>
#
# o (Default) If you do not set Delegated Discovery as shown below,
#
# sbi:
# - addr: 127.0.0.5
# port: 7777
#
# - Use SCP if SCP avaiable. Otherwise NRF is used.
# => App fails if both NRF and SCP are unavailable.
#
# sbi:
# - addr: 127.0.0.5
# port: 7777
# discovery:
# delegated: auto
#
# o To use SCP always => App fails if no SCP available.
# delegated: yes
#
# o Don't use SCP server => App fails if no NRF available.
# delegated: no
#
# <NGAP Server>>
#
# o NGAP Server(all address available)
# ngap:
#
# o NGAP Server(0.0.0.0:38412)
# ngap:
# addr: 0.0.0.0
#
# o NGAP Server(127.0.0.5:38412, [::1]:38412)
# ngap:
# - addr: 127.0.0.5
# - addr: ::1
#
# o NGAP Server(different port)
# ngap:
# - addr: 127.0.0.5
# port: 38413
#
# o NGAP Server(address available in `eth0` interface)
# ngap:
# dev: eth0
#
# 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
#
# <Metrics Server>
#
# o Metrics Server(http://<any address>:9090)
# metrics:
# addr: 0.0.0.0
# port: 9090
#
# <GUAMI>
#
# o Multiple 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
#
# <TAI>
#
# o Multiple TAI
# tai:
# - plmn_id:
# mcc: 001
# mnc: 01
# tac: [1, 2, 3]
# tai:
# - plmn_id:
# mcc: 002
# mnc: 02
# tac: 4
# - plmn_id:
# mcc: 003
# mnc: 03
# tac: 5
# tai:
# - plmn_id:
# mcc: 004
# mnc: 04
# tac: [6, 7]
# - plmn_id:
# mcc: 005
# mnc: 05
# tac: 8
# - plmn_id:
# mcc: 006
# mnc: 06
# tac: [9, 10]
#
# <PLMN Support>
#
# o Multiple 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
#
# <Network Name>
#
# network_name:
# full: Open5GS
# short: Next
#
# <AMF Name>
#
# amf_name: amf1.open5gs.amf.5gc.mnc70.mcc999.3gppnetwork.org
#
# <Relative Capacity> - Default(255)
#
# relative_capacity: 100
#
amf:
sbi:
- addr: 127.0.0.5
port: 7777
ngap:
- addr: 127.0.0.5
metrics:
addr: 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
#
# scp:
#
# <SBI Client>>
#
# o SBI Client(http://127.0.1.10:7777)
# sbi:
# addr: 127.0.1.10
# port: 7777
#
# o SBI Client(https://127.0.1.10:443, http://scp.open5gs.org:80)
# sbi:
# - addr: 127.0.1.10
# tls:
# key: scp.key
# pem: scp.pem
# - name: scp.open5gs.org
#
# o SBI Client(http://[fd69:f21d:873c:fb::1]:80)
# If prefer_ipv4 is true, http://127.0.1.10:80 is selected.
#
# sbi:
# addr:
# - 127.0.1.10
# - fd69:f21d:873c:fb::1
#
# o SBI Option (Default)
# - tcp_nodelay : true
# - so_linger.l_onoff : false
#
# sbi:
# addr: 127.0.1.10
# option:
# tcp_nodelay: false
# so_linger:
# l_onoff: true
# l_linger: 10
#
#
scp:
sbi:
- addr: 127.0.1.10
port: 7777
#
# nrf:
#
# <SBI Client>>
#
# o SBI Client(http://127.0.0.10:7777)
# sbi:
# addr: 127.0.0.10
# port: 7777
#
# o SBI Client(https://127.0.0.10:443, http://nrf.open5gs.org:80)
# sbi:
# - addr: 127.0.0.10
# tls:
# key: nrf.key
# pem: nrf.pem
# - name: nrf.open5gs.org
#
# o SBI Client(http://[fd69:f21d:873c:fa::1]:80)
# If prefer_ipv4 is true, http://127.0.0.10:80 is selected.
#
# sbi:
# addr:
# - 127.0.0.10
# - fd69:f21d:873c:fa::1
#
# 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
#
#nrf:
# sbi:
# - addr:
# - 127.0.0.10
# - ::1
# port: 7777
#
# parameter:
#
# o Disable use of IPv4 addresses (only IPv6)
# no_ipv4: true
#
# o Disable use of IPv6 addresses (only IPv4)
# no_ipv6: true
#
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
# prefer_ipv4: true
#
parameter:
#
# max:
#
# o Maximum Number of UE
# ue: 1024
# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI)
# peer: 64
#
max:
#
# usrsctp:
# udp_port : 9899
#
usrsctp:
#
# time:
#
# o NF Instance Heartbeat (Default : 0)
# NFs will not send heart-beat timer in NFProfile
# NRF will send heart-beat timer in NFProfile
#
# o NF Instance Heartbeat (20 seconds)
# NFs will send heart-beat timer (20 seconds) in NFProfile
# NRF can change heart-beat timer in NFProfile
#
# nf_instance:
# heartbeat: 20
#
# o Message Wait Duration (Default : 10,000 ms = 10 seconds)
#
# o Message Wait Duration (3000 ms)
# message:
# duration: 3000
#
# o Handover Wait Duration (Default : 300 ms)
# Time to wait for AMF to send UEContextReleaseCommand
# to the source gNB after receiving HandoverNotify
#
# o Handover Wait Duration (500ms)
# handover:
# duration: 500
time:

View File

@@ -0,0 +1,282 @@
#
# logger:
#
# o Set OGS_LOG_INFO to all domain level
# - If `level` is omitted, the default level is OGS_LOG_INFO)
# - If `domain` is omitted, the all domain level is set from 'level'
# (Nothing is needed)
#
# o Set OGS_LOG_ERROR to all domain level
# - `level` can be set with none, fatal, error, warn, info, debug, trace
# level: error
#
# o Set OGS_LOG_DEBUG to mme/emm domain level
# level: debug
# domain: mme,emm
#
# o Set OGS_LOG_TRACE to all domain level
# level: trace
# domain: core,sbi,ausf,event,tlv,mem,sock
#
logger:
file: @localstatedir@/log/open5gs/ausf.log
#
# ausf:
#
# <SBI Server>
#
# o SBI Server(http://<all address available>:80)
# sbi:
#
# o SBI Server(http://<any address>:80)
# sbi:
# - addr:
# - 0.0.0.0
# - ::0
# port: 7777
#
# o SBI Server(https://<all address available>:443)
# sbi:
# - tls:
# key: ausf.key
# pem: ausf.pem
#
# o SBI Server(https://127.0.0.11:443, http://[::1]:80)
# sbi:
# - addr: 127.0.0.11
# tls:
# key: ausf.key
# pem: ausf.pem
# - addr: ::1
#
# o SBI Server(http://ausf.open5gs.org:80)
# sbi:
# - name: ausf.open5gs.org
#
# o SBI Server(http://127.0.0.11:7777)
# sbi:
# - addr: 127.0.0.11
# port: 7777
#
# o SBI Server(http://<eth0 IP address>:80)
# sbi:
# - dev: eth0
#
# o Provide custom SBI address to be advertised to NRF
# sbi:
# - dev: eth0
# advertise: open5gs-ausf.svc.local
#
# sbi:
# - addr: localhost
# advertise:
# - 127.0.0.99
# - ::1
#
# o SBI Option (Default)
# - tcp_nodelay : true
# - so_linger.l_onoff : false
#
# sbi:
# addr: 127.0.0.11
# option:
# tcp_nodelay: false
# so_linger:
# l_onoff: true
# l_linger: 10
#
# <NF Service>
#
# o NF Service Name(Default : all NF services available)
# service_name:
#
# o NF Service Name(Only some NF services are available)
# service_name:
# - nausf-auth
#
# <NF Discovery Query Parameter>
#
# o (Default) If you do not set Query Parameter as shown below,
#
# sbi:
# - addr: 127.0.0.11
# port: 7777
#
# - 'service-names' is included.
#
# sbi:
# - addr: 127.0.0.11
# port: 7777
# discovery:
# option:
# no_service_names: false
#
# o To remove 'service-names' from URI query parameters in NS Discovery
# no_service_names: true
#
# * For Indirect Communication with Delegated Discovery,
# 'service-names' is always included in the URI query parameter.
# * That is, 'no_service_names' has no effect.
#
# <For Indirect Communication with Delegated Discovery>
#
# o (Default) If you do not set Delegated Discovery as shown below,
#
# sbi:
# - addr: 127.0.0.11
# port: 7777
#
# - Use SCP if SCP avaiable. Otherwise NRF is used.
# => App fails if both NRF and SCP are unavailable.
#
# sbi:
# - addr: 127.0.0.11
# port: 7777
# discovery:
# delegated: auto
#
# o To use SCP always => App fails if no SCP available.
# delegated: yes
#
# o Don't use SCP server => App fails if no NRF available.
# delegated: no
#
ausf:
sbi:
- addr: 127.0.0.11
port: 7777
#
# scp:
#
# <SBI Client>>
#
# o SBI Client(http://127.0.1.10:7777)
# sbi:
# addr: 127.0.1.10
# port: 7777
#
# o SBI Client(https://127.0.1.10:443, http://scp.open5gs.org:80)
# sbi:
# - addr: 127.0.1.10
# tls:
# key: scp.key
# pem: scp.pem
# - name: scp.open5gs.org
#
# o SBI Client(http://[fd69:f21d:873c:fb::1]:80)
# If prefer_ipv4 is true, http://127.0.1.10:80 is selected.
#
# sbi:
# addr:
# - 127.0.1.10
# - fd69:f21d:873c:fb::1
#
# o SBI Option (Default)
# - tcp_nodelay : true
# - so_linger.l_onoff : false
#
# sbi:
# addr: 127.0.1.10
# option:
# tcp_nodelay: false
# so_linger:
# l_onoff: true
# l_linger: 10
#
#
scp:
sbi:
- addr: 127.0.1.10
port: 7777
#
# nrf:
#
# <SBI Client>>
#
# o SBI Client(http://127.0.0.10:7777)
# sbi:
# addr: 127.0.0.10
# port: 7777
#
# o SBI Client(https://127.0.0.10:443, http://nrf.open5gs.org:80)
# sbi:
# - addr: 127.0.0.10
# tls:
# key: nrf.key
# pem: nrf.pem
# - name: nrf.open5gs.org
#
# o SBI Client(http://[fd69:f21d:873c:fa::1]:80)
# If prefer_ipv4 is true, http://127.0.0.10:80 is selected.
#
# sbi:
# addr:
# - 127.0.0.10
# - fd69:f21d:873c:fa::1
#
# 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
#
#nrf:
# sbi:
# - addr:
# - 127.0.0.10
# - ::1
# port: 7777
#
# parameter:
#
# o Disable use of IPv4 addresses (only IPv6)
# no_ipv4: true
#
# o Disable use of IPv6 addresses (only IPv4)
# no_ipv6: true
#
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
# prefer_ipv4: true
#
parameter:
#
# max:
#
# o Maximum Number of UE
# ue: 1024
# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI)
# peer: 64
#
max:
#
# time:
#
# o NF Instance Heartbeat (Default : 0)
# NFs will not send heart-beat timer in NFProfile
# NRF will send heart-beat timer in NFProfile
#
# o NF Instance Heartbeat (20 seconds)
# NFs will send heart-beat timer (20 seconds) in NFProfile
# NRF can change heart-beat timer in NFProfile
#
# nf_instance:
# heartbeat: 20
#
# o Message Wait Duration (Default : 10,000 ms = 10 seconds)
#
# o Message Wait Duration (3000 ms)
# message:
# duration: 3000
time:

284
configs/open5gs/bsf.yaml.in Normal file
View File

@@ -0,0 +1,284 @@
db_uri: mongodb://localhost/open5gs
#
# logger:
#
# o Set OGS_LOG_INFO to all domain level
# - If `level` is omitted, the default level is OGS_LOG_INFO)
# - If `domain` is omitted, the all domain level is set from 'level'
# (Nothing is needed)
#
# o Set OGS_LOG_ERROR to all domain level
# - `level` can be set with none, fatal, error, warn, info, debug, trace
# level: error
#
# o Set OGS_LOG_DEBUG to mme/emm domain level
# level: debug
# domain: mme,emm
#
# o Set OGS_LOG_TRACE to all domain level
# level: trace
# domain: core,sbi,bsf,event,tlv,mem,sock
#
logger:
file: @localstatedir@/log/open5gs/bsf.log
#
# bsf:
#
# <SBI Server>
#
# o SBI Server(http://<all address available>:80)
# sbi:
#
# o SBI Server(http://<any address>:80)
# sbi:
# - addr:
# - 0.0.0.0
# - ::0
# port: 7777
#
# o SBI Server(https://<all address available>:443)
# sbi:
# - tls:
# key: bsf.key
# pem: bsf.pem
#
# o SBI Server(https://127.0.0.15:443, http://[::1]:80)
# sbi:
# - addr: 127.0.0.15
# tls:
# key: bsf.key
# pem: bsf.pem
# - addr: ::1
#
# o SBI Server(http://bsf.open5gs.org:80)
# sbi:
# - name: bsf.open5gs.org
#
# o SBI Server(http://127.0.0.15:7777)
# sbi:
# - addr: 127.0.0.15
# port: 7777
#
# o SBI Server(http://<eth0 IP address>:80)
# sbi:
# - dev: eth0
#
# o Provide custom SBI address to be advertised to NRF
# sbi:
# - dev: eth0
# advertise: open5gs-bsf.svc.local
#
# sbi:
# - addr: localhost
# advertise:
# - 127.0.0.99
# - ::1
#
# o SBI Option (Default)
# - tcp_nodelay : true
# - so_linger.l_onoff : false
#
# sbi:
# addr: 127.0.0.15
# option:
# tcp_nodelay: false
# so_linger:
# l_onoff: true
# l_linger: 10
#
# <NF Service>
#
# o NF Service Name(Default : all NF services available)
# service_name:
#
# o NF Service Name(Only some NF services are available)
# service_name:
# - nbsf-management
#
# <NF Discovery Query Parameter>
#
# o (Default) If you do not set Query Parameter as shown below,
#
# sbi:
# - addr: 127.0.0.15
# port: 7777
#
# - 'service-names' is included.
#
# sbi:
# - addr: 127.0.0.15
# port: 7777
# discovery:
# option:
# no_service_names: false
#
# o To remove 'service-names' from URI query parameters in NS Discovery
# no_service_names: true
#
# * For Indirect Communication with Delegated Discovery,
# 'service-names' is always included in the URI query parameter.
# * That is, 'no_service_names' has no effect.
#
# <For Indirect Communication with Delegated Discovery>
#
# o (Default) If you do not set Delegated Discovery as shown below,
#
# sbi:
# - addr: 127.0.0.15
# port: 7777
#
# - Use SCP if SCP avaiable. Otherwise NRF is used.
# => App fails if both NRF and SCP are unavailable.
#
# sbi:
# - addr: 127.0.0.15
# port: 7777
# discovery:
# delegated: auto
#
# o To use SCP always => App fails if no SCP available.
# delegated: yes
#
# o Don't use SCP server => App fails if no NRF available.
# delegated: no
#
bsf:
sbi:
- addr: 127.0.0.15
port: 7777
#
# scp:
#
# <SBI Client>>
#
# o SBI Client(http://127.0.1.10:7777)
# sbi:
# addr: 127.0.1.10
# port: 7777
#
# o SBI Client(https://127.0.1.10:443, http://scp.open5gs.org:80)
# sbi:
# - addr: 127.0.1.10
# tls:
# key: scp.key
# pem: scp.pem
# - name: scp.open5gs.org
#
# o SBI Client(http://[fd69:f21d:873c:fb::1]:80)
# If prefer_ipv4 is true, http://127.0.1.10:80 is selected.
#
# sbi:
# addr:
# - 127.0.1.10
# - fd69:f21d:873c:fb::1
#
# o SBI Option (Default)
# - tcp_nodelay : true
# - so_linger.l_onoff : false
#
# sbi:
# addr: 127.0.1.10
# option:
# tcp_nodelay: false
# so_linger:
# l_onoff: true
# l_linger: 10
#
#
scp:
sbi:
- addr: 127.0.1.10
port: 7777
#
# nrf:
#
# <SBI Client>>
#
# o SBI Client(http://127.0.0.10:7777)
# sbi:
# addr: 127.0.0.10
# port: 7777
#
# o SBI Client(https://127.0.0.10:443, http://nrf.open5gs.org:80)
# sbi:
# - addr: 127.0.0.10
# tls:
# key: nrf.key
# pem: nrf.pem
# - name: nrf.open5gs.org
#
# o SBI Client(http://[fd69:f21d:873c:fa::1]:80)
# If prefer_ipv4 is true, http://127.0.0.10:80 is selected.
#
# sbi:
# addr:
# - 127.0.0.10
# - fd69:f21d:873c:fa::1
#
# 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
#
#nrf:
# sbi:
# - addr:
# - 127.0.0.10
# - ::1
# port: 7777
#
# parameter:
#
# o Disable use of IPv4 addresses (only IPv6)
# no_ipv4: true
#
# o Disable use of IPv6 addresses (only IPv4)
# no_ipv6: true
#
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
# prefer_ipv4: true
#
parameter:
#
# max:
#
# o Maximum Number of UE
# ue: 1024
# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI)
# peer: 64
#
max:
#
# time:
#
# o NF Instance Heartbeat (Default : 0)
# NFs will not send heart-beat timer in NFProfile
# NRF will send heart-beat timer in NFProfile
#
# o NF Instance Heartbeat (20 seconds)
# NFs will send heart-beat timer (20 seconds) in NFProfile
# NRF can change heart-beat timer in NFProfile
#
# nf_instance:
# heartbeat: 20
#
# o Message Wait Duration (Default : 10,000 ms = 10 seconds)
#
# o Message Wait Duration (3000 ms)
# message:
# duration: 3000
time:

View File

@@ -0,0 +1,54 @@
db_uri: mongodb://localhost/open5gs
#
# logger:
#
# o Set OGS_LOG_INFO to all domain level
# - If `level` is omitted, the default level is OGS_LOG_INFO)
# - If `domain` is omitted, the all domain level is set from 'level'
# (Nothing is needed)
#
# o Set OGS_LOG_ERROR to all domain level
# - `level` can be set with none, fatal, error, warn, info, debug, trace
# level: error
#
# o Set OGS_LOG_DEBUG to mme/emm domain level
# level: debug
# domain: mme,emm
#
# o Set OGS_LOG_TRACE to all domain level
# level: trace
# domain: core,fd,hss,event,mem,sock
#
logger:
file: @localstatedir@/log/open5gs/hss.log
hss:
freeDiameter: @sysconfdir@/freeDiameter/hss.conf
# sms_over_ims: "sip:smsc.mnc001.mcc001.3gppnetwork.org:7060;transport=tcp"
#
# parameter:
#
# o Disable use of IPv4 addresses (only IPv6)
# no_ipv4: true
#
# o Disable use of IPv6 addresses (only IPv4)
# no_ipv6: true
#
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
# prefer_ipv4: true
#
parameter:
# use_mongodb_change_stream: true
#
# max:
#
# o Maximum Number of UE
# ue: 1024
# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI)
# peer: 64
#
max:

View File

@@ -0,0 +1,48 @@
# 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
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

432
configs/open5gs/mme.yaml.in Normal file
View File

@@ -0,0 +1,432 @@
#
# logger:
#
# o Set OGS_LOG_INFO to all domain level
# - If `level` is omitted, the default level is OGS_LOG_INFO)
# - If `domain` is omitted, the all domain level is set from 'level'
# (Nothing is needed)
#
# o Set OGS_LOG_ERROR to all domain level
# - `level` can be set with none, fatal, error, warn, info, debug, trace
# level: error
#
# o Set OGS_LOG_DEBUG to mme/emm domain level
# level: debug
# domain: mme,emm
#
# o Set OGS_LOG_TRACE to all domain level
# level: trace
# domain: core,s1ap,nas,fd,gtp,mme,emm,esm,event,tlv,mem,sock
#
logger:
file: @localstatedir@/log/open5gs/mme.log
#
# mme:
#
# <S1AP Server>>
#
# o S1AP Server(all address available)
# s1ap:
#
# o S1AP Server(0.0.0.0:36412)
# s1ap:
# addr: 0.0.0.0
#
# o S1AP Server(127.0.0.2:36412, [::1]:36412)
# s1ap:
# - addr: 127.0.0.2
# - addr: ::1
#
# o S1AP Server(different port)
# s1ap:
# - addr: 127.0.0.2
# port: 36413
#
# o S1AP Server(address available in `eth0` interface)
# s1ap:
# dev: eth0
#
# o S1AP Option (Default)
# - sctp_nodelay : true
# - so_linger.l_onoff : false
#
# s1ap:
# addr: 127.0.0.2
# option:
# stcp_nodelay: false
# so_linger:
# l_onoff: true
# l_linger: 10
#
# o S1AP 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)
#
# s1ap:
# addr: 127.0.0.2
# 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
#
# <GTP-C Server>>
#
# o GTP-C Server(all address available)
# gtpc:
#
# o GTP-C Server(127.0.0.2:2123, [::1]:2123)
# gtpc:
# - addr: 127.0.0.2
# - addr: ::1
#
# <SGsAP>
#
# o Single MSC/VLR(127.0.0.2)
# sgsap:
# addr: 127.0.0.2
# map:
# tai:
# plmn_id:
# mcc: 001
# mnc: 01
# tac: 4130
# lai:
# plmn_id:
# mcc: 001
# mnc: 01
# lac: 43690
# map:
# tai:
# plmn_id:
# mcc: 002
# mnc: 02
# tac: 4132
# lai:
# plmn_id:
# mcc: 002
# mnc: 02
# lac: 43692
#
# o Multiple MSC/VLR
# sgsap:
# - addr: 127.0.0.2
# port: 29119
# 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
# - addr
# - 127.0.0.4
# - fd69:f21d:873c:fa::2
# map:
# tai:
# plmn_id:
# mcc: 001
# mnc: 01
# tac: 4132
# lai:
# plmn_id:
# mcc: 002
# mnc: 02
# lac: 43692
# - name: msc.open5gs.org
# map:
# tai:
# plmn_id:
# mcc: 001
# mnc: 01
# tac: 4133
# lai:
# plmn_id:
# mcc: 002
# mnc: 02
# lac: 43693
#
# <Metrics Server>
#
# o Metrics Server(http://<any address>:9090)
# metrics:
# addr: 0.0.0.0
# port: 9090
#
# <GUMMEI>
#
# o Multiple 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
#
#
# <TAI>
#
# o Multiple TAI
# tai:
# - plmn_id:
# mcc: 001
# mnc: 01
# tac: [1, 2, 3]
# tai:
# - plmn_id:
# mcc: 002
# mnc: 02
# tac: 4
# - plmn_id:
# mcc: 003
# mnc: 03
# tac: 5
# tai:
# - plmn_id:
# mcc: 004
# mnc: 04
# tac: [6, 7]
# - plmn_id:
# mcc: 005
# mnc: 05
# tac: 8
# - plmn_id:
# mcc: 006
# mnc: 06
# tac: [9, 10]
#
#
# <Network Name>
#
# network_name:
# full: Open5GS
# short: Next
#
# <MME Name>
#
# mme_name: open5gs-mme0
#
# <Relative Capacity> - Default(255)
#
# relative_capacity: 100
#
mme:
freeDiameter: @sysconfdir@/freeDiameter/mme.conf
s1ap:
- addr: 127.0.0.2
gtpc:
- addr: 127.0.0.2
metrics:
addr: 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
mme_name: open5gs-mme0
#
# sgwc:
#
# <GTP-C Client>
#
# o Specify SGW addresses the GTP-C must connect to
#
# o One SGW is defined.
# If prefer_ipv4 is not true, [fd69:f21d:873c:fa::2] is selected.
# gtpc:
# addr:
# - 127.0.0.3
# - fd69:f21d:873c:fa::2
#
# o Two SGW are defined. MME selects SGW with round-robin manner per UE
# gtpc:
# - addr: 127.0.0.3
# - addr: fd69:f21d:873c:fa::2
#
# o Three SGW are defined. MME selects SGW with round-robin manner per UE
# gtpc:
# - addr
# - 127.0.0.3
# - fd69:f21d:873c:fa::2
# - addr
# - 127.0.0.22
# - fd69:f21d:873c:fa::12
# - name: sgw3.open5gs.org
#
# <SGW Selection Mode>
#
# o Round-Robin
#
# gtpc:
# addr: 127.0.0.3
# addr: 127.0.2.2
# addr: 127.0.4.2
#
# o SGW selection by eNodeB TAC
# (either single TAC or multiple TACs, DECIMAL representation)
#
# gtpc:
# - addr: 127.0.0.3
# tac: 26000
# - addr: 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:
# - addr: 127.0.0.3
# e_cell_id: abcde01
# - addr: 127.0.2.2
# e_cell_id: [12345, a9413, 98765]
#
sgwc:
gtpc:
- addr: 127.0.0.3
#
# smf:
#
# <GTP-C Client>
#
# o By default, the SMF uses the first SMF node.
# - To use a different APN for each SMF, specify gtpc.apn as the APN name.
# - If the HSS uses WebUI to set the SMF IP for each UE,
# you can use a specific SMF node for each UE.
#
# o Two SMF are defined. 127.0.0.4:2123 is used.
# [fd69:f21d:873c:fa::3]:2123 is ignored.
# gtpc:
# - addr: 127.0.0.4
# - addr: fd69:f21d:873c:fa::3
#
# o One SMF is defined. if prefer_ipv4 is not true,
# [fd69:f21d:873c:fa::3] is selected.
# gtpc:
# - addr:
# - 127.0.0.4
# - fd69:f21d:873c:fa::3
#
# o Two SMF are defined with a different APN.
# - Note that if SMF IP for UE is configured in HSS,
# the following configurion for this UE is ignored.
# gtpc:
# - addr: 127.0.0.4
# apn: internet
# - addr: 127.0.0.5
# apn: volte
#
# o If APN is omitted, the default APN uses the first SMF node.
# gtpc:
# - addr: 127.0.0.4
# - addr: 127.0.0.5
# apn: volte
smf:
gtpc:
- addr:
- 127.0.0.4
- ::1
#
# parameter:
#
# o Disable use of IPv4 addresses (only IPv6)
# no_ipv4: true
#
# o Disable use of IPv6 addresses (only IPv4)
# no_ipv6: true
#
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
# prefer_ipv4: true
#
# o Use OAI UE
# - Remove HashMME in Security-mode command message
# - Use the length 1 of EPS network feature support in Attach accept message
# use_openair: true
#
parameter:
#
# max:
#
# o Maximum Number of UE
# ue: 1024
# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI)
# peer: 64
#
max:
#
# usrsctp:
# udp_port : 9899
#
usrsctp:
#
# time:
#
# o Message Wait Duration (Default : 10,000 ms = 10 seconds)
#
# o Message Wait Duration (3000 ms)
# message:
# duration: 3000
#
# o Handover Wait Duration (Default : 300 ms)
# Time to wait for MME to send UEContextReleaseCommand
# to the source eNB after receiving HandoverNotify
#
# o Handover Wait Duration (500ms)
# handover:
# duration: 500
time:

197
configs/open5gs/nrf.yaml.in Normal file
View File

@@ -0,0 +1,197 @@
#
# logger:
#
# o Set OGS_LOG_INFO to all domain level
# - If `level` is omitted, the default level is OGS_LOG_INFO)
# - If `domain` is omitted, the all domain level is set from 'level'
# (Nothing is needed)
#
# o Set OGS_LOG_ERROR to all domain level
# - `level` can be set with none, fatal, error, warn, info, debug, trace
# level: error
#
# o Set OGS_LOG_DEBUG to mme/emm domain level
# level: debug
# domain: mme,emm
#
# o Set OGS_LOG_TRACE to all domain level
# level: trace
# domain: core,sbi,nrf,event,mem,sock
#
logger:
file: @localstatedir@/log/open5gs/nrf.log
#
# nrf:
#
# <SBI Server>
#
# o SBI Server(http://<all address available>:80)
# sbi:
#
# o SBI Server(http://<any address>:7777)
# sbi:
# - addr:
# - 0.0.0.0
# - ::0
# port: 7777
#
# o SBI Server(https://<all address available>:443)
# sbi:
# tls:
# key: nrf.key
# pem: nrf.pem
#
# o SBI Server(https://127.0.0.10:443, http://[::1]:80)
# sbi:
# - addr: 127.0.0.10
# tls:
# key: nrf.key
# pem: nrf.pem
# - addr: ::1
#
# o SBI Server(http://nrf.open5gs.org:80)
# sbi:
# name: nrf.open5gs.org
#
# o SBI Server(http://127.0.0.10:7777)
# sbi:
# - addr: 127.0.0.10
# port: 7777
#
# o SBI Server(http://<eth0 IP address>:80)
# sbi:
# dev: eth0
#
# 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
#
# <NF Service>
#
# o NF Service Name(Default : all NF services available)
# service_name:
#
# o NF Service Name(Only some NF services are available)
# service_name:
# - nnrf-nfm
# - nnrf-disc
#
nrf:
sbi:
addr:
- 127.0.0.10
- ::1
port: 7777
#
# scp:
#
# <SBI Client>>
#
# o SBI Client(http://127.0.1.10:7777)
# sbi:
# addr: 127.0.1.10
# port: 7777
#
# o SBI Client(https://127.0.1.10:443, http://scp.open5gs.org:80)
# sbi:
# - addr: 127.0.1.10
# tls:
# key: scp.key
# pem: scp.pem
# - name: scp.open5gs.org
#
# o SBI Client(http://[fd69:f21d:873c:fb::1]:80)
# If prefer_ipv4 is true, http://127.0.1.10:80 is selected.
#
# sbi:
# addr:
# - 127.0.1.10
# - fd69:f21d:873c:fb::1
#
# o SBI Option (Default)
# - tcp_nodelay : true
# - so_linger.l_onoff : false
#
# sbi:
# addr: 127.0.1.10
# option:
# tcp_nodelay: false
# so_linger:
# l_onoff: true
# l_linger: 10
#
#
scp:
sbi:
- addr: 127.0.1.10
port: 7777
#
# parameter:
#
# o Disable use of IPv4 addresses (only IPv6)
# no_ipv4: true
#
# o Disable use of IPv6 addresses (only IPv4)
# no_ipv6: true
#
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
# prefer_ipv4: true
#
parameter:
#
# max:
#
# o Maximum Number of UE
# ue: 1024
# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI)
# peer: 64
#
max:
#
# time:
#
# o NF Instance Heartbeat (Default : 10 seconds)
#
# o NF Instance Heartbeat (Disabled)
# nf_instance:
# heartbeat: 0
#
# o NF Instance Heartbeat (5 seconds)
# nf_instance:
# heartbeat: 5
#
# o NF Instance Validity (Default : 3600 seconds = 1 hour)
#
# o NF Instance Validity (10 seconds)
# nf_instance:
# validity: 10
#
# o Subscription Validity (Default : 86400 seconds = 1 day)
#
# o Subscription Validity (Disabled)
# subscription:
# validity: 0
#
# o Subscription Validity (3600 seconds = 1 hour)
# subscription:
# validity: 3600
#
# o Message Wait Duration (Default : 10,000 ms = 10 seconds)
#
# o Message Wait Duration (3000 ms)
# message:
# duration: 3000
time:

View File

@@ -0,0 +1,333 @@
#
# logger:
#
# o Set OGS_LOG_INFO to all domain level
# - If `level` is omitted, the default level is OGS_LOG_INFO)
# - If `domain` is omitted, the all domain level is set from 'level'
# (Nothing is needed)
#
# o Set OGS_LOG_ERROR to all domain level
# - `level` can be set with none, fatal, error, warn, info, debug, trace
# level: error
#
# o Set OGS_LOG_DEBUG to mme/emm domain level
# level: debug
# domain: mme,emm
#
# o Set OGS_LOG_TRACE to all domain level
# level: trace
# domain: core,sbi,nssf,event,tlv,mem,sock
#
logger:
file: @localstatedir@/log/open5gs/nssf.log
#
# nssf:
#
# <SBI Server>
#
# o SBI Server(http://<all address available>:80)
# sbi:
#
# o SBI Server(http://<any address>:80)
# sbi:
# - addr:
# - 0.0.0.0
# - ::0
# port: 7777
#
# o SBI Server(https://<all address available>:443)
# sbi:
# - tls:
# key: nssf.key
# pem: nssf.pem
#
# o SBI Server(https://127.0.0.14:443, http://[::1]:80)
# sbi:
# - addr: 127.0.0.14
# tls:
# key: nssf.key
# pem: nssf.pem
# - addr: ::1
#
# o SBI Server(http://nssf.open5gs.org:80)
# sbi:
# - name: nssf.open5gs.org
#
# o SBI Server(http://127.0.0.14:7777)
# sbi:
# - addr: 127.0.0.14
# port: 7777
#
# o SBI Server(http://<eth0 IP address>:80)
# sbi:
# - dev: eth0
#
# o Provide custom SBI address to be advertised to NRF
# sbi:
# - dev: eth0
# advertise: open5gs-nssf.svc.local
#
# sbi:
# - addr: localhost
# advertise:
# - 127.0.0.99
# - ::1
#
# o SBI Option (Default)
# - tcp_nodelay : true
# - so_linger.l_onoff : false
#
# sbi:
# addr: 127.0.0.14
# option:
# tcp_nodelay: false
# so_linger:
# l_onoff: true
# l_linger: 10
#
# <List of available Network Slice Instance(NSI)>
#
# o One NSI
# - NRF[http://::1:7777/nnrf-nfm/v1/nf-instances]
# NSSAI[SST:1]
#
# nsi:
# - addr: ::1
# port: 7777
# s_nssai:
# sst: 1
#
# o Three 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]
#
# 2. NRF[http://127.0.0.10:7777/nnrf-nfm/v1/nf-instances]
# NSSAI[SST:1, SD:009000]
#
# nsi:
# - addr: ::1
# port: 7777
# s_nssai:
# sst: 1
# - addr: 127.0.0.19
# port: 7777
# s_nssai:
# sst: 1
# sd: 000080
# - addr: 127.0.0.10
# port: 7777
# s_nssai:
# sst: 1
# sd: 009000
#
# o NSI Option (Default)
# - tcp_nodelay : true
# - so_linger.l_onoff : false
#
# nsi:
# addr: ::1
# option:
# tcp_nodelay: false
# so_linger:
# l_onoff: true
# l_linger: 10
#
# <NF Service>
#
# o NF Service Name(Default : all NF services available)
# service_name:
#
# o NF Service Name(Only some NF services are available)
# service_name:
# - nnssf-nsselection
#
# <NF Discovery Query Parameter>
#
# o (Default) If you do not set Query Parameter as shown below,
#
# sbi:
# - addr: 127.0.0.14
# port: 7777
#
# - 'service-names' is included.
#
# sbi:
# - addr: 127.0.0.14
# port: 7777
# discovery:
# option:
# no_service_names: false
#
# o To remove 'service-names' from URI query parameters in NS Discovery
# no_service_names: true
#
# * For Indirect Communication with Delegated Discovery,
# 'service-names' is always included in the URI query parameter.
# * That is, 'no_service_names' has no effect.
#
# <For Indirect Communication with Delegated Discovery>
#
# o (Default) If you do not set Delegated Discovery as shown below,
#
# sbi:
# - addr: 127.0.0.14
# port: 7777
#
# - Use SCP if SCP avaiable. Otherwise NRF is used.
# => App fails if both NRF and SCP are unavailable.
#
# sbi:
# - addr: 127.0.0.14
# port: 7777
# discovery:
# delegated: auto
#
# o To use SCP always => App fails if no SCP available.
# delegated: yes
#
# o Don't use SCP server => App fails if no NRF available.
# delegated: no
#
nssf:
sbi:
- addr: 127.0.0.14
port: 7777
nsi:
- addr: 127.0.0.10
port: 7777
s_nssai:
sst: 1
#
# scp:
#
# <SBI Client>>
#
# o SBI Client(http://127.0.1.10:7777)
# sbi:
# addr: 127.0.1.10
# port: 7777
#
# o SBI Client(https://127.0.1.10:443, http://scp.open5gs.org:80)
# sbi:
# - addr: 127.0.1.10
# tls:
# key: scp.key
# pem: scp.pem
# - name: scp.open5gs.org
#
# o SBI Client(http://[fd69:f21d:873c:fb::1]:80)
# If prefer_ipv4 is true, http://127.0.1.10:80 is selected.
#
# sbi:
# addr:
# - 127.0.1.10
# - fd69:f21d:873c:fb::1
#
# o SBI Option (Default)
# - tcp_nodelay : true
# - so_linger.l_onoff : false
#
# sbi:
# addr: 127.0.1.10
# option:
# tcp_nodelay: false
# so_linger:
# l_onoff: true
# l_linger: 10
#
#
scp:
sbi:
- addr: 127.0.1.10
port: 7777
#
# nrf:
#
# <SBI Client>>
#
# o SBI Client(http://127.0.0.10:7777)
# sbi:
# addr: 127.0.0.10
# port: 7777
#
# o SBI Client(https://127.0.0.10:443, http://nrf.open5gs.org:80)
# sbi:
# - addr: 127.0.0.10
# tls:
# key: nrf.key
# pem: nrf.pem
# - name: nrf.open5gs.org
#
# o SBI Client(http://[fd69:f21d:873c:fa::1]:80)
# If prefer_ipv4 is true, http://127.0.0.10:80 is selected.
#
# sbi:
# addr:
# - 127.0.0.10
# - fd69:f21d:873c:fa::1
#
#nrf:
# sbi:
# - addr:
# - 127.0.0.10
# - ::1
# port: 7777
#
# parameter:
#
# o Disable use of IPv4 addresses (only IPv6)
# no_ipv4: true
#
# o Disable use of IPv6 addresses (only IPv4)
# no_ipv6: true
#
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
# prefer_ipv4: true
#
parameter:
#
# max:
#
# o Maximum Number of UE
# ue: 1024
# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI)
# peer: 64
#
max:
#
# time:
#
# o NF Instance Heartbeat (Default : 0)
# NFs will not send heart-beat timer in NFProfile
# NRF will send heart-beat timer in NFProfile
#
# o NF Instance Heartbeat (20 seconds)
# NFs will send heart-beat timer (20 seconds) in NFProfile
# NRF can change heart-beat timer in NFProfile
#
# nf_instance:
# heartbeat: 20
#
# o NF Instance Heartbeat (Disabled)
# nf_instance:
# heartbeat: 0
#
# o NF Instance Heartbeat (10 seconds)
# nf_instance:
# heartbeat: 10
#
# o Message Wait Duration (Default : 10,000 ms = 10 seconds)
#
# o Message Wait Duration (3000 ms)
# message:
# duration: 3000
time:

291
configs/open5gs/pcf.yaml.in Normal file
View File

@@ -0,0 +1,291 @@
db_uri: mongodb://localhost/open5gs
#
# logger:
#
# o Set OGS_LOG_INFO to all domain level
# - If `level` is omitted, the default level is OGS_LOG_INFO)
# - If `domain` is omitted, the all domain level is set from 'level'
# (Nothing is needed)
#
# o Set OGS_LOG_ERROR to all domain level
# - `level` can be set with none, fatal, error, warn, info, debug, trace
# level: error
#
# o Set OGS_LOG_DEBUG to mme/emm domain level
# level: debug
# domain: mme,emm
#
# o Set OGS_LOG_TRACE to all domain level
# level: trace
# domain: core,sbi,pcf,event,tlv,mem,sock
#
logger:
file: @localstatedir@/log/open5gs/pcf.log
#
# pcf:
#
# <SBI Server>
#
# o SBI Server(http://<all address available>:80)
# sbi:
#
# o SBI Server(http://<any address>:80)
# sbi:
# - addr:
# - 0.0.0.0
# - ::0
# port: 7777
#
# o SBI Server(https://<all address available>:443)
# sbi:
# - tls:
# key: pcf.key
# pem: pcf.pem
#
# o SBI Server(https://127.0.0.13:443, http://[::1]:80)
# sbi:
# - addr: 127.0.0.13
# tls:
# key: pcf.key
# pem: pcf.pem
# - addr: ::1
#
# o SBI Server(http://pcf.open5gs.org:80)
# sbi:
# - name: pcf.open5gs.org
#
# o SBI Server(http://127.0.0.13:7777)
# sbi:
# - addr: 127.0.0.13
# port: 7777
#
# o SBI Server(http://<eth0 IP address>:80)
# sbi:
# - dev: eth0
#
# o Provide custom SBI address to be advertised to NRF
# sbi:
# - dev: eth0
# advertise: open5gs-pcf.svc.local
#
# sbi:
# - addr: localhost
# advertise:
# - 127.0.0.99
# - ::1
#
# o SBI Option (Default)
# - tcp_nodelay : true
# - so_linger.l_onoff : false
#
# sbi:
# addr: 127.0.0.13
# option:
# tcp_nodelay: false
# so_linger:
# l_onoff: true
# l_linger: 10
#
# <NF Service>
#
# o NF Service Name(Default : all NF services available)
# service_name:
#
# o NF Service Name(Only some NF services are available)
# service_name:
# - npcf-am-policy-control
# - npcf-smpolicycontrol
# - npcf-policyauthorization
#
# == NOTE ==
# 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.
#
# <NF Discovery Query Parameter>
#
# o (Default) If you do not set Query Parameter as shown below,
#
# sbi:
# - addr: 127.0.0.13
# port: 7777
#
# - 'service-names' is included.
#
# sbi:
# - addr: 127.0.0.13
# port: 7777
# discovery:
# option:
# no_service_names: false
#
# o To remove 'service-names' from URI query parameters in NS Discovery
# no_service_names: true
#
# * For Indirect Communication with Delegated Discovery,
# 'service-names' is always included in the URI query parameter.
# * That is, 'no_service_names' has no effect.
#
# <For Indirect Communication with Delegated Discovery>
#
# o (Default) If you do not set Delegated Discovery as shown below,
#
# sbi:
# - addr: 127.0.0.13
# port: 7777
#
# - Use SCP if SCP avaiable. Otherwise NRF is used.
# => App fails if both NRF and SCP are unavailable.
#
# sbi:
# - addr: 127.0.0.13
# port: 7777
# discovery:
# delegated: auto
#
# o To use SCP always => App fails if no SCP available.
# delegated: yes
#
# o Don't use SCP server => App fails if no NRF available.
# delegated: no
#
pcf:
sbi:
- addr: 127.0.0.13
port: 7777
#
# scp:
#
# <SBI Client>>
#
# o SBI Client(http://127.0.1.10:7777)
# sbi:
# addr: 127.0.1.10
# port: 7777
#
# o SBI Client(https://127.0.1.10:443, http://scp.open5gs.org:80)
# sbi:
# - addr: 127.0.1.10
# tls:
# key: scp.key
# pem: scp.pem
# - name: scp.open5gs.org
#
# o SBI Client(http://[fd69:f21d:873c:fb::1]:80)
# If prefer_ipv4 is true, http://127.0.1.10:80 is selected.
#
# sbi:
# addr:
# - 127.0.1.10
# - fd69:f21d:873c:fb::1
#
# o SBI Option (Default)
# - tcp_nodelay : true
# - so_linger.l_onoff : false
#
# sbi:
# addr: 127.0.1.10
# option:
# tcp_nodelay: false
# so_linger:
# l_onoff: true
# l_linger: 10
#
#
scp:
sbi:
- addr: 127.0.1.10
port: 7777
#
# nrf:
#
# <SBI Client>>
#
# o SBI Client(http://127.0.0.10:7777)
# sbi:
# addr: 127.0.0.10
# port: 7777
#
# o SBI Client(https://127.0.0.10:443, http://nrf.open5gs.org:80)
# sbi:
# - addr: 127.0.0.10
# tls:
# key: nrf.key
# pem: nrf.pem
# - name: nrf.open5gs.org
#
# o SBI Client(http://[fd69:f21d:873c:fa::1]:80)
# If prefer_ipv4 is true, http://127.0.0.10:80 is selected.
#
# sbi:
# addr:
# - 127.0.0.10
# - fd69:f21d:873c:fa::1
#
# 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
#
#nrf:
# sbi:
# - addr:
# - 127.0.0.10
# - ::1
# port: 7777
#
# parameter:
#
# o Disable use of IPv4 addresses (only IPv6)
# no_ipv4: true
#
# o Disable use of IPv6 addresses (only IPv4)
# no_ipv6: true
#
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
# prefer_ipv4: true
#
parameter:
#
# max:
#
# o Maximum Number of UE
# ue: 1024
# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI)
# peer: 64
#
max:
#
# time:
#
# o NF Instance Heartbeat (Default : 0)
# NFs will not send heart-beat timer in NFProfile
# NRF will send heart-beat timer in NFProfile
#
# o NF Instance Heartbeat (20 seconds)
# NFs will send heart-beat timer (20 seconds) in NFProfile
# NRF can change heart-beat timer in NFProfile
#
# nf_instance:
# heartbeat: 20
#
# o Message Wait Duration (Default : 10,000 ms = 10 seconds)
#
# o Message Wait Duration (3000 ms)
# message:
# duration: 3000
time:

View File

@@ -0,0 +1,50 @@
db_uri: mongodb://localhost/open5gs
#
# logger:
#
# o Set OGS_LOG_INFO to all domain level
# - If `level` is omitted, the default level is OGS_LOG_INFO)
# - If `domain` is omitted, the all domain level is set from 'level'
# (Nothing is needed)
#
# o Set OGS_LOG_ERROR to all domain level
# - `level` can be set with none, fatal, error, warn, info, debug, trace
# level: error
#
# o Set OGS_LOG_DEBUG to mme/emm domain level
# level: debug
# domain: mme,emm
#
# o Set OGS_LOG_TRACE to all domain level
# level: trace
# domain: core,fd,pcrf,event,mem,sock
logger:
file: @localstatedir@/log/open5gs/pcrf.log
pcrf:
freeDiameter: @sysconfdir@/freeDiameter/pcrf.conf
#
# parameter:
#
# o Disable use of IPv4 addresses (only IPv6)
# no_ipv4: true
#
# o Disable use of IPv6 addresses (only IPv4)
# no_ipv6: true
#
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
# prefer_ipv4: true
#
parameter:
#
# max:
#
# o Maximum Number of UE
# ue: 1024
# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI)
# peer: 64
#
max:

246
configs/open5gs/scp.yaml.in Normal file
View File

@@ -0,0 +1,246 @@
db_uri: mongodb://localhost/open5gs
#
# logger:
#
# o Set OGS_LOG_INFO to all domain level
# - If `level` is omitted, the default level is OGS_LOG_INFO)
# - If `domain` is omitted, the all domain level is set from 'level'
# (Nothing is needed)
#
# o Set OGS_LOG_ERROR to all domain level
# - `level` can be set with none, fatal, error, warn, info, debug, trace
# level: error
#
# o Set OGS_LOG_DEBUG to mme/emm domain level
# level: debug
# domain: mme,emm
#
# o Set OGS_LOG_TRACE to all domain level
# level: trace
# domain: core,sbi,scp,event,tlv,mem,sock
#
logger:
file: @localstatedir@/log/open5gs/scp.log
#
# scp:
#
# <SBI Server>
#
# o SBI Server(http://<all address available>:80)
# sbi:
#
# o SBI Server(http://<any address>:80)
# sbi:
# - addr:
# - 0.0.0.0
# - ::0
# port: 7777
#
# o SBI Server(https://<all address available>:443)
# sbi:
# - tls:
# key: scp.key
# pem: scp.pem
#
# o SBI Server(https://127.0.1.10:443, http://[::1]:80)
# sbi:
# - addr: 127.0.1.10
# tls:
# key: scp.key
# pem: scp.pem
# - addr: ::1
#
# o SBI Server(http://scp.open5gs.org:80)
# sbi:
# - name: scp.open5gs.org
#
# o SBI Server(http://127.0.1.10:7777)
# sbi:
# - addr: 127.0.1.10
# port: 7777
#
# o SBI Server(http://<eth0 IP address>:80)
# sbi:
# - dev: eth0
#
# o Provide custom SBI address to be advertised to NRF
# sbi:
# - dev: eth0
# advertise: open5gs-scp.svc.local
#
# sbi:
# - addr: localhost
# advertise:
# - 127.0.0.99
# - ::1
#
# o SBI Option (Default)
# - tcp_nodelay : true
# - so_linger.l_onoff : false
#
# sbi:
# addr: 127.0.1.10
# option:
# tcp_nodelay: false
# so_linger:
# l_onoff: true
# l_linger: 10
#
# <For Indirect Communication with Delegated Discovery>
#
# o (Default) If you do not set Delegated Discovery as shown below,
#
# sbi:
# - addr: 127.0.1.10
# port: 7777
#
# - Use SCP if SCP avaiable. Otherwise NRF is used.
# => App fails if both NRF and SCP are unavailable.
#
# sbi:
# - addr: 127.0.1.10
# port: 7777
# discovery:
# delegated: auto
#
# o To use SCP always => App fails if no SCP available.
# delegated: yes
#
# o Don't use SCP server => App fails if no NRF available.
# delegated: no
#
scp:
sbi:
- addr: 127.0.1.10
port: 7777
#
# next_scp:
#
# <Next hop SCP>
#
# o SBI Client(http://127.0.1.11:7777)
# sbi:
# addr: 127.0.1.11
# port: 7777
#
# o SBI Client(https://127.0.1.11:443, http://next-scp.open5gs.org:80)
# sbi:
# - addr: 127.0.1.11
# tls:
# key: next-scp.key
# pem: next-scp.pem
# - name: next-scp.open5gs.org
#
# o SBI Client(http://[fd69:f21d:873c:fb::1]:80)
# If prefer_ipv4 is true, http://127.0.1.11:80 is selected.
#
# sbi:
# addr:
# - 127.0.1.11
# - fd69:f21d:873c:fb::1
#
# o SBI Option (Default)
# - tcp_nodelay : true
# - so_linger.l_onoff : false
#
# sbi:
# addr: 127.0.1.11
# option:
# tcp_nodelay: false
# so_linger:
# l_onoff: true
# l_linger: 10
#
#
# nrf:
#
# <SBI Client>>
#
# o SBI Client(http://127.0.0.10:7777)
# sbi:
# addr: 127.0.0.10
# port: 7777
#
# o SBI Client(https://127.0.0.10:443, http://nrf.open5gs.org:80)
# sbi:
# - addr: 127.0.0.10
# tls:
# key: nrf.key
# pem: nrf.pem
# - name: nrf.open5gs.org
#
# o SBI Client(http://[fd69:f21d:873c:fa::1]:80)
# If prefer_ipv4 is true, http://127.0.0.10:80 is selected.
#
# sbi:
# addr:
# - 127.0.0.10
# - fd69:f21d:873c:fa::1
#
# 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
#
nrf:
sbi:
- addr:
- 127.0.0.10
- ::1
port: 7777
#
# parameter:
#
# o Disable use of IPv4 addresses (only IPv6)
# no_ipv4: true
#
# o Disable use of IPv6 addresses (only IPv4)
# no_ipv6: true
#
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
# prefer_ipv4: true
#
parameter:
#
# max:
#
# o Maximum Number of UE
# ue: 1024
# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI)
# peer: 64
#
max:
#
# time:
#
# o NF Instance Heartbeat (Default : 0)
# NFs will not send heart-beat timer in NFProfile
# NRF will send heart-beat timer in NFProfile
#
# o NF Instance Heartbeat (20 seconds)
# NFs will send heart-beat timer (20 seconds) in NFProfile
# NRF can change heart-beat timer in NFProfile
#
# nf_instance:
# heartbeat: 20
#
# o Message Wait Duration (Default : 10,000 ms = 10 seconds)
#
# o Message Wait Duration (3000 ms)
# message:
# duration: 3000
time:

View File

@@ -0,0 +1,162 @@
#
# logger:
#
# o Set OGS_LOG_INFO to all domain level
# - If `level` is omitted, the default level is OGS_LOG_INFO)
# - If `domain` is omitted, the all domain level is set from 'level'
# (Nothing is needed)
#
# o Set OGS_LOG_ERROR to all domain level
# - `level` can be set with none, fatal, error, warn, info, debug, trace
# level: error
#
# o Set OGS_LOG_DEBUG to mme/emm domain level
# level: debug
# domain: mme,emm
#
# o Set OGS_LOG_TRACE to all domain level
# level: trace
# domain: core,pfcp,gtp,sgwc,event,tlv,mem,sock
#
logger:
file: @localstatedir@/log/open5gs/sgwc.log
#
# sgwc:
#
# <GTP-C Server>
#
# o GTP-C Server(127.0.0.3:2123, [fd69:f21d:873c:fa::2]:2123)
# gtpc:
# addr:
# - 127.0.0.3
# - fd69:f21d:873c:fa::2
#
# o On SGW, Same Configuration(127.0.0.3:2123,
# [fd69:f21d:873c:fa::2]:2123) as below.
# gtpc:
# - addr: 127.0.0.3
# - addr: fd69:f21d:873c:fa::2
#
# o GTP-C Option (Default)
# - so_bindtodevice : NULL
#
# gtpc:
# addr: 127.0.0.3
# option:
# so_bindtodevice: vrf-blue
#
# <PFCP Server>
#
# o PFCP Server(127.0.0.3:8805, ::1:8805)
# pfcp:
# - addr: 127.0.0.3
# - addr: ::1
#
# o PFCP-U Server(127.0.0.1:2152, [::1]:2152)
# pfcp:
# name: localhost
#
# o PFCP Option (Default)
# - so_bindtodevice : NULL
#
# pfcp:
# addr: 127.0.0.3
# option:
# so_bindtodevice: vrf-blue
#
sgwc:
gtpc:
- addr: 127.0.0.3
pfcp:
- addr: 127.0.0.3
#
# sgwu:
#
# <PFCP Client>>
#
# o PFCP Client(127.0.0.6:8805)
#
# pfcp:
# addr: 127.0.0.6
#
# <SGWU_SELECTION_MODE - EPC only>
#
# sgwu:
# pfcp:
# - addr: 127.0.0.6
# - addr: 127.0.0.12
# - addr: 127.0.0.18
#
# o SGWU selection by eNodeB TAC
# (either single TAC or multiple TACs, DECIMAL representation)
#
# sgwu:
# pfcp:
# - addr: 127.0.0.6
# tac: 1
# - addr: 127.0.0.12
# tac: [3,5,8]
#
# o SGWU selection by UE's APN (either single APN or multiple APNs)
#
# sgwu:
# pfcp:
# - addr: 127.0.0.6
# apn: ims
# - addr: 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)
#
# sgwu:
# pfcp:
# - addr: 127.0.0.6
# e_cell_id: 463
# - addr: 127.0.0.12
# e_cell_id: [123456789, 9413]
#
sgwu:
pfcp:
- addr: 127.0.0.6
#
# parameter:
#
# o Disable use of IPv4 addresses (only IPv6)
# no_ipv4: true
#
# o Disable use of IPv6 addresses (only IPv4)
# no_ipv6: true
#
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
# prefer_ipv4: true
#
# o Disable selection of SGW-U PFCP in Round-Robin manner
# no_pfcp_rr_select: true
#
parameter:
#
# max:
#
# o Maximum Number of UE
# ue: 1024
# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI)
# peer: 64
# o Maximum Number of GTP peer nodes per SGWC/SMF
# gtp_peer: 64
#
max:
#
# time:
#
# o Message Wait Duration (Default : 10,000 ms = 10 seconds)
#
# o Message Wait Duration (3000 ms)
# message:
# duration: 3000
time:

View File

@@ -0,0 +1,149 @@
#
# logger:
#
# o Set OGS_LOG_INFO to all domain level
# - If `level` is omitted, the default level is OGS_LOG_INFO)
# - If `domain` is omitted, the all domain level is set from 'level'
# (Nothing is needed)
#
# o Set OGS_LOG_ERROR to all domain level
# - `level` can be set with none, fatal, error, warn, info, debug, trace
# level: error
#
# o Set OGS_LOG_DEBUG to mme/emm domain level
# level: debug
# domain: mme,emm
#
# o Set OGS_LOG_TRACE to all domain level
# level: trace
# domain: core,pfcp,gtp,sgwu,event,tlv,mem,sock
#
logger:
file: @localstatedir@/log/open5gs/sgwu.log
#
# sgwu:
#
# <PFCP Server>
#
# o PFCP Server(127.0.0.6:8805, ::1:8805)
# pfcp:
# - addr: 127.0.0.6
# - addr: ::1
#
# o PFCP-U Server(127.0.0.1:2152, [::1]:2152)
# pfcp:
# - name: localhost
#
# o PFCP Option (Default)
# - so_bindtodevice : NULL
#
# pfcp:
# addr: 127.0.0.6
# option:
# so_bindtodevice: vrf-blue
#
# <GTP-U Server>
#
# o GTP-U Server(127.0.0.6:2152, [::1]:2152)
# gtpu:
# - addr: 127.0.0.6
# - addr: ::1
#
# o GTP-U Server(127.0.0.1:2152, [::1]:2152)
# gtpu:
# - name: localhost
#
# o User Plane IP Resource information
# gtpu:
# - addr:
# - 127.0.0.6
# - ::1
# teid_range_indication: 4
# teid_range: 10
# network_instance: internet
# source_interface: 0
# - addr: 127.0.10.4
# teid_range_indication: 4
# teid_range: 5
# network_instance: ims
# source_interface: 1
#
# o Provide custom SGW-U GTP-U address to be advertised inside S1AP messages
# gtpu:
# - addr: 10.4.128.21
# advertise: 172.24.15.30
#
# gtpu:
# - addr: 10.4.128.21
# advertise:
# - 127.0.0.1
# - ::1
#
# gtpu:
# - addr: 10.4.128.21
# advertise: sgw1.epc.mnc001.mcc001.3gppnetwork.org
#
# gtpu:
# - dev: ens3
# advertise: sgw1.epc.mnc001.mcc001.3gppnetwork.org
#
# o GTP-U Option (Default)
# - so_bindtodevice : NULL
#
# gtpu:
# addr: 127.0.0.6
# option:
# so_bindtodevice: vrf-blue
#
sgwu:
pfcp:
- addr: 127.0.0.6
gtpu:
- addr: 127.0.0.6
#
# sgwc:
#
# <PFCP Client>>
#
# o PFCP Client(127.0.0.3:8805)
#
# pfcp:
# addr: 127.0.0.3
#
sgwc:
#
# parameter:
#
# o Disable use of IPv4 addresses (only IPv6)
# no_ipv4: true
#
# o Disable use of IPv6 addresses (only IPv4)
# no_ipv6: true
#
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
# prefer_ipv4: true
#
parameter:
#
# max:
#
# o Maximum Number of UE
# ue: 1024
# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI)
# peer: 64
#
max:
#
# time:
#
# o Message Wait Duration (Default : 10,000 ms = 10 seconds)
#
# o Message Wait Duration (3000 ms)
# message:
# duration: 3000
time:

692
configs/open5gs/smf.yaml.in Normal file
View File

@@ -0,0 +1,692 @@
#
# logger:
#
# o Set OGS_LOG_INFO to all domain level
# - If `level` is omitted, the default level is OGS_LOG_INFO)
# - If `domain` is omitted, the all domain level is set from 'level'
# (Nothing is needed)
#
# o Set OGS_LOG_ERROR to all domain level
# - `level` can be set with none, fatal, error, warn, info, debug, trace
# level: error
#
# o Set OGS_LOG_DEBUG to mme/emm domain level
# level: debug
# domain: mme,emm
#
# o Set OGS_LOG_TRACE to all domain level
# level: trace
# domain: core,fd,pfcp,gtp,smf,event,tlv,mem,sock
#
logger:
file: @localstatedir@/log/open5gs/smf.log
#
# smf:
#
# <SBI Server>
#
# o SBI Server(http://<all address available>:80)
# sbi:
#
# o SBI Server(http://<any address>:80)
# sbi:
# - addr:
# - 0.0.0.0
# - ::0
# port: 7777
#
# o SBI Server(https://<all address available>:443)
# sbi:
# - tls:
# key: smf.key
# pem: smf.pem
#
# o SBI Server(https://127.0.0.4:443, http://[::1]:80)
# sbi:
# - addr: 127.0.0.4
# tls:
# key: smf.key
# pem: smf.pem
# - addr: ::1
#
# o SBI Server(http://smf.open5gs.org:80)
# sbi:
# - name: smf.open5gs.org
#
# o SBI Server(http://127.0.0.4:7777)
# sbi:
# - addr: 127.0.0.4
# port: 7777
#
# o SBI Server(http://<eth0 IP address>:80)
# sbi:
# - dev: eth0
#
# o Provide custom SBI address to be advertised to NRF
# sbi:
# - dev: eth0
# advertise: open5gs-smf.svc.local
#
# sbi:
# - addr: localhost
# advertise:
# - 127.0.0.99
# - ::1
#
# o SBI Option (Default)
# - tcp_nodelay : true
# - so_linger.l_onoff : false
#
# sbi:
# addr: 127.0.0.4
# option:
# tcp_nodelay: false
# so_linger:
# l_onoff: true
# l_linger: 10
#
# <NF Service>
#
# o NF Service Name(Default : all NF services available)
# service_name:
#
# o NF Service Name(Only some NF services are available)
# service_name:
# - nsmf-pdusession
#
# <NF Discovery Query Parameter>
#
# o (Default) If you do not set Query Parameter as shown below,
#
# sbi:
# - addr: 127.0.0.4
# port: 7777
#
# - 'service-names' is included.
#
# sbi:
# - addr: 127.0.0.4
# port: 7777
# discovery:
# option:
# no_service_names: false
#
# o To remove 'service-names' from URI query parameters in NS Discovery
# no_service_names: true
#
# * For Indirect Communication with Delegated Discovery,
# 'service-names' is always included in the URI query parameter.
# * That is, 'no_service_names' has no effect.
#
# <For Indirect Communication with Delegated Discovery>
#
# o (Default) If you do not set Delegated Discovery as shown below,
#
# sbi:
# - addr: 127.0.0.4
# port: 7777
#
# - Use SCP if SCP avaiable. Otherwise NRF is used.
# => App fails if both NRF and SCP are unavailable.
#
# sbi:
# - addr: 127.0.0.4
# port: 7777
# discovery:
# delegated: auto
#
# o To use SCP always => App fails if no SCP available.
# delegated: yes
#
# o Don't use SCP server => App fails if no NRF available.
# delegated: no
#
#
# <PFCP Server>
#
# o PFCP Server(127.0.0.4:8805, ::1:8805)
# pfcp:
# - addr: 127.0.0.4
# - addr: ::1
#
# o PFCP-U Server(127.0.0.1:2152, [::1]:2152)
# pfcp:
# name: localhost
#
# o PFCP Option (Default)
# - so_bindtodevice : NULL
#
# pfcp:
# addr: 127.0.0.4
# option:
# so_bindtodevice: vrf-blue
#
# <GTP-C Server>
#
# o GTP-C Server(127.0.0.4:2123, [fd69:f21d:873c:fa::3]:2123)
# gtpc:
# addr:
# - 127.0.0.4
# - fd69:f21d:873c:fa::3
#
# o On SMF, Same configuration
# (127.0.0.4:2123, [fd69:f21d:873c:fa::3]:2123).
# gtpc:
# - addr: 127.0.0.4
# - addr: fd69:f21d:873c:fa::3
#
# o GTP-C Option (Default)
# - so_bindtodevice : NULL
#
# gtpc:
# addr: 127.0.0.4
# option:
# so_bindtodevice: vrf-blue
#
# <GTP-U Server>>
#
# o GTP-U Server(127.0.0.4:2152, [::1]:2152)
# gtpu:
# - addr: 127.0.0.4
# - addr: ::1
#
# o GTP-U Server(127.0.0.1:2152, [::1]:2152)
# gtpu:
# name: localhost
#
# o GTP-U Option (Default)
# - so_bindtodevice : NULL
#
# gtpu:
# addr: 127.0.0.4
# option:
# so_bindtodevice: vrf-blue
#
# <Metrics Server>
#
# o Metrics Server(http://<any address>:9090)
# metrics:
# addr: 0.0.0.0
# port: 9090
#
# <Subnet for UE Pool>
#
# o IPv4 Pool
# subnet:
# addr: 10.45.0.1/16
#
# o IPv4/IPv6 Pool
# subnet:
# - addr: 10.45.0.1/16
# - addr: 2001:db8:cafe::1/48
#
#
# 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.
#
# subnet:
# - addr: 10.45.0.1/16
# dnn: internet
# - addr: 2001:db8:cafe::1/48
# dnn: internet
# - addr: 10.46.0.1/16
# dnn: ims
# - addr: 2001:db8:babe::1/48
# dnn: ims
#
# o Specific DNN/APN with the FALLBACK SUBNET(10.47.0.1/16)
# ; Note that put the FALLBACK SUBNET last to avoid SMF/UPF crash.
#
# subnet:
# - addr: 10.45.0.1/16
# dnn: internet
# - addr: 10.46.0.1/16
# dnn: ims
# - addr: 10.50.0.1/16 ## FALLBACK SUBNET
#
# o Pool Range Sample
# subnet:
# - addr: 10.45.0.1/24
# range: 10.45.0.100-10.45.0.200
#
# subnet:
# - addr: 10.45.0.1/24
# range:
# - 10.45.0.5-10.45.0.50
# - 10.45.0.100-
#
# subnet:
# - addr: 10.45.0.1/24
# range:
# - -10.45.0.200
# - 10.45.0.210-10.45.0.220
#
# subnet:
# - addr: 10.45.0.1/16
# range:
# - 10.45.0.100-10.45.0.200
# - 10.45.1.100-10.45.1.200
# - addr: 2001:db8:cafe::1/48
# range:
# - 2001:db8:cafe:a0::0-2001:db8:cafe:b0::0
# - 2001:db8:cafe:c0::0-2001:db8:cafe:d0::0
#
# <Domain Name Server>
#
# o Primary/Secondary can be configured. Others are ignored.
#
# dns:
# - 8.8.8.8
# - 8.8.4.4
# - 2001:4860:4860::8888
# - 2001:4860:4860::8844
#
# <MTU Size>
#
# o 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
#
# <P-CSCF>
#
# o Proxy Call Session Control Function
#
# p-cscf:
# - 127.0.0.1
# - ::1
#
# <CTF>
#
# o Gy interface parameters towards OCS.
# o enabled:
# o auto: Default. Use Gy only if OCS available among Diameter peers
# o yes: Use Gy always;
# reject subscribers if no OCS available among Diameter peers
# o no: Don't use Gy interface if there is an OCS available
#
# ctf:
# enabled: auto|yes|no
#
#
# <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
# range:
# - 1-9
# - s_nssai:
# - sst: 2
# sd: 000080
# dnn:
# - internet
# - ims
# - s_nssai:
# - sst: 4
# dnn:
# - internet
# tai:
# - plmn_id:
# mcc: 999
# mnc: 70
# range:
# - 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
# range:
# - 100-200
# - 300-400
# - plmn_id:
# mcc: 999
# mnc: 70
# range:
# - 500-600
# - 700-800
# - 900-1000
# - s_nssai:
# - sst: 4
# dnn:
# - internet
# tai:
# - plmn_id:
# mcc: 999
# mnc: 70
# tac: 99
#
# <Security Indication - 5G Core only>
#
# According to 3GPP TS38.413 Section 9.3.1.27,
# Security Indication IE may be instructed to 5G gNB.
#
# If you set the security_indication in smf.yaml,
# this information is delivered using PDU Session Resource Request Transfer IE
#
# 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
#
smf:
sbi:
- addr: 127.0.0.4
port: 7777
pfcp:
- addr: 127.0.0.4
- addr: ::1
gtpc:
- addr: 127.0.0.4
- addr: ::1
gtpu:
- addr: 127.0.0.4
- addr: ::1
metrics:
addr: 127.0.0.4
port: 9090
subnet:
- addr: 10.45.0.1/16
- addr: 2001:db8:cafe::1/48
dns:
- 8.8.8.8
- 8.8.4.4
- 2001:4860:4860::8888
- 2001:4860:4860::8844
mtu: 1400
ctf:
enabled: auto
freeDiameter: @sysconfdir@/freeDiameter/smf.conf
#
# scp:
#
# <SBI Client>>
#
# o SBI Client(http://127.0.1.10:7777)
# sbi:
# addr: 127.0.1.10
# port: 7777
#
# o SBI Client(https://127.0.1.10:443, http://scp.open5gs.org:80)
# sbi:
# - addr: 127.0.1.10
# tls:
# key: scp.key
# pem: scp.pem
# - name: scp.open5gs.org
#
# o SBI Client(http://[fd69:f21d:873c:fb::1]:80)
# If prefer_ipv4 is true, http://127.0.1.10:80 is selected.
#
# sbi:
# addr:
# - 127.0.1.10
# - fd69:f21d:873c:fb::1
#
# o SBI Option (Default)
# - tcp_nodelay : true
# - so_linger.l_onoff : false
#
# sbi:
# addr: 127.0.1.10
# option:
# tcp_nodelay: false
# so_linger:
# l_onoff: true
# l_linger: 10
#
#
scp:
sbi:
- addr: 127.0.1.10
port: 7777
#
# nrf:
#
# <SBI Client>>
#
# o SBI Client(http://127.0.0.1:7777)
# sbi:
# addr: 127.0.0.10
# port: 7777
#
# o SBI Client(https://127.0.0.10:443, http://nrf.open5gs.org:80)
# sbi:
# - addr: 127.0.0.10
# tls:
# key: nrf.key
# pem: nrf.pem
# - name: nrf.open5gs.org
#
# o SBI Client(http://[fd69:f21d:873c:fa::1]:80)
# If prefer_ipv4 is true, http://127.0.0.10:80 is selected.
#
# sbi:
# addr:
# - 127.0.0.10
# - fd69:f21d:873c:fa::1
#
# 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
#
#nrf:
# sbi:
# - addr:
# - 127.0.0.10
# - ::1
# port: 7777
#
# upf:
#
# <PFCP Client>>
#
# o PFCP Client(127.0.0.7:8805)
#
# pfcp:
# addr: 127.0.0.7
#
# <UPF Selection>
#
# o Round-Robin
# (note that round robin can be disabled for a particular node
# by setting flag 'rr' to 0)
#
# upf:
# pfcp:
# - addr: 127.0.0.7
# - addr: 127.0.0.12
# rr: 0
# - addr: 127.0.0.19
#
# o UPF selection by eNodeB TAC
# (either single TAC or multiple TACs, DECIMAL representation)
#
# upf:
# pfcp:
# - addr: 127.0.0.7
# tac: 1
# - addr: 127.0.0.12
# tac: [3,5,8]
#
# o UPF selection by UE's DNN/APN (either single DNN/APN or multiple DNNs/APNs)
#
# upf:
# pfcp:
# - addr: 127.0.0.7
# dnn: ims
# - addr: 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)
#
# upf:
# pfcp:
# - addr: 127.0.0.7
# e_cell_id: 463
# - addr: 127.0.0.12
# nr_cell_id: [123456789, 9413]
#
upf:
pfcp:
- addr: 127.0.0.7
#
# parameter:
#
# o Disable use of IPv4 addresses (only IPv6)
# no_ipv4: true
#
# o Disable use of IPv6 addresses (only IPv4)
# no_ipv6: true
#
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
# prefer_ipv4: true
#
# o Disable selection of UPF PFCP in Round-Robin manner
# no_pfcp_rr_select: true
#
# o Legacy support for pre-release LTE 11 devices
# - Omits adding local address in packet filters for compatibility
# no_ipv4v6_local_addr_in_packet_filter: true
#
parameter:
#
# max:
#
# o Maximum Number of UE
# ue: 1024
# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI)
# peer: 64
# o Maximum Number of GTP peer nodes per SGWC/SMF
# gtp_peer: 64
#
max:
#
# time:
#
# o NF Instance Heartbeat (Default : 0)
# NFs will not send heart-beat timer in NFProfile
# NRF will send heart-beat timer in NFProfile
#
# o NF Instance Heartbeat (20 seconds)
# NFs will send heart-beat timer (20 seconds) in NFProfile
# NRF can change heart-beat timer in NFProfile
#
# nf_instance:
# heartbeat: 20
#
# o Message Wait Duration (Default : 10,000 ms = 10 seconds)
#
# o Message Wait Duration (3000 ms)
# message:
# duration: 3000
#
# o Handover Wait Duration (Default : 300 ms)
# Time to wait for SMF to send
# PFCP Session Modification Request(Remove Indirect Tunnel) to the UPF
# after sending Nsmf_PDUSession_UpdateSMContext Response(hoState:COMPLETED)
#
# o Handover Wait Duration (500ms)
# handover:
# duration: 500
time:

284
configs/open5gs/udm.yaml.in Normal file
View File

@@ -0,0 +1,284 @@
#
# logger:
#
# o Set OGS_LOG_INFO to all domain level
# - If `level` is omitted, the default level is OGS_LOG_INFO)
# - If `domain` is omitted, the all domain level is set from 'level'
# (Nothing is needed)
#
# o Set OGS_LOG_ERROR to all domain level
# - `level` can be set with none, fatal, error, warn, info, debug, trace
# level: error
#
# o Set OGS_LOG_DEBUG to mme/emm domain level
# level: debug
# domain: mme,emm
#
# o Set OGS_LOG_TRACE to all domain level
# level: trace
# domain: core,sbi,udm,event,tlv,mem,sock
#
logger:
file: @localstatedir@/log/open5gs/udm.log
#
# udm:
#
# <SBI Server>
#
# o SBI Server(http://<all address available>:80)
# sbi:
#
# o SBI Server(http://<any address>:80)
# sbi:
# - addr:
# - 0.0.0.0
# - ::0
# port: 7777
#
# o SBI Server(https://<all address available>:443)
# sbi:
# - tls:
# key: udm.key
# pem: udm.pem
#
# o SBI Server(https://127.0.0.12:443, http://[::1]:80)
# sbi:
# - addr: 127.0.0.12
# tls:
# key: udm.key
# pem: udm.pem
# - addr: ::1
#
# o SBI Server(http://udm.open5gs.org:80)
# sbi:
# - name: udm.open5gs.org
#
# o SBI Server(http://127.0.0.12:7777)
# sbi:
# - addr: 127.0.0.12
# port: 7777
#
# o SBI Server(http://<eth0 IP address>:80)
# sbi:
# - dev: eth0
#
# o Provide custom SBI address to be advertised to NRF
# sbi:
# - dev: eth0
# advertise: open5gs-udm.svc.local
#
# sbi:
# - addr: localhost
# advertise:
# - 127.0.0.99
# - ::1
#
# o SBI Option (Default)
# - tcp_nodelay : true
# - so_linger.l_onoff : false
#
# sbi:
# addr: 127.0.0.12
# option:
# tcp_nodelay: false
# so_linger:
# l_onoff: true
# l_linger: 10
#
# <NF Service>
#
# o NF Service Name(Default : all NF services available)
# service_name:
#
# o NF Service Name(Only some NF services are available)
# service_name:
# - nudm-sdm
# - nudm-uecm
# - nudm-ueau
#
# <NF Discovery Query Parameter>
#
# o (Default) If you do not set Query Parameter as shown below,
#
# sbi:
# - addr: 127.0.0.12
# port: 7777
#
# - 'service-names' is included.
#
# sbi:
# - addr: 127.0.0.12
# port: 7777
# discovery:
# option:
# no_service_names: false
#
# o To remove 'service-names' from URI query parameters in NS Discovery
# no_service_names: true
#
# * For Indirect Communication with Delegated Discovery,
# 'service-names' is always included in the URI query parameter.
# * That is, 'no_service_names' has no effect.
#
# <For Indirect Communication with Delegated Discovery>
#
# o (Default) If you do not set Delegated Discovery as shown below,
#
# sbi:
# - addr: 127.0.0.12
# port: 7777
#
# - Use SCP if SCP avaiable. Otherwise NRF is used.
# => App fails if both NRF and SCP are unavailable.
#
# sbi:
# - addr: 127.0.0.12
# port: 7777
# discovery:
# delegated: auto
#
# o To use SCP always => App fails if no SCP available.
# delegated: yes
#
# o Don't use SCP server => App fails if no NRF available.
# delegated: no
#
udm:
sbi:
- addr: 127.0.0.12
port: 7777
#
# scp:
#
# <SBI Client>>
#
# o SBI Client(http://127.0.1.10:7777)
# sbi:
# addr: 127.0.1.10
# port: 7777
#
# o SBI Client(https://127.0.1.10:443, http://scp.open5gs.org:80)
# sbi:
# - addr: 127.0.1.10
# tls:
# key: scp.key
# pem: scp.pem
# - name: scp.open5gs.org
#
# o SBI Client(http://[fd69:f21d:873c:fb::1]:80)
# If prefer_ipv4 is true, http://127.0.1.10:80 is selected.
#
# sbi:
# addr:
# - 127.0.1.10
# - fd69:f21d:873c:fb::1
#
# o SBI Option (Default)
# - tcp_nodelay : true
# - so_linger.l_onoff : false
#
# sbi:
# addr: 127.0.1.10
# option:
# tcp_nodelay: false
# so_linger:
# l_onoff: true
# l_linger: 10
#
#
scp:
sbi:
- addr: 127.0.1.10
port: 7777
#
# nrf:
#
# <SBI Client>>
#
# o SBI Client(http://127.0.0.10:7777)
# sbi:
# addr: 127.0.0.10
# port: 7777
#
# o SBI Client(https://127.0.0.10:443, http://nrf.open5gs.org:80)
# sbi:
# - addr: 127.0.0.10
# tls:
# key: nrf.key
# pem: nrf.pem
# - name: nrf.open5gs.org
#
# o SBI Client(http://[fd69:f21d:873c:fa::1]:80)
# If prefer_ipv4 is true, http://127.0.0.10:80 is selected.
#
# sbi:
# addr:
# - 127.0.0.10
# - fd69:f21d:873c:fa::1
#
# 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
#
#nrf:
# sbi:
# - addr:
# - 127.0.0.10
# - ::1
# port: 7777
#
# parameter:
#
# o Disable use of IPv4 addresses (only IPv6)
# no_ipv4: true
#
# o Disable use of IPv6 addresses (only IPv4)
# no_ipv6: true
#
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
# prefer_ipv4: true
#
parameter:
#
# max:
#
# o Maximum Number of UE
# ue: 1024
# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI)
# peer: 64
#
max:
#
# time:
#
# o NF Instance Heartbeat (Default : 0)
# NFs will not send heart-beat timer in NFProfile
# NRF will send heart-beat timer in NFProfile
#
# o NF Instance Heartbeat (20 seconds)
# NFs will send heart-beat timer (20 seconds) in NFProfile
# NRF can change heart-beat timer in NFProfile
#
# nf_instance:
# heartbeat: 20
#
# o Message Wait Duration (Default : 10,000 ms = 10 seconds)
#
# o Message Wait Duration (3000 ms)
# message:
# duration: 3000
time:

292
configs/open5gs/udr.yaml.in Normal file
View File

@@ -0,0 +1,292 @@
db_uri: mongodb://localhost/open5gs
#
# logger:
#
# o Set OGS_LOG_INFO to all domain level
# - If `level` is omitted, the default level is OGS_LOG_INFO)
# - If `domain` is omitted, the all domain level is set from 'level'
# (Nothing is needed)
#
# o Set OGS_LOG_ERROR to all domain level
# - `level` can be set with none, fatal, error, warn, info, debug, trace
# level: error
#
# o Set OGS_LOG_DEBUG to mme/emm domain level
# level: debug
# domain: mme,emm
#
# o Set OGS_LOG_TRACE to all domain level
# level: trace
# domain: core,sbi,udr,event,tlv,mem,sock
#
logger:
file: @localstatedir@/log/open5gs/udr.log
#
# udr:
#
# <SBI Server>
#
# o SBI Server(http://<all address available>:80)
# sbi:
#
# o SBI Server(http://<any address>:80)
# sbi:
# - addr:
# - 0.0.0.0
# - ::0
# port: 7777
#
# o SBI Server(https://<all address available>:443)
# sbi:
# - tls:
# key: udr.key
# pem: udr.pem
#
# o SBI Server(https://127.0.0.20:443, http://[::1]:80)
# sbi:
# - addr: 127.0.0.20
# tls:
# key: udr.key
# pem: udr.pem
# - addr: ::1
#
# o SBI Server(http://udr.open5gs.org:80)
# sbi:
# - name: udr.open5gs.org
#
# o SBI Server(http://127.0.0.20:7777)
# sbi:
# - addr: 127.0.0.20
# port: 7777
#
# o SBI Server(http://<eth0 IP address>:80)
# sbi:
# - dev: eth0
#
# o Provide custom SBI address to be advertised to NRF
# sbi:
# - dev: eth0
# advertise: open5gs-udr.svc.local
#
# sbi:
# - addr: localhost
# advertise:
# - 127.0.0.99
# - ::1
#
# o SBI Option (Default)
# - tcp_nodelay : true
# - so_linger.l_onoff : false
#
# sbi:
# addr: 127.0.0.20
# option:
# tcp_nodelay: false
# so_linger:
# l_onoff: true
# l_linger: 10
#
# <NF Service>
#
# o NF Service Name(Default : all NF services available)
# service_name:
#
# o NF Service Name(Only some NF services are available)
# service_name:
# - nudr-dr
#
# <NF Discovery Query Parameter>
#
# o (Default) If you do not set Query Parameter as shown below,
#
# sbi:
# - addr: 127.0.0.20
# port: 7777
#
# - 'service-names' is included.
#
# sbi:
# - addr: 127.0.0.20
# port: 7777
# discovery:
# option:
# no_service_names: false
#
# o To remove 'service-names' from URI query parameters in NS Discovery
# no_service_names: true
#
# * For Indirect Communication with Delegated Discovery,
# 'service-names' is always included in the URI query parameter.
# * That is, 'no_service_names' has no effect.
#
# <For Indirect Communication with Delegated Discovery>
#
# o (Default) If you do not set Delegated Discovery as shown below,
#
# sbi:
# - addr: 127.0.0.20
# port: 7777
#
# - Use SCP if SCP avaiable. Otherwise NRF is used.
# => App fails if both NRF and SCP are unavailable.
#
# sbi:
# - addr: 127.0.0.20
# port: 7777
# discovery:
# delegated: auto
#
# o To use SCP always => App fails if no SCP available.
# delegated: yes
#
# o Don't use SCP server => App fails if no NRF available.
# delegated: no
#
udr:
sbi:
- addr: 127.0.0.20
port: 7777
#
# scp:
#
# <SBI Client>>
#
# o SBI Client(http://127.0.1.10:7777)
# sbi:
# addr: 127.0.1.10
# port: 7777
#
# o SBI Client(https://127.0.1.10:443, http://scp.open5gs.org:80)
# sbi:
# - addr: 127.0.1.10
# tls:
# key: scp.key
# pem: scp.pem
# - name: scp.open5gs.org
#
# o SBI Client(http://[fd69:f21d:873c:fb::1]:80)
# If prefer_ipv4 is true, http://127.0.1.10:80 is selected.
#
# sbi:
# addr:
# - 127.0.1.10
# - fd69:f21d:873c:fb::1
#
# o SBI Option (Default)
# - tcp_nodelay : true
# - so_linger.l_onoff : false
#
# sbi:
# addr: 127.0.1.10
# option:
# tcp_nodelay: false
# so_linger:
# l_onoff: true
# l_linger: 10
#
#
scp:
sbi:
- addr: 127.0.1.10
port: 7777
#
# nrf:
#
# <SBI Client>>
#
# o SBI Client(http://127.0.0.10:7777)
# sbi:
# addr: 127.0.0.10
# port: 7777
#
# o SBI Client(https://127.0.0.10:443, http://nrf.open5gs.org:80)
# sbi:
# - addr: 127.0.0.10
# tls:
# key: nrf.key
# pem: nrf.pem
# - name: nrf.open5gs.org
#
# o SBI Client(http://[fd69:f21d:873c:fa::1]:80)
# If prefer_ipv4 is true, http://127.0.0.10:80 is selected.
#
# sbi:
# addr:
# - 127.0.0.10
# - fd69:f21d:873c:fa::1
#
# 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
#
#nrf:
# sbi:
# - addr:
# - 127.0.0.10
# - ::1
# port: 7777
#
# parameter:
#
# o Disable use of IPv4 addresses (only IPv6)
# no_ipv4: true
#
# o Disable use of IPv6 addresses (only IPv4)
# no_ipv6: true
#
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
# prefer_ipv4: true
#
parameter:
#
# max:
#
# o Maximum Number of UE
# ue: 1024
# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI)
# peer: 64
#
max:
#
# time:
#
# o NF Instance Heartbeat (Default : 0)
# NFs will not send heart-beat timer in NFProfile
# NRF will send heart-beat timer in NFProfile
#
# o NF Instance Heartbeat (20 seconds)
# NFs will send heart-beat timer (20 seconds) in NFProfile
# NRF can change heart-beat timer in NFProfile
#
# nf_instance:
# heartbeat: 20
#
# o NF Instance Heartbeat (Disabled)
# nf_instance:
# heartbeat: 0
#
# o NF Instance Heartbeat (10 seconds)
# nf_instance:
# heartbeat: 10
#
# o Message Wait Duration (Default : 10,000 ms = 10 seconds)
#
# o Message Wait Duration (3000 ms)
# message:
# duration: 3000
time:

223
configs/open5gs/upf.yaml.in Normal file
View File

@@ -0,0 +1,223 @@
#
# logger:
#
# o Set OGS_LOG_INFO to all domain level
# - If `level` is omitted, the default level is OGS_LOG_INFO)
# - If `domain` is omitted, the all domain level is set from 'level'
# (Nothing is needed)
#
# o Set OGS_LOG_ERROR to all domain level
# - `level` can be set with none, fatal, error, warn, info, debug, trace
# level: error
#
# o Set OGS_LOG_DEBUG to mme/emm domain level
# level: debug
# domain: mme,emm
#
# o Set OGS_LOG_TRACE to all domain level
# level: trace
# domain: core,pfcp,gtp,upf,event,tlv,mem,sock
#
logger:
file: @localstatedir@/log/open5gs/upf.log
#
# upf:
#
# <PFCP Server>
#
# o PFCP Server(127.0.0.7:8805, ::1:8805)
# pfcp:
# - addr: 127.0.0.7
# - addr: ::1
#
# o PFCP-U Server(127.0.0.1:2152, [::1]:2152)
# pfcp:
# name: localhost
#
# o PFCP Option (Default)
# - so_bindtodevice : NULL
#
# pfcp:
# addr: 127.0.0.7
# option:
# so_bindtodevice: vrf-blue
#
# <GTP-U Server>>
#
# o GTP-U Server(127.0.0.7:2152, [::1]:2152)
# gtpu:
# - addr: 127.0.0.7
# - addr: ::1
#
# o GTP-U Server(127.0.0.1:2152, [::1]:2152)
# gtpu:
# name: localhost
#
# o User Plane IP Resource information
# gtpu:
# - addr:
# - 127.0.0.7
# - ::1
# teid_range_indication: 4
# teid_range: 10
# network_instance: internet
# source_interface: 0
# - addr: 127.0.10.4
# teid_range_indication: 4
# teid_range: 5
# network_instance: ims
# source_interface: 1
#
# o Provide custom UPF GTP-U address to be advertised inside NGAP messages
# gtpu:
# - addr: 10.4.128.21
# advertise: 172.24.15.30
#
# gtpu:
# - addr: 10.4.128.21
# advertise:
# - 127.0.0.1
# - ::1
#
# gtpu:
# - addr: 10.4.128.21
# advertise: upf1.5gc.mnc001.mcc001.3gppnetwork.org
#
# gtpu:
# - dev: ens3
# advertise: upf1.5gc.mnc001.mcc001.3gppnetwork.org
#
# o GTP-U Option (Default)
# - so_bindtodevice : NULL
#
# gtpu:
# addr: 127.0.0.7
# option:
# so_bindtodevice: vrf-blue
#
# <Subnet for UE network>
#
# Note that you need to setup your UE network using TUN device.
# (ogstun, ogstun2, ogstunX, ..)
#
# o IPv4 Pool
# $ sudo ip addr add 10.45.0.1/16 dev ogstun
#
# subnet:
# addr: 10.45.0.1/16
#
# o IPv4/IPv6 Pool
# $ sudo ip addr add 10.45.0.1/16 dev ogstun
# $ sudo ip addr add 2001:db8:cafe::1/48 dev ogstun
#
# subnet:
# - addr: 10.45.0.1/16
# - addr: 2001:db8:cafe::1/48
#
#
# o Specific DNN/APN(e.g 'ims') uses 10.46.0.1/16, 2001:db8:babe::1/48
# All other APNs use 10.45.0.1/16, 2001:db8:cafe::1/48
# $ sudo ip addr add 10.45.0.1/16 dev ogstun
# $ sudo ip addr add 10.46.0.1/16 dev ogstun
# $ sudo ip addr add 2001:db8:cafe::1/48 dev ogstun
# $ sudo ip addr add 2001:db8:babe::1/48 dev ogstun
#
# ; If the UE has unknown DNN/APN(not internet/ims), SMF/UPF will crash.
#
# subnet:
# - addr: 10.45.0.1/16
# dnn: internet
# - addr: 2001:db8:cafe::1/48
# dnn: internet
# - addr: 10.46.0.1/16
# dnn: ims
# - addr: 2001:db8:babe::1/48
# dnn: ims
#
# o Specific DNN/APN with the FALLBACK SUBNET(10.47.0.1/16)
# ; Note that put the FALLBACK SUBNET last to avoid SMF/UPF crash.
#
# subnet:
# - addr: 10.45.0.1/16
# dnn: internet
# - addr: 10.46.0.1/16
# dnn: ims
# - addr: 10.50.0.1/16 ## FALLBACK SUBNET
#
# o Multiple Devices (default: ogstun)
# $ sudo ip addr add 10.45.0.1/16 dev ogstun
# $ sudo ip addr add 2001:db8:cafe::1/48 dev ogstun2
# $ sudo ip addr add 10.46.0.1/16 dev ogstun3
# $ sudo ip addr add 2001:db8:babe::1/48 dev ogstun3
#
# subnet:
# - addr: 10.45.0.1/16
# dnn: internet
# - addr: 2001:db8:cafe::1/48
# dnn: internet
# dev: ogstun2
# - addr: 10.46.0.1/16
# dnn: ims
# dev: ogstun3
# - addr: 2001:db8:babe::1/48
# dnn: ims
# dev: ogstun3
#
upf:
pfcp:
- addr: 127.0.0.7
gtpu:
- addr: 127.0.0.7
subnet:
- addr: 10.45.0.1/16
- addr: 2001:db8:cafe::1/48
#
# smf:
#
# <PFCP Client>>
#
# o PFCP Client(127.0.0.4:8805)
#
# pfcp:
# addr: 127.0.0.4
#
smf:
#
# parameter:
#
# o Number of output streams per SCTP associations.
# sctp_streams: 30
#
# o Disable use of IPv4 addresses (only IPv6)
# no_ipv4: true
#
# o Disable use of IPv6 addresses (only IPv4)
# no_ipv6: true
#
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
# prefer_ipv4: true
#
parameter:
#
# max:
#
# o Maximum Number of UE
# ue: 1024
# o Maximum Number of Peer(S1AP/NGAP, DIAMETER, GTP, PFCP or SBI)
# peer: 64
#
max:
#
# time:
#
# o Message Wait Duration (Default : 10,000 ms = 10 seconds)
#
# o Message Wait Duration (3000 ms)
# message:
# duration: 3000
time:

300
configs/sample.yaml.in Normal file
View File

@@ -0,0 +1,300 @@
db_uri: mongodb://localhost/open5gs
logger:
parameter:
# no_nrf: true
# no_scp: 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.0.2
no_fwd: true
load_extension:
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
addr: 127.0.0.8
s1ap:
- addr: 127.0.0.2
gtpc:
- addr: 127.0.0.2
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:
- addr: 127.0.0.3
pfcp:
- addr: 127.0.0.3
smf:
sbi:
- addr: 127.0.0.4
port: 7777
pfcp:
- addr: 127.0.0.4
gtpc:
- addr: 127.0.0.4
- addr: ::1
gtpu:
- addr: 127.0.0.4
- addr: ::1
subnet:
- addr: 10.45.0.1/16
- addr: 2001:db8:cafe::1/48
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: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
addr: 127.0.0.9
#
# <For Indirect Communication with Delegated Discovery>
#
# o (Default) If you do not set Delegated Discovery as shown below,
#
# sbi:
# - addr: 127.0.0.5
# port: 7777
#
# - Use SCP if SCP avaiable. Otherwise NRF is used.
# => App fails if both NRF and SCP are unavailable.
#
# sbi:
# - addr: 127.0.0.5
# port: 7777
# discovery:
# delegated: auto
#
# o To use SCP always => App fails if no SCP available.
# delegated: yes
#
# o Don't use SCP server => App fails if no NRF available.
# delegated: no
#
amf:
sbi:
- addr: 127.0.0.5
port: 7777
ngap:
- addr: 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
sgwu:
pfcp:
- addr: 127.0.0.6
gtpu:
- addr: 127.0.0.6
upf:
pfcp:
- addr: 127.0.0.7
gtpu:
- addr: 127.0.0.7
subnet:
- addr: 10.45.0.1/16
- addr: 2001:db8:cafe::1/48
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
addr: 127.0.0.2
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
addr: 127.0.0.4
nrf:
sbi:
- addr:
- 127.0.0.10
- ::1
port: 7777
#
# scp:
#
# <SBI Client>>
#
# o SBI Client(http://127.0.1.10:7777)
# sbi:
# addr: 127.0.1.10
# port: 7777
#
# o SBI Client(https://127.0.1.10:443, http://scp.open5gs.org:80)
# sbi:
# - addr: 127.0.1.10
# tls:
# key: scp.key
# pem: scp.pem
# - name: scp.open5gs.org
#
# o SBI Client(http://[fd69:f21d:873c:fb::1]:80)
# If prefer_ipv4 is true, http://127.0.1.10:80 is selected.
#
# sbi:
# addr:
# - 127.0.1.10
# - fd69:f21d:873c:fb::1
#
# o SBI Option (Default)
# - tcp_nodelay : true
# - so_linger.l_onoff : false
#
# sbi:
# addr: 127.0.1.10
# option:
# tcp_nodelay: false
# so_linger:
# l_onoff: true
# l_linger: 10
#
#
scp:
sbi:
- addr: 127.0.1.10
port: 7777
ausf:
sbi:
- addr: 127.0.0.11
port: 7777
udm:
sbi:
- addr: 127.0.0.12
port: 7777
pcf:
sbi:
- addr: 127.0.0.13
port: 7777
nssf:
sbi:
- addr: 127.0.0.14
port: 7777
nsi:
- addr: 127.0.0.10
port: 7777
s_nssai:
sst: 1
bsf:
sbi:
- addr: 127.0.0.15
port: 7777
udr:
sbi:
- addr: 127.0.0.20
port: 7777

246
configs/slice.yaml.in Normal file
View File

@@ -0,0 +1,246 @@
db_uri: mongodb://localhost/open5gs
logger:
parameter:
# no_nrf: true
no_scp: 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.0.2
no_fwd: true
load_extension:
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
addr: 127.0.0.8
s1ap:
- addr: 127.0.0.2
gtpc:
- addr: 127.0.0.2
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:
- addr: 127.0.0.3
pfcp:
- addr: 127.0.0.3
smf:
sbi:
- addr: 127.0.0.4
port: 7777
pfcp:
- addr: 127.0.0.4
gtpc:
- addr: 127.0.0.4
- addr: ::1
gtpu:
- addr: 127.0.0.4
- addr: ::1
subnet:
- addr: 10.45.0.1/16
- addr: 2001:db8:cafe::1/48
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: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
addr: 127.0.0.9
amf:
sbi:
- addr: 127.0.0.5
port: 7777
ngap:
- addr: 127.0.0.5
guami:
- plmn_id:
mcc: 999
mnc: 70
amf_id:
region: 202
set: 1016
tai:
- plmn_id:
mcc: 999
mnc: 70
tac: 1
plmn_support:
- plmn_id:
mcc: 999
mnc: 70
s_nssai:
- sst: 1
- sst: 1
sd: 000080
- sst: 1
sd: 009000
security:
integrity_order : [ NIA2, NIA1 ]
ciphering_order : [ NEA0, NEA1, NEA2 ]
network_name:
full: Open5GS
amf_name: open5gs-amf0
sgwu:
pfcp:
- addr: 127.0.0.6
gtpu:
- addr: 127.0.0.6
upf:
pfcp:
- addr: 127.0.0.7
gtpu:
- addr: 127.0.0.7
subnet:
- addr: 10.45.0.1/16
- addr: 2001:db8:cafe::1/48
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
addr: 127.0.0.2
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
addr: 127.0.0.4
nrf:
sbi:
- addr:
- 127.0.0.10
- ::1
port: 7777
ausf:
sbi:
- addr: 127.0.0.11
port: 7777
udm:
sbi:
- addr: 127.0.0.12
port: 7777
pcf:
sbi:
- addr: 127.0.0.13
port: 7777
nssf:
sbi:
- addr: 127.0.0.14
port: 7777
nsi:
- addr: ::1
port: 7777
s_nssai:
sst: 1
- addr: 127.0.0.19
port: 7777
s_nssai:
sst: 1
sd: 000080
- addr: 127.0.0.10
port: 7777
s_nssai:
sst: 1
sd: 009000
bsf:
sbi:
- addr: 127.0.0.15
port: 7777
udr:
sbi:
- addr: 127.0.0.20
port: 7777

232
configs/srslte.yaml.in Normal file
View File

@@ -0,0 +1,232 @@
db_uri: mongodb://localhost/open5gs
logger:
parameter:
# no_nrf: true
# no_scp: 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.0.2
no_fwd: true
load_extension:
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
addr: 127.0.0.8
s1ap:
- addr: 127.0.1.100
gtpc:
- addr: 127.0.0.2
gummei:
plmn_id:
mcc: 999
mnc: 70
mme_gid: 2
mme_code: 1
tai:
plmn_id:
mcc: 999
mnc: 70
tac: 7
security:
integrity_order : [ EIA2, EIA1, EIA0 ]
ciphering_order : [ EEA0, EEA1, EEA2 ]
network_name:
full: Open5GS
sgwc:
gtpc:
- addr: 127.0.0.3
pfcp:
- addr: 127.0.0.3
smf:
# sbi:
# - addr: 127.0.0.4
# port: 7777
pfcp:
- addr: 127.0.0.4
gtpc:
- addr: 127.0.0.4
- addr: ::1
gtpu:
- addr: 127.0.0.4
- addr: ::1
subnet:
- addr: 10.45.0.1/16
- addr: 2001:db8:cafe::1/48
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: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
addr: 127.0.0.9
amf:
sbi:
- addr: 127.0.0.5
port: 7777
ngap:
- addr: 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
sgwu:
pfcp:
- addr: 127.0.0.6
gtpu:
- addr: 127.0.0.6
upf:
pfcp:
- addr: 127.0.0.7
gtpu:
- addr: 127.0.0.7
subnet:
- addr: 10.45.0.1/16
- addr: 2001:db8:cafe::1/48
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
addr: 127.0.0.2
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
addr: 127.0.0.4
#nrf:
# sbi:
# - addr:
# - 127.0.0.10
# - ::1
# port: 7777
ausf:
sbi:
- addr: 127.0.0.11
port: 7777
udm:
sbi:
- addr: 127.0.0.12
port: 7777
pcf:
sbi:
- addr: 127.0.0.13
port: 7777
nssf:
sbi:
- addr: 127.0.0.14
port: 7777
nsi:
- addr: 127.0.0.10
port: 7777
s_nssai:
sst: 1
bsf:
sbi:
- addr: 127.0.0.15
port: 7777
udr:
sbi:
- addr: 127.0.0.20
port: 7777

View File

@@ -0,0 +1,3 @@
[NetDev]
Name=ogstun
Kind=tun

View File

@@ -0,0 +1,10 @@
[Match]
Name=ogstun
[Network]
Address=10.45.0.1/16
Address=2001:db8:cafe::1/48
[Link]
MTUBytes=1400
RequiredForOnline=false

View File

@@ -0,0 +1,54 @@
# 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/>.
systemd_conf_in = '''
open5gs-mmed.service
open5gs-sgwcd.service
open5gs-smfd.service
open5gs-amfd.service
open5gs-sgwud.service
open5gs-upfd.service
open5gs-hssd.service
open5gs-pcrfd.service
open5gs-nrfd.service
open5gs-scpd.service
open5gs-ausfd.service
open5gs-udmd.service
open5gs-pcfd.service
open5gs-nssfd.service
open5gs-bsfd.service
open5gs-udrd.service
'''.split()
foreach file : systemd_conf_in
configure_file(
input : file + '.in',
output : file,
configuration : conf_data)
endforeach
systemd_conf = '''
99-open5gs.netdev
99-open5gs.network
'''.split()
foreach file : systemd_conf
configure_file(
input : file,
output : file,
configuration : conf_data)
endforeach

View File

@@ -0,0 +1,18 @@
[Unit]
Description=Open5GS AMF Daemon
After=network-online.target
[Service]
Type=simple
User=open5gs
Group=open5gs
Restart=always
ExecStart=@bindir@/open5gs-amfd -c @sysconfdir@/open5gs/amf.yaml
RestartSec=2
RestartPreventExitStatus=1
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,18 @@
[Unit]
Description=Open5GS AUSF Daemon
After=network-online.target
[Service]
Type=simple
User=open5gs
Group=open5gs
Restart=always
ExecStart=@bindir@/open5gs-ausfd -c @sysconfdir@/open5gs/ausf.yaml
RestartSec=2
RestartPreventExitStatus=1
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,18 @@
[Unit]
Description=Open5GS BSF Daemon
Wants=mongodb.service mongod.service
[Service]
Type=simple
User=open5gs
Group=open5gs
Restart=always
ExecStart=@bindir@/open5gs-bsfd -c @sysconfdir@/open5gs/bsf.yaml
RestartSec=2
RestartPreventExitStatus=1
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,18 @@
[Unit]
Description=Open5GS HSS Daemon
Wants=mongodb.service mongod.service
[Service]
Type=simple
User=open5gs
Group=open5gs
Restart=always
ExecStart=@bindir@/open5gs-hssd -c @sysconfdir@/open5gs/hss.yaml
RestartSec=2
RestartPreventExitStatus=1
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,18 @@
[Unit]
Description=Open5GS MME Daemon
After=network-online.target
[Service]
Type=simple
User=open5gs
Group=open5gs
Restart=always
ExecStart=@bindir@/open5gs-mmed -c @sysconfdir@/open5gs/mme.yaml
RestartSec=2
RestartPreventExitStatus=1
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,18 @@
[Unit]
Description=Open5GS NRF Daemon
Wants=mongodb.service mongod.service
[Service]
Type=simple
User=open5gs
Group=open5gs
Restart=always
ExecStart=@bindir@/open5gs-nrfd -c @sysconfdir@/open5gs/nrf.yaml
RestartSec=2
RestartPreventExitStatus=1
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,18 @@
[Unit]
Description=Open5GS NSSF Daemon
After=network-online.target
[Service]
Type=simple
User=open5gs
Group=open5gs
Restart=always
ExecStart=@bindir@/open5gs-nssfd -c @sysconfdir@/open5gs/nssf.yaml
RestartSec=2
RestartPreventExitStatus=1
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,18 @@
[Unit]
Description=Open5GS PCF Daemon
Wants=mongodb.service mongod.service
[Service]
Type=simple
User=open5gs
Group=open5gs
Restart=always
ExecStart=@bindir@/open5gs-pcfd -c @sysconfdir@/open5gs/pcf.yaml
RestartSec=2
RestartPreventExitStatus=1
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,18 @@
[Unit]
Description=Open5GS PCRF Daemon
Wants=mongodb.service mongod.service
[Service]
Type=simple
User=open5gs
Group=open5gs
Restart=always
ExecStart=@bindir@/open5gs-pcrfd -c @sysconfdir@/open5gs/pcrf.yaml
RestartSec=2
RestartPreventExitStatus=1
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,18 @@
[Unit]
Description=Open5GS NRF Daemon
Wants=mongodb.service mongod.service
[Service]
Type=simple
User=open5gs
Group=open5gs
Restart=always
ExecStart=@bindir@/open5gs-scpd -c @sysconfdir@/open5gs/scp.yaml
RestartSec=2
RestartPreventExitStatus=1
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,18 @@
[Unit]
Description=Open5GS SGW-C Daemon
After=network-online.target
[Service]
Type=simple
User=open5gs
Group=open5gs
Restart=always
ExecStart=@bindir@/open5gs-sgwcd -c @sysconfdir@/open5gs/sgwc.yaml
RestartSec=2
RestartPreventExitStatus=1
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,18 @@
[Unit]
Description=Open5GS SGW-U Daemon
After=network-online.target
[Service]
Type=simple
User=open5gs
Group=open5gs
Restart=always
ExecStart=@bindir@/open5gs-sgwud -c @sysconfdir@/open5gs/sgwu.yaml
RestartSec=2
RestartPreventExitStatus=1
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,18 @@
[Unit]
Description=Open5GS SMF Daemon
After=network-online.target
[Service]
Type=simple
User=open5gs
Group=open5gs
Restart=always
ExecStart=@bindir@/open5gs-smfd -c @sysconfdir@/open5gs/smf.yaml
RestartSec=2
RestartPreventExitStatus=1
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,18 @@
[Unit]
Description=Open5GS UDM Daemon
After=network-online.target
[Service]
Type=simple
User=open5gs
Group=open5gs
Restart=always
ExecStart=@bindir@/open5gs-udmd -c @sysconfdir@/open5gs/udm.yaml
RestartSec=2
RestartPreventExitStatus=1
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,18 @@
[Unit]
Description=Open5GS UDR Daemon
Wants=mongodb.service mongod.service
[Service]
Type=simple
User=open5gs
Group=open5gs
Restart=always
ExecStart=@bindir@/open5gs-udrd -c @sysconfdir@/open5gs/udr.yaml
RestartSec=2
RestartPreventExitStatus=1
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,19 @@
[Unit]
Description=Open5GS UPF Daemon
After=network-online.target systemd-networkd.service
Wants=systemd-networkd.service
[Service]
Type=simple
User=open5gs
Group=open5gs
Restart=always
ExecStart=@bindir@/open5gs-upfd -c @sysconfdir@/open5gs/upf.yaml
RestartSec=2
RestartPreventExitStatus=1
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

239
configs/volte.yaml.in Normal file
View File

@@ -0,0 +1,239 @@
db_uri: mongodb://localhost/open5gs
logger:
parameter:
# no_nrf: true
# no_scp: 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.0.2
no_fwd: true
load_extension:
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
addr: 127.0.0.8
s1ap:
- addr: 127.0.0.2
gtpc:
- addr: 127.0.0.2
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:
- addr: 127.0.0.3
pfcp:
- addr: 127.0.0.3
smf:
# sbi:
# - addr: 127.0.0.4
# port: 7777
pfcp:
- addr: 127.0.0.4
gtpc:
- addr: 127.0.0.4
- addr: ::1
gtpu:
- addr: 127.0.0.4
- addr: ::1
subnet:
- addr: 10.45.0.1/16
- addr: 2001:db8:cafe::1/48
dns:
- 8.8.8.8
- 8.8.4.4
- 2001:4860:4860::8888
- 2001:4860:4860::8844
p-cscf:
- 127.0.0.1
- ::1
mtu: 1400
freeDiameter:
identity: smf.localdomain
realm: localdomain
listen_on: 127.0.0.4
no_fwd: true
load_extension:
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
addr: 127.0.0.9
amf:
sbi:
- addr: 127.0.0.5
port: 7777
ngap:
- addr: 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
sgwu:
pfcp:
- addr: 127.0.0.6
gtpu:
- addr: 127.0.0.6
upf:
pfcp:
- addr: 127.0.0.7
gtpu:
- addr: 127.0.0.7
subnet:
- addr: 10.45.0.1/16
- addr: 2001:db8:cafe::1/48
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
addr: 127.0.0.2
- identity: ims.localdomain
addr: 127.0.0.1
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
addr: 127.0.0.4
- identity: ims.localdomain
addr: 127.0.0.1
#nrf:
# sbi:
# - addr:
# - 127.0.0.10
# - ::1
# port: 7777
ausf:
sbi:
- addr: 127.0.0.11
port: 7777
udm:
sbi:
- addr: 127.0.0.12
port: 7777
pcf:
sbi:
- addr: 127.0.0.13
port: 7777
nssf:
sbi:
- addr: 127.0.0.14
port: 7777
nsi:
- addr: 127.0.0.10
port: 7777
s_nssai:
sst: 1
bsf:
sbi:
- addr: 127.0.0.15
port: 7777
udr:
sbi:
- addr: 127.0.0.20
port: 7777

247
configs/vonr.yaml.in Normal file
View File

@@ -0,0 +1,247 @@
db_uri: mongodb://localhost/open5gs
logger:
parameter:
# no_nrf: true
# no_scp: 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.0.2
no_fwd: true
load_extension:
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: hss.localdomain
addr: 127.0.0.8
s1ap:
- addr: 127.0.0.2
gtpc:
- addr: 127.0.0.2
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:
- addr: 127.0.0.3
pfcp:
- addr: 127.0.0.3
smf:
sbi:
- addr: 127.0.0.4
port: 7777
pfcp:
- addr: 127.0.0.4
gtpc:
- addr: 127.0.0.4
- addr: ::1
gtpu:
- addr: 127.0.0.4
- addr: ::1
subnet:
- addr: 10.45.0.1/16
- addr: 2001:db8:cafe::1/48
dns:
- 8.8.8.8
- 8.8.4.4
- 2001:4860:4860::8888
- 2001:4860:4860::8844
p-cscf:
- 127.0.0.1
- ::1
mtu: 1400
freeDiameter:
identity: smf.localdomain
realm: localdomain
listen_on: 127.0.0.4
no_fwd: true
load_extension:
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: pcrf.localdomain
addr: 127.0.0.9
amf:
sbi:
- addr: 127.0.0.5
port: 7777
ngap:
- addr: 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
sgwu:
pfcp:
- addr: 127.0.0.6
gtpu:
- addr: 127.0.0.6
upf:
pfcp:
- addr: 127.0.0.7
gtpu:
- addr: 127.0.0.7
subnet:
- addr: 10.45.0.1/16
- addr: 2001:db8:cafe::1/48
hss:
freeDiameter:
identity: hss.localdomain
realm: localdomain
listen_on: 127.0.0.8
no_fwd: true
load_extension:
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: mme.localdomain
addr: 127.0.0.2
pcrf:
freeDiameter:
identity: pcrf.localdomain
realm: localdomain
listen_on: 127.0.0.9
no_fwd: true
load_extension:
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
conf: 0x8888
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp/dict_dcca_3gpp.fdx
connect:
- identity: smf.localdomain
addr: 127.0.0.4
- identity: pcscf.localdomain
addr: 127.0.0.1
nrf:
sbi:
- addr:
- 127.0.0.10
- ::1
port: 7777
scp:
sbi:
- addr: 127.0.1.10
port: 7777
ausf:
sbi:
- addr: 127.0.0.11
port: 7777
udm:
sbi:
- addr: 127.0.0.12
port: 7777
pcf:
sbi:
- addr: 127.0.0.13
port: 7777
nssf:
sbi:
- addr: 127.0.0.14
port: 7777
nsi:
- addr: 127.0.0.10
port: 7777
s_nssai:
sst: 1
bsf:
sbi:
- addr: 127.0.0.15
port: 7777
af:
sbi:
- addr: 127.0.0.16
port: 7777
udr:
sbi:
- addr: 127.0.0.20
port: 7777

View File

@@ -1,374 +0,0 @@
dnl Process this file with autoconf to produce a configure script.
dnl
dnl This file is free software; as a special exception the author gives
dnl unlimited permission to copy and/or distribute it, with or without
dnl modifications, as long as this notice is preserved.
dnl
dnl This program is distributed in the hope that it will be useful, but
dnl WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
AC_INIT([NEXTEPC], [0.1.0], [acetcom@gmail.com])
CORE_CONFIG_NICE(config.nice)
dnl Must come before AM_INIT_AUTOMAKE.
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([1.10 -Wall -Werror foreign])
# Minimum Autoconf version required.
AC_PREREQ(2.63)
# Where to generate output; srcdir location.
AC_CONFIG_HEADERS([config.h:config.in])dnl Keep filename to 8.3 for MS-DOS.
AC_CONFIG_SRCDIR([main.c])
AC_CANONICAL_HOST
case $host in
*linux*)
OSDIR="unix"
OSCPPFLAGS="-DLINUX=1"
IPFW_CPPFLAGS="-DNEED_SYSCTLBYNAME -DNEED_SIN_LEN"
;;
*-apple-darwin*)
OSDIR="unix"
OSPPCFLAGS="-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK"
;;
*)
OSDIR="unix"
;;
esac
AC_SUBST(OSCPPFLAGS)
AC_SUBST(OSDIR)
AC_SUBST(IPFW_CPPFLAGS)
AH_TOP([
#ifndef __NEXTEPC_CONFIG_H__
#define __NEXTEPC_CONFIG_H__
/* need this, because some autoconf tests rely on this (e.g. stpcpy)
* and it should be used for new programs */
#define _DEFAULT_SOURCE 1
#define _BSD_SOURCE 1
])
AH_BOTTOM([
#endif /* __NEXTEPC_CONFIG_H__ */
])
AH_VERBATIM([_REENTRANT],
[/* To allow the use of core in multithreaded programs we have to use
special features from the library. */
#ifndef _REENTRANT
# define _REENTRANT 1
#endif
])
dnl Checks CC and freinds
AC_PROG_CC
AC_PROG_CPP
AC_PROG_INSTALL
AC_PROG_AWK
AC_PROG_SED
#AC_PROG_YACC
#AC_PROG_LEX
AM_PROG_AR
dnl libtool
LT_INIT
dnl Checks for compile flag
AX_CHECK_COMPILE_FLAG([-Wno-unused-result], [CFLAGS="$CFLAGS -Wno-unused-result"])
dnl Checks for pointer size
AC_CHECK_SIZEOF(void*, 4)
dnl Checks for integer size
AC_CHECK_SIZEOF(char, 1)
AC_CHECK_SIZEOF(int, 4)
AC_CHECK_SIZEOF(long, 4)
AC_CHECK_SIZEOF(short, 2)
AC_CHECK_SIZEOF(long long, 8)
if test "$ac_cv_sizeof_short" = "2"; then
short_value=short
fi
if test "$ac_cv_sizeof_int" = "4"; then
int_value=int
fi
# Now we need to find what c_int64_t (sizeof == 8) will be.
# The first match is our preference.
if test "$ac_cv_sizeof_int" = "8"; then
int64_literal='#define C_INT64_C(val) (val)'
uint64_literal='#define C_UINT64_C(val) (val##U)'
int64_t_fmt='#define C_INT64_T_FMT "d"'
uint64_t_fmt='#define C_UINT64_T_FMT "u"'
uint64_t_hex_fmt='#define C_UINT64_T_HEX_FMT "x"'
int64_value="int"
long_value=int
int64_strfn="strtoi"
elif test "$ac_cv_sizeof_long" = "8"; then
int64_literal='#define C_INT64_C(val) (val##L)'
uint64_literal='#define C_UINT64_C(val) (val##UL)'
int64_t_fmt='#define C_INT64_T_FMT "ld"'
uint64_t_fmt='#define C_UINT64_T_FMT "lu"'
uint64_t_hex_fmt='#define C_UINT64_T_HEX_FMT "lx"'
int64_value="long"
long_value=long
int64_strfn="strtol"
elif test "$ac_cv_sizeof_long_long" = "8"; then
int64_literal='#define C_INT64_C(val) (val##LL)'
uint64_literal='#define C_UINT64_C(val) (val##ULL)'
# Linux, Solaris, FreeBSD all support ll with printf.
# BSD 4.4 originated 'q'. Solaris is more popular and
# doesn't support 'q'. Solaris wins. Exceptions can
# go to the OS-dependent section.
int64_t_fmt='#define C_INT64_T_FMT "lld"'
uint64_t_fmt='#define C_UINT64_T_FMT "llu"'
uint64_t_hex_fmt='#define C_UINT64_T_HEX_FMT "llx"'
int64_value="long long"
long_value="long long"
int64_strfn="strtoll"
elif test "$ac_cv_sizeof_longlong" = "8"; then
int64_literal='#define C_INT64_C(val) (val##LL)'
uint64_literal='#define C_UINT64_C(val) (val##ULL)'
int64_t_fmt='#define C_INT64_T_FMT "qd"'
uint64_t_fmt='#define C_UINT64_T_FMT "qu"'
uint64_t_hex_fmt='#define C_UINT64_T_HEX_FMT "qx"'
int64_value="__int64"
long_value="__int64"
int64_strfn="strtoll"
else
# int64_literal may be overriden if your compiler thinks you have
# a 64-bit value but CORE does not agree.
AC_ERROR([could not detect a 64-bit integer type])
fi
AC_SUBST(short_value)
AC_SUBST(int_value)
AC_SUBST(long_value)
AC_SUBST(int64_value)
AC_SUBST(int64_t_fmt)
AC_SUBST(uint64_t_fmt)
AC_SUBST(uint64_t_hex_fmt)
AC_SUBST(int64_literal)
AC_SUBST(uint64_literal)
AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MAJOR],
[`echo $PACKAGE_VERSION | $SED 's/^\([[^\.]]\+\)\.\([[^\.]]\+\)\.\([[^\.]]\+\).*/\1/'`],
[Major version of this package])
AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MINOR],
[`echo $PACKAGE_VERSION | $SED 's/^\([[^\.]]\+\)\.\([[^\.]]\+\)\.\([[^\.]]\+\).*/\2/'`],
[Minor version of this package])
AC_DEFINE_UNQUOTED([PACKAGE_VERSION_PATCHLEVEL],
[`echo $PACKAGE_VERSION | $SED 's/^\([[^\.]]\+\)\.\([[^\.]]\+\)\.\([[^\.]]\+\).*/\3/'`],
[Patch version of this package])
##################################
#### Checks for header files. ####
##################################
AC_HEADER_STDC
AC_CHECK_HEADERS( \
arpa/inet.h \
ctype.h \
errno.h \
fcntl.h \
ifaddrs.h \
limits.h \
netdb.h \
pthread.h \
regex.h \
semaphore.h \
signal.h \
stdarg.h \
stdio.h \
stdint.h \
stdlib.h \
string.h \
strings.h \
time.h \
unistd.h \
net/if_dl.h \
net/if.h \
netinet/ether.h \
netinet/in.h \
netinet/ip.h \
netinet/udp.h \
netinet/tcp.h \
netinet/sctp.h \
sys/ioctl.h \
sys/param.h \
sys/socket.h \
sys/stat.h \
sys/syslimits.h \
sys/types.h \
sys/time.h \
sys/wait.h \
sys/uio.h \
)
##########################################
#### Checks for typedefs, structures, ####
#### and compiler characteristics. ####
##########################################
AC_C_BIGENDIAN
AC_CHECK_MEMBERS([struct tm.tm_gmtoff, struct tm.__tm_gmtoff],,,[
#include <sys/types.h>
#include <time.h>])
AC_CHECK_FILE(/dev/random,
AC_DEFINE([HAVE_DEV_RANDOM], [1],
[Define to 1 if you have the /dev/random file.]))
AC_CACHE_CHECK([whether the compiler provides atomic builtins], [ap_cv_atomic_builtins],
[AC_TRY_RUN([
int main()
{
unsigned long val = 1010, tmp, *mem = &val;
if (__sync_fetch_and_add(&val, 1010) != 1010 || val != 2020)
return 1;
tmp = val;
if (__sync_fetch_and_sub(mem, 1010) != tmp || val != 1010)
return 1;
if (__sync_sub_and_fetch(&val, 1010) != 0 || val != 0)
return 1;
tmp = 3030;
if (__sync_val_compare_and_swap(mem, 0, tmp) != 0 || val != tmp)
return 1;
if (__sync_lock_test_and_set(&val, 4040) != 3030)
return 1;
mem = &tmp;
if (__sync_val_compare_and_swap(&mem, &tmp, &val) != &tmp)
return 1;
__sync_synchronize();
if (mem != &val)
return 1;
return 0;
}], [ap_cv_atomic_builtins=yes], [ap_cv_atomic_builtins=no], [ap_cv_atomic_builtins=no])])
if test "$ap_cv_atomic_builtins" = "yes"; then
AC_DEFINE(HAVE_ATOMIC_BUILTINS, 1, [Define if compiler provides atomic builtins])
fi
#######################################
#### Checks for library functions. ####
#######################################
AC_FUNC_VPRINTF
AC_CHECK_FUNCS(\
atexit \
gettimeofday \
inet_ntop \
inet_pton \
inet_aton \
memmove \
sigaction \
sigwait \
sigsuspend \
stpcpy \
strcasecmp \
strtoul \
stricmp \
strerror \
writev \
utime \
utimes \
sem_timedwait \
pthread_yield \
sched_yield \
)
AC_CHECK_LIB([pthread], [pthread_mutex_init], [LIBS="${LIBS} -lpthread"])
AC_CHECK_LIB([dl], [dlopen], [LIBS="${LIBS} -ldl"])
AC_CHECK_LIB([sctp], [sctp_sendmsg], [LIBS="${LIBS} -lsctp"])
AC_CHECK_LIB([gnutls], [gnutls_global_init], [LIBS="${LIBS} -lgnutls"])
AC_CHECK_LIB([gcrypt], [gcry_control], [LIBS="${LIBS} -lgcrypt"])
AC_CHECK_LIB([idn], [idna_strerror], [LIBS="${LIBS} -lidn"])
#AC_CHECK_LIB([fdcore], [fd_core_initialize], [LIBS="${LIBS} -lfdcore"])
#AC_CHECK_LIB([fdproto], [fd_libproto_init], [LIBS="${LIBS} -lfdproto"])
PKG_CHECK_MODULES([MONGOC], libmongoc-1.0 >= 1.3.1)
LIBS="$LIBS $MONGOC_LIBS"
#PKG_CHECK_MODULES([LIBXML2], libxml-2.0 >= 2.9.1)
#LIBS="$LIBS $LIBXML2_LIBS"
FREEDIAMETER_DIR=freeDiameter-1.2.1
AC_SUBST(FREEDIAMETER_DIR)
#####################
#### Conclusion. ####
#####################
AC_CONFIG_SUBDIRS([lib/freeDiameter-1.2.1])
AC_CONFIG_FILES([lib/core/include/core.h])
AC_CONFIG_FILES([lib/core/src/Makefile])
case $host in
*)
AC_CONFIG_FILES([lib/core/src/unix/Makefile])
;;
esac
AC_CONFIG_FILES([lib/core/test/Makefile])
AC_CONFIG_FILES([lib/core/Makefile])
AC_CONFIG_FILES([lib/logger/Makefile])
AC_CONFIG_FILES([lib/base/Makefile])
AC_CONFIG_FILES([lib/s1ap/asn1c/Makefile])
AC_CONFIG_FILES([lib/s1ap/Makefile])
AC_CONFIG_FILES([lib/nas/Makefile])
AC_CONFIG_FILES([lib/fd/extensions/dbg_msg_dumps/Makefile])
#AC_CONFIG_FILES([lib/fd/extensions/dict_legacy_xml/Makefile])
AC_CONFIG_FILES([lib/fd/extensions/dict_rfc5777/Makefile])
AC_CONFIG_FILES([lib/fd/extensions/dict_mip6i/Makefile])
AC_CONFIG_FILES([lib/fd/extensions/dict_nasreq/Makefile])
AC_CONFIG_FILES([lib/fd/extensions/dict_nas_mipv6/Makefile])
AC_CONFIG_FILES([lib/fd/extensions/dict_dcca/Makefile])
AC_CONFIG_FILES([lib/fd/extensions/dict_dcca_3gpp/Makefile])
AC_CONFIG_FILES([lib/fd/extensions/dict_s6a/Makefile])
AC_CONFIG_FILES([lib/fd/extensions/Makefile])
AC_CONFIG_FILES([lib/fd/gx/Makefile])
AC_CONFIG_FILES([lib/fd/s6a/Makefile])
AC_CONFIG_FILES([lib/fd/Makefile])
AC_CONFIG_FILES([lib/gtp/Makefile])
AC_CONFIG_FILES([lib/ipfw/Makefile])
AC_CONFIG_FILES([lib/Makefile])
AC_CONFIG_FILES([src/mme/Makefile])
AC_CONFIG_FILES([src/hss/Makefile])
AC_CONFIG_FILES([src/sgw/Makefile])
AC_CONFIG_FILES([src/pgw/Makefile])
AC_CONFIG_FILES([src/pcrf/Makefile])
AC_CONFIG_FILES([src/Makefile])
AC_CONFIG_FILES([test/Makefile])
AC_CONFIG_FILES([support/nextepc.conf])
AC_CONFIG_FILES([support/freeDiameter/mme.conf])
AC_CONFIG_FILES([support/freeDiameter/hss.conf])
AC_CONFIG_FILES([support/freeDiameter/pgw.conf])
AC_CONFIG_FILES([support/freeDiameter/pcrf.conf])
#AC_CONFIG_FILES([support/freeDiameter/dict_legacy_xml.conf])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
echo "
NextEPC configuration
--------------------
version : ${PACKAGE_VERSION}
host : ${host}
source code location : ${srcdir}
compiler : ${CC}
compiler flags : ${CFLAGS}
linker flags : ${LDFLAGS} ${LIBS}
config file directory : `eval echo \`echo ${sysconfdir}\``
log file directory : `eval echo \`echo ${prefix}/var/log\``
"

2017
debian/changelog vendored Normal file

File diff suppressed because it is too large Load Diff

1
debian/compat vendored Normal file
View File

@@ -0,0 +1 @@
11

288
debian/control vendored Normal file
View File

@@ -0,0 +1,288 @@
Source: open5gs
Section: net
Priority: optional
Maintainer: Harald Welte <laforge@gnumonks.org>
Uploaders: Sukchan Lee <acetcom@gmail.com>
Build-Depends: debhelper (>= 11),
git,
pkg-config,
meson (>= 0.43.0),
flex,
bison,
libgnutls28-dev,
libgcrypt-dev,
libssl-dev,
libidn11-dev,
libmongoc-dev,
libbson-dev,
libsctp-dev,
libyaml-dev,
libmicrohttpd-dev,
libcurl4-gnutls-dev,
libnghttp2-dev,
libtins-dev,
libtalloc-dev,
Standards-Version: 4.3.0
Rules-Requires-Root: no
Homepage: https://open5gs.org
Vcs-Browser: https://github.com/open5gs/open5gs
Vcs-Git: git://github.com/open5gs/open5gs
Package: open5gs-common
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends}
Description: 5G Core and EPC (Shared Files)
Open5GS is a C-language implementation of 5G Core and EPC
Packet Core, i.e. the core network of an NR/LTE network (Release-16)
.
This package contains some core libraries/plugins required by the other
binary packages such as open5gs-{mme,sgwc,sgwu,amf,smf,upf,...}.
Package: open5gs-mme
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
open5gs-common (= ${binary:Version})
Description: MME (Mobility Management Entity)
Open5GS is a C-language implementation of 5G Core and EPC
Packet Core, i.e. the core network of an NR/LTE network (Release-16)
.
This package provides the MME (Mobility Management Engine), which
terminates the S1 interfaces from the eNodeBs cells in the cellular
network, and interfaces via S11 to the SGW-C as well as via S6a to the
HSS.
Package: open5gs-sgwc
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
open5gs-common (= ${binary:Version})
Description: SGW-C (Serving Gateway - Control Plane)
Open5GS is a C-language implementation of 5G Core and EPC
Packet Core, i.e. the core network of an NR/LTE network (Release-16)
.
This package provides the SGW-C (Serving Gateway - Control Plane)
which is situated between the MME and PGW. It implements the S11 interface
to the MME, and the S5 interface to the SMF-C.
Package: open5gs-smf
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
open5gs-common (= ${binary:Version})
Description: SMF (Session Management Function)
Open5GS is a C-language implementation of 5G Core and EPC
Packet Core, i.e. the core network of an NR/LTE network (Release-16)
.
This package provides the SMF (Session Management Function)
Package: open5gs-amf
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
open5gs-common (= ${binary:Version})
Description: AMF (Access and Mobility Management Function)
Open5GS is a C-language implementation of 5G Core and EPC
Packet Core, i.e. the core network of an NR/LTE network (Release-16)
.
This package provides the AMF (Access and Mobility Management Function)
Package: open5gs-sgwu
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
open5gs-common (= ${binary:Version})
Description: SGW-U (Serving Gateway - User Plane)
Open5GS is a C-language implementation of 5G Core and EPC
Packet Core, i.e. the core network of an NR/LTE network (Release-16)
.
This package provides the SGW-U (Serving Gateway - User Plane)
which is situated between the eNB and UPF. It implements the S1U interface
to the eNB, and the S5U interface to the SMF-U.
Package: open5gs-upf
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
udev,
open5gs-common (= ${binary:Version})
Description: UPF (User Plane Function)
Open5GS is a C-language implementation of 5G Core and EPC
Packet Core, i.e. the core network of an NR/LTE network (Release-16)
.
This package provides the UPF (User Plane Function)
Package: open5gs-hss
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
mongodb-org | mongodb,
open5gs-common (= ${binary:Version})
Description: HSS (Home Subscriber Server)
Open5GS is a C-language implementation of 5G Core and EPC
Packet Core, i.e. the core network of an NR/LTE network (Release-16)
.
This package provides the HSS (Home Subscriber Server) element of the
EPC, i.e. the central database of mobile network subscribers, with
their IMSI, MSISDN, cryptographic key materials, service subscription
information, etc. It implements the S6a interface towards the MME
using the DIAMETER protocol.
Package: open5gs-pcrf
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
mongodb-org | mongodb,
open5gs-common (= ${binary:Version})
Description: PCRF (Policy and Charging Rules Function)
Open5GS is a C-language implementation of 5G Core and EPC
Packet Core, i.e. the core network of an NR/LTE network (Release-16)
.
This package contains the PCRF (Policy and Charging Rules Function),
which controls the service quality (QoS) of individual connections and
how to account/charge related traffic. It implements the Gx interface
towards the SMF-C using the DIAMETER protocol.
Package: open5gs-nrf
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
open5gs-common (= ${binary:Version})
Description: NRF (Network Repository Function)
Open5GS is a C-language implementation of 5G Core and EPC
Packet Core, i.e. the core network of an NR/LTE network (Release-16)
.
This package provides the NRF (Network Repository Function)
Package: open5gs-scp
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
open5gs-common (= ${binary:Version})
Description: SCP (Network Repository Function)
Open5GS is a C-language implementation of 5G Core and EPC
Packet Core, i.e. the core network of an NR/LTE network (Release-16)
.
This package provides the SCP (Service Communication Proxy)
Package: open5gs-ausf
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
open5gs-common (= ${binary:Version})
Description: AUSF (Authentication Server Function)
Open5GS is a C-language implementation of 5G Core and EPC
Packet Core, i.e. the core network of an NR/LTE network (Release-16)
.
This package provides the AUSF (Authentication Server Function)
Package: open5gs-udm
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
open5gs-common (= ${binary:Version})
Description: UDM (Unified Data Management)
Open5GS is a C-language implementation of 5G Core and EPC
Packet Core, i.e. the core network of an NR/LTE network (Release-16)
.
This package provides the UDM (Unified Data Managemement)
Package: open5gs-pcf
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
open5gs-common (= ${binary:Version})
Description: PCF (Policy Control Function)
Open5GS is a C-language implementation of 5G Core and EPC
Packet Core, i.e. the core network of an NR/LTE network (Release-16)
.
This package provides the PCF (Policy Control Function)
Package: open5gs-nssf
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
open5gs-common (= ${binary:Version})
Description: NSSF (Network Slice Selection Function)
Open5GS is a C-language implementation of 5G Core and EPC
Packet Core, i.e. the core network of an NR/LTE network (Release-16)
.
This package provides the NSSF (Network Slice Selection Function)
Package: open5gs-bsf
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
open5gs-common (= ${binary:Version})
Description: BSF (Binding Support Function)
Open5GS is a C-language implementation of 5G Core and EPC
Packet Core, i.e. the core network of an NR/LTE network (Release-16)
.
This package provides the BSF (Binding Support Function)
Package: open5gs-udr
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
open5gs-common (= ${binary:Version})
Description: UDR (Unified Data Repository)
Open5GS is a C-language implementation of 5G Core and EPC
Packet Core, i.e. the core network of an NR/LTE network (Release-16)
.
This package provides the UDR (Unified Data Repository)
Package: open5gs
Architecture: any
Multi-Arch: same
Depends: ${misc:Depends},
open5gs-common (= ${binary:Version}),
open5gs-mme (= ${binary:Version}),
open5gs-sgwc (= ${binary:Version}),
open5gs-smf (= ${binary:Version}),
open5gs-amf (= ${binary:Version}),
open5gs-sgwu (= ${binary:Version}),
open5gs-upf (= ${binary:Version}),
open5gs-hss (= ${binary:Version}),
open5gs-pcrf (= ${binary:Version}),
open5gs-nrf (= ${binary:Version}),
open5gs-scp (= ${binary:Version}),
open5gs-ausf (= ${binary:Version}),
open5gs-udm (= ${binary:Version}),
open5gs-pcf (= ${binary:Version}),
open5gs-nssf (= ${binary:Version}),
open5gs-bsf (= ${binary:Version}),
open5gs-udr (= ${binary:Version})
Description: 5G Core and EPC (metapackage)
Open5GS is a C-language implementation of 5G Core and EPC
Packet Core, i.e. the core network of an NR/LTE network (Release-16)
.
This is a metapackage that depends on all the open5gs parts.
Package: open5gs-dbg
Architecture: any
Multi-Arch: same
Depends: ${misc:Depends},
open5gs (= ${binary:Version})
Description: Debug symbols for Open5GS
Open5GS is a C-language implementation of 5G Core and EPC
Packet Core, i.e. the core network of an NR/LTE network (Release-16)
.
This package contains debug symbols for Open5GS.

55
debian/copyright vendored Normal file
View File

@@ -0,0 +1,55 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: open5gs
Source: https://github.com/open5gs/open5gs
Files: *
Copyright: 2017 Open5GS Group
License: AGPL-3
Files: lib/freeDiameter-1.2.1/*
Copyright: 2008-2011, WIDE Project and NICT
License: BSD-3-clause
Files: debian/*
Copyright: 2017 Harald Welte <laforge@gnumonks.org>
License: GPL-3
License: GPL-3
This package 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; version 3 of the License
.
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 <http://www.gnu.org/licenses/>.
.
On Debian systems, the complete text of the GNU General Public
License version 3 can be found in "/usr/share/common-licenses/GPL-3".
License: BSD-3-clause
Software License Agreement (BSD License)
.
Copyright (c) 2008-2011, WIDE Project and NICT
All rights reserved.
.
Redistribution and use of this software in source and binary forms, with or without modification, are·
permitted provided that the following conditions are met:
.
* Redistributions of source code must retain the above·
copyright notice, this list of conditions and the·
following disclaimer.
···
* Redistributions in binary form must reproduce the above·
copyright notice, this list of conditions and the·
following disclaimer in the documentation and/or other
materials provided with the distribution.
.
* Neither the name of the WIDE Project or NICT nor the·
names of its contributors may be used to endorse or·
promote products derived from this software without·
specific prior written permission of WIDE Project and·
NICT.

3
debian/open5gs-amf.install vendored Normal file
View File

@@ -0,0 +1,3 @@
usr/bin/open5gs-amfd
configs/open5gs/amf.yaml etc/open5gs
configs/systemd/open5gs-amfd.service lib/systemd/system

3
debian/open5gs-ausf.install vendored Normal file
View File

@@ -0,0 +1,3 @@
usr/bin/open5gs-ausfd
configs/open5gs/ausf.yaml etc/open5gs
configs/systemd/open5gs-ausfd.service lib/systemd/system

3
debian/open5gs-bsf.install vendored Normal file
View File

@@ -0,0 +1,3 @@
usr/bin/open5gs-bsfd
configs/open5gs/bsf.yaml etc/open5gs
configs/systemd/open5gs-bsfd.service lib/systemd/system

1
debian/open5gs-common.dirs vendored Normal file
View File

@@ -0,0 +1 @@
var/log/open5gs

5
debian/open5gs-common.install vendored Normal file
View File

@@ -0,0 +1,5 @@
usr/lib/*/libogs*.so*
usr/lib/*/libfd*.so*
usr/lib/*/freeDiameter/*.fdx
configs/freeDiameter/cacert.pem /etc/freeDiameter
configs/logrotate/open5gs /etc/logrotate.d

52
debian/open5gs-common.postinst vendored Normal file
View File

@@ -0,0 +1,52 @@
#!/bin/sh
# postinst script for open5gs-common
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postinst> `configure' <most-recently-configured-version>
# * <old-postinst> `abort-upgrade' <new version>
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
# <new-version>
# * <postinst> `abort-remove'
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
# <failed-install-package> <version> `removing'
# <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
configure)
# create a open5gs group and user
if ! getent passwd open5gs >/dev/null; then
adduser --system --disabled-password --disabled-login \
--home /var/run/open5gs --no-create-home \
--quiet --group open5gs
fi
for dir in /var/log/open5gs; do
if ! dpkg-statoverride --list "$dir" >/dev/null 2>&1; then
dpkg-statoverride --update --add open5gs open5gs 0755 "$dir"
fi
done
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

44
debian/open5gs-common.postrm vendored Normal file
View File

@@ -0,0 +1,44 @@
#!/bin/sh
# postrm script for open5gs-common
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postrm> `remove'
# * <postrm> `purge'
# * <old-postrm> `upgrade' <new-version>
# * <new-postrm> `failed-upgrade' <old-version>
# * <new-postrm> `abort-install'
# * <new-postrm> `abort-install' <old-version>
# * <new-postrm> `abort-upgrade' <old-version>
# * <disappearer's-postrm> `disappear' <overwriter>
# <overwriter-version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
purge)
rm -f /var/log/open5gs/*.log || true
rmdir /var/log/open5gs || true
;;
remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
;;
*)
echo "postrm called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

4
debian/open5gs-hss.install vendored Normal file
View File

@@ -0,0 +1,4 @@
usr/bin/open5gs-hssd
configs/freeDiameter/hss.* etc/freeDiameter
configs/open5gs/hss.yaml etc/open5gs
configs/systemd/open5gs-hssd.service lib/systemd/system

4
debian/open5gs-mme.install vendored Normal file
View File

@@ -0,0 +1,4 @@
usr/bin/open5gs-mmed
configs/freeDiameter/mme.* etc/freeDiameter
configs/open5gs/mme.yaml etc/open5gs
configs/systemd/open5gs-mmed.service lib/systemd/system

3
debian/open5gs-nrf.install vendored Normal file
View File

@@ -0,0 +1,3 @@
usr/bin/open5gs-nrfd
configs/open5gs/nrf.yaml etc/open5gs
configs/systemd/open5gs-nrfd.service lib/systemd/system

3
debian/open5gs-nssf.install vendored Normal file
View File

@@ -0,0 +1,3 @@
usr/bin/open5gs-nssfd
configs/open5gs/nssf.yaml etc/open5gs
configs/systemd/open5gs-nssfd.service lib/systemd/system

3
debian/open5gs-pcf.install vendored Normal file
View File

@@ -0,0 +1,3 @@
usr/bin/open5gs-pcfd
configs/open5gs/pcf.yaml etc/open5gs
configs/systemd/open5gs-pcfd.service lib/systemd/system

4
debian/open5gs-pcrf.install vendored Normal file
View File

@@ -0,0 +1,4 @@
usr/bin/open5gs-pcrfd
configs/freeDiameter/pcrf.* etc/freeDiameter
configs/open5gs/pcrf.yaml etc/open5gs
configs/systemd/open5gs-pcrfd.service lib/systemd/system

3
debian/open5gs-scp.install vendored Normal file
View File

@@ -0,0 +1,3 @@
usr/bin/open5gs-scpd
configs/open5gs/scp.yaml etc/open5gs
configs/systemd/open5gs-scpd.service lib/systemd/system

3
debian/open5gs-sgwc.install vendored Normal file
View File

@@ -0,0 +1,3 @@
usr/bin/open5gs-sgwcd
configs/open5gs/sgwc.yaml etc/open5gs
configs/systemd/open5gs-sgwcd.service lib/systemd/system

3
debian/open5gs-sgwu.install vendored Normal file
View File

@@ -0,0 +1,3 @@
usr/bin/open5gs-sgwud
configs/open5gs/sgwu.yaml etc/open5gs
configs/systemd/open5gs-sgwud.service lib/systemd/system

4
debian/open5gs-smf.install vendored Normal file
View File

@@ -0,0 +1,4 @@
usr/bin/open5gs-smfd
configs/freeDiameter/smf.* etc/freeDiameter
configs/open5gs/smf.yaml etc/open5gs
configs/systemd/open5gs-smfd.service lib/systemd/system

3
debian/open5gs-udm.install vendored Normal file
View File

@@ -0,0 +1,3 @@
usr/bin/open5gs-udmd
configs/open5gs/udm.yaml etc/open5gs
configs/systemd/open5gs-udmd.service lib/systemd/system

3
debian/open5gs-udr.install vendored Normal file
View File

@@ -0,0 +1,3 @@
usr/bin/open5gs-udrd
configs/open5gs/udr.yaml etc/open5gs
configs/systemd/open5gs-udrd.service lib/systemd/system

4
debian/open5gs-upf.install vendored Normal file
View File

@@ -0,0 +1,4 @@
usr/bin/open5gs-upfd
configs/open5gs/upf.yaml etc/open5gs
configs/systemd/99-open5gs.net* etc/systemd/network
configs/systemd/open5gs-upfd.service lib/systemd/system

55
debian/open5gs-upf.postinst vendored Normal file
View File

@@ -0,0 +1,55 @@
#!/bin/sh
# postinst script for open5gs-pgw
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postinst> `configure' <most-recently-configured-version>
# * <old-postinst> `abort-upgrade' <new version>
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
# <new-version>
# * <postinst> `abort-remove'
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
# <failed-install-package> <version> `removing'
# <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
configure)
if test "x`sysctl -n net.ipv6.conf.all.disable_ipv6`" = x1; then
echo "net.ipv6.conf.all.disable_ipv6=0" > /etc/sysctl.d/30-open5gs.conf
sysctl -p /etc/sysctl.d/30-open5gs.conf
fi
if test "x`systemctl is-enabled systemd-networkd`" = xdisabled; then
systemctl enable systemd-networkd
fi
if test -d "/run/systemd"; then
deb-systemd-invoke restart systemd-networkd
fi
if test -f /etc/sysctl.d/30-open5gs.conf && grep "ogstun" /proc/net/dev > /dev/null; then
echo "net.ipv6.conf.ogstun.disable_ipv6=0" > /etc/sysctl.d/30-open5gs.conf
sysctl -p /etc/sysctl.d/30-open5gs.conf
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

46
debian/open5gs-upf.postrm vendored Normal file
View File

@@ -0,0 +1,46 @@
#!/bin/sh
# postrm script for open5gs-pgw
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postrm> `remove'
# * <postrm> `purge'
# * <old-postrm> `upgrade' <new-version>
# * <new-postrm> `failed-upgrade' <old-version>
# * <new-postrm> `abort-install'
# * <new-postrm> `abort-install' <old-version>
# * <new-postrm> `abort-upgrade' <old-version>
# * <disappearer's-postrm> `disappear' <overwriter>
# <overwriter-version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
purge)
if grep "ogstun" /proc/net/dev > /dev/null; then
ip tuntap del name ogstun mode tun
fi
rm -f /etc/sysctl.d/30-open5gs.conf
;;
remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
;;
*)
echo "postrm called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

Some files were not shown because too many files have changed in this diff Show More