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
[S] Change in osmo-hnbgw[master]: include Global RNC-ID in RESET-ACK
by pespin 13 Jun '23

13 Jun '23
Attention is currently required from: neels. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/33180 ) Change subject: include Global RNC-ID in RESET-ACK ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/33180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hnbgw Gerrit-Branch: master Gerrit-Change-Id: I49d351e90dfe4a7c4dfdd26542565f2d9bd3d605 Gerrit-Change-Number: 33180 Gerrit-PatchSet: 5 Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de> Gerrit-Comment-Date: Tue, 13 Jun 2023 10:34:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[S] Change in osmo-hnbgw[master]: include Global RNC-ID in RESET
by pespin 13 Jun '23

13 Jun '23
Attention is currently required from: neels. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/33179 ) Change subject: include Global RNC-ID in RESET ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/33179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hnbgw Gerrit-Branch: master Gerrit-Change-Id: I2cd5d7ea86a6ed0916befe219dbf21373afbd95b Gerrit-Change-Number: 33179 Gerrit-PatchSet: 5 Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de> Gerrit-Comment-Date: Tue, 13 Jun 2023 10:34:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[M] Change in osmo-hnbgw[master]: cfg: add 'hnbgw' / 'plmn MCC MNC'
by pespin 13 Jun '23

13 Jun '23
Attention is currently required from: neels, laforge. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/33178 ) Change subject: cfg: add 'hnbgw' / 'plmn MCC MNC' ...................................................................... Patch Set 5: (1 comment) File src/osmo-hnbgw/hnbgw_vty.c: https://gerrit.osmocom.org/c/osmo-hnbgw/+/33178/comment/ee44341e_9635eb2c PS5, Line 285: <1-999> <0-999> > does this work with 2-digit and 3-digit MNC? i.e. […] Yes, because they are handled as strings and properly parsed by osmo_mcc_from_str()/osmo_mnc_from_str() -- To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/33178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hnbgw Gerrit-Branch: master Gerrit-Change-Id: If404c3859acdfba274c719c7cb7d16f97d831a2a Gerrit-Change-Number: 33178 Gerrit-PatchSet: 5 Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-CC: pespin <pespin(a)sysmocom.de> Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de> Gerrit-Attention: laforge <laforge(a)osmocom.org> Gerrit-Comment-Date: Tue, 13 Jun 2023 10:32:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge <laforge(a)osmocom.org> Gerrit-MessageType: comment
1 0
0 0
[S] Change in sandbox[master]: schau mal hier
by jolly 13 Jun '23

13 Jun '23
jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/sandbox/+/33285 ) Change subject: schau mal hier ...................................................................... schau mal hier Change-Id: I30788c339cf6cf246b907e817d81104de6eb73d0 --- A j 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/sandbox refs/changes/85/33285/1 diff --git a/j b/j new file mode 100644 index 0000000..fd13380 --- /dev/null +++ b/j @@ -0,0 +1 @@ +schau mal hier -- To view, visit https://gerrit.osmocom.org/c/sandbox/+/33285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: sandbox Gerrit-Branch: master Gerrit-Change-Id: I30788c339cf6cf246b907e817d81104de6eb73d0 Gerrit-Change-Number: 33285 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-MessageType: newchange
1 0
0 0
[S] Change in sandbox[master]: schau mal hier
by jolly 13 Jun '23

13 Jun '23
jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/sandbox/+/33284 ) Change subject: schau mal hier ...................................................................... schau mal hier Change-Id: I7934aff0bc94cea74eaaea503a06c029bba5bd42 --- A j 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/sandbox refs/changes/84/33284/1 diff --git a/j b/j new file mode 100644 index 0000000..fd13380 --- /dev/null +++ b/j @@ -0,0 +1 @@ +schau mal hier -- To view, visit https://gerrit.osmocom.org/c/sandbox/+/33284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: sandbox Gerrit-Branch: master Gerrit-Change-Id: I7934aff0bc94cea74eaaea503a06c029bba5bd42 Gerrit-Change-Number: 33284 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-MessageType: newchange
1 0
0 0
[L] Change in libosmo-netif[master]: Add osmo_io support to osmo_stream_cli and osmo_stream_srv
by laforge 13 Jun '23

