pespin submitted this change.

View Change

Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved
Convert RAN_Conn_Prim from enum to union

This will allow passing parameters in each primitive.
This is needed eg. to pass the reason in DISCONNECT.req.

Change-Id: I17994795b51efc7e6700238ddcf45594af653e42
---
M bsc-nat/BSC_MS_ConnectionHandler.ttcn
M bsc-nat/MSC_ConnectionHandler.ttcn
M bsc/BSC_Tests.ttcn
M bsc/BSC_Tests_ASCI.ttcn
M bsc/BSC_Tests_LCLS.ttcn
M hnbgw/ConnHdlr.ttcn
M hnbgw/HNBGW_Tests.ttcn
M library/RAN_Emulation.ttcnpp
M msc/BSC_ConnectionHandler.ttcn
M msc/MSC_Tests.ttcn
M msc/MSC_Tests_Iu.ttcn
M sgsn/BSSGP_ConnHdlr.ttcn
M sgsn/SGSN_Tests_Iu.ttcn
13 files changed, 101 insertions(+), 71 deletions(-)

diff --git a/bsc-nat/BSC_MS_ConnectionHandler.ttcn b/bsc-nat/BSC_MS_ConnectionHandler.ttcn
index 8aea74a..882caf8 100644
--- a/bsc-nat/BSC_MS_ConnectionHandler.ttcn
+++ b/bsc-nat/BSC_MS_ConnectionHandler.ttcn
@@ -190,16 +190,16 @@
log("Unhandled DTAP ", l3);
}

- [g_state == BSC_STATE_WAIT_DISC_IND] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_IND) {
+ [g_state == BSC_STATE_WAIT_DISC_IND] BSSAP.receive(tr_MSC_CONN_PRIM_DISC_IND) {
setverdict(pass);
self.stop;
}

- [] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_CONF_IND) {
+ [] BSSAP.receive(tr_MSC_CONN_PRIM_CONF_IND) {
}

/* disconnect in invalid state */
- [] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_IND) {
+ [] BSSAP.receive(tr_MSC_CONN_PRIM_DISC_IND) {
setverdict(fail);
self.stop;
}
diff --git a/bsc-nat/MSC_ConnectionHandler.ttcn b/bsc-nat/MSC_ConnectionHandler.ttcn
index fdf08de..0fe7c23 100644
--- a/bsc-nat/MSC_ConnectionHandler.ttcn
+++ b/bsc-nat/MSC_ConnectionHandler.ttcn
@@ -181,14 +181,14 @@
}

[g_state == MSC_STATE_WAIT_DLCX_ACK] BSSAP.receive(tr_DLCX_ACK) {
- BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ);
+ BSSAP.send(ts_MSC_CONN_PRIM_DISC_REQ);
setverdict(pass);
self.stop;
}

/* TODO: CLEAR REQUEST from BSS */

- [] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_IND) {
+ [] BSSAP.receive(tr_MSC_CONN_PRIM_DISC_IND) {
setverdict(fail);
self.stop;
}
@@ -199,7 +199,7 @@

/* Guard timer has expired, close connection */
[] T.timeout {
- BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ);
+ BSSAP.send(ts_MSC_CONN_PRIM_DISC_REQ);
setverdict(fail, "Timeout of guard timer");
self.stop;
}
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 8dcff83..4d60ea8 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -5964,7 +5964,7 @@
f_rslem_unregister(0, g_chan_nr, PT := RSL1_PROC);
}
[] BSSAP.receive(tr_BSSMAP_ClearComplete) {
- BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ);
+ BSSAP.send(ts_MSC_CONN_PRIM_DISC_REQ);
}
}

@@ -6085,7 +6085,7 @@
[] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr));
[] RSL.receive(tr_RSL_RF_CHAN_REL(g_chan_nr));
[] BSSAP.receive(tr_BSSMAP_ClearComplete) {
- BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ);
+ BSSAP.send(ts_MSC_CONN_PRIM_DISC_REQ);
}
}
setverdict(pass);
@@ -6373,7 +6373,7 @@

