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

July 2023

  • 1 participants
  • 3051 discussions
[M] Change in osmo-ttcn3-hacks[master]: BSC_Test_ASCI: Add Talker detect with link fail test
by jolly 20 Jul '23

20 Jul '23
jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33853 ) Change subject: BSC_Test_ASCI: Add Talker detect with link fail test ...................................................................... BSC_Test_ASCI: Add Talker detect with link fail test The talker requests uplink. Instead of receiving link establishment from the BTS, the BSC receives a link failure. The MSC expects to receive an UPLINK RELEASE INDICATION, caused by radio link failure. Change-Id: Ied56a6bdc0bfa541b1419e63e9e209ed20af804c --- M bsc/BSC_Tests_ASCI.ttcn M bsc/MSC_ConnectionHandler.ttcn 2 files changed, 64 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/53/33853/1 diff --git a/bsc/BSC_Tests_ASCI.ttcn b/bsc/BSC_Tests_ASCI.ttcn index 70fcb4d..b4b0173 100644 --- a/bsc/BSC_Tests_ASCI.ttcn +++ b/bsc/BSC_Tests_ASCI.ttcn @@ -92,6 +92,7 @@ var boolean uplink_req := false; var boolean uplink_req_conf := false; var boolean uplink_rel_ind := false; + var boolean uplink_rel_ind_failure := false; var boolean assign_res := false; var boolean assign_fail := false; /* Note: This timer is used to receive messages after the expected event. @@ -150,6 +151,14 @@ } repeat; } + [] BSSAP.receive(tr_BSSMAP_UplinkRelInd(GSM0808_CAUSE_RADIO_INTERFACE_FAILURE, omit)) -> value rx_bssap { + log("VGCS: received uplink rel ind, caused by failure"); + uplink_rel_ind_failure := true; + if (g_pars.asci_test.vgcs_talker_fail) { + T.start; + } + repeat; + } [] COORD.receive(COORD_VGCS_ASSIGN_RES) { log("VGCS: got assignment result at call control"); assign_res := true; @@ -236,6 +245,19 @@ setverdict(pass); return; } + if (g_pars.asci_test.vgcs_talker_fail) { + if (not uplink_rel_ind_failure) { + setverdict(fail, "VGCS: No uplink release indication as expected!"); + return; + } + if (not uplink_free) { + setverdict(fail, "VGCS: Uplink not free as expected!"); + return; + } + log("VGCS: Uplink release and uplink marked free as expected!"); + setverdict(pass); + return; + } if (g_pars.asci_test.vgcs_talker_est) { if (not uplink_req_conf) { setverdict(fail, "VGCS: No uplink request confirm as expected!"); @@ -343,11 +365,16 @@ log("VGCS: got assignment result on channel"); COORD.send(COORD_VGCS_ASSIGN_RES); if (g_pars.asci_test.vgcs_talker_req or + g_pars.asci_test.vgcs_talker_fail or g_pars.asci_test.vgcs_talker_est or g_pars.asci_test.vgcs_talker_rel) { log("VGCS: sending talker det"); RSL.send(ts_RSL_TALKER_DET(g_chan_nr)); } + if (g_pars.asci_test.vgcs_talker_fail) { + log("VGCS: sending RSL failure ind"); + RSL.send(ts_RSL_CONN_FAIL_IND(g_chan_nr, RSL_ERR_TALKER_ACC_FAIL)); + } if (g_pars.asci_test.vgcs_talker_est or g_pars.asci_test.vgcs_talker_rel) { log("VGCS: sending RSL etabish ind"); @@ -493,6 +520,28 @@ f_shutdown_helper(); } +testcase TC_vgcs_vbs_talker_fail() runs on test_CT { + var MSC_ConnHdlr call_conn, chan_conn; + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + + f_init(1, true); + + pars.sccp_addr_msc := g_bssap[0].sccp_addr_own; + pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer; + + pars.asci_test.vgcs_talker_fail := true; + + call_conn := f_start_handler(refers(f_tc_vgcs_vbs_setup), pars); + chan_conn := f_start_handler(refers(f_tc_asci_assignment), pars); + /* Connect COORD ports of both functions. The functions will delay before using them. */ + connect(call_conn:COORD, chan_conn:COORD); + + call_conn.done; + chan_conn.done; + + f_shutdown_helper(); +} + testcase TC_vgcs_vbs_talker_est() runs on test_CT { var MSC_ConnHdlr call_conn, chan_conn; var TestHdlrParams pars := f_gen_test_hdlr_pars(); @@ -586,6 +635,7 @@ execute( TC_vgcs_vbs_assignment() ); execute( TC_vgcs_vbs_assignment_fail() ); execute( TC_vgcs_vbs_talker_req() ); + execute( TC_vgcs_vbs_talker_fail() ); execute( TC_vgcs_vbs_talker_est() ); execute( TC_vgcs_vbs_talker_rel() ); execute( TC_vgcs_vbs_uplink_seized() ); diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index f919fa6..0c62003 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -757,6 +757,7 @@ boolean vgcs_assign_ok, boolean vgcs_assign_fail, boolean vgcs_talker_req, + boolean vgcs_talker_fail, boolean vgcs_talker_est, boolean vgcs_talker_rel, boolean vgcs_uplink_seized, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33853 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ied56a6bdc0bfa541b1419e63e9e209ed20af804c Gerrit-Change-Number: 33853 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-MessageType: newchange
1 0
0 0
[M] Change in osmo-ttcn3-hacks[master]: BSC_Test_ASCI: Add race condition test, if MSC acknowledges talker
by jolly 20 Jul '23

20 Jul '23
jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33855 ) Change subject: BSC_Test_ASCI: Add race condition test, if MSC acknowledges talker ...................................................................... BSC_Test_ASCI: Add race condition test, if MSC acknowledges talker The existing tests (talker fails, talker establishes, talker releases) delay, so the MSC acknowledges the UPLINK REQUEST first. It is expected that the events of the talker (failure, establishment, release) are forwarded to the MSC after the acknowledgement. New tests are added, so that the MSC acknowledges the UPLINK REQUEST late. It is expected that the events of the talker are not forwarded before the MSC acknowledges. The BSC (under test) must queue the events of the talker before the MSC has acknowledged the UPLINK REQUEST. Change-Id: I28081e62287bdc17a3b477d9368f977aedce01c8 --- M bsc/BSC_Tests_ASCI.ttcn M bsc/MSC_ConnectionHandler.ttcn 2 files changed, 149 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/55/33855/1 diff --git a/bsc/BSC_Tests_ASCI.ttcn b/bsc/BSC_Tests_ASCI.ttcn index e4a0cca..78b4902 100644 --- a/bsc/BSC_Tests_ASCI.ttcn +++ b/bsc/BSC_Tests_ASCI.ttcn @@ -42,6 +42,7 @@ const charstring COORD_VGCS_UPLINK_BUSY := "VGCS_UPLINK_BUSY"; const charstring COORD_VGCS_ASSIGN_RES := "VGCS_ASSIGN_RES"; const charstring COORD_VGCS_ASSIGN_FAIL := "VGCS_ASSIGN_FAIL"; +const charstring COORD_UPLINK_REQUEST_CONFIRM := "UPLINK_REQUEST_CONFIRM"; template (value) DescriptiveGroupOrBroadcastCallReference_V ts_BSSMAP_IE_GroupCallRef(integer cr, @@ -82,6 +83,18 @@ * VGCS/VBS call controling connection */ +private function f_delay_msc() runs on MSC_ConnHdlr { + var PDU_BSSAP rx_bssap; + timer T := 2.0; + T.start; + alt { + [] BSSAP.receive(tr_BSSAP_BSSMAP) -> value rx_bssap { + setverdict(fail, "Got BSSAP message from BSC. This is unexpected:", rx_bssap); + } + [] T.timeout { } + } +} + private function f_tc_vgcs_vbs_setup(charstring id) runs on MSC_ConnHdlr { var PDU_BSSAP rx_bssap; var template (value) DescriptiveGroupOrBroadcastCallReference_V callref := @@ -129,6 +142,11 @@ [] BSSAP.receive(tr_BSSMAP_UplinkReq) -> value rx_bssap { log("VGCS: received uplink req"); uplink_req := true; + if (g_pars.asci_test.delay_msc) { + log("VGCS: delay uplink req ack"); + f_delay_msc(); + } + log("VGCS: sending uplink req ack"); BSSAP.send(ts_BSSMAP_UplinkReqAck(omit)); if (g_pars.asci_test.vgcs_talker_req) { T.start; @@ -138,6 +156,7 @@ [] BSSAP.receive(tr_BSSMAP_UplinkReqConf(?, omit, '1234'O)) -> value rx_bssap { log("VGCS: received uplink req confirm"); uplink_req_conf := true; + COORD.send(COORD_UPLINK_REQUEST_CONFIRM); if (g_pars.asci_test.vgcs_talker_est) { T.start; } @@ -159,6 +178,9 @@ } repeat; } + [] BSSAP.receive(tr_BSSMAP_UplinkRelInd(?, omit)) -> value rx_bssap { + setverdict(fail, "VGCS: received uplink rel ind, caused by failure with invalid cause: ", rx_bssap); + } [] COORD.receive(COORD_VGCS_ASSIGN_RES) { log("VGCS: got assignment result at call control"); assign_res := true; @@ -322,6 +344,17 @@ } } +private function f_delay_bts() runs on MSC_ConnHdlr { + timer T := 2.0; + T.start; + alt { + [] COORD.receive(COORD_UPLINK_REQUEST_CONFIRM) { + setverdict(fail, "Got UPLINK REQUEST CONFIRM from BSC. This is unexpected."); + } + [] T.timeout { } + } +} + private function f_tc_asci_assignment(charstring id) runs on MSC_ConnHdlr { var PDU_BSSAP rx_bssap; /* Hack: the proper way would be to wait for the BSSMAP VGCS Assignment Result and extract the @@ -374,11 +407,19 @@ RSL.send(ts_RSL_TALKER_DET(g_chan_nr)); } if (g_pars.asci_test.vgcs_talker_fail) { + if (g_pars.asci_test.delay_bts) { + log("VGCS: delay sending RSL failure ind"); + f_delay_bts(); + } log("VGCS: sending RSL failure ind"); RSL.send(ts_RSL_CONN_FAIL_IND(g_chan_nr, RSL_ERR_TALKER_ACC_FAIL)); } if (g_pars.asci_test.vgcs_talker_est or g_pars.asci_test.vgcs_talker_rel) { + if (g_pars.asci_test.delay_bts) { + log("VGCS: delay sending RSL estblish ind"); + f_delay_bts(); + } log("VGCS: sending RSL etabish ind"); RSL.send(ts_RSL_EST_IND(g_chan_nr, ts_RslLinkID_DCCH(0), '1234'O)); } @@ -415,6 +456,7 @@ COORD.send(COORD_VGCS_UPLINK_BUSY); repeat; } + [] COORD.receive(COORD_UPLINK_REQUEST_CONFIRM) { repeat; } } /* The RSL Emulation magically accepts the Chan Activ behind the scenes. */ @@ -531,7 +573,33 @@ pars.sccp_addr_msc := g_bssap[0].sccp_addr_own; pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer; + /* MSC sends acknowledge before link on BTS fail. */ pars.asci_test.vgcs_talker_fail := true; + pars.asci_test.delay_bts := true; + + call_conn := f_start_handler(refers(f_tc_vgcs_vbs_setup), pars); + chan_conn := f_start_handler(refers(f_tc_asci_assignment), pars); + /* Connect COORD ports of both functions. The functions will delay before using them. */ + connect(call_conn:COORD, chan_conn:COORD); + + call_conn.done; + chan_conn.done; + + f_shutdown_helper(); +} + +testcase TC_vgcs_vbs_talker_fail_late_msc() runs on test_CT { + var MSC_ConnHdlr call_conn, chan_conn; + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + + f_init(1, true); + + pars.sccp_addr_msc := g_bssap[0].sccp_addr_own; + pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer; + + /* MSC sends acknowledge after link on BTS fail. */ + pars.asci_test.vgcs_talker_fail := true; + pars.asci_test.delay_msc := true; call_conn := f_start_handler(refers(f_tc_vgcs_vbs_setup), pars); chan_conn := f_start_handler(refers(f_tc_asci_assignment), pars); @@ -553,7 +621,33 @@ pars.sccp_addr_msc := g_bssap[0].sccp_addr_own; pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer; + /* MSC sends acknowledge before BTS establishes the uplink. */ pars.asci_test.vgcs_talker_est := true; + pars.asci_test.delay_bts := true; + + call_conn := f_start_handler(refers(f_tc_vgcs_vbs_setup), pars); + chan_conn := f_start_handler(refers(f_tc_asci_assignment), pars); + /* Connect COORD ports of both functions. The functions will delay before using them. */ + connect(call_conn:COORD, chan_conn:COORD); + + call_conn.done; + chan_conn.done; + + f_shutdown_helper(); +} + +testcase TC_vgcs_vbs_talker_est_late_msc() runs on test_CT { + var MSC_ConnHdlr call_conn, chan_conn; + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + + f_init(1, true); + + pars.sccp_addr_msc := g_bssap[0].sccp_addr_own; + pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer; + + /* MSC sends acknowledge after BTS established the uplink. */ + pars.asci_test.vgcs_talker_est := true; + pars.asci_test.delay_msc := true; call_conn := f_start_handler(refers(f_tc_vgcs_vbs_setup), pars); chan_conn := f_start_handler(refers(f_tc_asci_assignment), pars); @@ -576,6 +670,30 @@ pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer; pars.asci_test.vgcs_talker_rel := true; + pars.asci_test.delay_bts := true; + + call_conn := f_start_handler(refers(f_tc_vgcs_vbs_setup), pars); + chan_conn := f_start_handler(refers(f_tc_asci_assignment), pars); + /* Connect COORD ports of both functions. The functions will delay before using them. */ + connect(call_conn:COORD, chan_conn:COORD); + + call_conn.done; + chan_conn.done; + + f_shutdown_helper(); +} + +testcase TC_vgcs_vbs_talker_rel_late_msc() runs on test_CT { + var MSC_ConnHdlr call_conn, chan_conn; + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + + f_init(1, true); + + pars.sccp_addr_msc := g_bssap[0].sccp_addr_own; + pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer; + + pars.asci_test.vgcs_talker_rel := true; + pars.asci_test.delay_msc := true; call_conn := f_start_handler(refers(f_tc_vgcs_vbs_setup), pars); chan_conn := f_start_handler(refers(f_tc_asci_assignment), pars); @@ -638,8 +756,11 @@ execute( TC_vgcs_vbs_assignment_fail() ); execute( TC_vgcs_vbs_talker_req() ); execute( TC_vgcs_vbs_talker_fail() ); + execute( TC_vgcs_vbs_talker_fail_late_msc() ); execute( TC_vgcs_vbs_talker_est() ); + execute( TC_vgcs_vbs_talker_est_late_msc() ); execute( TC_vgcs_vbs_talker_rel() ); + execute( TC_vgcs_vbs_talker_rel_late_msc() ); execute( TC_vgcs_vbs_uplink_seized() ); execute( TC_vgcs_vbs_uplink_release() ); } diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 0c62003..b7760d0 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -761,7 +761,9 @@ boolean vgcs_talker_est, boolean vgcs_talker_rel, boolean vgcs_uplink_seized, - boolean vgcs_uplink_release + boolean vgcs_uplink_release, + boolean delay_bts, + boolean delay_msc }; type record TestHdlrParams { @@ -853,10 +855,13 @@ vgcs_assign_ok := false, vgcs_assign_fail := false, vgcs_talker_req := false, + vgcs_talker_fail := false, vgcs_talker_est := false, vgcs_talker_rel := false, vgcs_uplink_seized := false, - vgcs_uplink_release := false + vgcs_uplink_release := false, + delay_bts := false, + delay_msc := false } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I28081e62287bdc17a3b477d9368f977aedce01c8 Gerrit-Change-Number: 33855 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-MessageType: newchange
1 0
0 0
[M] Change in osmo-ttcn3-hacks[master]: BSC_Test_ASCI: Add Talker detect with UPLINK REJECT COMMAND test
by jolly 20 Jul '23

20 Jul '23
jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33856 ) Change subject: BSC_Test_ASCI: Add Talker detect with UPLINK REJECT COMMAND test ...................................................................... BSC_Test_ASCI: Add Talker detect with UPLINK REJECT COMMAND test The talker requests uplink. The UPLINK REQUEST is rejected by the MSC. The uplink is marked free again. Change-Id: Iba4dd21a69d49e6a8508b15b823ffccc7f0dafc9 --- M bsc/BSC_Tests_ASCI.ttcn M bsc/MSC_ConnectionHandler.ttcn 2 files changed, 57 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/56/33856/1 diff --git a/bsc/BSC_Tests_ASCI.ttcn b/bsc/BSC_Tests_ASCI.ttcn index 78b4902..a97e0db 100644 --- a/bsc/BSC_Tests_ASCI.ttcn +++ b/bsc/BSC_Tests_ASCI.ttcn @@ -146,9 +146,15 @@ log("VGCS: delay uplink req ack"); f_delay_msc(); } - log("VGCS: sending uplink req ack"); - BSSAP.send(ts_BSSMAP_UplinkReqAck(omit)); - if (g_pars.asci_test.vgcs_talker_req) { + if (g_pars.asci_test.vgcs_uplink_reject) { + log("VGCS: sending uplink rej cmd"); + BSSAP.send(ts_BSSMAP_UplinkRejCmd(9)); + } else { + log("VGCS: sending uplink req ack"); + BSSAP.send(ts_BSSMAP_UplinkReqAck(omit)); + } + if (g_pars.asci_test.vgcs_talker_req or + g_pars.asci_test.vgcs_uplink_reject) { T.start; } repeat; @@ -327,6 +333,15 @@ setverdict(pass); return; } + if (g_pars.asci_test.vgcs_uplink_reject) { + if (not uplink_free) { + setverdict(fail, "VGCS: Uplink not free as expected!"); + return; + } + log("VGCS: Uplink rejected and uplink marked free as expected!"); + setverdict(pass); + return; + } } /* @@ -402,7 +417,8 @@ if (g_pars.asci_test.vgcs_talker_req or g_pars.asci_test.vgcs_talker_fail or g_pars.asci_test.vgcs_talker_est or - g_pars.asci_test.vgcs_talker_rel) { + g_pars.asci_test.vgcs_talker_rel or + g_pars.asci_test.vgcs_uplink_reject) { log("VGCS: sending talker det"); RSL.send(ts_RSL_TALKER_DET(g_chan_nr)); } @@ -706,6 +722,28 @@ f_shutdown_helper(); } +testcase TC_vgcs_vbs_uplink_reject() runs on test_CT { + var MSC_ConnHdlr call_conn, chan_conn; + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + + f_init(1, true); + + pars.sccp_addr_msc := g_bssap[0].sccp_addr_own; + pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer; + + pars.asci_test.vgcs_uplink_reject := true; + + call_conn := f_start_handler(refers(f_tc_vgcs_vbs_setup), pars); + chan_conn := f_start_handler(refers(f_tc_asci_assignment), pars); + /* Connect COORD ports of both functions. The functions will delay before using them. */ + connect(call_conn:COORD, chan_conn:COORD); + + call_conn.done; + chan_conn.done; + + f_shutdown_helper(); +} + testcase TC_vgcs_vbs_uplink_seized() runs on test_CT { var MSC_ConnHdlr call_conn, chan_conn; var TestHdlrParams pars := f_gen_test_hdlr_pars(); @@ -761,6 +799,7 @@ execute( TC_vgcs_vbs_talker_est_late_msc() ); execute( TC_vgcs_vbs_talker_rel() ); execute( TC_vgcs_vbs_talker_rel_late_msc() ); + execute( TC_vgcs_vbs_uplink_reject() ); execute( TC_vgcs_vbs_uplink_seized() ); execute( TC_vgcs_vbs_uplink_release() ); } diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index b7760d0..269fb79 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -760,6 +760,7 @@ boolean vgcs_talker_fail, boolean vgcs_talker_est, boolean vgcs_talker_rel, + boolean vgcs_uplink_reject, boolean vgcs_uplink_seized, boolean vgcs_uplink_release, boolean delay_bts, @@ -858,6 +859,7 @@ vgcs_talker_fail := false, vgcs_talker_est := false, vgcs_talker_rel := false, + vgcs_uplink_reject := false, vgcs_uplink_seized := false, vgcs_uplink_release := false, delay_bts := false, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33856 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iba4dd21a69d49e6a8508b15b823ffccc7f0dafc9 Gerrit-Change-Number: 33856 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-MessageType: newchange
1 0
0 0
[S] Change in osmo-bsc[master]: ASCI: Fixed talker release event before MSC acknowledges
by jolly 20 Jul '23

