From 3f5716ce5dd9cbf1df6ae7042eebe2e18ae8034e Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Mon, 11 Jun 2018 13:55:23 +0200 Subject: bsc_subscr_conn_fsm: BSC must not release SCCP connection 3GPP TS 48.006 section 9.2 states clearly that any SCCP connection release must be initiated by the MSC. for bsc_subscr_conn_fsm, this means that even after sending the BSSMAP CLEAR COMPLETE, we must not terminate the FSM, as this would cause a N-DISCONNET.req to be sent to the stack for the associated SCCP connection. The bsc_subscr_conn_fsm instances will hence stay alive until the MSC eventually decises to release them. Change-Id: Iaaca220b598609b77b600fcfc2f9a78b221c1fbb Closes: OS#3331 --- src/osmo-bsc/bsc_subscr_conn_fsm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index bd652f0ea..4f09ae6bc 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -729,7 +729,9 @@ static void gscon_fsm_clearing(struct osmo_fsm_inst *fi, uint32_t event, void *d case GSCON_EV_RSL_CLEAR_COMPL: resp = gsm0808_create_clear_complete(); sigtran_send(conn, resp, fi); - osmo_fsm_inst_term(fi, OSMO_FSM_TERM_REGULAR, data); + /* we cannot terminate the FSM here, as that would send N-DISCCONNET.req + * and 3GPP TS 48.006 Section 9.2 clearly states that SCCP connections must + * always be released from the MSC side*/ break; default: OSMO_ASSERT(false); -- cgit v1.2.3