f_expect_dlcx_conns();
BSSAP.receive(tr_BSSMAP_ClearComplete);
- BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ);
+ BSSAP.send(ts_MSC_CONN_PRIM_DISC_REQ);

setverdict(pass);
f_sleep(1.0);
@@ -6422,10 +6422,10 @@
enc := g_pars.encr);
if (g_pars.inter_bsc_ho_in__ho_req_in_initial_sccp_cr) {
BSSAP.send(ts_BSSAP_Conn_Req(g_pars.sccp_addr_bsc, g_pars.sccp_addr_msc, ho_req));
- BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_CONF_IND);
+ BSSAP.receive(tr_MSC_CONN_PRIM_CONF_IND);
} else {
BSSAP.send(ts_BSSAP_Conn_Req(g_pars.sccp_addr_bsc, g_pars.sccp_addr_msc, omit));
- BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_CONF_IND);
+ BSSAP.receive(tr_MSC_CONN_PRIM_CONF_IND);
BSSAP.send(ho_req);
}

@@ -6824,7 +6824,7 @@

BSSAP.send(ts_BSSAP_Conn_Req(g_pars.sccp_addr_bsc, g_pars.sccp_addr_msc,
f_gen_handover_req()));
- BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_CONF_IND);
+ BSSAP.receive(tr_MSC_CONN_PRIM_CONF_IND);

/* The RSL Emulation magically accepts the Chan Activ behind the scenes. */

@@ -6867,7 +6867,7 @@

f_expect_dlcx_conns();
BSSAP.receive(tr_BSSMAP_ClearComplete);
- BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ);
+ BSSAP.send(ts_MSC_CONN_PRIM_DISC_REQ);

setverdict(pass);
f_sleep(1.0);
@@ -6914,7 +6914,7 @@

BSSAP.send(ts_BSSAP_Conn_Req(g_pars.sccp_addr_bsc, g_pars.sccp_addr_msc,
f_gen_handover_req()));
- BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_CONF_IND);
+ BSSAP.receive(tr_MSC_CONN_PRIM_CONF_IND);

/* The RSL Emulation magically accepts the Chan Activ behind the scenes. */

@@ -6961,7 +6961,7 @@

f_expect_dlcx_conns();
BSSAP.receive(tr_BSSMAP_ClearComplete);
- BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ);
+ BSSAP.send(ts_MSC_CONN_PRIM_DISC_REQ);

f_sleep(1.0);
}
@@ -7001,7 +7001,7 @@

BSSAP.send(ts_BSSAP_Conn_Req(g_pars.sccp_addr_bsc, g_pars.sccp_addr_msc,
f_gen_handover_req()));
- BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_CONF_IND);
+ BSSAP.receive(tr_MSC_CONN_PRIM_CONF_IND);

/* The RSL Emulation magically accepts the Chan Activ behind the scenes. */

@@ -7051,7 +7051,7 @@

f_expect_dlcx_conns();
BSSAP.receive(tr_BSSMAP_ClearComplete);
- BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ);
+ BSSAP.send(ts_MSC_CONN_PRIM_DISC_REQ);

f_sleep(1.0);
}
@@ -7093,7 +7093,7 @@

BSSAP.send(ts_BSSAP_Conn_Req(g_pars.sccp_addr_bsc, g_pars.sccp_addr_msc,
f_gen_handover_req()));
- BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_CONF_IND);
+ BSSAP.receive(tr_MSC_CONN_PRIM_CONF_IND);

/* The RSL Emulation magically accepts the Chan Activ behind the scenes. */

@@ -7135,7 +7135,7 @@
};
f_expect_dlcx_conns();
BSSAP.receive(tr_BSSMAP_ClearComplete);
- BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ);
+ BSSAP.send(ts_MSC_CONN_PRIM_DISC_REQ);

