Projects
osmocom:nightly
open5gs
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 1175
View file
open5gs_2.7.6.4756.a8ee.202509102026.dsc -> open5gs_2.7.6.4757.6068.202509112026.dsc
Changed
@@ -2,7 +2,7 @@ Source: open5gs Binary: open5gs-common, open5gs-mme, open5gs-sgwc, open5gs-smf, open5gs-amf, open5gs-sgwu, open5gs-upf, open5gs-hss, open5gs-pcrf, open5gs-nrf, open5gs-scp, open5gs-sepp, open5gs-ausf, open5gs-udm, open5gs-pcf, open5gs-nssf, open5gs-bsf, open5gs-udr, open5gs, open5gs-dbg Architecture: any -Version: 2.7.6.4756.a8ee.202509102026 +Version: 2.7.6.4757.6068.202509112026 Maintainer: Harald Welte <laforge@gnumonks.org> Uploaders: Sukchan Lee <acetcom@gmail.com> Homepage: https://open5gs.org @@ -32,8 +32,8 @@ open5gs-udr deb net optional arch=any open5gs-upf deb net optional arch=any Checksums-Sha1: - 1bf7b85e6689b09d5de03885316a0187346c874e 15038700 open5gs_2.7.6.4756.a8ee.202509102026.tar.xz + 09b607d56cded155565922e62bd22853e059af2c 15040080 open5gs_2.7.6.4757.6068.202509112026.tar.xz Checksums-Sha256: - 2fd74238d05797cb8f68dbf85c003a82e314f93200506fd4be8a79019b23660e 15038700 open5gs_2.7.6.4756.a8ee.202509102026.tar.xz + 6660586e7c457f56e8bdca8fc328f954812e39115f8652b69724ac9330443f66 15040080 open5gs_2.7.6.4757.6068.202509112026.tar.xz Files: - 631b0895cb5871cceafeb18e3be894ee 15038700 open5gs_2.7.6.4756.a8ee.202509102026.tar.xz + af60f83f53a1026eb5581c777423979f 15040080 open5gs_2.7.6.4757.6068.202509112026.tar.xz
View file
open5gs_2.7.6.4756.a8ee.202509102026.tar.xz/.tarball-version -> open5gs_2.7.6.4757.6068.202509112026.tar.xz/.tarball-version
Changed
@@ -1 +1 @@ -2.7.6.4756-a8ee.202509102026 +2.7.6.4757-6068.202509112026
View file
open5gs_2.7.6.4756.a8ee.202509102026.tar.xz/debian/changelog -> open5gs_2.7.6.4757.6068.202509112026.tar.xz/debian/changelog
Changed
@@ -1,8 +1,8 @@ -open5gs (2.7.6.4756.a8ee.202509102026) unstable; urgency=medium +open5gs (2.7.6.4757.6068.202509112026) unstable; urgency=medium * Automatically generated changelog entry for building the Osmocom nightly feed - -- Osmocom OBS scripts <info@osmocom.org> Wed, 10 Sep 2025 20:28:05 +0000 + -- Osmocom OBS scripts <info@osmocom.org> Thu, 11 Sep 2025 20:28:06 +0000 open5gs (2.7.6) unstable; urgency=medium
View file
open5gs_2.7.6.4756.a8ee.202509102026.tar.xz/src/mme/sgsap-build.c -> open5gs_2.7.6.4757.6068.202509112026.tar.xz/src/mme/sgsap-build.c
Changed
@@ -91,6 +91,7 @@ return pkbuf; } + ogs_pkbuf_t *sgsap_build_tmsi_reallocation_complete(mme_ue_t *mme_ue) { mme_csmap_t *csmap = NULL; @@ -117,6 +118,96 @@ ogs_pkbuf_put(pkbuf, OGS_MAX_SDU_LEN-1); ogs_pkbuf_trim(pkbuf, 1+ogs_tlv_render(root, + pkbuf->data+1, OGS_MAX_SDU_LEN-1)); + + ogs_tlv_free_all(root); + + return pkbuf; +} + +ogs_pkbuf_t *sgsap_build_ue_activity_indication(mme_ue_t *mme_ue) +{ + ogs_tlv_t *root = NULL; + ogs_pkbuf_t *pkbuf = NULL; + + ogs_assert(mme_ue); + + root = ogs_tlv_add(NULL, OGS_TLV_MODE_T1_L1, SGSAP_IE_IMSI_TYPE, + SGSAP_IE_IMSI_LEN, 0, &mme_ue->nas_mobile_identity_imsi); + + /* TODO: Maximum UE Availability Time */ + + pkbuf = ogs_pkbuf_alloc(NULL, OGS_MAX_SDU_LEN); + if (!pkbuf) { + ogs_error("ogs_pkbuf_alloc() failed"); + ogs_tlv_free_all(root); + return NULL; + } + ogs_pkbuf_put_u8(pkbuf, SGSAP_UE_ACTIVITY_INDICATION); + ogs_pkbuf_put(pkbuf, OGS_MAX_SDU_LEN-1); + + ogs_pkbuf_trim(pkbuf, 1+ogs_tlv_render(root, + pkbuf->data+1, OGS_MAX_SDU_LEN-1)); + + ogs_tlv_free_all(root); + + return pkbuf; +} + +ogs_pkbuf_t *sgsap_build_alert_ack(mme_ue_t *mme_ue) +{ + ogs_tlv_t *root = NULL; + ogs_pkbuf_t *pkbuf = NULL; + + ogs_assert(mme_ue); + + root = ogs_tlv_add(NULL, OGS_TLV_MODE_T1_L1, SGSAP_IE_IMSI_TYPE, + SGSAP_IE_IMSI_LEN, 0, &mme_ue->nas_mobile_identity_imsi); + + pkbuf = ogs_pkbuf_alloc(NULL, OGS_MAX_SDU_LEN); + if (!pkbuf) { + ogs_error("ogs_pkbuf_alloc() failed"); + ogs_tlv_free_all(root); + return NULL; + } + ogs_pkbuf_put_u8(pkbuf, SGSAP_ALERT_ACK); + ogs_pkbuf_put(pkbuf, OGS_MAX_SDU_LEN-1); + + ogs_pkbuf_trim(pkbuf, 1+ogs_tlv_render(root, + pkbuf->data+1, OGS_MAX_SDU_LEN-1)); + + ogs_tlv_free_all(root); + + return pkbuf; +} + +ogs_pkbuf_t *sgsap_build_alert_reject( + ogs_nas_mobile_identity_imsi_t *nas_mobile_identity_imsi, + int nas_mobile_identity_imsi_len, uint8_t sgs_cause) +{ + ogs_tlv_t *root = NULL; + ogs_pkbuf_t *pkbuf = NULL; + + ogs_assert(nas_mobile_identity_imsi); + ogs_assert(nas_mobile_identity_imsi_len == SGSAP_IE_IMSI_LEN); + + root = ogs_tlv_add(NULL, OGS_TLV_MODE_T1_L1, + SGSAP_IE_IMSI_TYPE, SGSAP_IE_IMSI_LEN, 0, nas_mobile_identity_imsi); + ogs_tlv_add(root, OGS_TLV_MODE_T1_L1, + SGSAP_IE_SGS_CAUSE_TYPE, SGSAP_IE_SGS_CAUSE_LEN, 0, &sgs_cause); + + ogs_debug(" CAUSE%d", sgs_cause); + + pkbuf = ogs_pkbuf_alloc(NULL, OGS_MAX_SDU_LEN); + if (!pkbuf) { + ogs_error("ogs_pkbuf_alloc() failed"); + ogs_tlv_free_all(root); + return NULL; + } + ogs_pkbuf_put_u8(pkbuf, SGSAP_ALERT_REJECT); + ogs_pkbuf_put(pkbuf, OGS_MAX_SDU_LEN-1); + + ogs_pkbuf_trim(pkbuf, 1+ogs_tlv_render(root, pkbuf->data+1, OGS_MAX_SDU_LEN-1)); ogs_tlv_free_all(root);
View file
open5gs_2.7.6.4756.a8ee.202509102026.tar.xz/src/mme/sgsap-build.h -> open5gs_2.7.6.4757.6068.202509112026.tar.xz/src/mme/sgsap-build.h
Changed
@@ -30,6 +30,11 @@ ogs_pkbuf_t *sgsap_build_location_update_request(mme_ue_t *mme_ue); ogs_pkbuf_t *sgsap_build_tmsi_reallocation_complete(mme_ue_t *mme_ue); +ogs_pkbuf_t *sgsap_build_ue_activity_indication(mme_ue_t *mme_ue); +ogs_pkbuf_t *sgsap_build_alert_ack(mme_ue_t *mme_ue); +ogs_pkbuf_t *sgsap_build_alert_reject( + ogs_nas_mobile_identity_imsi_t *nas_mobile_identity_imsi, + int nas_mobile_identity_imsi_len, uint8_t sgs_cause); ogs_pkbuf_t *sgsap_build_detach_indication(mme_ue_t *mme_ue); ogs_pkbuf_t *sgsap_build_mo_csfb_indication(mme_ue_t *mme_ue); ogs_pkbuf_t *sgsap_build_paging_reject(
View file
open5gs_2.7.6.4756.a8ee.202509102026.tar.xz/src/mme/sgsap-handler.c -> open5gs_2.7.6.4757.6068.202509112026.tar.xz/src/mme/sgsap-handler.c
Changed
@@ -405,6 +405,98 @@ return; } +void sgsap_handle_alert_request(mme_vlr_t *vlr, ogs_pkbuf_t *pkbuf) +{ + ogs_tlv_t *root = NULL, *iter = NULL; + mme_ue_t *mme_ue = NULL; + uint8_t sgs_cause = SGSAP_SGS_CAUSE_IMSI_UNKNOWN; + + char imsi_bcdOGS_MAX_IMSI_BCD_LEN+1 = {0, }; + + ogs_nas_mobile_identity_imsi_t *nas_mobile_identity_imsi = NULL; + int nas_mobile_identity_imsi_len = 0; + + ogs_assert(vlr); + ogs_assert(pkbuf); + + ogs_warn("SGSAP Rx ALERT-REQUEST"); + + ogs_pkbuf_pull(pkbuf, 1); + + root = ogs_tlv_parse_block(pkbuf->len, pkbuf->data, OGS_TLV_MODE_T1_L1); + if (!root) { + ogs_error("ogs_tlv_parse_block() failed"); + sgs_cause = SGSAP_SGS_CAUSE_SEMANTICALLY_INCORRECT_MESSAGE; + goto alert_reject; + } + + iter = root; + while (iter) { + switch (iter->type) { + case SGSAP_IE_IMSI_TYPE: + nas_mobile_identity_imsi = iter->value; + nas_mobile_identity_imsi_len = iter->length; + break; + default: + ogs_warn("Invalid Type %d", iter->type); + break; + } + iter = iter->next; + } + + ogs_tlv_free_all(root); + + if (!nas_mobile_identity_imsi) { + ogs_error("No IMSI"); + sgs_cause = SGSAP_SGS_CAUSE_MISSING_MANDATORY_IE; + goto alert_reject; + } + if (nas_mobile_identity_imsi_len != SGSAP_IE_IMSI_LEN) { + ogs_error("Invalid IMSI len %d", nas_mobile_identity_imsi_len); + sgs_cause = SGSAP_SGS_CAUSE_INVALID_MANDATORY_IE; + goto alert_reject; + } + + if (nas_mobile_identity_imsi->type != OGS_NAS_MOBILE_IDENTITY_IMSI) { + ogs_error("nas_mobile_identity_imsi->type == " + "OGS_NAS_MOBILE_IDENTITY_IMSI"); + sgs_cause = SGSAP_SGS_CAUSE_INVALID_MANDATORY_IE; + goto alert_reject; + } + + ogs_nas_eps_imsi_to_bcd(nas_mobile_identity_imsi, + nas_mobile_identity_imsi_len, imsi_bcd); + mme_ue = mme_ue_find_by_imsi_bcd(imsi_bcd); + + if (!mme_ue) { + ogs_error("No UE(mme-ue) context"); + sgs_cause = SGSAP_SGS_CAUSE_IMSI_UNKNOWN; + goto alert_reject; + } + + /* TODO: Set NEAF flag in UE */ + + ogs_warn("SGSAP Tx ALERT-ACK"); + + sgsap_send_to_vlr_with_sid( + vlr, + sgsap_build_alert_ack(mme_ue), + 0); + return; + +alert_reject: + ogs_debug("SGSAP Tx ALERT-REJECT"); + ogs_debug(" IMSI%s", imsi_bcd); + + sgsap_send_to_vlr_with_sid( + vlr, + sgsap_build_alert_reject( + nas_mobile_identity_imsi, nas_mobile_identity_imsi_len, + sgs_cause), + 0); + return; +} + void sgsap_handle_detach_ack(mme_vlr_t *vlr, ogs_pkbuf_t *pkbuf) { ogs_tlv_t *root = NULL, *iter = NULL;
View file
open5gs_2.7.6.4756.a8ee.202509102026.tar.xz/src/mme/sgsap-handler.h -> open5gs_2.7.6.4757.6068.202509112026.tar.xz/src/mme/sgsap-handler.h
Changed
@@ -28,6 +28,7 @@ void sgsap_handle_location_update_accept(mme_vlr_t *vlr, ogs_pkbuf_t *pkbuf); void sgsap_handle_location_update_reject(mme_vlr_t *vlr, ogs_pkbuf_t *pkbuf); +void sgsap_handle_alert_request(mme_vlr_t *vlr, ogs_pkbuf_t *pkbuf); void sgsap_handle_detach_ack(mme_vlr_t *vlr, ogs_pkbuf_t *pkbuf); void sgsap_handle_paging_request(mme_vlr_t *vlr, ogs_pkbuf_t *pkbuf); void sgsap_handle_downlink_unitdata(mme_vlr_t *vlr, ogs_pkbuf_t *pkbuf);
View file
open5gs_2.7.6.4756.a8ee.202509102026.tar.xz/src/mme/sgsap-path.c -> open5gs_2.7.6.4757.6068.202509112026.tar.xz/src/mme/sgsap-path.c
Changed
@@ -150,6 +150,26 @@ return rv; } +int sgsap_send_ue_activity_indication(mme_ue_t *mme_ue) +{ + int rv; + ogs_pkbuf_t *pkbuf = NULL; + ogs_assert(mme_ue); + + ogs_debug("SGSAP Tx UE-ACTIVITY-IND"); + ogs_debug(" IMSI%s", mme_ue->imsi_bcd); + + pkbuf = sgsap_build_ue_activity_indication(mme_ue); + if (!pkbuf) { + ogs_error("sgsap_build_tmsi_reallocation_complete() failed"); + return OGS_ERROR; + } + rv = sgsap_send_to_vlr(mme_ue, pkbuf); + ogs_expect(rv == OGS_OK); + + return rv; +} + int sgsap_send_detach_indication(mme_ue_t *mme_ue) { int rv;
View file
open5gs_2.7.6.4756.a8ee.202509102026.tar.xz/src/mme/sgsap-path.h -> open5gs_2.7.6.4757.6068.202509112026.tar.xz/src/mme/sgsap-path.h
Changed
@@ -44,6 +44,7 @@ int sgsap_send_location_update_request(mme_ue_t *mme_ue); int sgsap_send_tmsi_reallocation_complete(mme_ue_t *mme_ue); +int sgsap_send_ue_activity_indication(mme_ue_t *mme_ue); int sgsap_send_detach_indication(mme_ue_t *mme_ue); int sgsap_send_mo_csfb_indication(mme_ue_t *mme_ue); int sgsap_send_paging_reject(mme_ue_t *mme_ue, uint8_t sgs_cause);
View file
open5gs_2.7.6.4756.a8ee.202509102026.tar.xz/src/mme/sgsap-sm.c -> open5gs_2.7.6.4757.6068.202509112026.tar.xz/src/mme/sgsap-sm.c
Changed
@@ -153,6 +153,9 @@ case SGSAP_LOCATION_UPDATE_REJECT: sgsap_handle_location_update_reject(vlr, pkbuf); break; + case SGSAP_ALERT_REQUEST: + sgsap_handle_alert_request(vlr, pkbuf); + break; case SGSAP_EPS_DETACH_ACK: case SGSAP_IMSI_DETACH_ACK: sgsap_handle_detach_ack(vlr, pkbuf);
View file
open5gs_2.7.6.4756.a8ee.202509102026.tar.xz/src/mme/sgsap-types.h -> open5gs_2.7.6.4757.6068.202509112026.tar.xz/src/mme/sgsap-types.h
Changed
@@ -33,6 +33,10 @@ #define SGSAP_LOCATION_UPDATE_ACCEPT 10 #define SGSAP_LOCATION_UPDATE_REJECT 11 #define SGSAP_TMSI_REALLOCATION_COMPLETE 12 +#define SGSAP_ALERT_REQUEST 13 +#define SGSAP_ALERT_ACK 14 +#define SGSAP_ALERT_REJECT 15 +#define SGSAP_UE_ACTIVITY_INDICATION 16 #define SGSAP_EPS_DETACH_INDICATION 17 #define SGSAP_EPS_DETACH_ACK 18 #define SGSAP_IMSI_DETACH_INDICATION 19
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.