<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/20219">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  laforge: Looks good to me, approved
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">mgw: Introduce test TC_crcx_osmo_ign<br><br>Related: SYS#5063<br>Change-Id: I79415c385e89fe859854430bb20940f078fccea0<br>---<br>M library/MGCP_Templates.ttcn<br>M library/MGCP_Types.ttcn<br>M mgw/MGCP_Test.ttcn<br>3 files changed, 38 insertions(+), 2 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/library/MGCP_Templates.ttcn b/library/MGCP_Templates.ttcn</span><br><span>index 79d9670..917ef89 100644</span><br><span>--- a/library/MGCP_Templates.ttcn</span><br><span>+++ b/library/MGCP_Templates.ttcn</span><br><span>@@ -55,6 +55,12 @@</span><br><span>               val := f_mgcp_osmux_cid_encode(osmux_cid)</span><br><span>    };</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+        /* Osmocom extension: X-Osmux: {*,%u} */</span><br><span style="color: hsl(120, 100%, 40%);">+      template MgcpParameter t_MgcpParOsmoIGN(template charstring val) := {</span><br><span style="color: hsl(120, 100%, 40%);">+         code := "X-OSMO-IGN",</span><br><span style="color: hsl(120, 100%, 40%);">+               val := val</span><br><span style="color: hsl(120, 100%, 40%);">+    };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>         /* osmo-bsc_mgcp implements L/C/M/X only, osmo-mgw adds 'I' */</span><br><span>       /* SDP: osmo-bsc_mgcp implements Tx of v,o,s,c,t,m,a */</span><br><span> </span><br><span>diff --git a/library/MGCP_Types.ttcn b/library/MGCP_Types.ttcn</span><br><span>index b56734c..01d4d3a 100644</span><br><span>--- a/library/MGCP_Types.ttcn</span><br><span>+++ b/library/MGCP_Types.ttcn</span><br><span>@@ -30,8 +30,8 @@</span><br><span>     type charstring MgcpInfoCode ("B", "C", "I", "N", "X", "L", "M", "R",</span><br><span>                                      "S", "D", "O", "P", "E", "Z", "Q", "T",</span><br><span>                                      "RC", "LC", "A", "ES", "RM", "RD", "PL",</span><br><span style="color: hsl(0, 100%, 40%);">-                                  "MD", "X-OSMO-CP", "X-OSMUX") with {</span><br><span style="color: hsl(0, 100%, 40%);">-                variant "TEXT_CODING(,convert=upper_case,'([BCINXLMRSDOPEZQTA])|(RC)|(LC)|(ES)|(RM)|(RD)|(PL)|(MD)|(X-OSMO-CP)|(X-OSMUX)',case_insensitive)"</span><br><span style="color: hsl(120, 100%, 40%);">+                                      "MD", "X-OSMO-CP", "X-OSMO-IGN", "X-OSMUX") with {</span><br><span style="color: hsl(120, 100%, 40%);">+              variant "TEXT_CODING(,convert=upper_case,'([BCINXLMRSDOPEZQTA])|(RC)|(LC)|(ES)|(RM)|(RD)|(PL)|(MD)|(X-OSMO-CP)|(X-OSMO-IGN)|(X-OSMUX)',case_insensitive)"</span><br><span>  };</span><br><span> </span><br><span>       /* 3.2.2.6 */</span><br><span>diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn</span><br><span>index 4be034b..f6dfe57 100644</span><br><span>--- a/mgw/MGCP_Test.ttcn</span><br><span>+++ b/mgw/MGCP_Test.ttcn</span><br><span>@@ -732,6 +732,35 @@</span><br><span>            setverdict(pass);</span><br><span>    }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ /* Test CRCX with X-Osmo-IGN, using same message as SYS#5063 to make sure it doesn't cause a crash. */</span><br><span style="color: hsl(120, 100%, 40%);">+    testcase TC_crcx_osmo_ign() runs on dummy_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+                var template MgcpCommand cmd;</span><br><span style="color: hsl(120, 100%, 40%);">+         var MgcpResponse resp;</span><br><span style="color: hsl(120, 100%, 40%);">+                var MgcpEndpoint ep := "7@" & c_mgw_domain;</span><br><span style="color: hsl(120, 100%, 40%);">+             var MgcpCallId call_id := '3'H;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+             f_init(ep);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+         /* CRCX 1 7@mgw MGCP 1.0</span><br><span style="color: hsl(120, 100%, 40%);">+              C: 3</span><br><span style="color: hsl(120, 100%, 40%);">+          L: p:20, a:GSM-EFR, nt:IN</span><br><span style="color: hsl(120, 100%, 40%);">+             M: recvonly</span><br><span style="color: hsl(120, 100%, 40%);">+           X-Osmo-IGN: C</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%);">+          cmd := ts_CRCX(get_next_trans_id(), ep, "netwtest", call_id);</span><br><span style="color: hsl(120, 100%, 40%);">+               cmd.params := {ts_MgcpParCallId(call_id),</span><br><span style="color: hsl(120, 100%, 40%);">+                            t_MgcpParLocConnOpt("p:20, a:GSM-EFR, nt:IN"),</span><br><span style="color: hsl(120, 100%, 40%);">+                              t_MgcpParConnMode("recvonly"),</span><br><span style="color: hsl(120, 100%, 40%);">+                              t_MgcpParOsmoIGN("C")};</span><br><span style="color: hsl(120, 100%, 40%);">+              resp := mgcp_transceive_mgw(cmd, tr_CRCX_ACK);</span><br><span style="color: hsl(120, 100%, 40%);">+                extract_conn_id(resp);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+              /* clean-up */</span><br><span style="color: hsl(120, 100%, 40%);">+                f_dlcx_ok(ep, call_id);</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>  /* test CRCX with early bi-directional mode, expect 527 as</span><br><span>    * bi-diretional media can only  be established once both local and</span><br><span>   * remote side are specified, see MGCP RFC */</span><br><span>@@ -2360,6 +2389,7 @@</span><br><span>                execute(TC_crcx_no_lco());</span><br><span>           execute(TC_crcx_noprefix());</span><br><span>                 execute(TC_crcx_unsupp_mode());</span><br><span style="color: hsl(120, 100%, 40%);">+               execute(TC_crcx_osmo_ign());</span><br><span>                 execute(TC_crcx_early_bidir_mode());</span><br><span>                 execute(TC_crcx_unsupp_param());</span><br><span>             execute(TC_crcx_missing_callid());</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/20219">change 20219</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/c/osmo-ttcn3-hacks/+/20219"/><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-Change-Id: I79415c385e89fe859854430bb20940f078fccea0 </div>
<div style="display:none"> Gerrit-Change-Number: 20219 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: dexter <pmaier@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>