f_sleep(1.0);
}
@@ -8548,7 +8548,7 @@
[] BSSAP.receive(tr_BSSMAP_ClearComplete) {
f_logp(BSCVTY, "Got BSSMAP Clear Complete");
/* Also drop the SCCP connection */
- BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ);
+ BSSAP.send(ts_MSC_CONN_PRIM_DISC_REQ);
}
[] rsl_pt.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) {
f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack");
@@ -8575,7 +8575,7 @@
[] BSSAP.receive(tr_BSSMAP_ClearComplete) {
f_logp(BSCVTY, "Got BSSMAP Clear Complete");
/* Also drop the SCCP connection */
- BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ);
+ BSSAP.send(ts_MSC_CONN_PRIM_DISC_REQ);
}
[] rsl_pt.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) {
f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack");
@@ -8594,7 +8594,7 @@
BSSAP.receive(tr_BSSMAP_ClearComplete);
f_logp(BSCVTY, "Got BSSMAP Clear Complete");
/* Also drop the SCCP connection */
- BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ);
+ BSSAP.send(ts_MSC_CONN_PRIM_DISC_REQ);
}

friend function f_perform_clear_test_ct(DchanTuple dt)
@@ -10374,7 +10374,7 @@
var BssmapCause cause := 0;
BSSAP.send(ts_BSSMAP_ClearCommand(cause));
BSSAP.receive(tr_BSSMAP_ClearComplete);
- BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ);
+ BSSAP.send(ts_MSC_CONN_PRIM_DISC_REQ);

timer no_more_bssap := 5.0;
no_more_bssap.start;
@@ -10424,7 +10424,7 @@
BSSAP.send(ts_BSSAP_Conn_Req(g_pars.sccp_addr_bsc, g_pars.sccp_addr_msc,
valueof(ts_BSSMAP_Perform_Location_Request(ts_BSSMAP_Imsi(g_pars.imsi),
ts_CellId_CGI('001'H, '01'H, 1, 0)))));
- BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_CONF_IND);
+ BSSAP.receive(tr_MSC_CONN_PRIM_CONF_IND);

var PDU_BSSAP_LE plr;
BSSAP_LE.receive(tr_BSSMAP_LE_PerfLocReq(BSSMAP_LE_LOC_INFO_CURRENT_GEOGRAPHIC_LOC, ?, ?)) -> value(plr);
@@ -10485,7 +10485,7 @@
BSSAP.send(ts_BSSAP_Conn_Req(g_pars.sccp_addr_bsc, g_pars.sccp_addr_msc,
valueof(ts_BSSMAP_Perform_Location_Request(omit,
ts_CellId_CGI('262'H, '42'H, 23, 42)))));
- BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_CONF_IND);
+ BSSAP.receive(tr_MSC_CONN_PRIM_CONF_IND);

/* BSC tells MSC about failure */
BSSAP.receive(tr_BSSMAP_Perform_Location_Response(
@@ -10597,7 +10597,7 @@
BSSAP.send(ts_BSSAP_Conn_Req(g_pars.sccp_addr_bsc, g_pars.sccp_addr_msc,
valueof(ts_BSSMAP_Perform_Location_Request(ts_BSSMAP_Imsi(g_pars.imsi),
ts_CellId_CGI('001'H, '01'H, 1, 0)))));
- BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_CONF_IND);
+ BSSAP.receive(tr_MSC_CONN_PRIM_CONF_IND);

var PDU_BSSAP_LE plr;
BSSAP_LE.receive(tr_BSSMAP_LE_PerfLocReq(BSSMAP_LE_LOC_INFO_CURRENT_GEOGRAPHIC_LOC, ?, ?)) -> value(plr);
@@ -10664,7 +10664,7 @@
BSSAP.send(ts_BSSAP_Conn_Req(g_pars.sccp_addr_bsc, g_pars.sccp_addr_msc,
valueof(ts_BSSMAP_Perform_Location_Request(ts_BSSMAP_Imsi(g_pars.imsi),
ts_CellId_CGI('001'H, '01'H, 1, 0)))));
- BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_CONF_IND);
+ BSSAP.receive(tr_MSC_CONN_PRIM_CONF_IND);

