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
[M] Change in osmo-ttcn3-hacks[master]: IPA: Introduce new OSMO extension TCAP_ROUTING
by lynxis lazus 21 Oct '25

21 Oct '25
Attention is currently required from: laforge, pespin. lynxis lazus has uploaded a new patch set (#4) to the change originally created by pespin. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41135?usp=email ) The following approvals got outdated and were removed: Code-Review+1 by laforge, Verified+1 by Jenkins Builder Change subject: IPA: Introduce new OSMO extension TCAP_ROUTING ...................................................................... IPA: Introduce new OSMO extension TCAP_ROUTING TCAP_ROUTING is an extension to IPA/SCCP where the node can requests to receive only certain TCAP traffic to support loadsharing. Related: SYS#5423 Change-Id: Ibfcf633f7bd8773f557901fdff7580f5879391a1 --- A library/IPA_EXT_TCAP_ROUTING.ttcn M library/IPA_Emulation.ttcnpp M library/IPA_Types.ttcn 3 files changed, 142 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/35/41135/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41135?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: Ibfcf633f7bd8773f557901fdff7580f5879391a1 Gerrit-Change-Number: 41135 Gerrit-PatchSet: 4 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Attention: laforge <laforge(a)osmocom.org> Gerrit-Attention: pespin <pespin(a)sysmocom.de>
1 0
0 0
[S] Change in libosmo-sigtran[master]: fix SCCP_MAX_OPTIONAL_DATA 128
by laforge 21 Oct '25

21 Oct '25
Attention is currently required from: neels, osmith. laforge has posted comments on this change by neels. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/41192?usp=email ) Change subject: fix SCCP_MAX_OPTIONAL_DATA 128 ...................................................................... Patch Set 1: Code-Review+2 (1 comment) Patchset: PS1: I would actually say this should als trigger a patch release of (at the very least) the mos recent libosmo-sigtran release. @osmith@sysmocom.de can you look into that, please? -- To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/41192?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: libosmo-sigtran Gerrit-Branch: master Gerrit-Change-Id: I841dbb2e8cbc13708ba7f5593f6bdd3b8da4329c Gerrit-Change-Number: 41192 Gerrit-PatchSet: 1 Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: osmith <osmith(a)sysmocom.de> Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de> Gerrit-Comment-Date: Tue, 21 Oct 2025 11:09:31 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes
1 0
0 0
[S] Change in osmo-trx[master]: trx: Fix tx/rx-sps 4 for USRP1 devices
by laforge 21 Oct '25

