pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/37491?usp=email )
Change subject: asterisk: TC_internal_call_all_Nregistered: Answer Cancel when received ......................................................................
asterisk: TC_internal_call_all_Nregistered: Answer Cancel when received
Otherwise CANCEL is not answered until the MO+MT SIP UAs have fully established the call, which causes Asterisk to retransmit the CANCEL several times.
Change-Id: I72e9ecaf58156f3fe62c4fb2d8c74c82ab16aa78 --- M asterisk/Asterisk_Tests.ttcn 1 file changed, 23 insertions(+), 7 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/91/37491/1
diff --git a/asterisk/Asterisk_Tests.ttcn b/asterisk/Asterisk_Tests.ttcn index 71d3576..916339a 100644 --- a/asterisk/Asterisk_Tests.ttcn +++ b/asterisk/Asterisk_Tests.ttcn @@ -373,16 +373,19 @@
/* Make sure the desired MT is the one picking up first the call: */ COORD.send(COORD_CMD_PICKUP) to vc_conn_list[vc_conn_mt_idx]; - interleave { - [] COORD.receive(COORD_CMD_CALL_ESTABLISHED) from vc_conn_list[vc_conn_mo_idx]; - [] COORD.receive(COORD_CMD_CALL_ESTABLISHED) from vc_conn_list[vc_conn_mt_idx]; - } - - /* Pick up from other phone calls and expect CANCEL: */ for (var integer i := 0; i < num_conns; i := i + 1) { if (i != vc_conn_mo_idx and i != vc_conn_mt_idx) { COORD.send(COORD_CMD_PICKUP) to vc_conn_list[i]; - COORD.receive(COORD_CMD_CALL_CANCELLED) from vc_conn_list[i]; + } + } + + /* Pick up from other phone calls and expect CANCEL: */ + var boolean wait_mo := true, wait_mt := true; + for (var integer i := 0; i < num_conns; i := i + 1) { + alt { + [wait_mo] COORD.receive(COORD_CMD_CALL_ESTABLISHED) from vc_conn_list[vc_conn_mo_idx] { wait_mo := false }; + [wait_mt] COORD.receive(COORD_CMD_CALL_ESTABLISHED) from vc_conn_list[vc_conn_mt_idx] { wait_mt := false }; + [] COORD.receive(COORD_CMD_CALL_CANCELLED); } }