pespin has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27225 )


Change subject: bsc: Introduce test TC_srvcc_eutran_to_geran_src_sai
......................................................................

bsc: Introduce test TC_srvcc_eutran_to_geran_src_sai

Related: SYS#5838
Change-Id: I186b9b9436bf82bcd54ca348df1e5e4b6424ca6e
---
M bsc/BSC_Tests.ttcn
M bsc/MSC_ConnectionHandler.ttcn
M library/BSSMAP_Templates.ttcn
3 files changed, 39 insertions(+), 5 deletions(-)



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

diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index dadd5bf..283193e 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -1663,6 +1663,7 @@
 }

 function f_gen_handover_req(integer bssap_idx := 0, charstring aoip_tla := 
"1.2.3.4",
+                           template (value) BSSMAP_IE_CellIdentifier 
cell_id_source := ts_CellID_LAC_CI(1, 1),
                            template (omit) BSSMAP_oldToNewBSSIEs 
oldToNewBSSIEs := omit,
                            template (omit) TestHdlrEncrParams enc := omit) 
return PDU_BSSAP {
        var PDU_BSSAP ho_req;
@@ -1685,13 +1686,17 @@
        if (mp_bssap_cfg[bssap_idx].transport == BSSAP_TRANSPORT_AoIP) {
                var BSSMAP_IE_AoIP_TransportLayerAddress tla :=
                        valueof(f_ts_BSSMAP_IE_AoIP_TLA(aoip_tla, 2342));
-               ho_req := valueof(ts_BSSMAP_HandoverRequest(omit, tla, 
oldToNewBSSIEs := oldToNewBSSIEs,
+               ho_req := valueof(ts_BSSMAP_HandoverRequest(omit, tla,
+                                                           cell_id_source := 
cell_id_source,
+                                                           oldToNewBSSIEs := 
oldToNewBSSIEs,
                                                            
encryptionInformation := encryptionInformation,
                                                            
chosenEncryptionAlgorithm := chosenEncryptionAlgorithm,
                                                            kC128 := kc128));
        } else {
                var BSSMAP_IE_CircuitIdentityCode cic := 
valueof(ts_BSSMAP_IE_CIC(0,1));
-               ho_req := valueof(ts_BSSMAP_HandoverRequest(cic, omit, 
oldToNewBSSIEs := oldToNewBSSIEs,
+               ho_req := valueof(ts_BSSMAP_HandoverRequest(cic, omit,
+                                                           cell_id_source := 
cell_id_source,
+                                                           oldToNewBSSIEs := 
oldToNewBSSIEs,
                                                            
encryptionInformation := encryptionInformation,
                                                            
chosenEncryptionAlgorithm := chosenEncryptionAlgorithm,
                                                            kC128 := kc128));
@@ -6003,6 +6008,7 @@

        BSSAP.send(ts_BSSAP_Conn_Req(g_pars.sccp_addr_bsc, g_pars.sccp_addr_msc,
                                     f_gen_handover_req(aoip_tla := 
g_pars.host_aoip_tla,
+                                                       cell_id_source := 
g_pars.cell_id_source,
                                                        oldToNewBSSIEs := 
oldToNewBSSIEs,
                                                        enc := g_pars.encr)));
        BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_CONF_IND);
@@ -6170,6 +6176,19 @@
        f_shutdown_helper();
 }

+/* Same as TC_srvcc_eutran_to_geran, but using SAI as serving Cell Identifier. 
SYS#5838 */
+testcase TC_srvcc_eutran_to_geran_src_sai() runs on test_CT {
+       var TestHdlrParams pars := f_gen_test_hdlr_pars();
+       pars.last_used_eutran_plmn := '323454'O;
+       pars.cell_id_source := valueof(ts_CellID_SAI('123456'O, 300, 444));
+       f_tc_ho_into_this_bsc_main(pars);
+
+       f_ctrs_bsc_and_bts_add(0, "srvcc:attempted");
+       f_ctrs_bsc_and_bts_add(0, "srvcc:completed");
+       f_ctrs_bsc_and_bts_verify();
+       f_shutdown_helper();
+}
+
 private function f_tc_srvcc_eutran_to_geran_ho_out(charstring id) runs on 
MSC_ConnHdlr {
        var template (omit) BSSMAP_oldToNewBSSIEs oldToNewBSSIEs;
        oldToNewBSSIEs := 
f_ts_BSSMAP_oldToNewBSSIEs(ts_BSSMAP_LastUsedEUTRANPLMNId(g_pars.last_used_eutran_plmn));
@@ -11226,6 +11245,7 @@
                execute( TC_ho_into_this_bsc_tla_v6() );
        }
        execute( TC_srvcc_eutran_to_geran() );
+       execute( TC_srvcc_eutran_to_geran_src_sai() );
        execute( TC_srvcc_eutran_to_geran_ho_out() );
        execute( TC_srvcc_eutran_to_geran_forbid_fast_return() );
        execute( TC_srvcc_eutran_to_geran_ho_out_forbid_fast_return() );
diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn
index 109194b..10ab9b7 100644
--- a/bsc/MSC_ConnectionHandler.ttcn
+++ b/bsc/MSC_ConnectionHandler.ttcn
@@ -602,7 +602,8 @@
        OCT3            last_used_eutran_plmn optional,
        boolean         exp_fast_return, /* RR Release expected to contain 
CellSelectInd ? */
        boolean         expect_channel_mode_modify,
-       uint3_t         expect_tsc optional
+       uint3_t         expect_tsc optional,
+       BSSMAP_IE_CellIdentifier        cell_id_source
 };

 /* Note: Do not use valueof() to get a value of this template, use
@@ -642,7 +643,8 @@
        last_used_eutran_plmn := omit,
        exp_fast_return := false,
        expect_channel_mode_modify := false,
-       expect_tsc := omit
+       expect_tsc := omit,
+       cell_id_source := valueof(ts_CellID_LAC_CI(1, 1))
 }

 function f_create_chan_and_exp(template (present) PDU_BSSAP exp_l3_compl := ?)
diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn
index d497d25..0e34b35 100644
--- a/library/BSSMAP_Templates.ttcn
+++ b/library/BSSMAP_Templates.ttcn
@@ -321,6 +321,7 @@

 type uint16_t BssmapLAC;
 type uint16_t BssmapCI;
+type uint16_t BssmapSAC;

 template BSSMAP_IE_CellIdentifier ts_CellId_CGI(hexstring mcc, hexstring mnc, 
BssmapLAC lac, BssmapCI ci)
 modifies ts_BSSMAP_IE_CellID := {
@@ -329,7 +330,7 @@
        }
 }

-template BSSMAP_IE_CellIdentifier ts_CellID_LAC_CI(BssmapLAC lac, BssmapCI ci)
+template (value) BSSMAP_IE_CellIdentifier ts_CellID_LAC_CI(BssmapLAC lac, 
BssmapCI ci)
 modifies ts_BSSMAP_IE_CellID := {
        cellIdentification := {
                cI_LAC_CI := {
@@ -353,6 +354,17 @@
        }
 }

+template (value) BSSMAP_IE_CellIdentifier ts_CellID_SAI(OCT3 mcc_mnc, 
BssmapLAC lac, BssmapSAC sac)
+modifies ts_BSSMAP_IE_CellID := {
+       cellIdentification := {
+               cI_SAI := {
+                       mcc_mnc := mcc_mnc,
+                       lac := int2oct(lac, 2),
+                       sac := int2oct(sac, 2)
+               }
+       }
+}
+

 template BSSMAP_IE_Layer3Information ts_BSSMAP_IE_L3Info(octetstring l3info) 
:= {
        elementIdentifier := '17'O,

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

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I186b9b9436bf82bcd54ca348df1e5e4b6424ca6e
Gerrit-Change-Number: 27225
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <[email protected]>
Gerrit-MessageType: newchange

Reply via email to