Projects
osmocom:master
open5gs
Log In
Username
Password
File not found: open5gs_2.7.5.4696.1f30.dsc
×
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 679
View file
commit_606877bf11bc95bafb13af1c80586b216c3ad6bf.txt
Added
View file
commit_a8eec6e9e6abdc9b1d9efd5928eb3dcf4512e399.txt
Deleted
View file
open5gs_2.7.6.4756.a8ee.dsc -> open5gs_2.7.6.4757.6068.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 +Version: 2.7.6.4757.6068 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: - 8b9a7a8dab7991175872d47ec08652ca39d677ee 15038308 open5gs_2.7.6.4756.a8ee.tar.xz + d2cd407a645bbecffd125ba2231f57b7fd6e77f4 15040756 open5gs_2.7.6.4757.6068.tar.xz Checksums-Sha256: - f600718f2c3bd572a9b33c5ba4e98465ed5182acbd10696b45e07c227b9db316 15038308 open5gs_2.7.6.4756.a8ee.tar.xz + 819cdb4f6a7667a68bd77e6ccc46761bae842de13ed059db8d278282c2a8ec03 15040756 open5gs_2.7.6.4757.6068.tar.xz Files: - e4942c334eb8945fb447f3c710669746 15038308 open5gs_2.7.6.4756.a8ee.tar.xz + 76e143ba154112bf1116a70726d67e2d 15040756 open5gs_2.7.6.4757.6068.tar.xz
View file
open5gs_2.7.6.4756.a8ee.tar.xz/.tarball-version -> open5gs_2.7.6.4757.6068.tar.xz/.tarball-version
Changed
@@ -1 +1 @@ -2.7.6.4756-a8ee +2.7.6.4757-6068
View file
open5gs_2.7.6.4756.a8ee.tar.xz/debian/changelog -> open5gs_2.7.6.4757.6068.tar.xz/debian/changelog
Changed
@@ -1,8 +1,8 @@ -open5gs (2.7.6.4756.a8ee) unstable; urgency=medium +open5gs (2.7.6.4757.6068) unstable; urgency=medium * Automatically generated changelog entry for building the Osmocom master feed - -- Osmocom OBS scripts <info@osmocom.org> Tue, 09 Sep 2025 23:56:01 +0000 + -- Osmocom OBS scripts <info@osmocom.org> Wed, 10 Sep 2025 22:42:06 +0000 open5gs (2.7.6) unstable; urgency=medium
View file
open5gs_2.7.6.4756.a8ee.tar.xz/src/mme/sgsap-build.c -> open5gs_2.7.6.4757.6068.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.tar.xz/src/mme/sgsap-build.h -> open5gs_2.7.6.4757.6068.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.tar.xz/src/mme/sgsap-handler.c -> open5gs_2.7.6.4757.6068.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.tar.xz/src/mme/sgsap-handler.h -> open5gs_2.7.6.4757.6068.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.tar.xz/src/mme/sgsap-path.c -> open5gs_2.7.6.4757.6068.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.tar.xz/src/mme/sgsap-path.h -> open5gs_2.7.6.4757.6068.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.tar.xz/src/mme/sgsap-sm.c -> open5gs_2.7.6.4757.6068.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.tar.xz/src/mme/sgsap-types.h -> open5gs_2.7.6.4757.6068.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
.