BSSMAP_Emulation: Introduce new MSC_CONN_PRIM_CONF_IND
If the ConnHdlr initiates an outbound connection, it needs to know
once that connection is established if it wants to send further
data. Transform the N-CONNECT.confirm into a MSC_CONN_PRIM_CONF_IND
and send it to the ConnHdlr.
Make use of it from the MSC_Tests when issuing a Complete L3 Info.
Change-Id: I7293a9f4993d13c90316224eb9f13e10130388ef
diff --git a/library/BSSMAP_Emulation.ttcn b/library/BSSMAP_Emulation.ttcn
index dce8eb0..e7a432c 100644
--- a/library/BSSMAP_Emulation.ttcn
+++ b/library/BSSMAP_Emulation.ttcn
@@ -55,7 +55,9 @@
/* SCCP tell us that connection was released */
MSC_CONN_PRIM_DISC_IND,
/* we tell SCCP to release connection */
- MSC_CONN_PRIM_DISC_REQ
+ MSC_CONN_PRIM_DISC_REQ,
+ /* Connection confirmed indication */
+ MSC_CONN_PRIM_CONF_IND
}
type record BSSAP_Conn_Req {
@@ -420,6 +422,9 @@
/* SCCP -> Client: connection confirm for outbound connection */
[] BSSAP.receive(BSSAP_N_CONNECT_cfm:?) -> value conn_cfm {
+ vc_conn := f_comp_by_conn_id(conn_cfm.connectionId);
+ var BSSAP_Conn_Prim prim := MSC_CONN_PRIM_CONF_IND;
+ CLIENT.send(prim) to vc_conn;
/* handle user payload */
if (ispresent(conn_cfm.userData)) {
f_handle_userData(vc_conn, conn_cfm.userData);
diff --git a/msc_tests/BSC_ConnectionHandler.ttcn b/msc_tests/BSC_ConnectionHandler.ttcn
index 15a460b..2d6036f 100644
--- a/msc_tests/BSC_ConnectionHandler.ttcn
+++ b/msc_tests/BSC_ConnectionHandler.ttcn
@@ -93,6 +93,13 @@
var octetstring l3_enc := enc_PDU_ML3_MS_NW(l3);
BSSAP.send(ts_BSSAP_Conn_Req(g_pars.sccp_addr_peer, g_pars.sccp_addr_own,
valueof(ts_BSSMAP_ComplL3(g_pars.cell_id, l3_enc))));
+ alt {
+ [] BSSAP.receive(BSSAP_Conn_Prim:MSC_CONN_PRIM_CONF_IND) {}
+ [] BSSAP.receive(BSSAP_Conn_Prim:MSC_CONN_PRIM_DISC_IND) {
+ setverdict(fail, "DISC.ind from SCCP");
+ self.stop;
+ }
+ }
}
/* helper function to fully establish a dedicated channel */