Commit Graph

1411 Commits

Author SHA1 Message Date
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
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 ae75f43a88 Initial proposal CUPS using PFCP 2020-04-26 15:36:05 -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
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 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 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
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 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
miaoski 0796ce3d7e
fix trivial typos in comments (#387)
Co-authored-by: miaoski <miaoski@gmail.com>
2020-03-15 07:49:46 -04:00
Sukchan Lee 1e56141d1e Add socknode_add() [#367] 2020-02-28 20:26:32 +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
Spencer Sevilla 24e9def813
change 45.45.0.1 -> 10.45.0.1 (#369) 2020-02-17 10:41:16 +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 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 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
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
Supreeth Herle 75c431855b Handling AAR Request for IMS signalling 2020-01-12 09:41:01 +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 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
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 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
Supreeth Herle 50f5a527a8 Added Control Rx media type and mapped it to QCI 5 2019-12-17 21:06:44 +09: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 dfa5c4f0ee Fix the test program 2019-12-08 03:25:37 +00:00
Sukchan Lee 896ca50253 PFCP interface added, but not tested. 2019-12-07 13:17:00 +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
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 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
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 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 aa7d7f3b7d [#300] Insert PGW-C/U F-TEID on S11 Create Session Response 2019-11-02 16:27:57 +09:00
Sukchan Lee e55c7f9174 Upgrade freeDiameter version to 1.3.2 2019-11-02 15:52:48 +09:00
Sukchan Lee 29e8a68dea remove SO_LINGER in usrsctp library 2019-10-31 18:13:49 +09:00
Sukchan Lee 9f1a5d19a4 Build with usrsctp source using MESON Subproject 2019-10-31 14:17:43 +09:00
Sukchan Lee 28f6d16ce2 refine usrsctp 2019-10-30 09:48:38 +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 3c8af69805 Re-factoring the all library 2019-09-13 21:07:47 +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
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 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 dff916551f [#256] Increse T3450 timeout to 6 sec 2019-08-18 00:35:04 +09: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 a6f9ad52cb [#245] Add Configurable Memory Pool Size 2019-08-09 23:28:58 +09:00