20 Jul '23
jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/33852 ) Change subject: ASCI: Fixed talker release event before MSC acknowledges ...................................................................... ASCI: Fixed talker release event before MSC acknowledges If the talker establishes and releases the uplink before the MSC has acknowledged or rejected the uplink access, the event and the cause is queued. When the MSC acknowledges the uplink acces, the UPLINK RELEASE INDICATION is sent with queued cause. Change-Id: I753b78ba3b8b5e589746780328028443d80cf099 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/vgcs_fsm.c 2 files changed, 31 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/52/33852/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 43f08d5..7d36baa 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -429,6 +429,9 @@ struct gsm_subscriber_connection *talker; /* L3 info of link establihment (Talker established) */ struct llist_head l3_queue; + /* Flag and cause (Talker released) */ + bool talker_rel; + uint8_t talker_cause; /* Flag that states acknowledgement of the talker by MSC */ bool msc_ack; /* List of VGCS/VBS "resource controling" connections */ diff --git a/src/osmo-bsc/vgcs_fsm.c b/src/osmo-bsc/vgcs_fsm.c index d999490..87461b2 100644 --- a/src/osmo-bsc/vgcs_fsm.c +++ b/src/osmo-bsc/vgcs_fsm.c @@ -192,6 +192,7 @@ while ((msg = msgb_dequeue(&conn->vgcs_call.l3_queue))) msgb_free(msg); conn->vgcs_call.msc_ack = false; + conn->vgcs_call.talker_rel = false; /* Report busy uplink to the MSC. */ bsc_tx_uplink_req(conn); /* Block all other channels. */ @@ -292,6 +293,13 @@ break; case VGCS_EV_TALKER_REL: LOG_CALL(conn, LOGL_DEBUG, "Talker released on uplink.\n"); + if (!conn->vgcs_call.msc_ack) { + LOG_CALL(conn, LOGL_DEBUG, "Talker released before MSC acknowleded or rejected.\n"); + conn->vgcs_call.talker_rel = true; + conn->vgcs_call.talker_cause = cause; + break; + } +talker_released: /* Talker released channel, call becomes idle. */ osmo_fsm_inst_state_chg(fi, VGCS_CALL_ST_IDLE, 0, 0); conn->vgcs_call.talker = NULL; @@ -338,6 +346,12 @@ bsc_dtap(conn, 0, msg); msgb_free(msg); } + /* If there is a pending talker release. */ + if (conn->vgcs_call.talker_rel) { + LOG_CALL(conn, LOGL_DEBUG, "Sending queued talker release messages to MSC.\n"); + cause = conn->vgcs_call.talker_cause; + goto talker_released; + } break; case VGCS_EV_MSC_REJECT: LOG_CALL(conn, LOGL_DEBUG, "MSC rejects talker on uplink.\n"); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/33852 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I753b78ba3b8b5e589746780328028443d80cf099 Gerrit-Change-Number: 33852 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-MessageType: newchange
1 0
0 0
[S] Change in pysim[master]: apdu/ts_102_221: extract channel number from dict before calling del_...
by laforge 20 Jul '23

