daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27120 )
Change subject: hnbgw: Test RAB Assignment ReleaseRequest ......................................................................
hnbgw: Test RAB Assignment ReleaseRequest
Change-Id: I90d4b1d335a32ab6e2590616149f3a34825d2046 --- M hnbgw/HNBGW_Tests.ttcn 1 file changed, 58 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/20/27120/1
diff --git a/hnbgw/HNBGW_Tests.ttcn b/hnbgw/HNBGW_Tests.ttcn index e3aa293..3c88c6b 100644 --- a/hnbgw/HNBGW_Tests.ttcn +++ b/hnbgw/HNBGW_Tests.ttcn @@ -881,6 +881,63 @@ vc_conn.done; }
+friend function f_tc_rab_release(charstring id, TestHdlrParams pars) runs on ConnHdlr { + var MgcpCommand mgcp_cmd; + var RANAP_PDU tx; + timer T := 15.0; + + f_init_handler(pars); + f_create_mgcp_expect(ExpectCriteria:{omit,omit,omit}); + + tx := f_build_initial_ue(g_pars); + f_iuh2iu_connect(tx); + + f_create_rab(pars.mgcp_pars); + + /* Send RAB Release */ + tx := valueof(ts_RANAP_RabReleaseReq(ts_RAB_RL(t_RAB_id(23), ts_RanapCause_om_intervention))); + BSSAP.send(tx); + + T.start; + var integer count := 0; + + alt { + [count == 0] MGCP.receive(tr_DLCX(pars.mgcp_pars.mgcp_ep)) -> value mgcp_cmd { + log("DLCX1", mgcp_cmd); + MGCP.send(ts_DLCX_ACK2(mgcp_cmd.line.trans_id)); + count := 1; + repeat; + } + [count == 1] MGCP.receive(tr_DLCX(pars.mgcp_pars.mgcp_ep)) -> value mgcp_cmd { + log("DLCX2", mgcp_cmd); + MGCP.send(ts_DLCX_ACK2(mgcp_cmd.line.trans_id)); + setverdict(pass); + } + [] T.timeout { + setverdict(fail, "Timeout waiting for DLCX"); + } + } + + alt { + [] RUA.receive(tx) { + setverdict(pass); + } + [] T.timeout { + setverdict(fail, "Timeout waiting for Iuh ", tx); + } + } + +} + +testcase TC_rab_release() runs on test_CT { + var ConnHdlr vc_conn; + f_init(); + f_start_hnbs(); + + vc_conn := f_start_handler_with_pars(refers(f_tc_rab_release), t_pars(5)); + vc_conn.done; +} + /* Create an Iuh connection; send InitialUE; transceive data both directions */ friend function f_tc_ranap_bidir(charstring id, TestHdlrParams pars) runs on ConnHdlr { f_init_handler(pars); @@ -959,6 +1016,7 @@ execute(TC_ranap_cs_bidir()); execute(TC_ranap_ps_bidir()); execute(TC_rab_assignment()); + execute(TC_rab_release()); execute(TC_ranap_cs_mo_disconnect()); execute(TC_ranap_ps_mo_disconnect()); }