neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/32036 )
Change subject: map_sccp: on timeout during WAIT_CC, send N-DISCONNECT to SCCP-SCOC ......................................................................
map_sccp: on timeout during WAIT_CC, send N-DISCONNECT to SCCP-SCOC
When waiting for CC expires, we should tell the SCCP-SCOC that we've stopped waiting: send N-DISCONNECT, instead of nothing.
Change-Id: Ie94fcee4e2507a55449050aab96307199aed99a2 --- M src/osmo-hnbgw/context_map_sccp.c 1 file changed, 16 insertions(+), 2 deletions(-)
Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, but someone else must approve neels: Looks good to me, approved
diff --git a/src/osmo-hnbgw/context_map_sccp.c b/src/osmo-hnbgw/context_map_sccp.c index deb6e0f..cea0817 100644 --- a/src/osmo-hnbgw/context_map_sccp.c +++ b/src/osmo-hnbgw/context_map_sccp.c @@ -442,11 +442,13 @@ /* Return 1 to terminate FSM instance, 0 to keep running */ switch (fi->state) { case MAP_SCCP_ST_INIT: - case MAP_SCCP_ST_WAIT_CC: - /* cannot sent SCCP RLSD, because the other side hasn't responded with the remote reference. */ + /* cannot sent SCCP RLSD, because we haven't set up an SCCP link */ map_sccp_fsm_state_chg(MAP_SCCP_ST_DISCONNECTED); return 0;
+ case MAP_SCCP_ST_WAIT_CC: + /* send N-DISCONNECT. libosmo-sigtran/sccp_scoc.c will do the SCCP connection cleanup, like waiting a + * bit whether the SCCP CC might still arrive, and cleanup the conn if not. */ case MAP_SCCP_ST_CONNECTED: case MAP_SCCP_ST_WAIT_RLSD: /* send SCCP RLSD. libosmo-sigtran/sccp_scoc.c will do the SCCP connection cleanup.