laforge has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25066 )

Change subject: MGCP_Emulation: allow moving ep handling to another test 
component
......................................................................

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
---
M library/MGCP_Emulation.ttcn
1 file changed, 26 insertions(+), 1 deletion(-)

Approvals:
  laforge: Looks good to me, approved
  pespin: Looks good to me, but someone else must approve
  osmith: Looks good to me, but someone else must approve
  Jenkins Builder: Verified



diff --git a/library/MGCP_Emulation.ttcn b/library/MGCP_Emulation.ttcn
index 8ccc085..9a92b9c 100644
--- a/library/MGCP_Emulation.ttcn
+++ b/library/MGCP_Emulation.ttcn
@@ -193,6 +193,19 @@
        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 @@
                        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 @@

 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 @@
        }
 }

+/* 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 {

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25066
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Id46035e53c2870e1fdef1335dce42b2020f7cd54
Gerrit-Change-Number: 25066
Gerrit-PatchSet: 5
Gerrit-Owner: neels <nhofm...@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <lafo...@osmocom.org>
Gerrit-Reviewer: osmith <osm...@sysmocom.de>
Gerrit-Reviewer: pespin <pes...@sysmocom.de>
Gerrit-MessageType: merged

Reply via email to