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
This commit is contained in:
parent
e5bd1ae81a
commit
71b693365d
|
@ -55,7 +55,9 @@ type enumerated BSSAP_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
|
||||
MSC_CONN_PRIM_DISC_REQ,
|
||||
/* Connection confirmed indication */
|
||||
MSC_CONN_PRIM_CONF_IND
|
||||
}
|
||||
|
||||
type record BSSAP_Conn_Req {
|
||||
|
@ -420,6 +422,9 @@ function main(BssmapOps ops, charstring id) runs on BSSMAP_Emulation_CT {
|
|||
|
||||
/* 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);
|
||||
|
|
|
@ -93,6 +93,13 @@ runs on BSC_ConnHdlr {
|
|||
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 */
|
||||
|
|
Loading…
Reference in New Issue