var PDU_BSSAP_LE plr;
BSSAP_LE.receive(tr_BSSMAP_LE_PerfLocReq(BSSMAP_LE_LOC_INFO_CURRENT_GEOGRAPHIC_LOC, ?, ?)) -> value(plr);
@@ -11119,7 +11119,7 @@
f_rslem_unregister(0, g_chan_nr);
}
[] BSSAP.receive(tr_BSSMAP_ClearComplete) {
- BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ);
+ BSSAP.send(ts_MSC_CONN_PRIM_DISC_REQ);
}
}
f_expect_dlcx_conns();
@@ -11821,7 +11821,7 @@

BSSAP.send(ts_BSSMAP_ClearCommand(0));
BSSAP.receive(tr_BSSMAP_ClearComplete);
- BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ);
+ BSSAP.send(ts_MSC_CONN_PRIM_DISC_REQ);

var MgcpCommand mgcp;
var MGCP_RecvFrom mrf;
diff --git a/bsc/BSC_Tests_ASCI.ttcn b/bsc/BSC_Tests_ASCI.ttcn
index 8c8b66c..eb4a9dc 100644
--- a/bsc/BSC_Tests_ASCI.ttcn
+++ b/bsc/BSC_Tests_ASCI.ttcn
@@ -118,7 +118,7 @@

/* VGCS/VBS SETUP REQ in SCCP CR (must be the first message) */
BSSAP.send(ts_BSSAP_Conn_Req(g_pars.sccp_addr_bsc, g_pars.sccp_addr_msc, setup_req));
- BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_CONF_IND);
+ BSSAP.receive(tr_MSC_CONN_PRIM_CONF_IND);

alt {
[] BSSAP.receive(tr_BSSMAP_VGCS_VBS_SetupAck) -> value rx_bssap {
@@ -129,7 +129,7 @@
}
BSSAP.send(ts_BSSMAP_ClearCommand(0));
BSSAP.receive(tr_BSSMAP_ClearComplete);
- BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ);
+ BSSAP.send(ts_MSC_CONN_PRIM_DISC_REQ);
setverdict(pass);
return;
}
@@ -237,7 +237,7 @@
COORD.send(COORD_VGCS_CHANNEL_REL);
BSSAP.send(ts_BSSMAP_ClearCommand(0));
BSSAP.receive(tr_BSSMAP_ClearComplete);
- BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ);
+ BSSAP.send(ts_MSC_CONN_PRIM_DISC_REQ);

if (g_pars.asci_test.vgcs_assign_ok) {
if (not assign_res) {
@@ -412,7 +412,7 @@
group_call_ref := bit2oct(encvalue(callref)));
/* VGCS/VBS ASS REQ in SCCP CR (must be the first message) */
BSSAP.send(ts_BSSAP_Conn_Req(g_pars.sccp_addr_bsc, g_pars.sccp_addr_msc, ass_req));
- BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_CONF_IND);
+ BSSAP.receive(tr_MSC_CONN_PRIM_CONF_IND);

