lists.osmocom.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

gerrit-log

Thread Start a new thread
Download
Threads by month
  • ----- 2026 -----
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
gerrit-log@lists.osmocom.org

October 2025

  • 1 participants
  • 631 discussions
[S] Change in osmocom-bb[master]: firmware(libosmocore): add missing 'if !EMBEDDED'
by laforge 01 Oct '25

01 Oct '25
Attention is currently required from: osmith. laforge has posted comments on this change by osmith. ( https://gerrit.osmocom.org/c/osmocom-bb/+/41190?usp=email ) Change subject: firmware(libosmocore): add missing 'if !EMBEDDED' ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/41190?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia7fdd5edd5edd1ee126dfbcaa75b3d988143f2e1 Gerrit-Change-Number: 41190 Gerrit-PatchSet: 1 Gerrit-Owner: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Attention: osmith <osmith(a)sysmocom.de> Gerrit-Comment-Date: Wed, 01 Oct 2025 14:16:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes
1 0
0 0
[XS] Change in osmocom-bb[master]: firmware(libosmocore): update function header
by osmith 01 Oct '25

01 Oct '25
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/41191?usp=email ) Change subject: firmware(libosmocore): update function header ...................................................................... firmware(libosmocore): update function header Update the function header to be the same as in target/firmware/include/string.h, so it compiles successfully with GCC 14.2. Otherwise: lib/strcmp.c:5:1: error: return type defaults to 'int' [-Wimplicit-int] 5 | strcmp(s1, s2) | ^~~~~~ Change-Id: Ic601d84c3366d9aec661663c80ba9d7586510d63 --- M src/target/firmware/lib/strcmp.c 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/91/41191/1 diff --git a/src/target/firmware/lib/strcmp.c b/src/target/firmware/lib/strcmp.c index 9a7fa81..c098d6e 100644 --- a/src/target/firmware/lib/strcmp.c +++ b/src/target/firmware/lib/strcmp.c @@ -2,8 +2,7 @@ * Compare strings: s1>s2: >0 s1==s2: 0 s1<s2: <0 */ -strcmp(s1, s2) - register char *s1, *s2; +int strcmp(const char *s1, const char *s2) { while (*s1 == *s2++) if (*s1++=='\0') -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/41191?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: newchange Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ic601d84c3366d9aec661663c80ba9d7586510d63 Gerrit-Change-Number: 41191 Gerrit-PatchSet: 1 Gerrit-Owner: osmith <osmith(a)sysmocom.de>
1 0
0 0
[S] Change in osmocom-bb[master]: firmware(libosmocore): add missing 'if !EMBEDDED'
by osmith 01 Oct '25

01 Oct '25
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/41190?usp=email ) Change subject: firmware(libosmocore): add missing 'if !EMBEDDED' ...................................................................... firmware(libosmocore): add missing 'if !EMBEDDED' Fix compilation with GCC 14.2, which otherwise fails with errors like: ../../src/utils.c:49:22: error: implicit declaration of function 'strcasecmp' [-Wimplicit-function-declaration] Change-Id: Ia7fdd5edd5edd1ee126dfbcaa75b3d988143f2e1 --- M src/shared/libosmocore/src/logging.c M src/shared/libosmocore/src/utils.c 2 files changed, 13 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/90/41190/1 diff --git a/src/shared/libosmocore/src/logging.c b/src/shared/libosmocore/src/logging.c index e187df2..4738f99 100644 --- a/src/shared/libosmocore/src/logging.c +++ b/src/shared/libosmocore/src/logging.c @@ -151,6 +151,7 @@ return -EINVAL; } +#if (!EMBEDDED) /*! \brief parse the log category mask * \param[in] target log target to be configured * \param[in] _mask log category mask string @@ -202,6 +203,7 @@ free(mask); } +#endif /* !EMBEDDED */ static const char* color(int subsys) { @@ -436,12 +438,14 @@ target->categories[category].loglevel = level; } +#if (!EMBEDDED) static void _file_output(struct log_target *target, unsigned int level, const char *log) { fprintf(target->tgt_file.out, "%s", log); fflush(target->tgt_file.out); } +#endif /* !EMBEDDED */ /*! \brief Create a new log target skeleton */ struct log_target *log_target_create(void) @@ -500,6 +504,7 @@ #endif /* stderr */ } +#if (!EMBEDDED) /*! \brief Create a new file-based log target * \param[in] fname File name of the new log file * \returns Log target in case of success, NULL otherwise @@ -523,6 +528,7 @@ return target; } +#endif /* !EMBEDDED */ /*! \brief Find a registered log target * \param[in] type Log target type @@ -552,6 +558,7 @@ /* just in case, to make sure we don't have any references */ log_del_target(target); +#if (!EMBEDDED) if (target->output == &_file_output) { /* since C89/C99 says stderr is a macro, we can safely do this! */ #ifdef stderr @@ -563,10 +570,12 @@ target->tgt_file.out = NULL; } } +#endif /* !EMBEDDED */ talloc_free(target); } +#if (!EMBEDDED) /*! \brief close and re-open a log file (for log file rotation) */ int log_target_file_reopen(struct log_target *target) { @@ -580,6 +589,7 @@ return 0; } +#endif /* !EMBEDDED */ /*! \brief Generates the logging command string for VTY * \param[in] unused_info Deprecated parameter, no longer used! diff --git a/src/shared/libosmocore/src/utils.c b/src/shared/libosmocore/src/utils.c index cf0c934..79c42cb 100644 --- a/src/shared/libosmocore/src/utils.c +++ b/src/shared/libosmocore/src/utils.c @@ -1,4 +1,5 @@ +#include "config.h" #include <string.h> #include <stdint.h> #include <errno.h> @@ -34,6 +35,7 @@ return namebuf; } +#if (!EMBEDDED) /*! \brief get numeric value for given human-readable string * \param[in] vs Array of value_string tuples * \param[in] str human-readable string @@ -51,6 +53,7 @@ } return -EINVAL; } +#endif /* !EMBEDDED */ /*! \brief Convert BCD-encoded digit into printable character * \param[in] bcd A single BCD-encoded digit -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/41190?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: newchange Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia7fdd5edd5edd1ee126dfbcaa75b3d988143f2e1 Gerrit-Change-Number: 41190 Gerrit-PatchSet: 1 Gerrit-Owner: osmith <osmith(a)sysmocom.de>
1 0
0 0
[M] Change in osmo-ttcn3-hacks[master]: MME-Tests: Add test for emergency bearer setup
by jolly 01 Oct '25