21 Oct '25
Attention is currently required from: tempest, tnt, ttsou. laforge has posted comments on this change by tempest. ( https://gerrit.osmocom.org/c/osmo-trx/+/41231?usp=email ) Change subject: trx: Fix tx/rx-sps 4 for USRP1 devices ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/41231?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I3b08c23a3e7d4a226cd23b9fe42558f596a63257 Gerrit-Change-Number: 41231 Gerrit-PatchSet: 1 Gerrit-Owner: tempest <jackleea1b(a)gmail.com> Gerrit-Reviewer: Hoernchen <ewild(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: tnt <tnt(a)246tNt.com> Gerrit-Reviewer: ttsou <tom(a)tsou.cc> Gerrit-CC: pespin <pespin(a)sysmocom.de> Gerrit-Attention: tempest <jackleea1b(a)gmail.com> Gerrit-Attention: tnt <tnt(a)246tNt.com> Gerrit-Attention: ttsou <tom(a)tsou.cc> Gerrit-Comment-Date: Tue, 21 Oct 2025 11:08:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes
1 0
0 0
[L] Change in osmo-ttcn3-hacks[master]: hlr: pyhss: create/delete subscribers
by laforge 21 Oct '25

21 Oct '25
Attention is currently required from: daniel, dexter, fixeria, osmith. laforge has posted comments on this change by osmith. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41227?usp=email ) Change subject: hlr: pyhss: create/delete subscribers ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41227?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic924dabbc813459f73d6646ee17b79cb11d39a76 Gerrit-Change-Number: 41227 Gerrit-PatchSet: 2 Gerrit-Owner: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de> Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-CC: daniel <dwillmann(a)sysmocom.de> Gerrit-Attention: osmith <osmith(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: daniel <dwillmann(a)sysmocom.de> Gerrit-Attention: dexter <pmaier(a)sysmocom.de> Gerrit-Comment-Date: Tue, 21 Oct 2025 11:07:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes
1 0
0 0
[S] Change in pysim[master]: runtime: check record/file size before write
by laforge 21 Oct '25

21 Oct '25
Attention is currently required from: dexter. laforge has posted comments on this change by dexter. ( https://gerrit.osmocom.org/c/pysim/+/41228?usp=email ) Change subject: runtime: check record/file size before write ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/41228?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7fa717d803ae79398d2c5daf92a7336be660c5ad Gerrit-Change-Number: 41228 Gerrit-PatchSet: 2 Gerrit-Owner: dexter <pmaier(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Attention: dexter <pmaier(a)sysmocom.de> Gerrit-Comment-Date: Tue, 21 Oct 2025 11:06:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes
1 0
0 0
[M] Change in pysim[master]: pySim-shell: add a logger class to centralize logging
by laforge 21 Oct '25

21 Oct '25
Attention is currently required from: dexter. laforge has posted comments on this change by dexter. ( https://gerrit.osmocom.org/c/pysim/+/41229?usp=email ) Change subject: pySim-shell: add a logger class to centralize logging ...................................................................... Patch Set 6: (1 comment) File tests/pySim-trace_test/pySim-trace_test_gsmtap.pcapng.ok: https://gerrit.osmocom.org/c/pysim/+/41229/comment/929ba4d7_3f732c76?usp=em… : PS6, Line 9: USIM: a0000000871002 is it intentional that we're loosing this output in the unit test? Not a rhethorical question. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/41229?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I187f117e7e1ccdb2a85dfdfb18e84bd7561704eb Gerrit-Change-Number: 41229 Gerrit-PatchSet: 6 Gerrit-Owner: dexter <pmaier(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-CC: laforge <laforge(a)osmocom.org> Gerrit-Attention: dexter <pmaier(a)sysmocom.de> Gerrit-Comment-Date: Tue, 21 Oct 2025 11:05:57 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No
1 0
0 0
[S] Change in osmo-ttcn3-hacks[master]: library/NAS_EPS_Templates: Add Emergency Number List templates
by jolly 21 Oct '25

21 Oct '25
jolly has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41203?usp=email ) Change subject: library/NAS_EPS_Templates: Add Emergency Number List templates ...................................................................... library/NAS_EPS_Templates: Add Emergency Number List templates Change-Id: Ied3d8f56f84302617edc1cf3017a2866c6dbbd96 --- M library/NAS_EPS_Templates.ttcn 1 file changed, 32 insertions(+), 0 deletions(-) Approvals: fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/library/NAS_EPS_Templates.ttcn b/library/NAS_EPS_Templates.ttcn index 706bcf2..20b2913 100644 --- a/library/NAS_EPS_Templates.ttcn +++ b/library/NAS_EPS_Templates.ttcn @@ -274,6 +274,38 @@ uENetworkCapabilityLV := ts_UENetworkCapabilityLV(ue_net_cap) } +/* 9.9.3.37 Emergency Number List */ +template (value) EmergencyNumber +ts_EmergencyNumber(template (value) LIN1 lengthOfEmergencyNumber, + template (value) BIT5 emergencyServiceCategoryValue, + template (value) octetstring emergencyNumberDigits) := { + lengthOfEmergencyNumber := lengthOfEmergencyNumber, + emergencyServiceCategoryValue:= emergencyServiceCategoryValue, + spare := '000'B, + emergencyNumberDigits := emergencyNumberDigits +} +template (value) EmergencyNumberListTLV +ts_EmergencyNumberListTLV(template (value) EmergencyNumberList list) := { + elementIdentifier := '34'O, + lengthIndicator := 0, /* overwritten */ + emergencyNumberList := list +} +template (present) EmergencyNumber +tr_EmergencyNumber(template (present) LIN1 lengthOfEmergencyNumber := ?, + template (present) BIT5 emergencyServiceCategoryValue := ?, + template (present) octetstring emergencyNumberDigits := ?) := { + lengthOfEmergencyNumber := lengthOfEmergencyNumber, + emergencyServiceCategoryValue:= emergencyServiceCategoryValue, + spare := ?, + emergencyNumberDigits := emergencyNumberDigits +} +template (present) EmergencyNumberListTLV +tr_EmergencyNumberListTLV(template (present) EmergencyNumberList list := ?) := { + elementIdentifier := '34'O, + lengthIndicator := ?, + emergencyNumberList := list +} + /* 9.9.3.45 GUTI Type */ const BIT1 GUTI_TYPE_NATIVE := '0'B; const BIT1 GUTI_TYPE_MAPPED := '1'B; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41203?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: merged Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ied3d8f56f84302617edc1cf3017a2866c6dbbd96 Gerrit-Change-Number: 41203 Gerrit-PatchSet: 2 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: jolly <andreas(a)eversberg.eu> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
1 0
0 0
[M] Change in osmo-ttcn3-hacks[master]: MME-Tests: Add test for emergency bearer setup
by jolly 21 Oct '25

21 Oct '25
jolly has submitted this change. ( 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, 83 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/mme/ConnHdlr.ttcn b/mme/ConnHdlr.ttcn index 9d259c5..86dc1f3 100644 --- a/mme/ConnHdlr.ttcn +++ b/mme/ConnHdlr.ttcn @@ -372,6 +372,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 octetstring apn := f_enc_dns_hostname("test.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 != 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; @@ -539,7 +570,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") }) }; @@ -887,6 +919,38 @@ } } +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 T1 := 5.0; + timer T2 := 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); + T1.start; + alt { + [] as_GTP2C_CreateSession_success(); + [] T1.timeout { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "No message from MME"); } + } + + T2.start; + alt { + [] as_s1ap_handle_ERABSetupRequest_Attach_Accept(); + [] T2.timeout { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "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 4340a58..ff7d2cc 100644 --- a/mme/MME_Tests_emergency.ttcn +++ b/mme/MME_Tests_emergency.ttcn @@ -26,7 +26,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); @@ -41,7 +41,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); @@ -58,9 +58,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: merged Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2a81defc96bcebdf1a4ec765278ca502800cbe46 Gerrit-Change-Number: 41189 Gerrit-PatchSet: 4 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: jolly <andreas(a)eversberg.eu> Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
1 0
0 0
[M] Change in osmo-ttcn3-hacks[master]: MME-Tests: Add tests for emergency cappability indication
by jolly 21 Oct '25

21 Oct '25
jolly has submitted this change. ( 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, 229 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/mme/ConnHdlr.ttcn b/mme/ConnHdlr.ttcn index ab97983..9d259c5 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,39 @@ 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; 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) { + var template (present) EmergencyNumberListTLV num_list_tlv; + var template (present) EmergencyNumberList num_list; + for (var integer i := 0; i < g_pars.emerg_pars.numbers; i := i + 1) { + num_list[i] := tr_EmergencyNumber(1 + lengthof(g_pars.emerg_pars.digits[i]), + g_pars.emerg_pars.categories[i], + g_pars.emerg_pars.digits[i]); + } + + num_list_tlv := tr_EmergencyNumberListTLV(num_list); + if (not match(attach_accept.emergencyNumberList, num_list_tlv)) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + log2str("Expected emergency number list '", num_list_tlv, + "' does not match '", attach_accept.emergencyNumberList, + "'.")); + } + } 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..4340a58 --- /dev/null +++ b/mme/MME_Tests_emergency.ttcn @@ -0,0 +1,66 @@ +module MME_Tests_emergency { + +/* Osmocom MME test suite in TTCN-3, emergency call related procedures (3GPP TS 24.301) + * (C) 2025 by sysmocom - s.f.m.c. GmbH <info(a)sysmocom.de> + * All rights reserved. + * Author: Andreas Eversberg <aeversberg(a)sysmocom.de> + * + * 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: merged Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3d84486dd3826d0f60a3c06693118e36b01ecd2b Gerrit-Change-Number: 41188 Gerrit-PatchSet: 3 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: jolly <andreas(a)eversberg.eu> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
1 0
0 0
[S] Change in osmo-ttcn3-hacks[master]: library/s1ap: Add support for E_RABSetupRequest
by jolly 21 Oct '25

21 Oct '25
jolly has submitted this change. ( 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(-) Approvals: fixeria: Looks good to me, approved laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified 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: merged Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4593bb8a7845b4b1dd10866fca47f473bd585cf6 Gerrit-Change-Number: 41187 Gerrit-PatchSet: 2 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: jolly <andreas(a)eversberg.eu> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • ...
  • 64
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.