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

June 2023

  • 1 participants
  • 2480 discussions
[L] Change in osmo-ttcn3-hacks[master]: Added BSC tests for terminating voice group calls
by jolly 01 Jun '23

01 Jun '23
jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33150 ) Change subject: Added BSC tests for terminating voice group calls ...................................................................... Added BSC tests for terminating voice group calls fixes: I9b824a08d3948dc01e4748d4a4d61b889d31e5ff Change-Id: I6762e8adfb7d5f77df837c698ff70cd7fd715ffe --- M bsc/BSC_Tests_ASCI.ttcn 1 file changed, 442 insertions(+), 26 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/50/33150/1 diff --git a/bsc/BSC_Tests_ASCI.ttcn b/bsc/BSC_Tests_ASCI.ttcn index 27538a7..448fbef 100644 --- a/bsc/BSC_Tests_ASCI.ttcn +++ b/bsc/BSC_Tests_ASCI.ttcn @@ -35,26 +35,233 @@ import from RAN_Adapter all; import from RAN_Emulation all; +const charstring VGCS_CALL_EST := "VGCS_CALL_EST"; +const charstring VGCS_CALL_REL := "VGCS_CALL_REL"; +const charstring VGCS_CHANNEL_REL := "VGCS_CHANNEL_REL"; +const charstring VGCS_UPLINK_FREE := "VGCS_UPLINK_FREE"; +const charstring VGCS_UPLINK_BUSY := "VGCS_UPLINK_BUSY"; +const charstring VGCS_ASSIGN_RES := "VGCS_ASSIGN_RES"; +const charstring VGCS_ASSIGN_FAIL := "VGCS_ASSIGN_FAIL"; + +type component RSL_DchanHdlr { + /* port facing up towards dedicated channel handler */ + port RSL_DCHAN_PT RSL; + port RSLEM_PROC_PT RSL_PROC; + var RslChannelNr g_chan_nr; + /* second BTS / DChan during hand-over */ + port RSL_DCHAN_PT RSL1; + port RSLEM_PROC_PT RSL1_PROC; + port RSL_DCHAN_PT RSL2; + port RSLEM_PROC_PT RSL2_PROC; +}; + +template (value) DescriptiveGroupOrBroadcastCallReference_V + ts_BSSMAP_IE_GroupCallRef(integer cr, integer sf, integer af, integer prio, integer ci) := { + binaryCodingOfGroupOrBroadcastCallReference := int2bit(cr, 27), + sF := int2bit(sf, 1), + aF := int2bit(af, 1), + callPriority := int2bit(prio, 3), + cipheringInformation := int2bit(ci, 4), + spare := '0000'B +} function f_gen_asci_ass_req(integer bssap_idx := 0, template (value) BSSMAP_IE_ChannelType ch_type := ts_BSSMAP_IE_ChannelType, template (value) OCT1 ass_requirement := '00'O, - template (value) BSSMAP_IE_CellIdentifier cell_id := ts_CellID_LAC_CI(1, 0), - template (value) GroupCallRef group_call_ref := '2342'O, + template (value) BSSMAP_IE_CellIdentifier cell_id := ts_CellId_CI(0), + template (value) GroupCallRef group_call_ref := '0000001000'O, charstring aoip_tla :="1.2.3.4") runs on MSC_ConnHdlr return template (value) PDU_BSSAP { if (mp_bssap_cfg[bssap_idx].transport == BSSAP_TRANSPORT_AoIP) { var template (value) BSSMAP_IE_AoIP_TransportLayerAddress tla := - f_ts_BSSMAP_IE_AoIP_TLA(aoip_tla, 2342); + f_ts_BSSMAP_IE_AoIP_TLA(aoip_tla, 2342); + var template (value) BSSMAP_IE_SpeechCodecList codec_list := + ts_BSSMAP_IE_CodecList({ts_CodecFR}); return ts_BSSMAP_VGCS_VBS_AssignmentReq(ch_type, ass_requirement, cell_id, - group_call_ref, omit, tla); + group_call_ref, omit, tla, omit, codec_list); } else { var template (value) BSSMAP_IE_CircuitIdentityCode cic := ts_BSSMAP_IE_CIC(0,1); return ts_BSSMAP_VGCS_VBS_AssignmentReq(ch_type, ass_requirement, cell_id, - group_call_ref, cic, omit); + group_call_ref, cic, omit, omit, omit); } } +/* + * VGCS/VBS call controling connection + */ + +private function f_tc_vgcs_vbs_setup(charstring id) runs on MSC_ConnHdlr { + var PDU_BSSAP rx_bssap; + var template (value) DescriptiveGroupOrBroadcastCallReference_V callref := + ts_BSSMAP_IE_GroupCallRef(11, 1, 0, 0, 0); + var template (value) PDU_BSSAP setup_req := ts_BSSMAP_VGCS_VBS_Setup(bit2oct(encvalue(callref)), omit); + var boolean uplink_free := false; + var boolean uplink_busy := false; + var boolean uplink_req := false; + var boolean uplink_req_conf := false; + var boolean uplink_rel_ind := false; + var boolean assign_res := false; + var boolean assign_fail := false; + timer T := 0.2; + if (true) { /* VGCS/VBS ASS REQ in SCCP CR */ + BSSAP.send(ts_BSSAP_Conn_Req(g_pars.sccp_addr_bsc, g_pars.sccp_addr_msc, setup_req)); + BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_CONF_IND); + } else { /* VGCS/VBS ASS REQ in SCCP DT1 */ + BSSAP.send(ts_BSSAP_Conn_Req(g_pars.sccp_addr_bsc, g_pars.sccp_addr_msc, omit)); + BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_CONF_IND); + BSSAP.send(setup_req); + } + + f_sleep(0.5); + + alt { + [] BSSAP.receive(tr_BSSMAP_VGCS_VBS_SetupAck) -> value rx_bssap { + log("VGCS: got setup ack"); + if (not g_pars.vgcs_setup_only) { + COORD.send(VGCS_CALL_EST); + repeat; + } + BSSAP.send(ts_BSSMAP_ClearCommand(0)); + BSSAP.receive(tr_BSSMAP_ClearComplete); + BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ); + setverdict(pass); + return; + } + [] BSSAP.receive(tr_BSSMAP_VGCS_VBS_SetupRefuse) -> value rx_bssap { + log("VGCS: got setup refuse"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Expected ASCI Setup to succeed, but got fail"); + return; + } + [] BSSAP.receive(tr_BSSMAP_UplinkReq) -> value rx_bssap { + log("VGCS: received uplink req"); + uplink_req := true; + BSSAP.send(ts_BSSMAP_UplinkReqAck(omit)); + if (not g_pars.vgcs_talker_est) { + T.start; + } + repeat; + } + [] BSSAP.receive(tr_BSSMAP_UplinkReqConf(?, omit, '1234'O)) -> value rx_bssap { + log("VGCS: received uplink req confirm"); + uplink_req_conf := true; + if (not g_pars.vgcs_talker_rel) { + T.start; + } + repeat; + } + [] BSSAP.receive(tr_BSSMAP_UplinkRelInd(GSM0808_CAUSE_CALL_CONTROL)) -> value rx_bssap { + log("VGCS: received uplink rel ind"); + uplink_rel_ind := true; + T.start; + repeat; + } + [] COORD.receive(VGCS_ASSIGN_RES) { + log("VGCS: got assignment result at call control"); + assign_res := true; + if (not g_pars.vgcs_talker_req) { + T.start; + } + repeat; + } + [] COORD.receive(VGCS_ASSIGN_FAIL) { + log("VGCS: got assignment failure at call control"); + assign_fail := true; + if (g_pars.vgcs_assign_fail) { + T.start; + } + repeat; + } + [] COORD.receive(VGCS_UPLINK_FREE) { + log("VGCS: Got UPLINK FREE at call control"); + uplink_busy := false; + uplink_free := true; + repeat; + } + [] COORD.receive(VGCS_UPLINK_BUSY) { + log("VGCS: Got UPLINK BUSY at call control"); + uplink_busy := true; + uplink_free := false; + repeat; + } + [] T.timeout { + COORD.send(VGCS_CHANNEL_REL); + BSSAP.send(ts_BSSMAP_ClearCommand(0)); + BSSAP.receive(tr_BSSMAP_ClearComplete); + BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ); + if (g_pars.vgcs_assign_fail) { + if (not assign_fail) { + setverdict(fail, "VGCS: Assignment did not fail as expected!"); + return; + } + log("VGCS: Channel assignment failed as expected!"); + setverdict(pass); + return; + } + if (not assign_res) { + setverdict(fail, "VGCS: Assignment did not pass as expected!"); + return; + } + if (g_pars.vgcs_talker_rel) { + if (not uplink_rel_ind) { + 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 establised+telease and uplink marked free as expected!"); + setverdict(pass); + return; + } + if (g_pars.vgcs_talker_est) { + if (not uplink_req_conf) { + setverdict(fail, "VGCS: No uplink request confirm as expected!"); + return; + } + if (not uplink_busy) { + setverdict(fail, "VGCS: Uplink not busy as expected!"); + return; + } + log("VGCS: Uplink established and uplink marked busy as expected!"); + setverdict(pass); + return; + } + if (g_pars.vgcs_talker_req) { + if (not uplink_req) { + setverdict(fail, "VGCS: No uplink request as expected!"); + return; + } + if (not uplink_busy) { + setverdict(fail, "VGCS: Uplink not busy as expected!"); + return; + } + log("VGCS: Uplink requested and uplink marked busy as expected!"); + setverdict(pass); + return; + } + if (not uplink_free) { + setverdict(fail, "VGCS: Uplink not free as expected!"); + return; + } + log("VGCS: Channel established and uplink marked free as expected!"); + setverdict(pass); + return; + } + } +} + +/* + * VGCS/VBS resource controling connection + */ + +private altstep as_eat_rsl_data() runs on MSC_ConnHdlr { + [] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, ?)) { + log("VGCS: Got RSL DATA REQ on channel"); + repeat; + } +} private function f_tc_asci_assignment(charstring id) runs on MSC_ConnHdlr { var PDU_BSSAP rx_bssap; @@ -67,17 +274,31 @@ f_rslem_register(0, new_chan_nr); g_chan_nr := new_chan_nr; var uint3_t expect_target_tsc := c_BtsParams[0].tsc; + var default eat_rsl_data; + f_sleep(1.0); f_create_mgcp_expect(ExpectCriteria:{omit,omit,omit}); f_MscConnHdlr_init(g_pars.media_nr, "127.0.0.2", "127.0.0.3", FR_AMR); var default as_media := activate(as_Media()); + log("VGCS: wait for establishment of call controling connection"); + COORD.receive(VGCS_CALL_EST); + log("VGCS: got establishment of call controling connection"); + /* TODO: Encryption */ - var template (value) BSSMAP_IE_ChannelType ch_type := ts_BSSMAP_IE_ChannelType; - var template (value) BSSMAP_IE_CellIdentifier cell_id := ts_CellID_LAC_CI(1, 0); - var template (value) PDU_BSSAP ass_req := f_gen_asci_ass_req(ch_type := ch_type, cell_id := cell_id); - if (false) { /* VGCS/VBS ASS REQ in SCCP CR */ + var template (value) BSSMAP_IE_ChannelType req_ch_type := ts_BSSMAP_IE_ChannelType; + var template BSSMAP_IE_ChannelType res_ch_type := tr_BSSMAP_IE_ChannelType('0001'B, ChRate_TCHF, Spdi_TCHF_FR); + var template (value) BSSMAP_IE_CellIdentifier req_cell_id := ts_CellId_CI(0); + var template BSSMAP_IE_CellIdentifier res_cell_id := tr_CellId_CI(0); + var template (value) DescriptiveGroupOrBroadcastCallReference_V callref := + ts_BSSMAP_IE_GroupCallRef(11, 1, 0, 0, 0); + if (g_pars.vgcs_assign_fail) { + callref := ts_BSSMAP_IE_GroupCallRef(10, 1, 0, 0, 0); + } + var template (value) PDU_BSSAP ass_req := f_gen_asci_ass_req(ch_type := req_ch_type, cell_id := req_cell_id, + group_call_ref := bit2oct(encvalue(callref))); + if (true) { /* VGCS/VBS ASS REQ in SCCP CR */ BSSAP.send(ts_BSSAP_Conn_Req(g_pars.sccp_addr_bsc, g_pars.sccp_addr_msc, ass_req)); BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_CONF_IND); } else { /* VGCS/VBS ASS REQ in SCCP DT1 */ @@ -87,22 +308,50 @@ } alt { - [] BSSAP.receive(tr_BSSMAP_VGCS_VBS_AssignmentRes(ch_type, cell_id)) -> value rx_bssap { - if (g_pars.expect_ho_fail) { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, - "Expected ASCI Assignment to fail, but got success"); + [] BSSAP.receive(tr_BSSMAP_VGCS_VBS_AssignmentRes(res_ch_type, res_cell_id)) -> value rx_bssap { + log("VGCS: got assignment result on channel"); + COORD.send(VGCS_ASSIGN_RES); + if (g_pars.vgcs_talker_req) { + log("VGCS: sending talker det"); + RSL.send(ts_RSL_TALKER_DET(g_chan_nr)); } + if (g_pars.vgcs_talker_est) { + log("VGCS: sending RSL etabish ind"); + RSL.send(ts_RSL_EST_IND(g_chan_nr, ts_RslLinkID_DCCH(0), '1234'O)); + } + if (g_pars.vgcs_talker_rel) { + log("VGCS: sending RSL release ind"); + RSL.send(ts_RSL_REL_IND(g_chan_nr, ts_RslLinkID_DCCH(0))); + } + repeat; } [] BSSAP.receive(tr_BSSMAP_VGCS_VBS_AssignmentFail) -> value rx_bssap { - if (not g_pars.expect_ho_fail) { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, - "Expected ASCI Assignment to succeed, but got fail"); - } - /* TOOD: evaluate correct cause value. But osmo-bsc doesn't seem to send meaningful causes * yet! */ - BSSAP.receive(tr_BSSMAP_ClearRequest); - setverdict(pass); + log("VGCS: got assignment failure on channel"); + COORD.send(VGCS_ASSIGN_FAIL); + log("VGCS: got release order after assignment failure"); + COORD.receive(VGCS_CHANNEL_REL); + BSSAP.send(ts_BSSMAP_ClearCommand(0)); + BSSAP.receive(tr_BSSMAP_ClearComplete); + BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ); return; } + [] COORD.receive(VGCS_CHANNEL_REL) { + log("VGCS: got release order of resource controling connection"); + eat_rsl_data := activate(as_eat_rsl_data()); + f_perform_clear_no_rr_rel(); + deactivate(eat_rsl_data); + return; + } + [] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, '082B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B'O)) { + log("VGCS: Got UPLINK FREE on channel"); + COORD.send(VGCS_UPLINK_FREE); + repeat; + } + [] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, '062A'O)) { + log("VGCS: Got UPLINK BUSY on channel"); + COORD.send(VGCS_UPLINK_BUSY); + repeat; + } } /* The RSL Emulation magically accepts the Chan Activ behind the scenes. */ @@ -126,22 +375,178 @@ } -testcase TC_vbs_assignment() runs on test_CT { - var MSC_ConnHdlr vc_conn; +testcase TC_vgcs_vbs_setup_only() runs on test_CT { + var MSC_ConnHdlr call_conn; var TestHdlrParams pars := f_gen_test_hdlr_pars(); + f_sleep(2.0); + f_init(1, true); f_sleep(1.0); - vc_conn := f_start_handler(refers(f_tc_asci_assignment), pars); - vc_conn.done; + pars.sccp_addr_msc := g_bssap[0].sccp_addr_own; + pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer; + + pars.vgcs_setup_only := true; + pars.vgcs_talker_req := false; + pars.vgcs_talker_est := false; + pars.vgcs_talker_rel := false; + pars.vgcs_assign_fail := false; + + call_conn := f_start_handler(refers(f_tc_vgcs_vbs_setup), pars); + + call_conn.done; + + f_shutdown_helper(); +} + +testcase TC_vgcs_vbs_assignment() runs on test_CT { + var MSC_ConnHdlr call_conn, chan_conn; + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + + f_sleep(2.0); + + f_init(1, true); + f_sleep(1.0); + + pars.sccp_addr_msc := g_bssap[0].sccp_addr_own; + pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer; + + pars.vgcs_setup_only := false; + pars.vgcs_talker_req := false; + pars.vgcs_talker_est := false; + pars.vgcs_talker_rel := false; + pars.vgcs_assign_fail := false; + + call_conn := f_start_handler(refers(f_tc_vgcs_vbs_setup), pars); + chan_conn := f_start_handler(refers(f_tc_asci_assignment), pars); + connect(call_conn:COORD, chan_conn:COORD); + + call_conn.done; + chan_conn.done; + + f_shutdown_helper(); +} + +testcase TC_vgcs_vbs_assignment_fail() runs on test_CT { + var MSC_ConnHdlr call_conn, chan_conn; + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + + f_sleep(2.0); + + f_init(1, true); + f_sleep(1.0); + + pars.sccp_addr_msc := g_bssap[0].sccp_addr_own; + pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer; + + pars.vgcs_setup_only := false; + pars.vgcs_talker_req := false; + pars.vgcs_talker_est := false; + pars.vgcs_talker_rel := false; + pars.vgcs_assign_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(call_conn:COORD, chan_conn:COORD); + + call_conn.done; + chan_conn.done; + + f_shutdown_helper(); +} + +testcase TC_vgcs_vbs_talker_req() runs on test_CT { + var MSC_ConnHdlr call_conn, chan_conn; + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + + f_sleep(2.0); + + f_init(1, true); + f_sleep(1.0); + + pars.sccp_addr_msc := g_bssap[0].sccp_addr_own; + pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer; + + pars.vgcs_setup_only := false; + pars.vgcs_talker_req := true; + pars.vgcs_talker_est := false; + pars.vgcs_talker_rel := false; + pars.vgcs_assign_fail := false; + + call_conn := f_start_handler(refers(f_tc_vgcs_vbs_setup), pars); + chan_conn := f_start_handler(refers(f_tc_asci_assignment), pars); + 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(); + + f_sleep(2.0); + + f_init(1, true); + f_sleep(1.0); + + pars.sccp_addr_msc := g_bssap[0].sccp_addr_own; + pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer; + + pars.vgcs_setup_only := false; + pars.vgcs_talker_req := true; + pars.vgcs_talker_est := true; + pars.vgcs_talker_rel := false; + pars.vgcs_assign_fail := false; + + call_conn := f_start_handler(refers(f_tc_vgcs_vbs_setup), pars); + chan_conn := f_start_handler(refers(f_tc_asci_assignment), pars); + connect(call_conn:COORD, chan_conn:COORD); + + call_conn.done; + chan_conn.done; + + f_shutdown_helper(); +} + +testcase TC_vgcs_vbs_talker_rel() runs on test_CT { + var MSC_ConnHdlr call_conn, chan_conn; + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + + f_sleep(2.0); + + f_init(1, true); + f_sleep(1.0); + + pars.sccp_addr_msc := g_bssap[0].sccp_addr_own; + pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer; + + pars.vgcs_setup_only := false; + pars.vgcs_talker_req := true; + pars.vgcs_talker_est := true; + pars.vgcs_talker_rel := true; + pars.vgcs_assign_fail := false; + + call_conn := f_start_handler(refers(f_tc_vgcs_vbs_setup), pars); + chan_conn := f_start_handler(refers(f_tc_asci_assignment), pars); + connect(call_conn:COORD, chan_conn:COORD); + + call_conn.done; + chan_conn.done; f_shutdown_helper(); } control { - execute( TC_vbs_assignment() ); - + execute( TC_vgcs_vbs_setup_only() ); + execute( TC_vgcs_vbs_assignment() ); + execute( TC_vgcs_vbs_assignment_fail() ); + execute( TC_vgcs_vbs_talker_req() ); + execute( TC_vgcs_vbs_talker_est() ); + execute( TC_vgcs_vbs_talker_rel() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33150 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: I6762e8adfb7d5f77df837c698ff70cd7fd715ffe Gerrit-Change-Number: 33150 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-MessageType: newchange
1 0
0 0
[M] Change in osmo-ttcn3-hacks[master]: WIP: ASCI related BTS tests
by jolly 01 Jun '23

01 Jun '23
jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33142 ) Change subject: WIP: ASCI related BTS tests ...................................................................... WIP: ASCI related BTS tests Change-Id: I3a93fa486a48957367d2c727cc0a8eea33d3bf11 --- M bts/BTS_Tests.ttcn A bts/BTS_Tests_ASCI.ttcn 2 files changed, 93 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/42/33142/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 34afaca..1f0ba32 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -74,6 +74,7 @@ import from TELNETasp_PortType all; import from BTS_Tests_LAPDm all; +friend module BTS_Tests_ASCI; friend module BTS_Tests_SMSCB; friend module BTS_Tests_VAMOS; friend module BTS_Tests_virtphy; diff --git a/bts/BTS_Tests_ASCI.ttcn b/bts/BTS_Tests_ASCI.ttcn new file mode 100644 index 0000000..4bf0f8d --- /dev/null +++ b/bts/BTS_Tests_ASCI.ttcn @@ -0,0 +1,83 @@ +module BTS_Tests_ASCI { + +/* Integration Tests for OsmoBTS + * + * (C) 2021 by sysmocom - s.m.f.c. GmbH <info(a)sysmocom.de> + * Author: Vadim Yanitskiy <vyanitskiy(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 + * + * This module contains VAMOS specific test cases. + */ + +import from Misc_Helpers all; +import from General_Types all; +import from Osmocom_Types all; +import from GSM_Types all; +import from L1CTL_PortType all; +import from L1CTL_Types all; +import from LAPDm_Types all; +import from IPA_Emulation all; +import from GSM_RR_Types all; +import from L3_Templates all; + +import from MobileL3_CommonIE_Types all; + +import from RSL_Emulation all; +import from RSL_Types all; + +import from BTS_Tests all; + + + +/* convert from boolean value to BIT1 */ +private function bool2bit1(boolean inp) return BIT1 { + if (inp) { + return '1'B; + } else { + return '0'B; + } +} + +/* encode a VBS/VGCS call reference into it's OCT5 representation */ +private function f_enc_gcr(integer call_ref, boolean is_group_call, boolean ack_required := false) +return OCT5 +{ + var DescriptiveGroupOrBroadcastCallReference_V v := { + binaryCodingOfGroupOrBroadcastCallReference := int2bit(call_ref, 27), + sF := bool2bit1(is_group_call), + aF := bool2bit1(ack_required), + callPriority := '000'B, + cipheringInformation := '0000'B, + spare := '0000'B + } + return bit2oct(encvalue(v)); +} + +testcase TC_vbs_notification() runs on test_CT { + + f_init_l1ctl(); + f_l1_tune(L1CTL); + + var OCT5 gcr := f_enc_gcr(2342, false, false); + var OCT3 chan_desc := '234266'O; + + RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_NOTIF_CMD_START(gcr, chan_desc))); + + /* FIXME: expect receiving something on PCH */ + f_sleep(5.0); + +} + +control { + execute( TC_vbs_notification() ); + +} + + +} -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33142 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: I3a93fa486a48957367d2c727cc0a8eea33d3bf11 Gerrit-Change-Number: 33142 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-CC: laforge <laforge(a)osmocom.org> Gerrit-MessageType: newchange
1 0
0 0
[M] Change in osmo-ttcn3-hacks[master]: BSSMAP_Templates: Add templates to receive CellID IE
by jolly 01 Jun '23