01 Oct '25
jolly has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41189?usp=email ) Change subject: MME-Tests: Add test for emergency bearer setup ...................................................................... MME-Tests: Add test for emergency bearer setup When the UE makes an emergency call, it requests emergency bearer to be established. The configured emergency bearer will be established. The test checks if the emergency bearer is established and the APN name matches the configured APN name. Related: SYS#7635 Change-Id: I2a81defc96bcebdf1a4ec765278ca502800cbe46 --- M mme/ConnHdlr.ttcn M mme/MME_Tests_emergency.ttcn M mme/expected-results.xml 3 files changed, 82 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/89/41189/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41189?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: newpatchset Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2a81defc96bcebdf1a4ec765278ca502800cbe46 Gerrit-Change-Number: 41189 Gerrit-PatchSet: 2 Gerrit-Owner: jolly <andreas(a)eversberg.eu>
1 0
0 0
[M] Change in osmo-ttcn3-hacks[master]: MME-Tests: Add tests for emergency bearer setup
by jolly 01 Oct '25

01 Oct '25
jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41189?usp=email ) Change subject: MME-Tests: Add tests for emergency bearer setup ...................................................................... MME-Tests: Add tests for emergency bearer setup When the UE makes an emergency call, it requests emergency bearer to be established. The configured emergency bearer will be established. The test checks if the emergency bearer is established and the APN name matches the configured APN name. Related: SYS#7635 Change-Id: I2a81defc96bcebdf1a4ec765278ca502800cbe46 --- M mme/ConnHdlr.ttcn M mme/MME_Tests_emergency.ttcn M mme/expected-results.xml 3 files changed, 82 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/89/41189/1 diff --git a/mme/ConnHdlr.ttcn b/mme/ConnHdlr.ttcn index 4af7095..6aae8dc 100644 --- a/mme/ConnHdlr.ttcn +++ b/mme/ConnHdlr.ttcn @@ -381,6 +381,37 @@ } } +private altstep as_s1ap_handle_ERABSetupRequest_Attach_Accept() runs on ConnHdlr { + var S1AP_PDU rx_msg; + var PDU_NAS_EPS rx_nas; + [] S1AP.receive(tr_S1AP_RABSetupReq(g_pars.ue_pars.mme_ue_id, + g_pars.ue_pars.enb_ue_id)) -> value rx_msg { + var template (value) E_RABSetupItemCtxtSURes rab_setup_it; + var template (value) E_RABSetupListCtxtSURes rab_setup_items; + var template (value) PDU_NAS_EPS nas; + var PDU_NAS_EPS_ActDefEPSBearerContextRequest act_bearer; + var charstring apn := char(0, 0, 0, 4) & "test" & char(0, 0, 0, 3) & "sos"; + + S1AP.receive(tr_NAS_ActDefEpsBearCtxReq()) -> value rx_nas; + act_bearer := rx_nas.ePS_messages.ePS_SessionManagement.pDU_NAS_EPS_ActDefEPSBearerContextRequest; + if (act_bearer.accessPointName.accessPointNameValue != char2oct(apn)) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("Unexpected APN: ", + oct2char(act_bearer.accessPointName.accessPointNameValue))); + } + + rab_setup_it := ts_S1AP_RABSetupItemCtxtSURes(rab_id := 6, + tla := oct2bit(f_inet_addr(g_pars.enb_pars[g_pars.mme_idx].gtp1u_local_ip)), + gtp_teid := '00000003'O); + rab_setup_items := ts_S1AP_RABSetupListCtxtSURes(rab_setup_it); + S1AP.send(ts_S1AP_InitialCtxSetupResp(g_pars.ue_pars.mme_ue_id, + g_pars.ue_pars.enb_ue_id, + rab_setup_items)); + } + [] S1AP.receive(PDU_NAS_EPS:?) -> value rx_nas { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("Rx Unexpected NAS PDU msg: ", rx_nas)); + } +} + altstep as_s1ap_handle_IntialCtxSetupReq_TAU_Accept() runs on ConnHdlr { var S1AP_PDU rx_msg; var PDU_NAS_EPS rx_nas; @@ -548,7 +579,8 @@ ts_AVP_3GPP_ApnConfigProfile({ ts_AVP_3GPP_ContextId(1), ts_AVP_3GPP_AllApnConfigsIncl, - ts_AVP_3GPP_ApnConfig(1, IPv4, "*") + ts_AVP_3GPP_ApnConfig(1, IPv4, "*"), + ts_AVP_3GPP_ApnConfig(1, IPv4, "test.sos") }) }; @@ -896,6 +928,37 @@ } } +function f_emergency_bearer() runs on ConnHdlr { + var template (value) EPS_MobileIdentityV mi := ts_NAS_MobileId_IMSI(g_pars.ue_pars.imsi); + var template (value) PDU_NAS_EPS nas_esm; + timer T := 5.0; + + nas_esm := ts_NAS_PdnConnReq(bearer_id := '0000'B, proc_tid := int2bit(1,8), + pdn_type := NAS_PDN_T_IPv4, req_type := '100'B); + + var template (value) S1AP_PDU tx; + tx := ts_S1AP_UlNasTransport(mme_id := g_pars.ue_pars.mme_ue_id, + enb_id := g_pars.ue_pars.enb_ue_id, + p_nasPdu := enc_PDU_NAS_EPS(valueof(nas_esm)), + p_eUTRAN_CGI := ts_enb_S1AP_CGI(g_pars.enb_pars[g_pars.mme_idx]), + p_tAI := ts_enb_S1AP_TAI(g_pars.enb_pars[g_pars.mme_idx])); + S1AP.send(tx); + + /* We now expect the MME to send a Create Session Request to the SGW-C */ + f_gtp2_register_udmsg('20'O); + T.start; + alt { + [] as_GTP2C_CreateSession_success(); + [] T.timeout { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("No message from MME")); } + } + + T.start; + alt { + [] as_s1ap_handle_ERABSetupRequest_Attach_Accept(); + [] T.timeout { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("No message from MME")); } + } +} + function f_tau(BIT3 typeOfUpdate := c_EPS_UPD_TYPE_TA_UPD, boolean exp_sgsap_lu := false) runs on ConnHdlr { var template (value) EPS_MobileIdentityV mi := ts_NAS_MobileId_IMSI(g_pars.ue_pars.imsi); var template (value) S1AP_PDU tx; diff --git a/mme/MME_Tests_emergency.ttcn b/mme/MME_Tests_emergency.ttcn index a0cae54..da46a1b 100644 --- a/mme/MME_Tests_emergency.ttcn +++ b/mme/MME_Tests_emergency.ttcn @@ -25,7 +25,7 @@ f_attach(); } testcase TC_emergency_supported() runs on MTC_CT { - f_init(4, init_diameter := true, init_gtpv2c_s11 := true); + f_init(2001, init_diameter := true, init_gtpv2c_s11 := true); f_s1ap_setup(0); var ConnHdlrPars pars := f_init_pars(ue_idx := 0); @@ -40,7 +40,7 @@ f_attach(); } testcase TC_emergency_number_included() runs on MTC_CT { - f_init(4, init_diameter := true, init_gtpv2c_s11 := true); + f_init(2002, init_diameter := true, init_gtpv2c_s11 := true); f_s1ap_setup(0); var ConnHdlrPars pars := f_init_pars(ue_idx := 0); @@ -57,9 +57,24 @@ vc_conn.done; } +private function f_TC_emergency_bearer() runs on ConnHdlr { + f_attach(); + f_emergency_bearer(); +} +testcase TC_emergency_bearer() runs on MTC_CT { + f_init(2003, init_diameter := true, init_gtpv2c_s11 := true); + f_s1ap_setup(0); + + var ConnHdlrPars pars := f_init_pars(ue_idx := 0); + var ConnHdlr vc_conn; + vc_conn := f_start_handler_with_pars(refers(f_TC_emergency_bearer), pars); + vc_conn.done; +} + control { execute( TC_emergency_supported() ); execute( TC_emergency_number_included() ); + execute( TC_emergency_bearer() ); } } diff --git a/mme/expected-results.xml b/mme/expected-results.xml index c420315..ae2dd4e 100644 --- a/mme/expected-results.xml +++ b/mme/expected-results.xml @@ -20,4 +20,5 @@ <testcase classname='MME_Tests_SGsAP' name='TC_sgsap_alert_rej' time='MASKED'/> <testcase classname='MME_Tests_emergency' name='TC_emergency_supported' time='MASKED'/> <testcase classname='MME_Tests_emergency' name='TC_emergency_number_included' time='MASKED'/> + <testcase classname='MME_Tests_emergency' name='TC_emergency_bearer' time='MASKED'/> </testsuite> -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41189?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: newchange Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2a81defc96bcebdf1a4ec765278ca502800cbe46 Gerrit-Change-Number: 41189 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu>
1 0
0 0
[M] Change in osmo-ttcn3-hacks[master]: MME-Tests: Add tests for emergency cappability indication
by jolly 01 Oct '25

