fixeria has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/42582?usp=email )


Change subject: bsc: verify Cell ID in BSSMAP HandoverPerformed
......................................................................

bsc: verify Cell ID in BSSMAP HandoverPerformed

As per 3GPP TS 48.008 ยง3.2.1.25, HANDOVER PERFORMED must report the
target cell.  Add an optional cell_id parameter to the template
(defaulting to '?' for backward compatibility) and update the two
intra-BSC handover test helpers to assert that the Cell Identifier
IE carries the target BTS (BTS 1: MCC=001 MNC=01 LAC=1 CI=1).

Also remove the unnecessary interleave wrapper in
f_tc_ho_during_lcs_loc_req(): the two receives arrive on separate
ports (RAN_CONN vs BSSAP_LE) so sequential receive is sufficient.

Change-Id: I82aadcc3a80c183cb93522b829071294b156a218
Related: osmo-bsc.git I4111351dc38fc2dbe844c2bd07b3ecfaaadd864e
---
M bsc/BSC_Tests.ttcn
M library/BSSMAP_Templates.ttcn
2 files changed, 21 insertions(+), 10 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/82/42582/1

diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index e97ecb0..a4c666e 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -5887,8 +5887,14 @@
        }

        /* Since this is an internal handover we expect the BSC to inform the
-        * MSC about the event */
-       RAN_CONN.receive(tr_BSSMAP_HandoverPerformed);
+        * MSC about the event. The Cell Identifier must report the *target* BTS
+        * (BTS 1: MCC=001 MNC=01 LAC=1 CI=1), not the source BTS. */
+       alt {
+       [] 
RAN_CONN.receive(tr_BSSMAP_HandoverPerformed(tr_CellId_CGI('00F110'O, 1, 1)));
+       [] RAN_CONN.receive(tr_BSSMAP_HandoverPerformed) {
+               setverdict(fail, "BSSMAP HandoverPerformed indicates unexpected 
Cell ID");
+               }
+       }

        /* Check the amount of MGCP transactions is still consistant with the
         * test expectation */
@@ -10855,17 +10861,21 @@
        [] as_handover(hs);
        }

+       /* Expect the BSC to inform the MSC about the handover. The Cell 
Identifier
+        * must report the *target* BTS (BTS 1: MCC=001 MNC=01 LAC=1 CI=1). */
+       alt {
+       [] 
RAN_CONN.receive(tr_BSSMAP_HandoverPerformed(tr_CellId_CGI('00F110'O, 1, 1)));
+       [] RAN_CONN.receive(tr_BSSMAP_HandoverPerformed) {
+               setverdict(fail, "BSSMAP HandoverPerformed indicates unexpected 
Cell ID");
+               }
+       }
+
        var PDU_BSSAP_LE rx_bsslap;

-       interleave {
-       /* Expect the BSC to inform the MSC about the handover */
-       [] RAN_CONN.receive(tr_BSSMAP_HandoverPerformed);
-
        /* Expect the BSC to inform the SMLC about the handover */
-       [] BSSAP_LE.receive(tr_BSSMAP_LE_ConnInfo(BSSMAP_LE_PROT_BSSLAP, ?)) -> 
value(rx_bsslap) {
+       BSSAP_LE.receive(tr_BSSMAP_LE_ConnInfo(BSSMAP_LE_PROT_BSSLAP, ?)) -> 
value(rx_bsslap) {
                f_match_bsslap(rx_bsslap, 
tr_BSSLAP_Reset(BSSLAP_CAUSE_INTRA_BSS_HO));
        }
-       }

        /* SMLC now responds with geo information data. */
        BSSAP_LE.send(ts_BSSMAP_LE_PerfLocResp(gad_ell_point_unc_circle, omit));
diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn
index 563d6d1..deeabda 100644
--- a/library/BSSMAP_Templates.ttcn
+++ b/library/BSSMAP_Templates.ttcn
@@ -1331,14 +1331,15 @@
        }
 }

-template PDU_BSSAP tr_BSSMAP_HandoverPerformed
+template PDU_BSSAP
+tr_BSSMAP_HandoverPerformed(template (present) BSSMAP_IE_CellIdentifier 
cell_id := ?)
 modifies tr_BSSAP_BSSMAP := {
        pdu := {
                bssmap := {
                        handoverPerformed := {
                                messageType := '17'O,
                                cause := ?,
-                               cellIdentifier := ?,
+                               cellIdentifier := cell_id,
                                chosenChannel := *,
                                chosenEncryptionAlgorithm := *,
                                speechVersion := *,

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

Gerrit-MessageType: newchange
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I82aadcc3a80c183cb93522b829071294b156a218
Gerrit-Change-Number: 42582
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <[email protected]>

Reply via email to