diff options
author | Oliver Smith <osmith@sysmocom.de> | 2019-06-25 12:09:01 +0200 |
---|---|---|
committer | Oliver Smith <osmith@sysmocom.de> | 2019-06-26 10:45:55 +0200 |
commit | 1ec1d3bc5b64edb68e59aeb418e14558e24f6bd6 (patch) | |
tree | 9543fbd56b4bc976cf9852305b9274ff5a2c88db /mgw/MGCP_Test.ttcn | |
parent | 350eb681e22f2fc9a8de44c3d9e53bd93fe5c074 (diff) |
WIP: mgw: conn timeout testsosmith/lcls-keepalive
Change-Id: I020b682b347045818fd28de240daa0aa33fe43b4
Diffstat (limited to 'mgw/MGCP_Test.ttcn')
-rw-r--r-- | mgw/MGCP_Test.ttcn | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 31c2a1d..82429b9 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -2066,6 +2066,45 @@ module MGCP_Test { /* TODO: AUCX (various) */ /* TODO: invalid verb (various) */ + + testcase TC_conn_timeout() runs on dummy_CT { + var RtpFlowData flow; + var MgcpEndpoint ep := c_mgw_ep_rtpbridge & "1@" & c_mgw_domain; + var MgcpCallId call_id := '1225'H; + var MGCP_RecvFrom mrf; + + f_init(ep); + log("Setting conn-timeout to 1s"); + f_vty_config(MGWVTY, "mgcp", "conn-timeout 1"); + + log("Sending UDP data for 1.5s"); + flow := valueof(t_RtpFlow(mp_local_ip, mp_remote_ip, 111, "GSM-HR-08/8000/1")); + flow.em.portnr := 10000; + f_flow_create(RTPEM[0], ep, call_id, "loopback", flow); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_BIDIR); + f_sleep(1.5); + + log("Stopping for 0.5s and resuming"); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_NONE); + f_sleep(0.5); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_BIDIR); + f_sleep(0.1); + + log("Stopping for 1.5s, expecting to run into timeout"); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_NONE); + f_sleep(1.5); + + log("Resuming should fail now"); + f_rtpem_conn_refuse_expect(RTPEM[0]); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_BIDIR); + f_sleep(0.2); + f_rtpem_conn_refuse_verify(RTPEM[0]); + + f_vty_config(MGWVTY, "mgcp", "no conn-timeout"); + + setverdict(pass); + } + control { execute(TC_selftest()); execute(TC_crcx()); @@ -2119,5 +2158,8 @@ module MGCP_Test { execute(TC_amr_oa_bwe_rtp_conversion()); execute(TC_amr_oa_oa_rtp_conversion()); execute(TC_amr_bwe_bwe_rtp_conversion()); + + execute(TC_conn_timeout()); + /* execute(TC_conn_timeout_rtp_keepalive()); */ } } |