alt {
[] BSSAP.receive(tr_BSSMAP_VGCS_VBS_AssignmentRes(res_ch_type, res_cell_id)) -> value rx_bssap {
@@ -456,7 +456,7 @@
COORD.receive(COORD_VGCS_CHANNEL_REL);
BSSAP.send(ts_BSSMAP_ClearCommand(0));
BSSAP.receive(tr_BSSMAP_ClearComplete);
- BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ);
+ BSSAP.send(ts_MSC_CONN_PRIM_DISC_REQ);
return;
}
[] COORD.receive(COORD_VGCS_CHANNEL_REL) {
diff --git a/bsc/BSC_Tests_LCLS.ttcn b/bsc/BSC_Tests_LCLS.ttcn
index 2b9886b..30aef99 100644
--- a/bsc/BSC_Tests_LCLS.ttcn
+++ b/bsc/BSC_Tests_LCLS.ttcn
@@ -717,7 +717,7 @@
}
}
[] CONN_A.receive(tr_BSSMAP_ClearComplete) {
- CONN_A.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ);
+ CONN_A.send(ts_MSC_CONN_PRIM_DISC_REQ);
}
[] CONN_B.receive(tr_BSSMAP_LclsNotificationSts(LCLS_STS_not_possible_ls));
}
diff --git a/hnbgw/ConnHdlr.ttcn b/hnbgw/ConnHdlr.ttcn
index b304f18..93875bd 100644
--- a/hnbgw/ConnHdlr.ttcn
+++ b/hnbgw/ConnHdlr.ttcn
@@ -367,7 +367,7 @@
/* expect disconnect on the Iu side */
T.start;
alt {
- [] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_IND) {
+ [] BSSAP.receive(tr_MSC_CONN_PRIM_DISC_IND) {
setverdict(pass);
}
[] T.timeout {
diff --git a/hnbgw/HNBGW_Tests.ttcn b/hnbgw/HNBGW_Tests.ttcn
index 4606396..6606d3b 100644
--- a/hnbgw/HNBGW_Tests.ttcn
+++ b/hnbgw/HNBGW_Tests.ttcn
@@ -2294,7 +2294,7 @@

/* We modified the SCCP configuration, expect disconnect of UE that was active on the aborted link. */
RUA.receive(RUA_Disc_Ind:?);
- BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_IND);
+ BSSAP.receive(tr_MSC_CONN_PRIM_DISC_IND);

/* Would be nice to test reconnection on the other point-code, too. That would require another cnlink in
* osmo-stp.cfg and module parameters... */
diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp
index c221c72..5a95ba0 100644
--- a/library/RAN_Emulation.ttcnpp
+++ b/library/RAN_Emulation.ttcnpp
@@ -71,14 +71,44 @@
port RAN_PROC_PT BSSAP_PROC;
}

