pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/37312?usp=email )
Change subject: asterisk: Set DedicatedBearerStatus to Down when call finishes ......................................................................
asterisk: Set DedicatedBearerStatus to Down when call finishes
Update the correct state so that asterisk doesn't believe the bearer is still up.
Change-Id: Idf4d250e6edb830fe7e2d85dc15e0b3c4d8c3a8b --- M asterisk/Asterisk_Tests.ttcn 1 file changed, 33 insertions(+), 2 deletions(-)
Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved
diff --git a/asterisk/Asterisk_Tests.ttcn b/asterisk/Asterisk_Tests.ttcn index f6b6b3e..3dbb81c 100644 --- a/asterisk/Asterisk_Tests.ttcn +++ b/asterisk/Asterisk_Tests.ttcn @@ -65,6 +65,9 @@
port Coord_PT COORD; port IMSCoord_PT IMS_COORD; + + /* Store Channel name obtained from Newchannel AMI event: */ + var charstring g_asterisk_chan_name; }
const charstring broadcast_sip_extension := "0500"; @@ -688,8 +691,9 @@ ami_msg := f_ami_wait_rx_msg(AMI_CLIENT, tr_AMI_Event_Newchannel(mp_volte_ims_outbound_registration), fail_others := false); + g_asterisk_chan_name := valueof(f_ami_msg_get_value(ami_msg, AMI_FIELD_CHANNEL)); f_ami_action_DedicatedBearerStatus(AMI_CLIENT, - f_ami_msg_get_value(ami_msg, AMI_FIELD_CHANNEL), + g_asterisk_chan_name, "Up", fail_others := false);
COORD.receive(COORD_CMD_CALL_ESTABLISHED) from vc_conn_sip; @@ -769,6 +773,12 @@ COORD.send(COORD_CMD_HANGUP) to vc_conn_sip; IMS_COORD.receive(IMS_COORD_CMD_CALL_FINISHED) from vc_conn_ims;
+ /* Notify network released dedicated bearer: */ + AMI_CLIENT.clear; + f_ami_action_DedicatedBearerStatus(AMI_CLIENT, + g_asterisk_chan_name, + "Down", fail_others := false); + /* Trigger unregistration: */ f_sleep(1.0); COORD.send(COORD_CMD_UNREGISTER) to vc_conn_sip; @@ -804,6 +814,7 @@ COORD.receive(IMS_COORD_CMD_HANGUP); f_IMS_do_call_hangup(); setverdict(pass); + COORD.send(IMS_COORD_CMD_CALL_FINISHED);
as_IMS_unregister(); } @@ -845,11 +856,12 @@ ami_msg := f_ami_wait_rx_msg(AMI_CLIENT, tr_AMI_Event_Newchannel(mp_volte_ims_outbound_registration), fail_others := false); + g_asterisk_chan_name := valueof(f_ami_msg_get_value(ami_msg, AMI_FIELD_CHANNEL)); if (ims_pars.subscr.cp.mt.tx_coord_cmd_session_progress) { IMS_COORD.receive(IMS_COORD_CMD_CALL_SESSION_PROGRESS) from vc_conn_ims; } f_ami_action_DedicatedBearerStatus(AMI_CLIENT, - f_ami_msg_get_value(ami_msg, AMI_FIELD_CHANNEL), + g_asterisk_chan_name, "Up", fail_others := false);
IMS_COORD.receive(IMS_COORD_CMD_CALL_ESTABLISHED) from vc_conn_ims; @@ -860,6 +872,13 @@
IMS_COORD.send(IMS_COORD_CMD_HANGUP) to vc_conn_ims;
+ /* Notify network released dedicated bearer: */ + IMS_COORD.receive(IMS_COORD_CMD_CALL_FINISHED) from vc_conn_ims; + AMI_CLIENT.clear; + f_ami_action_DedicatedBearerStatus(AMI_CLIENT, + g_asterisk_chan_name, + "Down", fail_others := false); + /* Trigger unregistration: */ f_sleep(1.0); AMI_CLIENT.clear;