<p>Harald Welte has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/11488">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">MCS_Tests: Integrate first SGs testscase (RESET procedure)<br><br>Change-Id: I38543c35a9e74cea276e58d1d7ef01ef07ffe858<br>---<br>M msc/BSC_ConnectionHandler.ttcn<br>M msc/MSC_Tests.default<br>M msc/MSC_Tests.ttcn<br>M msc/gen_links.sh<br>4 files changed, 52 insertions(+), 2 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/88/11488/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn</span><br><span>index bf7a6d2..d259c8a 100644</span><br><span>--- a/msc/BSC_ConnectionHandler.ttcn</span><br><span>+++ b/msc/BSC_ConnectionHandler.ttcn</span><br><span>@@ -31,8 +31,10 @@</span><br><span> </span><br><span> import from SMPP_Emulation all;</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+import from SGsAP_Emulation all;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* this component represents a single subscriber connection */</span><br><span style="color: hsl(0, 100%, 40%);">-type component BSC_ConnHdlr extends BSSAP_ConnHdlr, MNCC_ConnHdlr, GSUP_ConnHdlr, MGCP_ConnHdlr, SMPP_ConnHdlr {</span><br><span style="color: hsl(120, 100%, 40%);">+type component BSC_ConnHdlr extends BSSAP_ConnHdlr, MNCC_ConnHdlr, GSUP_ConnHdlr, MGCP_ConnHdlr, SMPP_ConnHdlr, SGsAP_ConnHdlr {</span><br><span>      var BSC_ConnHdlrPars g_pars;</span><br><span>         timer g_Tguard := 60.0;</span><br><span> }</span><br><span>@@ -122,6 +124,8 @@</span><br><span>   activate(as_Tguard());</span><br><span>       /* Route all SMPP messages for our MSISDN to us */</span><br><span>   f_create_smpp_expect(hex2str(pars.msisdn));</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Route all SGs message for our IMSI to us */</span><br><span style="color: hsl(120, 100%, 40%);">+        f_create_sgsap_expect(pars.imsi);</span><br><span> }</span><br><span> </span><br><span> </span><br><span>diff --git a/msc/MSC_Tests.default b/msc/MSC_Tests.default</span><br><span>index a24fa38..f807228 100644</span><br><span>--- a/msc/MSC_Tests.default</span><br><span>+++ b/msc/MSC_Tests.default</span><br><span>@@ -22,6 +22,7 @@</span><br><span> *.MSCVTY.CTRL_CLIENT_CLEANUP_LINEFEED := "yes"</span><br><span> *.MSCVTY.CTRL_DETECT_CONNECTION_ESTABLISHMENT_RESULT := "yes"</span><br><span> *.MSCVTY.PROMPT1 := "OsmoMSC> "</span><br><span style="color: hsl(120, 100%, 40%);">+*.SGsAP.sctp_stack := "kernel"</span><br><span> </span><br><span> </span><br><span> [MODULE_PARAMETERS]</span><br><span>diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn</span><br><span>index 93d7c77..1f787f5 100644</span><br><span>--- a/msc/MSC_Tests.ttcn</span><br><span>+++ b/msc/MSC_Tests.ttcn</span><br><span>@@ -42,6 +42,10 @@</span><br><span> import from BSSMAP_Emulation all;</span><br><span> import from BSC_ConnectionHandler all;</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+import from SGsAP_Templates all;</span><br><span style="color: hsl(120, 100%, 40%);">+import from SGsAP_Types all;</span><br><span style="color: hsl(120, 100%, 40%);">+import from SGsAP_Emulation all;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> import from MobileL3_Types all;</span><br><span> import from MobileL3_CommonIE_Types all;</span><br><span> import from L3_Templates all;</span><br><span>@@ -71,6 +75,7 @@</span><br><span>     var GSUP_Emulation_CT vc_GSUP;</span><br><span>       var IPA_Emulation_CT vc_GSUP_IPA;</span><br><span>    var SMPP_Emulation_CT vc_SMPP;</span><br><span style="color: hsl(120, 100%, 40%);">+        var SGsAP_Emulation_CT vc_SGsAP;</span><br><span> </span><br><span>         /* only to get events from IPA underneath GSUP */</span><br><span>    port IPA_CTRL_PT GSUP_IPA_EVENT;</span><br><span>@@ -191,6 +196,25 @@</span><br><span>      vc_MGCP.start(MGCP_Emulation.main(ops, pars, id));</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+function f_init_sgsap(charstring id) runs on MTC_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+    id := id & "-SGsAP";</span><br><span style="color: hsl(120, 100%, 40%);">+    var SGsAPOps ops := {</span><br><span style="color: hsl(120, 100%, 40%);">+         create_cb := refers(SGsAP_Emulation.ExpectedCreateCallback),</span><br><span style="color: hsl(120, 100%, 40%);">+          unitdata_cb := refers(SGsAP_Emulation.DummyUnitdataCallback)</span><br><span style="color: hsl(120, 100%, 40%);">+  }</span><br><span style="color: hsl(120, 100%, 40%);">+     var SGsAP_conn_parameters pars := {</span><br><span style="color: hsl(120, 100%, 40%);">+           remote_ip := mp_msc_ip,</span><br><span style="color: hsl(120, 100%, 40%);">+               remote_sctp_port := 29118,</span><br><span style="color: hsl(120, 100%, 40%);">+            local_ip := "",</span><br><span style="color: hsl(120, 100%, 40%);">+             local_sctp_port := -1</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   vc_SGsAP := SGsAP_Emulation_CT.create(id);</span><br><span style="color: hsl(120, 100%, 40%);">+    map(vc_SGsAP:SGsAP, system:SGsAP_CODEC_PT);</span><br><span style="color: hsl(120, 100%, 40%);">+   vc_SGsAP.start(SGsAP_Emulation.main(ops, pars, id));</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> function f_init_gsup(charstring id) runs on MTC_CT {</span><br><span>  id := id & "-GSUP";</span><br><span>    var GsupOps ops := {</span><br><span>@@ -245,6 +269,7 @@</span><br><span>   f_init_mgcp("MSC_Test");</span><br><span>   f_init_gsup("MSC_Test");</span><br><span>   f_init_smpp("MSC_Test");</span><br><span style="color: hsl(120, 100%, 40%);">+    f_init_sgsap("MSC_Test");</span><br><span> </span><br><span>      map(self:MSCVTY, system:MSCVTY);</span><br><span>     f_vty_set_prompts(MSCVTY);</span><br><span>@@ -479,6 +504,9 @@</span><br><span>     /* SMPP part */</span><br><span>      connect(vc_conn:SMPP, vc_SMPP:SMPP_CLIENT);</span><br><span>  connect(vc_conn:SMPP_PROC, vc_SMPP:SMPP_PROC);</span><br><span style="color: hsl(120, 100%, 40%);">+        /* SGs part */</span><br><span style="color: hsl(120, 100%, 40%);">+        connect(vc_conn:SGsAP, vc_SGsAP:SGsAP_CLIENT);</span><br><span style="color: hsl(120, 100%, 40%);">+        connect(vc_conn:SGsAP_PROC, vc_SGsAP:SGsAP_PROC);</span><br><span> </span><br><span>        /* We cannot use vc_conn.start(f_init_handler(fn, id, pars)); as we cannot have</span><br><span>       * a stand-alone 'derefers()' call, see https://www.eclipse.org/forums/index.php/t/1091364/ */</span><br><span>@@ -2723,6 +2751,23 @@</span><br><span>    * too long / short TLV values</span><br><span>  */</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+private function f_tc_sgsap_reset(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {</span><br><span style="color: hsl(120, 100%, 40%);">+        /* This should be DNS-encoded, not a charstring */</span><br><span style="color: hsl(120, 100%, 40%);">+    var charstring mme_name := "mmec01.mmegi0001.mme.epc.mnc070.mcc901.3gppnetwork.org";</span><br><span style="color: hsl(120, 100%, 40%);">+        var charstring vlr_name;</span><br><span style="color: hsl(120, 100%, 40%);">+      f_init_handler(pars);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       vlr_name := f_sgsap_reset_mme(mme_name);</span><br><span style="color: hsl(120, 100%, 40%);">+      log("VLR name: ", vlr_name);</span><br><span style="color: hsl(120, 100%, 40%);">+        setverdict(pass);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_sgsap_reset() runs on MTC_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+    var BSC_ConnHdlr vc_conn;</span><br><span style="color: hsl(120, 100%, 40%);">+     f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+     vc_conn := f_start_handler(refers(f_tc_sgsap_reset), 10);</span><br><span style="color: hsl(120, 100%, 40%);">+     vc_conn.done;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span> </span><br><span> control {</span><br><span>    execute( TC_cr_before_reset() );</span><br><span>diff --git a/msc/gen_links.sh b/msc/gen_links.sh</span><br><span>index a394853..8d53d31 100755</span><br><span>--- a/msc/gen_links.sh</span><br><span>+++ b/msc/gen_links.sh</span><br><span>@@ -94,7 +94,7 @@</span><br><span> FILES+="MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunctDef.cc "</span><br><span> FILES+="SMPP_CodecPort.ttcn SMPP_CodecPort_CtrlFunct.ttcn SMPP_CodecPort_CtrlFunctDef.cc SMPP_Emulation.ttcn SMPP_Templates.ttcn "</span><br><span> FILES+="SS_Templates.ttcn SCCP_Templates.ttcn USSD_Helpers.ttcn "</span><br><span style="color: hsl(0, 100%, 40%);">-FILES+="SGsAP_Templates.ttcn SGsAP_CodecPort.ttcn SGsAP_CodecPort_CtrlFunct.ttcn SGsAP_CodecPort_CtrlFunctDef.cc SGsAP_Emulation.ttcn "</span><br><span style="color: hsl(120, 100%, 40%);">+FILES+="SGsAP_Templates.ttcn SGsAP_CodecPort.ttcn SGsAP_CodecPort_CtrlFunct.ttcn SGsAP_CodecPort_CtrlFunctDef.cc SGsAP_Emulation.ttcn DNS_Helpers.ttcn "</span><br><span> gen_links $DIR $FILES</span><br><span> </span><br><span> ignore_pp_results</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/11488">change 11488</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/11488"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-ttcn3-hacks </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I38543c35a9e74cea276e58d1d7ef01ef07ffe858 </div>
<div style="display:none"> Gerrit-Change-Number: 11488 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Harald Welte <laforge@gnumonks.org> </div>