+/* SCCP tell us that connection was released */
+type record MSC_CONN_PRIM_DISC_IND {
+};
+
+/* we tell SCCP to release connection */
+type record MSC_CONN_PRIM_DISC_REQ {
+};
+
+/* Connection confirmed indication */
+type record MSC_CONN_PRIM_CONF_IND {
+};
+
/* Auxiliary primitive that can happen on the port between per-connection client and this dispatcher */
-type enumerated RAN_Conn_Prim {
- /* SCCP tell us that connection was released */
- MSC_CONN_PRIM_DISC_IND,
- /* we tell SCCP to release connection */
- MSC_CONN_PRIM_DISC_REQ,
- /* Connection confirmed indication */
- MSC_CONN_PRIM_CONF_IND
+type union RAN_Conn_Prim {
+ MSC_CONN_PRIM_DISC_IND disc_ind,
+ MSC_CONN_PRIM_DISC_REQ disc_req,
+ MSC_CONN_PRIM_CONF_IND conf_ind
+}
+
+template (present) RAN_Conn_Prim tr_MSC_CONN_PRIM_DISC_IND := {
+ disc_ind := ?
+}
+template (value) RAN_Conn_Prim ts_MSC_CONN_PRIM_DISC_IND := {
+ disc_ind := {}
+}
+
+template (present) RAN_Conn_Prim tr_MSC_CONN_PRIM_DISC_REQ := {
+ disc_req := ?
+}
+template (value) RAN_Conn_Prim ts_MSC_CONN_PRIM_DISC_REQ := {
+ disc_req := {}
+}
+
+template (present) RAN_Conn_Prim tr_MSC_CONN_PRIM_CONF_IND := {
+ conf_ind := ?
+}
+template (value) RAN_Conn_Prim ts_MSC_CONN_PRIM_CONF_IND := {
+ conf_ind := {}
}

type enumerated RAN_Transport {
@@ -889,7 +919,7 @@
f_handle_userData(vc_conn, disc_ind.userData);
}
/* notify client about termination */
- var RAN_Conn_Prim prim := MSC_CONN_PRIM_DISC_IND;
+ var RAN_Conn_Prim prim := valueof(ts_MSC_CONN_PRIM_DISC_IND);
CLIENT.send(prim) to vc_conn;
f_conn_table_del(disc_ind.connectionId);
/* TOOD: return confirm to other side? */
@@ -897,7 +927,7 @@
/* 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 RAN_Conn_Prim prim := MSC_CONN_PRIM_CONF_IND;
+ var RAN_Conn_Prim prim := valueof(ts_MSC_CONN_PRIM_CONF_IND);
CLIENT.send(prim) to vc_conn;
/* handle user payload */
if (ispresent(conn_cfm.userData)) {
@@ -915,7 +945,7 @@
}

/* Disconnect request client -> SCCP */
- [] CLIENT.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ) -> sender vc_conn {
+ [] CLIENT.receive(tr_MSC_CONN_PRIM_DISC_REQ) -> sender vc_conn {
var integer conn_id := f_conn_id_by_comp(vc_conn);
BSSAP.send(ts_BSSAP_DISC_req(conn_id, 0));
f_conn_table_del(conn_id);
@@ -1022,7 +1052,7 @@
f_handle_userData_RANAP(vc_conn, rdisc_ind.userData);
}
/* notify client about termination */
- var RAN_Conn_Prim prim := MSC_CONN_PRIM_DISC_IND;
+ var RAN_Conn_Prim prim := valueof(ts_MSC_CONN_PRIM_DISC_IND);
CLIENT.send(prim) to vc_conn;
f_conn_table_del(rdisc_ind.connectionId);
/* TOOD: return confirm to other side? */
@@ -1030,7 +1060,7 @@
/* SCCP -> Client: connection confirm for outbound connection */
[] RANAP.receive(RANAP_N_CONNECT_cfm:?) -> value rconn_cfm {
vc_conn := f_comp_by_conn_id(rconn_cfm.connectionId);
- var RAN_Conn_Prim prim := MSC_CONN_PRIM_CONF_IND;
+ var RAN_Conn_Prim prim := valueof(ts_MSC_CONN_PRIM_CONF_IND);
CLIENT.send(prim) to vc_conn;
/* handle user payload */
if (ispresent(rconn_cfm.userData)) {
@@ -1050,7 +1080,7 @@
}

/* Disconnect request client -> SCCP */
- [] CLIENT.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ) -> sender vc_conn {
+ [] CLIENT.receive(tr_MSC_CONN_PRIM_DISC_REQ) -> sender vc_conn {
var integer conn_id := f_conn_id_by_comp(vc_conn);
RANAP.send(ts_RANAP_DISC_req(conn_id, 0));
f_conn_table_del(conn_id);
@@ -1565,7 +1595,7 @@
[] BSSAP.receive(tr_RANAP_IuReleaseCommand(?)) {
BSSAP.send(ts_RANAP_IuReleaseComplete);
alt {
- [] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_IND) {
+ [] BSSAP.receive(tr_MSC_CONN_PRIM_DISC_IND) {
setverdict(pass);
}
[] BSSAP.receive {
diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn
index e436117..b7d1b94 100644
--- a/msc/BSC_ConnectionHandler.ttcn
+++ b/msc/BSC_ConnectionHandler.ttcn
@@ -307,8 +307,8 @@
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(RAN_Conn_Prim:MSC_CONN_PRIM_CONF_IND) {}
- [] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_IND) {
+ [] BSSAP.receive(tr_MSC_CONN_PRIM_CONF_IND) {}
+ [] BSSAP.receive(tr_MSC_CONN_PRIM_DISC_IND) {
setverdict(fail, "DISC.ind from SCCP");
mtc.stop;
}
@@ -356,8 +356,8 @@
ranap := valueof(ts_RANAP_initialUE_CS(lai, sai, l3_enc, sigc_id, grnc_id));
BSSAP.send(ts_RANAP_Conn_Req(g_pars.sccp_addr_peer, g_pars.sccp_addr_own, ranap));
alt {
- [] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_CONF_IND) {}
- [] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_IND) {
+ [] BSSAP.receive(tr_MSC_CONN_PRIM_CONF_IND) {}
+ [] BSSAP.receive(tr_MSC_CONN_PRIM_DISC_IND) {
setverdict(fail, "DISC.ind from SCCP");
mtc.stop;
}
@@ -1445,7 +1445,7 @@
[] MNCC.receive(tr_MNCC_REL_ind(cpars.mncc_callref));
[] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_DISC(cpars.transaction_id)));
[] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_RELEASE(cpars.transaction_id)));
- [] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_IND);
+ [] BSSAP.receive(tr_MSC_CONN_PRIM_DISC_IND);
[] BSSAP.receive(tr_BSSMAP_ClearCommand);
[] BSSAP.receive(tr_BSSMAP_ClearCommandCSFB);
[] BSSAP.receive(tr_RANAP_IuReleaseCommand(?));
@@ -1917,14 +1917,14 @@
[g_pars.ran_is_geran] BSSAP.receive(t_clear) {
log("f_call_hangup 5: rx BSSAP Clear Command");
BSSAP.send(ts_BSSMAP_ClearComplete);
- BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_IND);
+ BSSAP.receive(tr_MSC_CONN_PRIM_DISC_IND);
log("f_call_hangup 6: rx SCCP DISC");
setverdict(pass);
}
[not g_pars.ran_is_geran] BSSAP.receive(tr_RANAP_IuReleaseCommand(?)) {
log("f_call_hangup 5.iu: rx Iu Release Command");
BSSAP.send(ts_RANAP_IuReleaseComplete);
- BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_IND);
+ BSSAP.receive(tr_MSC_CONN_PRIM_DISC_IND);
log("f_call_hangup 6.iu: rx SCCP DISC");
setverdict(pass);
}
@@ -2036,7 +2036,7 @@
[] BSSAP.receive(tr_BSSMAP_ClearCommand) {
BSSAP.send(ts_BSSMAP_ClearComplete);
alt {
- [] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_IND) {
+ [] BSSAP.receive(tr_MSC_CONN_PRIM_DISC_IND) {
setverdict(pass);
}
[] BSSAP.receive {
diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index 283ced6..b4b3614 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -819,7 +819,7 @@
/* Expect the channel cleared upon T(iar) triggered: */
T_wait_iar.start;
alt {
- [] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_IND) {
+ [] BSSAP.receive(tr_MSC_CONN_PRIM_DISC_IND) {
T_wait_iar.stop
setverdict(pass);
}
@@ -951,7 +951,7 @@
mtc.stop;
repeat;
}
- [] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_IND) {}
+ [] BSSAP.receive(tr_MSC_CONN_PRIM_DISC_IND) {}
}
setverdict(pass);
}
@@ -1043,7 +1043,7 @@