20 Jul '23
laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/33837 ) ( 1 is the latest approved patch-set. No files were changed between the latest approved patch-set and the submitted one. )Change subject: apdu/ts_102_221: extract channel number from dict before calling del_lchan ...................................................................... apdu/ts_102_221: extract channel number from dict before calling del_lchan When the method del_lchan is called, closed_channel_nr still contains a dict that contains the channel number under the key 'logical_channel_number'. This will lead to an exception. We must extact the channel number from the dict before we can use it with del_lchan. (See also created_channel_nr) Related: OS#6094 Change-Id: I399856bc227f17b66cdb4158a69a35d50ba222a7 --- M pySim/apdu/ts_102_221.py 1 file changed, 17 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/apdu/ts_102_221.py b/pySim/apdu/ts_102_221.py index 3780c8a..2d3ad82 100644 --- a/pySim/apdu/ts_102_221.py +++ b/pySim/apdu/ts_102_221.py @@ -396,7 +396,7 @@ self.col_id = '%02u' % created_channel_nr return {'mode': mode, 'created_channel': created_channel_nr } elif mode == 'close_channel': - closed_channel_nr = self.cmd_dict['p2'] + closed_channel_nr = self.cmd_dict['p2']['logical_channel_number'] rs.del_lchan(closed_channel_nr) self.col_id = '%02u' % closed_channel_nr return {'mode': mode, 'closed_channel': closed_channel_nr } -- To view, visit https://gerrit.osmocom.org/c/pysim/+/33837 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I399856bc227f17b66cdb4158a69a35d50ba222a7 Gerrit-Change-Number: 33837 Gerrit-PatchSet: 2 Gerrit-Owner: dexter <pmaier(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-MessageType: merged
1 0
0 0
[S] Change in pysim[master]: requirements: add pyshark to requirements lists
by laforge 20 Jul '23