01 Jun '23
jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33144 ) Change subject: BSSMAP_Templates: Add templates to receive CellID IE ...................................................................... BSSMAP_Templates: Add templates to receive CellID IE Change-Id: I42d52d871c8011db7e0897dfe752afeefa6d9662 --- M library/BSSMAP_Templates.ttcn 1 file changed, 59 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/44/33144/1 diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index c8933de..3e39e78 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -349,6 +349,14 @@ cellIdentification := ? } +template BSSMAP_IE_CellIdentifier tr_BSSMAP_IE_CellID := { + elementIdentifier := '05'O, + lengthIndicator := ?, + cellIdentifierDiscriminator := ?, + spare1_4 := '0000'B, + cellIdentification := ? +} + type uint16_t BssmapLAC; type uint16_t BssmapCI; type uint16_t BssmapSAC; @@ -360,6 +368,13 @@ } } +template BSSMAP_IE_CellIdentifier tr_CellId_CGI(hexstring mcc, hexstring mnc, BssmapLAC lac, BssmapCI ci) +modifies tr_BSSMAP_IE_CellID := { + cellIdentification := { + cI_CGI := ts_BSSMAP_CI_CGI(mcc, mnc, lac, ci) + } +} + template (value) BSSMAP_IE_CellIdentifier ts_CellID_LAC_CI(BssmapLAC lac, BssmapCI ci) modifies ts_BSSMAP_IE_CellID := { cellIdentification := { @@ -370,6 +385,16 @@ } } +template BSSMAP_IE_CellIdentifier tr_CellID_LAC_CI(BssmapLAC lac, BssmapCI ci) +modifies tr_BSSMAP_IE_CellID := { + cellIdentification := { + cI_LAC_CI := { + lac := int2oct(lac, 2), + ci := int2oct(ci, 2) + } + } +} + template BSSMAP_IE_CellIdentifier ts_CellId_CI(BssmapCI ci) modifies ts_BSSMAP_IE_CellID := { cellIdentification := { @@ -377,6 +402,13 @@ } } +template BSSMAP_IE_CellIdentifier tr_CellId_CI(BssmapCI ci) +modifies tr_BSSMAP_IE_CellID := { + cellIdentification := { + cI_CI := int2oct(ci, 2) + } +} + template BSSMAP_IE_CellIdentifier ts_CellId_none modifies ts_BSSMAP_IE_CellID := { cellIdentification := { @@ -384,6 +416,13 @@ } } +template BSSMAP_IE_CellIdentifier tr_CellId_none +modifies tr_BSSMAP_IE_CellID := { + cellIdentification := { + cI_noCell := ''O + } +} + template (value) BSSMAP_IE_CellIdentifier ts_CellID_SAI(OCT3 mcc_mnc, BssmapLAC lac, BssmapSAC sac) modifies ts_BSSMAP_IE_CellID := { cellIdentification := { @@ -395,6 +434,17 @@ } } +template BSSMAP_IE_CellIdentifier tr_CellID_SAI(OCT3 mcc_mnc, BssmapLAC lac, BssmapSAC sac) +modifies tr_BSSMAP_IE_CellID := { + cellIdentification := { + cI_SAI := { + mcc_mnc := mcc_mnc, + lac := int2oct(lac, 2), + sac := int2oct(sac, 2) + } + } +} + template (value) BSSMAP_IE_Layer3Information ts_BSSMAP_IE_L3Info(template (value) octetstring l3info) := { elementIdentifier := '17'O, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33144 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: I42d52d871c8011db7e0897dfe752afeefa6d9662 Gerrit-Change-Number: 33144 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-MessageType: newchange
1 0
0 0
[S] Change in osmo-ttcn3-hacks[master]: Add RSL_Types for talker / listener detection
by jolly 01 Jun '23

01 Jun '23
jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33143 ) Change subject: Add RSL_Types for talker / listener detection ...................................................................... Add RSL_Types for talker / listener detection Change-Id: Ibc936417fedf7dc663c6b7243090a91fc55c06a2 --- M library/RSL_Types.ttcn 1 file changed, 45 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/43/33143/1 diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index ceb6adb..a29d579 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -1995,6 +1995,42 @@ } } + /* 8.4.21 BTS -> BSC */ + template (value) RSL_Message ts_RSL_TALKER_DET(template (value) RslChannelNr chan_nr) := { + msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false), + msg_type := RSL_MT_TALKER_DET, + ies := { + t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}) + } + } + template RSL_Message tr_RSL_TALKER_DET(template RslChannelNr chan_nr, + template uint8_t acc_delay := ?) := { + msg_disc := tr_RSL_MsgDisc(RSL_MDISC_DCHAN, false), + msg_type := RSL_MT_TALKER_DET, + ies := { + tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}), + tr_RSL_IE(RSL_IE_Body:{access_delay := acc_delay}) + } + } + + /* 8.4.22 BTS -> BSC */ + template (value) RSL_Message ts_RSL_LISTENER_DET(template (value) RslChannelNr chan_nr) := { + msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false), + msg_type := RSL_MT_LISTENER_DET, + ies := { + t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}) + } + } + template RSL_Message tr_RSL_LISTENER_DET(template RslChannelNr chan_nr, + template uint8_t acc_delay := ?) := { + msg_disc := tr_RSL_MsgDisc(RSL_MDISC_DCHAN, false), + msg_type := RSL_MT_LISTENER_DET, + ies := { + tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}), + tr_RSL_IE(RSL_IE_Body:{access_delay := acc_delay}) + } + } + /* COMMON CHANNEL MANAGEMENT MESSAGES */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33143 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: Ibc936417fedf7dc663c6b7243090a91fc55c06a2 Gerrit-Change-Number: 33143 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-MessageType: newchange
1 0
0 0
[S] Change in osmo-ttcn3-hacks[master]: BSSMAP_Templates: Add template to receive ChannelType IE
by jolly 01 Jun '23