01 Oct '25
jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41188?usp=email ) Change subject: MME-Tests: Add tests for emergency cappability indication ...................................................................... MME-Tests: Add tests for emergency cappability indication When an attachment is accepted, MME indicates the capability of emergency calls, if and only if configured in MME's configuration file. The emergency numbers that are configured are also indicated. The tests check if the indications follow the configuration and are correctly encoded. Related: SYS#7635 Change-Id: I3d84486dd3826d0f60a3c06693118e36b01ecd2b --- M mme/ConnHdlr.ttcn M mme/MME_Tests.ttcn A mme/MME_Tests_emergency.ttcn M mme/expected-results.xml A mme/open5gs-mme_emergency.yaml A mme/testenv_emergency.cfg R mme/testenv_generic.cfg 7 files changed, 237 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/88/41188/1 diff --git a/mme/ConnHdlr.ttcn b/mme/ConnHdlr.ttcn index ab97983..4af7095 100644 --- a/mme/ConnHdlr.ttcn +++ b/mme/ConnHdlr.ttcn @@ -124,6 +124,16 @@ OCT4 tmsi optional } +/* parameters of emergency support */ +type record EmergParams { + boolean expect_s1_emergency, + BIT1 s1_emergency, + boolean expect_number, + integer numbers, + BIT5 categories[8], + octetstring digits[8] +} + type record ConnHdlrPars { /* copied over from MTC_CT on start of component */ EnbParams enb_pars[NUM_ENB], @@ -135,7 +145,9 @@ /* currently used MME (index into enb_pars, S1AP, ...) */ integer mme_idx, /* Currently set KSI */ - NAS_KeySetIdentifierV kset_id + NAS_KeySetIdentifierV kset_id, + /* Expected emergency parameters */ + EmergParams emerg_pars } type component ConnHdlr extends S1AP_ConnHdlr, SGsAP_ConnHdlr, DIAMETER_ConnHdlr, GTP_ConnHdlr, GTP2_ConnHdlr { @@ -306,14 +318,48 @@ var template (value) E_RABSetupListCtxtSURes rab_setup_items; var octetstring esm_enc; var template (value) PDU_NAS_EPS nas; + var PDU_NAS_EPS_AttachAccept attach_accept; var EPS_MobileIdentityTLV mi_tlv; + var EPS_NetworkFeatureSupportTLV nfs_tlv; + var EmergencyNumberListTLV enl_tlv; S1AP.receive(tr_NAS_AttachAccept()) -> value rx_nas; - mi_tlv := rx_nas.ePS_messages.ePS_MobilityManagement.pDU_NAS_EPS_AttachAccept.gUTI; + attach_accept := rx_nas.ePS_messages.ePS_MobilityManagement.pDU_NAS_EPS_AttachAccept; + mi_tlv := attach_accept.gUTI; if (mi_tlv.ePS_MobileIdentity.ePS_MobileIdentity.typeOfIdentity != '110'B) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("Rx GUTI of unexpected MI type: ", mi_tlv)); } g_pars.ue_pars.guti := mi_tlv.ePS_MobileIdentity.ePS_MobileIdentity.oddEvenInd_identity.guti + nfs_tlv := attach_accept.ePS_NetworkFeatureSupport; + if (g_pars.emerg_pars.expect_s1_emergency and nfs_tlv.eMCBS != g_pars.emerg_pars.s1_emergency) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + log2str("Unexpected emergency support: ", nfs_tlv.eMCBS)); + } + if (g_pars.emerg_pars.expect_number) { + if (not ispresent(attach_accept.emergencyNumberList)) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + log2str("Expected emergency number IE.")); + } + enl_tlv := attach_accept.emergencyNumberList; + if (lengthof(enl_tlv.emergencyNumberList) != g_pars.emerg_pars.numbers) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + log2str("Unpected emergency number list entries: ", + lengthof(enl_tlv.emergencyNumberList))); + } + for (var integer i := 0; i < g_pars.emerg_pars.numbers; i := i + 1) { + var BIT5 categories := enl_tlv.emergencyNumberList[i].emergencyServiceCategoryValue; + var octetstring digits := enl_tlv.emergencyNumberList[i].emergencyNumberDigits; + if (categories != g_pars.emerg_pars.categories[i]) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + log2str("Unexpected emergency categories: ", + categories)); + } + if (digits != g_pars.emerg_pars.digits[i]) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + log2str("Unexpected emergency digits: ", digits)); + } + } + } rab_setup_it := ts_S1AP_RABSetupItemCtxtSURes(rab_id := 5, tla := oct2bit(f_inet_addr(g_pars.enb_pars[g_pars.mme_idx].gtp1u_local_ip)), diff --git a/mme/MME_Tests.ttcn b/mme/MME_Tests.ttcn index 18740bf..df24a09 100644 --- a/mme/MME_Tests.ttcn +++ b/mme/MME_Tests.ttcn @@ -54,6 +54,7 @@ import from ConnHdlr all; friend module MME_Tests_SGsAP; +friend module MME_Tests_emergency; /* (maximum) number of emulated UEs */ const integer NUM_UE := 3; @@ -334,6 +335,7 @@ /* generate parameters for a connection handler */ friend function f_init_pars(integer ue_idx := 0) runs on MTC_CT return ConnHdlrPars { + var integer i; var ConnHdlrPars pars := { enb_pars := g_enb_pars, hss_pars := { @@ -357,8 +359,20 @@ }, ue_pars := g_ue_pars[ue_idx], mme_idx := 0, - kset_id := valueof(ts_NAS_KeySetIdentifierV('000'B, c_NAS_TSC_NATIVE_SEC_CTX)) + kset_id := valueof(ts_NAS_KeySetIdentifierV('000'B, c_NAS_TSC_NATIVE_SEC_CTX)), + emerg_pars := { + expect_s1_emergency := false, + s1_emergency := '0'B, + expect_number := false, + numbers := 0 + } }; + for (i := 0; i < sizeof(pars.emerg_pars.categories); i := i + 1) { + pars.emerg_pars.categories[i] := '00000'B; + } + for (i := 0; i < sizeof(pars.emerg_pars.digits); i := i + 1) { + pars.emerg_pars.digits[i] := ''O; + } return pars; } @@ -787,6 +801,21 @@ vc_conn.done; } +private function f_TC_attach_no_emergency() runs on ConnHdlr { + f_attach(); +} +testcase TC_s1ap_attach_no_emergency() runs on MTC_CT { + f_init(8, init_diameter := true, init_gtpv2c_s11 := true); + f_s1ap_setup(0); + + var ConnHdlrPars pars := f_init_pars(ue_idx := 0); + var ConnHdlr vc_conn; + pars.emerg_pars.expect_s1_emergency := true; + pars.emerg_pars.s1_emergency := '0'B; + vc_conn := f_start_handler_with_pars(refers(f_TC_attach_no_emergency), pars); + vc_conn.done; +} + control { execute( TC_s1ap_setup_unknown_global_enb_id_plmn() ); execute( TC_s1ap_setup_wrong_tac() ); @@ -799,6 +828,7 @@ execute( TC_s1ap_reset() ); execute( TC_ue_cell_reselect_eutran_to_geran() ); execute( TC_ue_cell_reselect_geran_to_eutran() ); + execute( TC_s1ap_attach_no_emergency() ); } diff --git a/mme/MME_Tests_emergency.ttcn b/mme/MME_Tests_emergency.ttcn new file mode 100644 index 0000000..a0cae54 --- /dev/null +++ b/mme/MME_Tests_emergency.ttcn @@ -0,0 +1,65 @@ +module MME_Tests_emergency { + +/* Osmocom MME test suite in in TTCN-3, SGsAP related procedures (3GPP TS 29.118, 3GPP TS 23.272) + * (C) 2025 Andreas Eversberg <aeversberg(a)sysmocom.de> + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +import from General_Types all; +import from Osmocom_Types all; +import from Misc_Helpers all; +import from L3_Templates all; +import from DNS_Helpers all; +import from MME_Tests all; + +import from NAS_EPS_Templates all; + +import from ConnHdlr all; + +private function f_TC_emergency_supported() runs on ConnHdlr { + f_attach(); +} +testcase TC_emergency_supported() runs on MTC_CT { + f_init(4, init_diameter := true, init_gtpv2c_s11 := true); + f_s1ap_setup(0); + + var ConnHdlrPars pars := f_init_pars(ue_idx := 0); + var ConnHdlr vc_conn; + pars.emerg_pars.expect_s1_emergency := true; + pars.emerg_pars.s1_emergency := '1'B; + vc_conn := f_start_handler_with_pars(refers(f_TC_emergency_supported), pars); + vc_conn.done; +} + +private function f_TC_emergency_number_included() runs on ConnHdlr { + f_attach(); +} +testcase TC_emergency_number_included() runs on MTC_CT { + f_init(4, init_diameter := true, init_gtpv2c_s11 := true); + f_s1ap_setup(0); + + var ConnHdlrPars pars := f_init_pars(ue_idx := 0); + var ConnHdlr vc_conn; + pars.emerg_pars.expect_s1_emergency := true; + pars.emerg_pars.s1_emergency := '1'B; + pars.emerg_pars.expect_number := true; + pars.emerg_pars.numbers := 2; + pars.emerg_pars.categories[0] := '00001'B; /* police */ + pars.emerg_pars.digits[0] := '11F0'O; /* 110 */ + pars.emerg_pars.categories[1] := '00110'B; /* fire + ambulance */ + pars.emerg_pars.digits[1] := '11F2'O; /* 112 */ + vc_conn := f_start_handler_with_pars(refers(f_TC_emergency_number_included), pars); + vc_conn.done; +} + +control { + execute( TC_emergency_supported() ); + execute( TC_emergency_number_included() ); +} + +} diff --git a/mme/expected-results.xml b/mme/expected-results.xml index 694b119..c420315 100644 --- a/mme/expected-results.xml +++ b/mme/expected-results.xml @@ -11,10 +11,13 @@ <testcase classname='MME_Tests' name='TC_s1ap_reset' time='MASKED'/> <testcase classname='MME_Tests' name='TC_ue_cell_reselect_eutran_to_geran' time='MASKED'/> <testcase classname='MME_Tests' name='TC_ue_cell_reselect_geran_to_eutran' time='MASKED'/> + <testcase classname='MME_Tests' name='TC_s1ap_attach_no_emergency' time='MASKED'/> <testcase classname='MME_Tests_SGsAP' name='TC_sgsap_vlr_reset' time='MASKED'/> <testcase classname='MME_Tests_SGsAP' name='TC_sgsap_paging_sms' time='MASKED'/> <testcase classname='MME_Tests_SGsAP' name='TC_sgsap_paging_cs' time='MASKED'/> <testcase classname='MME_Tests_SGsAP' name='TC_sgsap_paging_reject' time='MASKED'/> <testcase classname='MME_Tests_SGsAP' name='TC_sgsap_alert' time='MASKED'/> <testcase classname='MME_Tests_SGsAP' name='TC_sgsap_alert_rej' time='MASKED'/> + <testcase classname='MME_Tests_emergency' name='TC_emergency_supported' time='MASKED'/> + <testcase classname='MME_Tests_emergency' name='TC_emergency_number_included' time='MASKED'/> </testsuite> diff --git a/mme/open5gs-mme_emergency.yaml b/mme/open5gs-mme_emergency.yaml new file mode 100644 index 0000000..5675599 --- /dev/null +++ b/mme/open5gs-mme_emergency.yaml @@ -0,0 +1,80 @@ +# See https://github.com/open5gs/open5gs/blob/main/configs/open5gs/mme.yaml.in + +logger: + level: debug + +global: + max: + ue: 1024 + +mme: + freeDiameter: freediameter.conf + s1ap: + server: + - address: 127.0.0.201 + gtpc: + server: + - address: 127.0.0.201 + client: + sgwc: + - address: 127.0.0.202 + smf: + - address: 127.0.0.201 + - address: ::1 + sgsn: + - address: + - 127.0.0.202 + port: 2124 + routes: + - rai: + lai: + plmn_id: + mcc: 262 + mnc: 42 + lac: 39594 + rac: 187 + ci: 1223 + metrics: + server: + - address: 127.0.0.201 + port: 9090 + gummei: + - plmn_id: + mcc: 001 + mnc: 01 + mme_gid: 2 + mme_code: 1 + tai: + - plmn_id: + mcc: 001 + mnc: 01 + tac: 12345 + security: + integrity_order : [ EIA2, EIA1, EIA0 ] + ciphering_order : [ EEA0, EEA1, EEA2 ] + network_name: + full: Open5GS + mme_name: open5gs-mme0 + sgsap: + client: + - address: 127.0.0.202 # SCTP server address configured on the MSC/VLR + local_address: 127.0.0.201 # SCTP local IP addresses to be bound in the MME + map: + tai: + plmn_id: + mcc: 001 + mnc: 01 + tac: 12345 + lai: + plmn_id: + mcc: 001 + mnc: 01 + lac: 43691 + emergency: + dnn: test.sos + number: + - digits: 110 + categories: police + number: + - digits: 112 + categories: [ fire, ambulance ] diff --git a/mme/testenv_emergency.cfg b/mme/testenv_emergency.cfg new file mode 100644 index 0000000..4c1ff91 --- /dev/null +++ b/mme/testenv_emergency.cfg @@ -0,0 +1,10 @@ +[testsuite] +titan_min=11.1.0 +program=MME_Tests +config=MME_Tests_emergency.cfg + +[mme] +program=open5gs-mmed -c open5gs-mme_emergency.yaml +make=open5gs +package=open5gs-mme +copy=open5gs-mme_emergency.yaml freediameter.conf diff --git a/mme/testenv.cfg b/mme/testenv_generic.cfg similarity index 100% rename from mme/testenv.cfg rename to mme/testenv_generic.cfg -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41188?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: newchange Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3d84486dd3826d0f60a3c06693118e36b01ecd2b Gerrit-Change-Number: 41188 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu>
1 0
0 0
[XS] Change in osmo-ttcn3-hacks[master]: Fix length indicators in tr_NAS_ActDefEpsBearCtxReq
by jolly 01 Oct '25