20 Jul '23
Attention is currently required from: fixeria, dexter. laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/33831 ) Change subject: requirements: add pyshark to requirements lists ...................................................................... Patch Set 2: (1 comment) Patchset: PS2: > How would you describe it then? I could remove the dependency from setup.py and requirements. […] I think I also explicitly didn't add a hard dependency as not everyone may be interetsed in pySim-trace. In autotools this is where I would add a --enable-foo or --with-foo. I have no idea how to achieve that in python. We have the same topic for the smpp.pdu dependency which is not needed for core pySim. Any idea? In terms of overall dependency reduction, I think by refactoring we can get rid of pytlv (we have much more powerful TLV code in pySim internally now). We should also be able to get rid of bidict. For pyyaml I don't even know why we depend on it... ah, the card_handler. Should also be possible to do in a simpler way without introducing that dependency. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/33831 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I885c7210aac3774a5f1f5201903ad2bff94c3120 Gerrit-Change-Number: 33831 Gerrit-PatchSet: 2 Gerrit-Owner: dexter <pmaier(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-CC: laforge <laforge(a)osmocom.org> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: dexter <pmaier(a)sysmocom.de> Gerrit-Comment-Date: Thu, 20 Jul 2023 15:50:06 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de> Comment-In-Reply-To: dexter <pmaier(a)sysmocom.de> Gerrit-MessageType: comment
1 0
0 0
[S] Change in pysim[master]: apdu/ts_102_221: extract channel number from dict before calling del_...
by laforge 20 Jul '23

20 Jul '23
Attention is currently required from: fixeria, dexter. laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/33837 ) Change subject: apdu/ts_102_221: extract channel number from dict before calling del_lchan ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/33837 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I399856bc227f17b66cdb4158a69a35d50ba222a7 Gerrit-Change-Number: 33837 Gerrit-PatchSet: 1 Gerrit-Owner: dexter <pmaier(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: dexter <pmaier(a)sysmocom.de> Gerrit-Comment-Date: Thu, 20 Jul 2023 15:46:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[M] Change in libosmo-gprs[master]: gmm: Introduce GMMSM-Modify.ind primitive
by laforge 20 Jul '23

20 Jul '23
Attention is currently required from: pespin, fixeria. laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/33810 ) Change subject: gmm: Introduce GMMSM-Modify.ind primitive ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/33810 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-gprs Gerrit-Branch: master Gerrit-Change-Id: I81e207d44d88f18f0ee13fb413827606a6f830bc Gerrit-Change-Number: 33810 Gerrit-PatchSet: 2 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Thu, 20 Jul 2023 15:45:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[S] Change in libosmo-gprs[master]: rlcmac: Fix LOGPTBFDL macro log category
by laforge 20 Jul '23