13 Jun '23
Attention is currently required from: arehbein, pespin, daniel. laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/33193 ) Change subject: Add osmo_io support to osmo_stream_cli and osmo_stream_srv ...................................................................... Patch Set 12: (1 comment) Patchset: PS10: > > Right now we have the callback passed in _srv_create() but we have them in separate APIs in _cli_c […] I also agree unifying cli/srv is a valuable goal by itself. So if we have a chance to now clean this up as we do API changes anyway, do it. -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/33193 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I2f52c7107c392b6f4b0bf2a84f8c873c084a200c Gerrit-Change-Number: 33193 Gerrit-PatchSet: 12 Gerrit-Owner: arehbein <arehbein(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-CC: daniel <dwillmann(a)sysmocom.de> Gerrit-CC: pespin <pespin(a)sysmocom.de> Gerrit-Attention: arehbein <arehbein(a)sysmocom.de> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Attention: daniel <dwillmann(a)sysmocom.de> Gerrit-Comment-Date: Tue, 13 Jun 2023 10:28:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: arehbein <arehbein(a)sysmocom.de> Comment-In-Reply-To: pespin <pespin(a)sysmocom.de> Comment-In-Reply-To: daniel <dwillmann(a)sysmocom.de> Gerrit-MessageType: comment
1 0
0 0
[S] Change in osmo-ttcn3-hacks[master]: Fix the BTS_Tests_LAPDm.TC_t200_n200 test
by laforge 13 Jun '23

13 Jun '23
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33265 ) Change subject: Fix the BTS_Tests_LAPDm.TC_t200_n200 test ...................................................................... Fix the BTS_Tests_LAPDm.TC_t200_n200 test The test failed, because testing retransmit timeout on DCCH would take longer than guard timer. Instead of changing that timer, I decided to use ACCH instead. Additional changes were required to make ACCH test work properly. https://osmocom.org/issues/5972 Change-Id: I2c328219b1a37d0f4623c5728143cd91976000a0 --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 20 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index edd974b..b4c2c33 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -1106,7 +1106,7 @@ /* Test if there are exactly N200+1 transmissions of I frames; inspired by 25.2.4.1 */ private function f_TC_t200_n200(charstring id) runs on ConnHdlr { - var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(0)); + var RslLinkId link_id := valueof(ts_RslLinkID_SACCH(0)); var integer sapi := link_id.sapi; var boolean is_sacch := false; if (link_id.c == SACCH) { @@ -1120,13 +1120,13 @@ fp_common_init(); /* some common altstep for meas res and other background noise */ - d := activate(as_ignore_background(true)); + d := activate(as_ignore_background(not is_sacch)); RSL.clear; LAPDM.clear; f_establish_mo(link_id); - var octetstring l3_mt := f_rnd_octstring(20); + var octetstring l3_mt := f_rnd_octstring(18); RSL.send(ts_RSL_DATA_REQ(g_chan_nr, link_id, l3_mt)); /* first transmission, P = 0 */ LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_I(sapi, c_r:=cr_MT_CMD, p:=false, @@ -1147,7 +1147,7 @@ /* break */ } } - [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_I(sapi, ?, ?, ?, ?, ?))) { + [] LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_I(sapi, ?, ?, ?, ?, ?))) { setverdict(fail, "Received unexpected I frame"); } [not is_sacch] as_lapdm_acch(); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33265 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: I2c328219b1a37d0f4623c5728143cd91976000a0 Gerrit-Change-Number: 33265 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 0
0 0
[L] Change in osmo-ttcn3-hacks[master]: Added BSC tests for terminating voice group calls
by laforge 13 Jun '23

