This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
fixeria gerrit-no-reply at lists.osmocom.orgfixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/22716 ) Change subject: msc: finish and enable test case for MT Call T310 timer ...................................................................... msc: finish and enable test case for MT Call T310 timer The test suite needs to handle MGCP messages, otherwise the related FSMs in the IUT would tear everything down before T310 is expired. Change-Id: I79d9ae3b086d05c3d7c0a1241720d6c3f1e90281 Related: SYS#5340 --- M msc/MSC_Tests.ttcn 1 file changed, 41 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/16/22716/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index e6681bb..206effa 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -1679,43 +1679,69 @@ /* Test MT Call T310 timer */ friend function f_tc_mt_t310(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { - f_init_handler(pars, 200.0); var CallParameters cpars := valueof(t_CallParams('123456'H, 0)); - var MNCC_PDU mncc; var MgcpCommand mgcp_cmd; + var PDU_BSSAP bssap; + timer T310; + f_init_handler(pars); + + /* Initiate a MT call, establish connection */ f_mt_call_start(cpars); /* MS->MSC: CALL CONFIRMED */ BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_CC_CALL_CONF(cpars.transaction_id))); MNCC.receive(tr_MNCC_CALL_CONF_ind(cpars.mncc_callref)); - MGCP.receive(tr_CRCX) -> value mgcp_cmd; - cpars.mgcp_call_id := f_MgcpCmd_extract_call_id(mgcp_cmd); - cpars.mgcp_ep := mgcp_cmd.line.ep; - /* FIXME: Respond to CRCX */ + /* NOTE: MSC is expected to start T310 here */ - /* old libosmocore T310 default timeout is 180s. so let's wait 190 */ - timer T := 190.0; - T.start; + /* MSC->MGW: CRCX (first) */ + MGCP.receive(tr_CRCX) -> value mgcp_cmd; + f_handle_crcx(cpars, mgcp_cmd); /* MSC<-MGW: OK */ + + /* BSC->BSC: BSSMAP ASSIGNMENT REQ */ + BSSAP.receive(tr_BSSMAP_AssignmentReq(omit, ?)) -> value bssap; + BSSAP.send(ts_BSSMAP_AssignmentComplete(omit, + aoip := f_ts_BSSMAP_IE_AoIP_TLA(cpars.bss_rtp_ip, cpars.bss_rtp_port), + speechCodec := ts_BSSMAP_IE_SpeechCodec({ ts_CodecFR }))); + + /* MSC->MGW: MDCX */ + MGCP.receive(tr_MDCX) -> value mgcp_cmd; + MGCP.send(ts_MDCX_ACK(mgcp_cmd.line.trans_id, cpars.mgw_conn_1.mgcp_connection_id, + sdp := omit)); + + /* MSC->MGW: CRCX (second) */ + MGCP.receive(tr_CRCX) -> value mgcp_cmd; + f_handle_crcx(cpars, mgcp_cmd); /* MSC<-MGW: OK */ + MNCC.receive(tr_MNCC_RTP_CREATE(cpars.mncc_callref)); + + /* Reschedule the guard timeout */ + g_Tguard.start(30.0 + 10.0); + + /* NOTE: the BSC is expected to respond with CC ALERTING at this state, so + * the MSC would stop T310. However, the idea is to verify T310 expiration + * here, so grab some popcorn and wait for MNCC DISC.ind. */ + T310.start(30.0 + 2.0); alt { - [] T.timeout { - setverdict(fail, "Timeout waiting for T310"); + [] T310.timeout { + setverdict(fail, "Timeout waiting for MNCC DISC.ind due to T310"); mtc.stop; } [] MNCC.receive(tr_MNCC_DISC_ind(cpars.mncc_callref)) { MNCC.send(ts_MNCC_REL_req(cpars.mncc_callref, valueof(ts_MNCC_cause(23)))); + log("Rx MNCC DISC.ind, T310.read yelds ", T310.read); + setverdict(pass); } } + BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_DISC(cpars.transaction_id))); BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_RELEASE(cpars.transaction_id))); - /* FIXME: We're sending this with TIflag 0: allocated by sender, which is wrong */ - BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_CC_REL_COMPL(cpars.transaction_id))); + BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_CC_REL_COMPL(cpars.transaction_id, '1'B))); alt { [] MGCP.receive(tr_DLCX(?)) -> value mgcp_cmd { MGCP.send(ts_DLCX_ACK2(mgcp_cmd.line.trans_id)); - f_create_mgcp_delete_ep(cpars.mgcp_ep); + // FIXME: f_create_mgcp_delete_ep(cpars.mgcp_ep); repeat; } [] as_clear_cmd_compl_disc(); @@ -6342,7 +6368,7 @@ execute( TC_mo_crcx_ran_reject() ); execute( TC_mt_crcx_ran_reject() ); execute( TC_mo_setup_and_dtmf_dup() ); - //execute( TC_mt_t310() ); + execute( TC_mt_t310() ); execute( TC_gsup_cancel() ); execute( TC_lu_imsi_auth_tmsi_encr_1_13() ); execute( TC_lu_imsi_auth_tmsi_encr_3_13() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/22716 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: I79d9ae3b086d05c3d7c0a1241720d6c3f1e90281 Gerrit-Change-Number: 22716 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy at sysmocom.de> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210205/ce124d7c/attachment.htm>