20 Jul '23
Attention is currently required from: pespin. laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/33851 ) Change subject: rlcmac: Fix LOGPTBFDL macro log category ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/33851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-gprs Gerrit-Branch: master Gerrit-Change-Id: I7f90981a114070ff13c508f0c6800cc1dd2cfe14 Gerrit-Change-Number: 33851 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Thu, 20 Jul 2023 15:45:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[S] Change in pysim[master]: cards: fix swapped PIN mapping number
by laforge 20 Jul '23

20 Jul '23
laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/33849 ) Change subject: cards: fix swapped PIN mapping number ...................................................................... cards: fix swapped PIN mapping number The constant for _adm_chv_num is swapped. It should be 0x0A, rather than 0xA0 Change-Id: I5680d2deee855ef316a98058e8c8ff8cf4edbbb2 --- M pySim/cards.py 1 file changed, 13 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/cards.py b/pySim/cards.py index c6a68fc..c87c488 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -101,7 +101,7 @@ self._scc.cla_byte = "00" self._scc.sel_ctrl = "0004" # request an FCP # See also: ETSI TS 102 221, Table 9.3 - self._adm_chv_num = 0xA0 + self._adm_chv_num = 0x0A def probe(self) -> bool: # EF.DIR is a mandatory EF on all ICCIDs; however it *may* also exist on a TS 51.011 SIM -- To view, visit https://gerrit.osmocom.org/c/pysim/+/33849 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I5680d2deee855ef316a98058e8c8ff8cf4edbbb2 Gerrit-Change-Number: 33849 Gerrit-PatchSet: 1 Gerrit-Owner: dexter <pmaier(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-MessageType: merged
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • ...
  • 306
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.