<p>Neels Hofmeyr has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/9856">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">bsc: verify MultiRate Config IE in RSL Chan Activ<br><br>The current osmo-bsc refactoring causes an erratic MR Config IE. This patch<br>ensures that the ttcn3-bsc-tests catch this error.<br><br>Add MR Config IE expectations to g_pars, set these in the two tests that expect<br>an MR Config IE in the Chan Activ message:<br>BSC_Tests.TC_assignment_codec_amr_{f,h}<br><br>All other tests now verify that there is *no* MR Config IE in RSL Chan Activ<br>messages -- all other tests request no voice or a non-AMR codec for Chan Activ.<br><br>Change-Id: Ie841feed9d5e478bab1fea2bb86f300e84799013<br>---<br>M bsc/BSC_Tests.ttcn<br>M bsc/MSC_ConnectionHandler.ttcn<br>2 files changed, 36 insertions(+), 0 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/56/9856/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn</span><br><span>index 328fc59..2a8ad5f 100644</span><br><span>--- a/bsc/BSC_Tests.ttcn</span><br><span>+++ b/bsc/BSC_Tests.ttcn</span><br><span>@@ -1841,6 +1841,26 @@</span><br><span> if (not match(mode_ie, t_mode_ie)) {</span><br><span> setverdict(fail, "RSL Channel Mode IE doesn't match expectation");</span><br><span> }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ var RSL_IE_Body mr_conf;</span><br><span style="color: hsl(120, 100%, 40%);">+ if (g_pars.expect_mr_conf_ie != omit) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (f_rsl_find_ie(rsl, RSL_IE_MR_CONFIG, mr_conf) == false) {</span><br><span style="color: hsl(120, 100%, 40%);">+ setverdict(fail, "Missing MR CONFIG IE in RSL Chan Activ");</span><br><span style="color: hsl(120, 100%, 40%);">+ self.stop;</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ log("found RSL MR CONFIG IE: ", mr_conf);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ if (not match(mr_conf, g_pars.expect_mr_conf_ie)) {</span><br><span style="color: hsl(120, 100%, 40%);">+ setverdict(fail, "RSL MR CONFIG IE does not match expectation. Expected: ",</span><br><span style="color: hsl(120, 100%, 40%);">+ g_pars.expect_mr_conf_ie);</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ } else {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (f_rsl_find_ie(rsl, RSL_IE_MR_CONFIG, mr_conf) == true) {</span><br><span style="color: hsl(120, 100%, 40%);">+ log("found RSL MR CONFIG IE: ", mr_conf);</span><br><span style="color: hsl(120, 100%, 40%);">+ setverdict(fail, "Found MR CONFIG IE in RSL Chan Activ, expecting omit");</span><br><span style="color: hsl(120, 100%, 40%);">+ self.stop;</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span> }</span><br><span> </span><br><span> testcase TC_assignment_codec_fr() runs on test_CT {</span><br><span>@@ -1882,11 +1902,18 @@</span><br><span> testcase TC_assignment_codec_amr_f() runs on test_CT {</span><br><span> var TestHdlrParams pars := valueof(t_def_TestHdlrPars);</span><br><span> var MSC_ConnHdlr vc_conn;</span><br><span style="color: hsl(120, 100%, 40%);">+ var RSL_IE_Body mr_conf := {</span><br><span style="color: hsl(120, 100%, 40%);">+ other := {</span><br><span style="color: hsl(120, 100%, 40%);">+ len := 2,</span><br><span style="color: hsl(120, 100%, 40%);">+ payload := '2804'O</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ };</span><br><span> </span><br><span> f_init(1, true);</span><br><span> f_sleep(1.0);</span><br><span> </span><br><span> pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecAMR_F}));</span><br><span style="color: hsl(120, 100%, 40%);">+ pars.expect_mr_conf_ie := mr_conf;</span><br><span> vc_conn := f_start_handler(refers(f_TC_assignment_codec), pars);</span><br><span> vc_conn.done;</span><br><span> }</span><br><span>@@ -1894,11 +1921,18 @@</span><br><span> testcase TC_assignment_codec_amr_h() runs on test_CT {</span><br><span> var TestHdlrParams pars := valueof(t_def_TestHdlrPars);</span><br><span> var MSC_ConnHdlr vc_conn;</span><br><span style="color: hsl(120, 100%, 40%);">+ var RSL_IE_Body mr_conf := {</span><br><span style="color: hsl(120, 100%, 40%);">+ other := {</span><br><span style="color: hsl(120, 100%, 40%);">+ len := 2,</span><br><span style="color: hsl(120, 100%, 40%);">+ payload := '2804'O</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ };</span><br><span> </span><br><span> f_init(1, true);</span><br><span> f_sleep(1.0);</span><br><span> </span><br><span> pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecAMR_H}));</span><br><span style="color: hsl(120, 100%, 40%);">+ pars.expect_mr_conf_ie := mr_conf;</span><br><span> vc_conn := f_start_handler(refers(f_TC_assignment_codec), pars);</span><br><span> vc_conn.done;</span><br><span> }</span><br><span>diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn</span><br><span>index 0f123b6..1261a4d 100644</span><br><span>--- a/bsc/MSC_ConnectionHandler.ttcn</span><br><span>+++ b/bsc/MSC_ConnectionHandler.ttcn</span><br><span>@@ -390,6 +390,7 @@</span><br><span> RslLinkId link_id,</span><br><span> integer media_nr, /* determins MGCP EP, port numbers */</span><br><span> BSSMAP_IE_SpeechCodecList ass_codec_list optional,</span><br><span style="color: hsl(120, 100%, 40%);">+ RSL_IE_Body expect_mr_conf_ie optional, /* typically present for AMR codecs */</span><br><span> TestHdlrEncrParams encr optional,</span><br><span> TestHdlrParamsLcls lcls</span><br><span> };</span><br><span>@@ -401,6 +402,7 @@</span><br><span> link_id := valueof(ts_RslLinkID_DCCH(0)),</span><br><span> media_nr := 1,</span><br><span> ass_codec_list := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ expect_mr_conf_ie := omit,</span><br><span> encr := omit,</span><br><span> lcls := {</span><br><span> gcr := omit,</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/9856">change 9856</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/9856"/><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: Ie841feed9d5e478bab1fea2bb86f300e84799013 </div>
<div style="display:none"> Gerrit-Change-Number: 9856 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Neels Hofmeyr <nhofmeyr@sysmocom.de> </div>