01 Jun '23
jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33145 ) Change subject: BSSMAP_Templates: Add template to receive ChannelType IE ...................................................................... BSSMAP_Templates: Add template to receive ChannelType IE Change-Id: Ia6f283c17a1687ee65f8997bbeba0b09d1a462cf --- M library/BSSMAP_Templates.ttcn 1 file changed, 20 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/45/33145/1 diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index 3e39e78..bb395ae 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -534,6 +534,17 @@ speechId_DataIndicator := Spdi_TCHF_FR } +template BSSMAP_IE_ChannelType tr_BSSMAP_IE_ChannelType(template BIT4 speech_data_ind, + template OCT1 chan_rate_type, + template octetstring speech_id) := { + elementIdentifier := '0B'O, + lengthIndicator := ?, + speechOrDataIndicator := speech_data_ind, + spare1_4 := '0000'B, + channelRateAndType := chan_rate_type, + speechId_DataIndicator := speech_id +} + template (value) BSSMAP_IE_ChannelType ts_BSSMAP_IE_ChannelTypeCTM modifies ts_BSSMAP_IE_ChannelType := { speechOrDataIndicator := '0100'B /* speech + CTM */ } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33145 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: Ia6f283c17a1687ee65f8997bbeba0b09d1a462cf Gerrit-Change-Number: 33145 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-MessageType: newchange
1 0
0 0
[S] Change in osmo-ttcn3-hacks[master]: Add codec list to *VGCS_VBS_AssignmentReq templates
by jolly 01 Jun '23

