MGCP_Emulation: allow moving ep handling to another test component
Will be used by MSC_Tests.TC_call_re_establishment in Ifdff5573eeb3b3d41e8599b9b0228411d2576864, where a call from one vc_conn gets re-established in another vc_conn. Related: SYS#5130 Change-Id: Id46035e53c2870e1fdef1335dce42b2020f7cd54
This commit is contained in:
parent
e51ce49fbf
commit
5c449f346e
|
@ -193,6 +193,19 @@ runs on MGCP_Emulation_CT {
|
|||
mtc.stop;
|
||||
}
|
||||
|
||||
private function f_ep_table_change_connhdlr(MGCP_ConnHdlr comp_ref, MgcpEndpoint ep)
|
||||
runs on MGCP_Emulation_CT {
|
||||
var integer i;
|
||||
for (i := 0; i < sizeof(MgcpEndpointTable); i := i+1) {
|
||||
if (MgcpEndpointTable[i].endpoint == ep) {
|
||||
MgcpEndpointTable[i].comp_ref := comp_ref;
|
||||
log("MGCP_Emulation_CT: MgcpEndpointTable[", i, "] now sends to ", comp_ref);
|
||||
return;
|
||||
}
|
||||
}
|
||||
setverdict(fail, "MGCP Endpoint Table: Couldn't find entry to move to ", comp_ref);
|
||||
mtc.stop;
|
||||
}
|
||||
|
||||
/* Check if the given transaction ID is a pending CRCX. If yes, return true + remove */
|
||||
private function f_trans_id_was_pending(MgcpTransId trans_id)
|
||||
|
@ -349,6 +362,10 @@ function main(MGCPOps ops, MGCP_conn_parameters p, charstring id) runs on MGCP_E
|
|||
f_ep_table_del(vc_conn, ep);
|
||||
MGCP_PROC.reply(MGCPEM_delete_ep:{ep, vc_conn}) to vc_conn;
|
||||
}
|
||||
[] MGCP_PROC.getcall(MGCPEM_change_connhdlr:{?,?}) -> param(ep, vc_conn) {
|
||||
f_ep_table_change_connhdlr(vc_conn, ep);
|
||||
MGCP_PROC.reply(MGCPEM_change_connhdlr:{ep, vc_conn}) to vc_conn;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -370,9 +387,10 @@ type record ExpectData {
|
|||
|
||||
signature MGCPEM_register(in ExpectCriteria cmd, in MGCP_ConnHdlr hdlr);
|
||||
signature MGCPEM_delete_ep(in MgcpEndpoint ep, in MGCP_ConnHdlr hdlr);
|
||||
signature MGCPEM_change_connhdlr(in MgcpEndpoint ep, in MGCP_ConnHdlr hdlr);
|
||||
|
||||
type port MGCPEM_PROC_PT procedure {
|
||||
inout MGCPEM_register, MGCPEM_delete_ep;
|
||||
inout MGCPEM_register, MGCPEM_delete_ep, MGCPEM_change_connhdlr;
|
||||
} with { extension "internal" };
|
||||
|
||||
function f_get_mgcp_by_crit(ExpectCriteria crit)
|
||||
|
@ -462,6 +480,13 @@ function f_create_mgcp_delete_ep(MgcpEndpoint ep) runs on MGCP_ConnHdlr {
|
|||
}
|
||||
}
|
||||
|
||||
/* Move MGCP handling for a given MGW endpoint to a different MGCP_ConnHdlr component. */
|
||||
function f_mgcp_change_connhdlr(MgcpEndpoint ep) runs on MGCP_ConnHdlr {
|
||||
MGCP_PROC.call(MGCPEM_change_connhdlr:{ep, self}) {
|
||||
[] MGCP_PROC.getreply(MGCPEM_change_connhdlr:{?,?}) {};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private function f_expect_table_init()
|
||||
runs on MGCP_Emulation_CT {
|
||||
|
|
Loading…
Reference in New Issue