01 Oct '25
jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41186?usp=email ) Change subject: Fix length indicators in tr_NAS_ActDefEpsBearCtxReq ...................................................................... Fix length indicators in tr_NAS_ActDefEpsBearCtxReq Related: SYS#7635 Change-Id: Ibce4b56c479fb5e31ee1f7871eab168facfef94e --- M library/NAS_EPS_Templates.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/86/41186/1 diff --git a/library/NAS_EPS_Templates.ttcn b/library/NAS_EPS_Templates.ttcn index d2502f0..706bcf2 100644 --- a/library/NAS_EPS_Templates.ttcn +++ b/library/NAS_EPS_Templates.ttcn @@ -1294,11 +1294,11 @@ ePS_QualityOfServiceV := qos }, accessPointName := { - lengthIndicator := 0, + lengthIndicator := ?, accessPointNameValue := apn }, pDN_Address := { - lengthIndicator := 0, + lengthIndicator := ?, typeValue := addr_type, spare := '00000'B, addressInformation := addr_info -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41186?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: newchange Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibce4b56c479fb5e31ee1f7871eab168facfef94e Gerrit-Change-Number: 41186 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu>
1 0
0 0
[S] Change in osmo-ttcn3-hacks[master]: library/s1ap: Add support for E_RABSetupRequest
by jolly 01 Oct '25