01 Jun '23
jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33146 ) Change subject: Add codec list to *VGCS_VBS_AssignmentReq templates ...................................................................... Add codec list to *VGCS_VBS_AssignmentReq templates AoIP, call ID and codec list must be included, if user plane is IP based. Change-Id: Id3ce78ad795c418650ca924a953294c3380b8198 --- M library/BSSMAP_Templates.ttcn 1 file changed, 18 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/46/33146/1 diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index bb395ae..0670ce2 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -2259,7 +2259,8 @@ template (value) GroupCallRef group_call_ref, template (omit) BSSMAP_IE_CircuitIdentityCode cic := omit, template (omit) BSSMAP_IE_AoIP_TransportLayerAddress aoip := omit, - template (omit) OCT4 call_id := omit) + template (omit) OCT4 call_id := omit, + template (omit) BSSMAP_IE_SpeechCodecList codecList := omit) modifies ts_BSSAP_BSSMAP := { pdu := { bssmap := { @@ -2278,7 +2279,7 @@ cellIdentifierListSegment := omit, aoIPTransportLayer := aoip, callIdentifier := ts_BSSMAP_IE_CallIdentifier(call_id), - codecList := omit + codecList := codecList } } } @@ -2290,7 +2291,8 @@ template (present) GroupCallRef group_call_ref, template BSSMAP_IE_CircuitIdentityCode cic := *, template BSSMAP_IE_AoIP_TransportLayerAddress aoip := ?, - template OCT4 call_id := ?) + template OCT4 call_id := ?, + template BSSMAP_IE_SpeechCodecList codecList := ?) modifies tr_BSSAP_BSSMAP := { pdu := { bssmap := { @@ -2309,7 +2311,7 @@ cellIdentifierListSegment := omit, aoIPTransportLayer := aoip, callIdentifier := tr_BSSMAP_IE_CallIdentifier(call_id), - codecList := omit + codecList := codecList } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33146 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: Id3ce78ad795c418650ca924a953294c3380b8198 Gerrit-Change-Number: 33146 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-MessageType: newchange
1 0
0 0
[M] Change in libosmocore[master]: libosmogsm: Factor out the C2 derivation function
by fixeria 01 Jun '23

01 Jun '23
Attention is currently required from: laforge. fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/33092 ) Change subject: libosmogsm: Factor out the C2 derivation function ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/33092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0e7cd55f5578f891cb6cc1b0442920ba5beddae4 Gerrit-Change-Number: 33092 Gerrit-PatchSet: 5 Gerrit-Owner: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: laforge <laforge(a)osmocom.org> Gerrit-Comment-Date: Thu, 01 Jun 2023 13:45:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[M] Change in libosmocore[master]: libosmogsm: Allow auth API caller to specify RES length
by fixeria 01 Jun '23

01 Jun '23
Attention is currently required from: laforge. fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/33091 ) Change subject: libosmogsm: Allow auth API caller to specify RES length ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/33091 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic662843fbe8b5c58e4af39ea630ad5ac13fd6bef Gerrit-Change-Number: 33091 Gerrit-PatchSet: 5 Gerrit-Owner: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: laforge <laforge(a)osmocom.org> Gerrit-Comment-Date: Thu, 01 Jun 2023 13:44:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[M] Change in libosmocore[master]: libosmogsm: Support authentication with 256-bit K and/or OP/OPc
by fixeria 01 Jun '23

