pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/36541?usp=email )
Change subject: WIP: asterisk: Introduce test TC_internal_call_momt ......................................................................
WIP: asterisk: Introduce test TC_internal_call_momt
Related: SYS#6782 Change-Id: I7621ee867202b74a40e40516cdca673781cb1f51 --- M asterisk/Asterisk_Tests.ttcn 1 file changed, 61 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/41/36541/1
diff --git a/asterisk/Asterisk_Tests.ttcn b/asterisk/Asterisk_Tests.ttcn index dab9400..a0b3756 100644 --- a/asterisk/Asterisk_Tests.ttcn +++ b/asterisk/Asterisk_Tests.ttcn @@ -31,8 +31,16 @@ integer mp_remote_sip_port := 5060; }
+type port Coord_PT message +{ + inout charstring; +} with { extension "internal" }; +private const charstring COORD_CMD_REGISTERED := "COORD_CMD_REGISTERED"; +private const charstring COORD_CMD_START := "COORD_CMD_START"; + type component test_CT { var SIP_Emulation_CT vc_SIP; + port Coord_PT COORD; }
type component ConnHdlr extends SIP_ConnHdlr { @@ -40,6 +48,8 @@ timer g_Tguard; var PDU_SIP_Request g_rx_sip_req; var PDU_SIP_Response g_rx_sip_resp; + + port Coord_PT COORD; }
type record ConnHdlrPars { @@ -138,6 +148,8 @@ connect(vc_conn:SIP, vc_SIP:CLIENT); connect(vc_conn:SIP_PROC, vc_SIP:CLIENT_PROC);
+ connect(vc_conn:COORD, self:COORD); + vc_conn.start(f_handler_init(fn, id, pars)); return vc_conn; } @@ -276,7 +288,6 @@ // f_SIP_deregister(); setverdict(pass); } - testcase TC_internal_registration() runs on test_CT { var ConnHdlrPars pars; var ConnHdlr vc_conn; @@ -286,6 +297,44 @@ vc_conn.done; }
+/* Successful SIP MO-MT Call between local clients: */ +private function f_TC_internal_call_mo(charstring id) runs on ConnHdlr { + + f_SIP_register(); + + COORD.send(COORD_CMD_REGISTERED); + + setverdict(pass); +} +private function f_TC_internal_call_mt(charstring id) runs on ConnHdlr { + + f_SIP_register(); + + COORD.send(COORD_CMD_REGISTERED); + + setverdict(pass); +} +testcase TC_internal_call_momt() runs on test_CT { + var ConnHdlrPars pars[2]; + var ConnHdlr vc_conn[2]; + f_init(); + pars[0] := f_init_ConnHdlrPars(idx := 1); + pars[1] := f_init_ConnHdlrPars(idx := 2); + + vc_conn[0] := f_start_handler(refers(f_TC_internal_call_mo), pars[0]); + vc_conn[1] := f_start_handler(refers(f_TC_internal_call_mt), pars[1]); + + interleave { + [] COORD.receive(COORD_CMD_REGISTERED) from vc_conn[0]; + [] COORD.receive(COORD_CMD_REGISTERED) from vc_conn[1]; + } + + COORD.send(COORD_CMD_START) to vc_conn[0]; + + vc_conn[0].done; + vc_conn[1].done; +} + testcase TC_selftest() runs on test_CT { f_sip_digest_selftest(); setverdict(pass); @@ -293,6 +342,7 @@
control { execute( TC_internal_registration() ); + execute( TC_internal_call_momt() ); }
}