<p>Harald Welte has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/9323">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">bsc: Alter Assignment Req + Complete depending on AoIP or SCCPlite<br><br>When sending BSSMAP Assignment Request, we need to decide if we want<br>to fill in the AoIP TransportIdentifier or the CIC.  The former<br>is needed in AoIP, the latter is needed for SCCPlite and classic SCCP.<br><br>Change-Id: I8aa0cf2189101de49a6da81625226bdcbbaff027<br>---<br>M bsc/BSC_Tests.ttcn<br>1 file changed, 39 insertions(+), 21 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/23/9323/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 762b5a2..95b7625 100644</span><br><span>--- a/bsc/BSC_Tests.ttcn</span><br><span>+++ b/bsc/BSC_Tests.ttcn</span><br><span>@@ -558,6 +558,32 @@</span><br><span>       }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* generate an assignment request for either AoIP or SCCPlite */</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_gen_ass_req() return PDU_BSSAP {</span><br><span style="color: hsl(120, 100%, 40%);">+     var PDU_BSSAP ass_cmd;</span><br><span style="color: hsl(120, 100%, 40%);">+        if (mp_bssap_cfg.transport == BSSAP_TRANSPORT_AoIP) {</span><br><span style="color: hsl(120, 100%, 40%);">+         var BSSMAP_IE_AoIP_TransportLayerAddress tla :=</span><br><span style="color: hsl(120, 100%, 40%);">+                                               valueof(ts_BSSMAP_IE_AoIP_TLA4('01020304'O, 2342));</span><br><span style="color: hsl(120, 100%, 40%);">+           ass_cmd := valueof(ts_BSSMAP_AssignmentReq(omit, tla));</span><br><span style="color: hsl(120, 100%, 40%);">+       } else {</span><br><span style="color: hsl(120, 100%, 40%);">+              var BSSMAP_IE_CircuitIdentityCode cic := valueof(ts_BSSMAP_IE_CIC(0,1));</span><br><span style="color: hsl(120, 100%, 40%);">+              ass_cmd := valueof(ts_BSSMAP_AssignmentReq(cic, omit));</span><br><span style="color: hsl(120, 100%, 40%);">+       }</span><br><span style="color: hsl(120, 100%, 40%);">+     return ass_cmd;</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%);">+/* generate an assignment complete template for either AoIP or SCCPlite */</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_gen_exp_compl() return template PDU_BSSAP {</span><br><span style="color: hsl(120, 100%, 40%);">+      var template PDU_BSSAP exp_compl;</span><br><span style="color: hsl(120, 100%, 40%);">+     if (mp_bssap_cfg.transport == BSSAP_TRANSPORT_AoIP) {</span><br><span style="color: hsl(120, 100%, 40%);">+         exp_compl := tr_BSSMAP_AssignmentComplete(omit, ?);</span><br><span style="color: hsl(120, 100%, 40%);">+   } else {</span><br><span style="color: hsl(120, 100%, 40%);">+              /* CIC is optional "*" as the MSC allocated it */</span><br><span style="color: hsl(120, 100%, 40%);">+           exp_compl := tr_BSSMAP_AssignmentComplete(*, omit);</span><br><span style="color: hsl(120, 100%, 40%);">+   }</span><br><span style="color: hsl(120, 100%, 40%);">+     return exp_compl;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* Run everything required up to sending a caller-specified assignment command and expect response */</span><br><span> function f_assignment_exp(PDU_BSSAP ass_cmd, template PDU_BSSAP exp, charstring fail_text)</span><br><span> runs on test_CT {</span><br><span>@@ -590,8 +616,7 @@</span><br><span> }</span><br><span> testcase TC_assignment_csd() runs on test_CT {</span><br><span>      var template PDU_BSSAP exp_fail := tr_BSSMAP_AssignmentFail;</span><br><span style="color: hsl(0, 100%, 40%);">-    var BSSMAP_IE_AoIP_TransportLayerAddress tla := valueof(ts_BSSMAP_IE_AoIP_TLA4('01020304'O, 2342));</span><br><span style="color: hsl(0, 100%, 40%);">-     var PDU_BSSAP ass_cmd := valueof(ts_BSSMAP_AssignmentReq(omit, tla));</span><br><span style="color: hsl(120, 100%, 40%);">+ var PDU_BSSAP ass_cmd := f_gen_ass_req();</span><br><span>    ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelTypeCSD);</span><br><span>    //exp_fail.pdu.bssmap.assignmentFailure.cause.causeValue := int2bit(enum2int(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_UNAVAIL), 7);</span><br><span>    f_assignment_exp(ass_cmd, exp_fail, "BSC accepted Assignment for CSD");</span><br><span>@@ -599,8 +624,7 @@</span><br><span> </span><br><span> testcase TC_assignment_ctm() runs on test_CT {</span><br><span>        var template PDU_BSSAP exp_fail := tr_BSSMAP_AssignmentFail;</span><br><span style="color: hsl(0, 100%, 40%);">-    var BSSMAP_IE_AoIP_TransportLayerAddress tla := valueof(ts_BSSMAP_IE_AoIP_TLA4('01020304'O, 2342));</span><br><span style="color: hsl(0, 100%, 40%);">-     var PDU_BSSAP ass_cmd := valueof(ts_BSSMAP_AssignmentReq(omit, tla));</span><br><span style="color: hsl(120, 100%, 40%);">+ var PDU_BSSAP ass_cmd := f_gen_ass_req();</span><br><span>    ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelTypeCTM);</span><br><span>    //exp_fail.pdu.bssmap.assignmentFailure.cause.causeValue := int2bit(enum2int(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_UNAVAIL), 7);</span><br><span>    f_assignment_exp(ass_cmd, exp_fail, "BSC accepted Assignment for Speech+CTM");</span><br><span>@@ -1436,9 +1460,8 @@</span><br><span> </span><br><span> /* Establish signalling channel (non-assignment case) followed by cipher mode */</span><br><span> private function f_tc_ciph_mode_a5(charstring id) runs on MSC_ConnHdlr {</span><br><span style="color: hsl(0, 100%, 40%);">-    var template PDU_BSSAP exp_compl := tr_BSSMAP_AssignmentComplete(omit, ?);</span><br><span style="color: hsl(0, 100%, 40%);">-      var BSSMAP_IE_AoIP_TransportLayerAddress tla := valueof(ts_BSSMAP_IE_AoIP_TLA4('01020304'O, 2342));</span><br><span style="color: hsl(0, 100%, 40%);">-     var template PDU_BSSAP ass_cmd := valueof(ts_BSSMAP_AssignmentReq(omit, tla));</span><br><span style="color: hsl(120, 100%, 40%);">+        var template PDU_BSSAP exp_compl := f_gen_exp_compl();</span><br><span style="color: hsl(120, 100%, 40%);">+        var PDU_BSSAP ass_cmd := f_gen_ass_req();</span><br><span>    ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelTypeSIGNAL);</span><br><span> </span><br><span>     // Disable generation of ASSIGNMENT CMD, as OsmoBSC currently performs MODE MODFIY sign->sign (OS#2936)</span><br><span>@@ -1479,9 +1502,8 @@</span><br><span> </span><br><span> /* establish initial channel, enable ciphering followed by assignment to ciphered channel */</span><br><span> private function f_tc_assignment_fr_a5(charstring id) runs on MSC_ConnHdlr {</span><br><span style="color: hsl(0, 100%, 40%);">-  var template PDU_BSSAP exp_compl := tr_BSSMAP_AssignmentComplete(omit, ?);</span><br><span style="color: hsl(0, 100%, 40%);">-      var BSSMAP_IE_AoIP_TransportLayerAddress tla := valueof(ts_BSSMAP_IE_AoIP_TLA4('01020304'O, 2342));</span><br><span style="color: hsl(0, 100%, 40%);">-     var PDU_BSSAP ass_cmd := valueof(ts_BSSMAP_AssignmentReq(omit, tla));</span><br><span style="color: hsl(120, 100%, 40%);">+ var template PDU_BSSAP exp_compl := f_gen_exp_compl();</span><br><span style="color: hsl(120, 100%, 40%);">+        var PDU_BSSAP ass_cmd := f_gen_ass_req();</span><br><span> </span><br><span>        ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType);</span><br><span>       ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR}));</span><br><span>@@ -1523,8 +1545,7 @@</span><br><span> private function f_tc_assignment_fr_a5_1_codec_missing(charstring id) runs on MSC_ConnHdlr {</span><br><span>     g_pars := valueof(t_def_TestHdlrPars);</span><br><span>       var template PDU_BSSAP exp_fail := tr_BSSMAP_AssignmentFail;</span><br><span style="color: hsl(0, 100%, 40%);">-    var BSSMAP_IE_AoIP_TransportLayerAddress tla := valueof(ts_BSSMAP_IE_AoIP_TLA4('01020304'O, 2342));</span><br><span style="color: hsl(0, 100%, 40%);">-     var PDU_BSSAP ass_cmd := valueof(ts_BSSMAP_AssignmentReq(omit, tla));</span><br><span style="color: hsl(120, 100%, 40%);">+ var PDU_BSSAP ass_cmd := f_gen_ass_req();</span><br><span>    const OCT8 kc := '0001020304050607'O;</span><br><span> </span><br><span>    ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType);</span><br><span>@@ -1542,9 +1563,8 @@</span><br><span> </span><br><span> private function f_tc_assignment_fr_a5_4(charstring id) runs on MSC_ConnHdlr {</span><br><span>         g_pars := valueof(t_def_TestHdlrPars);</span><br><span style="color: hsl(0, 100%, 40%);">-  var template PDU_BSSAP exp_compl := tr_BSSMAP_AssignmentComplete(omit, ?);</span><br><span style="color: hsl(0, 100%, 40%);">-      var BSSMAP_IE_AoIP_TransportLayerAddress tla := valueof(ts_BSSMAP_IE_AoIP_TLA4('01020304'O, 2342));</span><br><span style="color: hsl(0, 100%, 40%);">-     var PDU_BSSAP ass_cmd := valueof(ts_BSSMAP_AssignmentReq(omit, tla));</span><br><span style="color: hsl(120, 100%, 40%);">+ var template PDU_BSSAP exp_compl := f_gen_exp_compl();</span><br><span style="color: hsl(120, 100%, 40%);">+        var PDU_BSSAP ass_cmd := f_gen_ass_req();</span><br><span>    const OCT8 kc := '0001020304050607'O;</span><br><span>        const OCT16 kc128 := kc & kc;</span><br><span> </span><br><span>@@ -1713,9 +1733,8 @@</span><br><span> type record of CodecListTest CodecListTests</span><br><span> </span><br><span> private function f_TC_assignment_codec(charstring id) runs on MSC_ConnHdlr {</span><br><span style="color: hsl(0, 100%, 40%);">-        var BSSMAP_IE_AoIP_TransportLayerAddress tla := valueof(ts_BSSMAP_IE_AoIP_TLA4('01020304'O, 2342));</span><br><span style="color: hsl(0, 100%, 40%);">-     var PDU_BSSAP ass_cmd := valueof(ts_BSSMAP_AssignmentReq(omit, tla));</span><br><span style="color: hsl(0, 100%, 40%);">-   var template PDU_BSSAP exp_compl := tr_BSSMAP_AssignmentComplete(omit, ?);</span><br><span style="color: hsl(120, 100%, 40%);">+    var PDU_BSSAP ass_cmd := f_gen_ass_req();</span><br><span style="color: hsl(120, 100%, 40%);">+     var template PDU_BSSAP exp_compl := f_gen_exp_compl();</span><br><span> </span><br><span>   /* puzzle together the ASSIGNMENT REQ for given codec[s] */</span><br><span>  ass_cmd.pdu.bssmap.assignmentRequest.codecList := g_pars.ass_codec_list;</span><br><span>@@ -1970,9 +1989,8 @@</span><br><span> /* intra-BSC hand-over between BTS0 and BTS1 */</span><br><span> private function f_tc_ho_int(charstring id) runs on MSC_ConnHdlr {</span><br><span>    g_pars := valueof(t_def_TestHdlrPars);</span><br><span style="color: hsl(0, 100%, 40%);">-  var template PDU_BSSAP exp_compl := tr_BSSMAP_AssignmentComplete(omit, ?);</span><br><span style="color: hsl(0, 100%, 40%);">-      var BSSMAP_IE_AoIP_TransportLayerAddress tla := valueof(ts_BSSMAP_IE_AoIP_TLA4('01020304'O, 2342));</span><br><span style="color: hsl(0, 100%, 40%);">-     var PDU_BSSAP ass_cmd := valueof(ts_BSSMAP_AssignmentReq(omit, tla));</span><br><span style="color: hsl(120, 100%, 40%);">+ var template PDU_BSSAP exp_compl := f_gen_exp_compl();</span><br><span style="color: hsl(120, 100%, 40%);">+        var PDU_BSSAP ass_cmd := f_gen_ass_req();</span><br><span>    const OCT8 kc := '0001020304050607'O;</span><br><span> </span><br><span>    ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType);</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/9323">change 9323</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/9323"/><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: I8aa0cf2189101de49a6da81625226bdcbbaff027 </div>
<div style="display:none"> Gerrit-Change-Number: 9323 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Harald Welte <laforge@gnumonks.org> </div>