01 Jun '23
Attention is currently required from: laforge. fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/33087 ) Change subject: libosmogsm: Support authentication with 256-bit K and/or OP/OPc ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/33087 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie775fedba4a3fa12314c0f7c8a369662ef6a40df Gerrit-Change-Number: 33087 Gerrit-PatchSet: 5 Gerrit-Owner: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: laforge <laforge(a)osmocom.org> Gerrit-Comment-Date: Thu, 01 Jun 2023 13:43:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[S] Change in osmo-remsim[master]: remsim_client: Fix custom ATR '-a' option
by laforge 01 Jun '23

01 Jun '23
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/33117 ) Change subject: remsim_client: Fix custom ATR '-a' option ...................................................................... remsim_client: Fix custom ATR '-a' option So far the option only parsed the hexstring into the atr buffer, but failed to update the length (from the default value of 2). Also set atr.len so sending custom ATRs works. Change-Id: I5deb0a432c05ab0bab5081a2812f6718d4a2ac33 --- M src/client/remsim_client_main.c 1 file changed, 14 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/client/remsim_client_main.c b/src/client/remsim_client_main.c index f7f55e7..372cc92 100644 --- a/src/client/remsim_client_main.c +++ b/src/client/remsim_client_main.c @@ -117,6 +117,7 @@ fprintf(stderr, "ATR malformed\n"); exit(2); } + cfg->atr.len = rc; break; case 'r': cfg->atr_ignore_rspro = true; -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/33117 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I5deb0a432c05ab0bab5081a2812f6718d4a2ac33 Gerrit-Change-Number: 33117 Gerrit-PatchSet: 1 Gerrit-Owner: daniel <dwillmann(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: steviehs <sskrodzki(a)sysmocom.de> Gerrit-MessageType: merged
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • ...
  • 248
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.