BSSAP_Adapter: Always perform BSSMAP Reset on start-up

Change-Id: I1f8834be3409348b3a30b1489f5faa4d1c47b086
This commit is contained in:
Harald Welte 2018-01-21 13:53:17 +01:00
parent 0cf76ad9f7
commit b0ec4eec33
1 changed files with 13 additions and 6 deletions

View File

@ -98,16 +98,23 @@ function f_bssap_init(charstring id, template BssmapOps ops) runs on BSSAP_Adapt
/* connect MTP3 service provider (M3UA) to lower side of SCCP */
connect(vc_M3UA:MTP3_SP_PORT, vc_SCCP:MTP3_SCCP_PORT);
if (isvalue(ops)) {
connect(vc_BSSMAP:BSSAP, vc_SCCP:SCCP_SP_PORT);
} else {
/* connect BSSNAP dispatcher to upper side of SCCP */
connect(self:BSSAP, vc_SCCP:SCCP_SP_PORT);
}
/* connect ourselves to upper side of SCCP */
connect(self:BSSAP, vc_SCCP:SCCP_SP_PORT);
vc_M3UA.start(f_M3UA_Emulation(mp_sctp_addr));
vc_SCCP.start(SCCPStart(g_sccp_pars));
if (isvalue(ops)) {
timer T := 5.0;
T.start;
T.timeout;
/* Perform reset procedure */
f_bssap_reset();
/* disconect ourselves */
disconnect(self:BSSAP, vc_SCCP:SCCP_SP_PORT);
/* connect BSSNAP component to upposer side of SCCP */
connect(vc_BSSMAP:BSSAP, vc_SCCP:SCCP_SP_PORT);
/* start the BSSMAP emulation */
vc_BSSMAP.start(BSSMAP_Emulation.main(valueof(ops), ""));
}
}