osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc-nat/+/28240 )
Change subject: subscr_conn_fsm: handle dialing invalid number ......................................................................
subscr_conn_fsm: handle dialing invalid number
Reset the FSM to idle when receiving a clear command from the MSC during ST_WAITING_FOR_ASSIGNMENT_COMPLETE.
Related: SYS#5560 Change-Id: Ic0589be21f0ee4dbbbe0ffa6b0acdbe152909700 --- M src/osmo-bsc-nat/subscr_conn_fsm.c 1 file changed, 9 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc-nat refs/changes/40/28240/1
diff --git a/src/osmo-bsc-nat/subscr_conn_fsm.c b/src/osmo-bsc-nat/subscr_conn_fsm.c index f4b9fb6..848204d 100644 --- a/src/osmo-bsc-nat/subscr_conn_fsm.c +++ b/src/osmo-bsc-nat/subscr_conn_fsm.c @@ -267,6 +267,14 @@ * reset the FSM to idle here (clears the mgw endpoint). */ osmo_fsm_inst_state_chg(fi, SUBSCR_CONN_FSM_ST_IDLE, 0, 0); break; + case SUBSCR_CONN_FSM_EV_BSSMAP_CLEAR_COMMAND: + /* Dialing an invalid number results in receiving a clear + * command from the MSC in ST_WAITING_FOR_ASSIGNMENT_COMPLETE. + * The original message gets forwarded from CN to RAN by + * bssmap_cn_handle_clear_cmd() already, so just reset the FSM + * to idle here (clears the mgw endpoint). */ + osmo_fsm_inst_state_chg(fi, SUBSCR_CONN_FSM_ST_IDLE, 0, 0); + break; default: OSMO_ASSERT(false); } @@ -395,6 +403,7 @@ .in_event_mask = 0 | X(SUBSCR_CONN_FSM_EV_BSSMAP_ASSIGNMENT_COMPLETE) | X(SUBSCR_CONN_FSM_EV_BSSMAP_ASSIGNMENT_FAILURE) + | X(SUBSCR_CONN_FSM_EV_BSSMAP_CLEAR_COMMAND) , .out_state_mask = 0 | X(SUBSCR_CONN_FSM_ST_IDLE)