f_sleep(1.0);
/* send clear request in the middle of the LU */
- BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ);
+ BSSAP.send(ts_MSC_CONN_PRIM_DISC_REQ);
setverdict(pass);
f_sleep(1.0);
}
@@ -1512,10 +1512,10 @@
timer T := 5.0;
T.start;
alt {
- [] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_IND) {}
+ [] BSSAP.receive(tr_MSC_CONN_PRIM_DISC_IND) {}
/* Expect LU REJECT with Cause == Illegal MS */
[] BSSAP.receive(tr_PDU_DTAP_MT(?)) { repeat; }
- [] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_CONF_IND) { repeat; }
+ [] BSSAP.receive(tr_MSC_CONN_PRIM_CONF_IND) { repeat; }
[] as_clear_cmd_compl_disc();
[] T.timeout {
setverdict(fail, "Timeout waiting for ClearCommand or SCCP Release");
@@ -1551,9 +1551,9 @@
T.start;
alt {
/* Immediate disconnect */
- [] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_IND) {}
+ [] BSSAP.receive(tr_MSC_CONN_PRIM_DISC_IND) {}
[] BSSAP.receive(tr_PDU_DTAP_MT(?)) { repeat; }
- [] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_CONF_IND) { repeat; }
+ [] BSSAP.receive(tr_MSC_CONN_PRIM_CONF_IND) { repeat; }
[] as_clear_cmd_compl_disc();
[] T.timeout {
setverdict(fail, "Timeout waiting for ClearCommand or SCCP Release");
@@ -6843,7 +6843,7 @@
[] BSSAP.receive(tr_BSSMAP_ClearCommand) {
BSSAP.send(ts_BSSMAP_ClearComplete);
}
- [] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_IND);
+ [] BSSAP.receive(tr_MSC_CONN_PRIM_DISC_IND);
}