01 Oct '25
jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41187?usp=email ) Change subject: library/s1ap: Add support for E_RABSetupRequest ...................................................................... library/s1ap: Add support for E_RABSetupRequest Related: SYS#7635 Change-Id: I4593bb8a7845b4b1dd10866fca47f473bd585cf6 --- M library/S1AP_Functions.ttcn 1 file changed, 20 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/87/41187/1 diff --git a/library/S1AP_Functions.ttcn b/library/S1AP_Functions.ttcn index fbdcada..d9af50e 100644 --- a/library/S1AP_Functions.ttcn +++ b/library/S1AP_Functions.ttcn @@ -49,6 +49,9 @@ case (tr_S1AP_ConnEstInd) { return im.value_.ConnectionEstablishmentIndication.protocolIEs[1].value_.ENB_UE_S1AP_ID; } + case (tr_S1AP_RABSetupReq) { + return im.value_.E_RABSetupRequest.protocolIEs[1].value_.ENB_UE_S1AP_ID; + } /* TODO */ } } else if (ischosen(s1ap.successfulOutcome)) { @@ -104,6 +107,9 @@ case (tr_S1AP_UeContextModificationReq) { return im.value_.UEContextModificationRequest.protocolIEs[0].value_.MME_UE_S1AP_ID; } + case (tr_S1AP_RABSetupReq) { + return im.value_.E_RABSetupRequest.protocolIEs[0].value_.MME_UE_S1AP_ID; + } /* TODO */ } } else if (ischosen(s1ap.successfulOutcome)) { @@ -164,7 +170,20 @@ } } return omit; - } + } + case (tr_S1AP_RABSetupReq) { + var E_RABSetupRequest msg := im.value_.E_RABSetupRequest; + for (i := 0; i < lengthof(msg.protocolIEs); i := i+1) { + if (msg.protocolIEs[i].id == id_E_RABToBeSetupListBearerSUReq) { + var E_RABToBeSetupListBearerSUReq rab_req := msg.protocolIEs[i].value_.E_RABToBeSetupListBearerSUReq; + for (j := 0; j < lengthof(rab_req); j := j+1) { + var E_RABToBeSetupItemBearerSUReq it := rab_req[j].value_.E_RABToBeSetupItemBearerSUReq; + return it.nAS_PDU; + } + } + } + return omit; + } } } return omit; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41187?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: newchange Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4593bb8a7845b4b1dd10866fca47f473bd585cf6 Gerrit-Change-Number: 41187 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu>
1 0
0 0
[XS] Change in osmo-ttcn3-hacks[master]: Allow matching tr_GTP2C_CreateSessionReq with any tEID
by jolly 01 Oct '25