13 Jun '23
laforge has submitted this change. ( 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 Change-Id: I6762e8adfb7d5f77df837c698ff70cd7fd715ffe --- M bsc/BSC_Tests.ttcn A bsc/BSC_Tests_ASCI.ttcn M bsc/MSC_ConnectionHandler.ttcn 3 files changed, 543 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 3861f34..5cba365 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -23,6 +23,7 @@ friend module BSC_Tests_VAMOS; friend module BSC_Tests_CBSP; friend module BSC_Tests_LCLS; +friend module BSC_Tests_ASCI; import from Misc_Helpers all; import from General_Types all; @@ -106,7 +107,7 @@ * BTS 2 has BSIC 12, TSC = (BSIC & 7) = 4. * BTS 2 has BSIC 12, TSC = (BSIC & 7) = 4. */ -private const BtsParams c_BtsParams[NUM_BTS_CFG] := { +friend const BtsParams c_BtsParams[NUM_BTS_CFG] := { /* BTS0 */ { trx_num := 1, tsc := 2 }, /* BTS1 */ { trx_num := 1, tsc := 3 }, /* BTS2 */ { trx_num := 4, tsc := 4 }, diff --git a/bsc/BSC_Tests_ASCI.ttcn b/bsc/BSC_Tests_ASCI.ttcn new file mode 100644 index 0000000..c7e64f9 --- /dev/null +++ b/bsc/BSC_Tests_ASCI.ttcn @@ -0,0 +1,512 @@ +module BSC_Tests_ASCI { + +/* Integration Tests for OsmoBSC + * (C) 2023 by Harald Welte <laforge(a)gnumonks.org> + * 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 test suite tests OsmoBSC while emulating both multiple BTS + MS as + * well as the MSC. See README for more details. + */ + +import from General_Types all; +import from Osmocom_Types all; +import from GSM_Types all; +import from Misc_Helpers all; + +import from BSC_Tests all; +import from BSSAP_Types all; +import from BSSAP_CodecPort all; +import from BSSMAP_Templates all; +import from RSL_Types all; +import from RSL_Emulation all; +import from MGCP_Emulation all; + +import from MobileL3_CommonIE_Types all; +import from MobileL3_Types all; +import from L3_Templates all; +import from GSM_RR_Types all; + +import from MSC_ConnectionHandler all; +import from RAN_Adapter all; +import from RAN_Emulation all; + +const charstring COORD_VGCS_CALL_EST := "VGCS_CALL_EST"; +const charstring COORD_VGCS_CALL_REL := "VGCS_CALL_REL"; +const charstring COORD_VGCS_CHANNEL_REL := "VGCS_CHANNEL_REL"; +const charstring COORD_VGCS_UPLINK_FREE := "VGCS_UPLINK_FREE"; +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"; + +template (value) DescriptiveGroupOrBroadcastCallReference_V + ts_BSSMAP_IE_GroupCallRef(integer cr, + BIT1 sf, + BIT1 af, + BIT3 prio, + BIT4 ci) := { + binaryCodingOfGroupOrBroadcastCallReference := int2bit(cr, 27), + sF := sf, + aF := af, + callPriority := prio, + cipheringInformation := ci, + 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_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); + 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, 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, 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'B, '0'B, '000'B, '0000'B); + 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; + /* Note: This timer is used to receive messages after the expected event. + * After timeout, the outcome of the test is checked. */ + timer T := 0.2; + + /* Wait for the COORD ports to be connected. */ + f_sleep(1.0); + + /* VGCS/VBS SETUP REQ in SCCP CR (must be the first message) */ + 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); + + alt { + [] BSSAP.receive(tr_BSSMAP_VGCS_VBS_SetupAck) -> value rx_bssap { + log("VGCS: got setup ack"); + if (not g_pars.asci_test.vgcs_setup_ok) { + COORD.send(COORD_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 (g_pars.asci_test.vgcs_talker_req) { + 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 (g_pars.asci_test.vgcs_talker_est) { + T.start; + } + repeat; + } + [] BSSAP.receive(tr_BSSMAP_UplinkRelInd(GSM0808_CAUSE_CALL_CONTROL, omit)) -> value rx_bssap { + log("VGCS: received uplink rel ind"); + uplink_rel_ind := true; + if (g_pars.asci_test.vgcs_talker_rel) { + T.start; + } + repeat; + } + [] COORD.receive(COORD_VGCS_ASSIGN_RES) { + log("VGCS: got assignment result at call control"); + assign_res := true; + if (g_pars.asci_test.vgcs_assign_ok) { + T.start; + } + repeat; + } + [] COORD.receive(COORD_VGCS_ASSIGN_FAIL) { + log("VGCS: got assignment failure at call control"); + assign_fail := true; + if (g_pars.asci_test.vgcs_assign_fail) { + T.start; + } + repeat; + } + [] COORD.receive(COORD_VGCS_UPLINK_FREE) { + log("VGCS: Got UPLINK FREE at call control"); + uplink_busy := false; + uplink_free := true; + repeat; + } + [] COORD.receive(COORD_VGCS_UPLINK_BUSY) { + log("VGCS: Got UPLINK BUSY at call control"); + uplink_busy := true; + uplink_free := false; + repeat; + } + [] T.timeout { } + } + + /* After timeout: Release Channel and Call and see if the outcome of the test is as expected. */ + COORD.send(COORD_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.asci_test.vgcs_assign_ok) { + if (not assign_res) { + setverdict(fail, "VGCS: Assignment did not pass as expected!"); + return; + } + if (not uplink_free) { + setverdict(fail, "VGCS: Uplink not free as expected!"); + return; + } + log("VGCS: Channel assigned and uplink marked free as expected!"); + setverdict(pass); + return; + } + if (g_pars.asci_test.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 (g_pars.asci_test.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 (g_pars.asci_test.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.asci_test.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 established+released 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; + /* Hack: the proper way would be to wait for the BSSMAP VGCS Assignment Result and extract the + * actual assigned chan_nr from it. But osmo-bsc starts acting on the lchan even before we get a + * chance to evaluate the BSSMAP Handover Request ACK. So we need to assume that osmo-bsc will + * activate TS 1 and already set up this lchan's RSL emulation + * before we get started. */ + var RslChannelNr new_chan_nr := valueof(t_RslChanNr0(1, RSL_CHAN_NR_Bm_ACCH)); + 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; + + /* Wait for the COORD ports to be connected. */ + 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(COORD_VGCS_CALL_EST); + log("VGCS: got establishment of call controling connection"); + + /* TODO: Encryption */ + 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'B, '0'B, '000'B, '0000'B); + if (g_pars.asci_test.vgcs_assign_fail) { + callref := ts_BSSMAP_IE_GroupCallRef(10, '1'B, '0'B, '000'B, '0000'B); + } + 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))); + /* VGCS/VBS ASS REQ in SCCP CR (must be the first message) */ + 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); + + alt { + [] 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(COORD_VGCS_ASSIGN_RES); + if (g_pars.asci_test.vgcs_talker_req 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_est or + g_pars.asci_test.vgcs_talker_rel) { + log("VGCS: sending RSL etabish ind"); + RSL.send(ts_RSL_EST_IND(g_chan_nr, ts_RslLinkID_DCCH(0), '1234'O)); + } + if (g_pars.asci_test.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 { + log("VGCS: got assignment failure on channel"); + COORD.send(COORD_VGCS_ASSIGN_FAIL); + log("VGCS: got release order after assignment failure"); + COORD.receive(COORD_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(COORD_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(COORD_VGCS_UPLINK_FREE); + repeat; + } + [] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, '062A'O)) { + log("VGCS: Got UPLINK BUSY on channel"); + COORD.send(COORD_VGCS_UPLINK_BUSY); + repeat; + } + } + + /* The RSL Emulation magically accepts the Chan Activ behind the scenes. */ + + /* we're sure that the channel activation is done now, verify the parameters in it */ + var RSL_Message chan_act := f_rslem_get_last_act(RSL_PROC, 0, g_chan_nr); + /* TODO: Encryption */ + f_chan_act_verify_tsc(chan_act, expect_target_tsc); + + if (ispresent(rx_bssap.pdu.bssmap.vGCS_VBSAssignmentResult.speechCodec)) { + if (not g_pars.aoip) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Expected no Speech Codec (Chosen)"); + } + } else { + if (g_pars.aoip) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Expected Speech Codec (Chosen)"); + } + } + +} + +testcase TC_vgcs_vbs_setup_only() runs on test_CT { + var MSC_ConnHdlr call_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_setup_ok := true; + + 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_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_assign_ok := 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_assignment_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_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 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_req() 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_req := 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(); + + 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_est := 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() 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; + + 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(); +} + +control { + 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() ); +} + + +} diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 944e153..433dab5 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -752,6 +752,15 @@ PDU_ML3_MS_NW l3_info optional } +type record ASCITest { + boolean vgcs_setup_ok, + boolean vgcs_assign_ok, + boolean vgcs_assign_fail, + boolean vgcs_talker_req, + boolean vgcs_talker_est, + boolean vgcs_talker_rel +}; + type record TestHdlrParams { OCT1 ra, GsmFrameNumber fn, @@ -785,7 +794,8 @@ boolean inter_bsc_ho_in__ho_req_in_initial_sccp_cr, boolean ignore_mgw_mdcx, boolean fail_on_dlcx, - boolean ignore_ipa_media + boolean ignore_ipa_media, + ASCITest asci_test }; /* Note: Do not use valueof() to get a value of this template, use @@ -834,7 +844,15 @@ inter_bsc_ho_in__ho_req_in_initial_sccp_cr := true, ignore_mgw_mdcx := false, fail_on_dlcx := true, - ignore_ipa_media := false + ignore_ipa_media := false, + asci_test := { + vgcs_setup_ok := false, + vgcs_assign_ok := false, + vgcs_assign_fail := false, + vgcs_talker_req := false, + vgcs_talker_est := false, + vgcs_talker_rel := false + } } function f_create_chan_and_exp(template (present) PDU_BSSAP exp_l3_compl := ?) -- 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: 6 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-CC: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 0
0 0
[S] Change in osmo-ttcn3-hacks[master]: Fix the BTS_Tests_LAPDm.TC_t200_n200 test
by laforge 13 Jun '23

13 Jun '23
Attention is currently required from: jolly, fixeria. laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33265 ) Change subject: Fix the BTS_Tests_LAPDm.TC_t200_n200 test ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33265 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: I2c328219b1a37d0f4623c5728143cd91976000a0 Gerrit-Change-Number: 33265 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: jolly <andreas(a)eversberg.eu> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Tue, 13 Jun 2023 10:27:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[L] Change in osmo-ttcn3-hacks[master]: Added BSC tests for terminating voice group calls
by laforge 13 Jun '23

13 Jun '23
Attention is currently required from: jolly, pespin. laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33150 ) Change subject: Added BSC tests for terminating voice group calls ...................................................................... Patch Set 6: Code-Review+2 -- 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: 6 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-CC: pespin <pespin(a)sysmocom.de> Gerrit-Attention: jolly <andreas(a)eversberg.eu> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Tue, 13 Jun 2023 10:27:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • ...
  • 248
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.