f_sleep(1.0);
diff --git a/msc/MSC_Tests_Iu.ttcn b/msc/MSC_Tests_Iu.ttcn
index 361dd83..229ebb6 100644
--- a/msc/MSC_Tests_Iu.ttcn
+++ b/msc/MSC_Tests_Iu.ttcn
@@ -141,7 +141,7 @@
mtc.stop;
repeat;
}
- [] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_IND) {}
+ [] BSSAP.receive(tr_MSC_CONN_PRIM_DISC_IND) {}
}
setverdict(pass);
}
diff --git a/sgsn/BSSGP_ConnHdlr.ttcn b/sgsn/BSSGP_ConnHdlr.ttcn
index 78a81bc..2a434aa 100644
--- a/sgsn/BSSGP_ConnHdlr.ttcn
+++ b/sgsn/BSSGP_ConnHdlr.ttcn
@@ -215,8 +215,8 @@
ranap := valueof(ts_RANAP_initialUE_PS(lai, rac, sai, l3_enc, sigc_id, grnc_id));
BSSAP.send(ts_RANAP_Conn_Req(g_pars.sccp_addr_peer, g_pars.sccp_addr_local, ranap));
alt {
- [] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_CONF_IND) {}
- [] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_IND) {
+ [] BSSAP.receive(tr_MSC_CONN_PRIM_CONF_IND) {}
+ [] BSSAP.receive(tr_MSC_CONN_PRIM_DISC_IND) {
setverdict(fail, "DISC.ind from SCCP");
mtc.stop;
}
diff --git a/sgsn/SGSN_Tests_Iu.ttcn b/sgsn/SGSN_Tests_Iu.ttcn
index 7a7ee7c..400b717 100644
--- a/sgsn/SGSN_Tests_Iu.ttcn
+++ b/sgsn/SGSN_Tests_Iu.ttcn
@@ -393,7 +393,7 @@
apars.ggsn_tei_c,
GTP_CAUSE_REQUEST_ACCEPTED));

- BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_IND);
+ BSSAP.receive(tr_MSC_CONN_PRIM_DISC_IND);
g_pars.rnc_send_initial_ue := true;
BSSAP.receive(tr_RANAP_Paging(ps_domain, imsi_hex2oct(g_pars.imsi)));


To view, visit change 38540. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: merged
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I17994795b51efc7e6700238ddcf45594af653e42
Gerrit-Change-Number: 38540
Gerrit-PatchSet: 3
Gerrit-Owner: pespin <pespin@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>