01 Oct '25
jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41185?usp=email ) Change subject: Allow matching tr_GTP2C_CreateSessionReq with any tEID ...................................................................... Allow matching tr_GTP2C_CreateSessionReq with any tEID Related: SYS#7635 Change-Id: I6fe3ba9f24bd0615e70ffe515c5b8c907ca8a494 --- M library/GTPv2_Templates.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/85/41185/1 diff --git a/library/GTPv2_Templates.ttcn b/library/GTPv2_Templates.ttcn index 752e85c..925735a 100644 --- a/library/GTPv2_Templates.ttcn +++ b/library/GTPv2_Templates.ttcn @@ -971,7 +971,7 @@ tr_GTP2C_CreateSessionReq(template (present) hexstring imsi := ?, template (present) octetstring apn := ?, template APCO apco := *) := -tr_PDU_GTP2C('00000000'O, ?, { +tr_PDU_GTP2C(?, ?, { createSessionRequest := { iMSI := tr_GTP2C_Imsi(imsi), mSISDN := *, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41185?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: newchange Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6fe3ba9f24bd0615e70ffe515c5b8c907ca8a494 Gerrit-Change-Number: 41185 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu>
1 0
0 0
[XS] Change in osmo-el2tpd[master]: src/l2tp_protocol.h: include netinet/in.h
by fixeria 01 Oct '25

01 Oct '25
Attention is currently required from: Hoernchen, osmith. fixeria has posted comments on this change by osmith. ( https://gerrit.osmocom.org/c/osmo-el2tpd/+/41184?usp=email ) Change subject: src/l2tp_protocol.h: include netinet/in.h ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-el2tpd/+/41184?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmo-el2tpd Gerrit-Branch: master Gerrit-Change-Id: Iaec15ee59a1e740d41e616142637612d2aacf1dc Gerrit-Change-Number: 41184 Gerrit-PatchSet: 1 Gerrit-Owner: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: Hoernchen <ewild(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: osmith <osmith(a)sysmocom.de> Gerrit-Attention: Hoernchen <ewild(a)sysmocom.de> Gerrit-Comment-Date: Wed, 01 Oct 2025 08:05:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 60
  • 61
  • 62
  • 63
  • 64
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.