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
This commit is contained in:
parent
9b3de0183b
commit
b83c755b31
|
@ -267,6 +267,14 @@ static void st_waiting_for_ass_compl(struct osmo_fsm_inst *fi, uint32_t event, v
|
||||||
* reset the FSM to idle here (clears the mgw endpoint). */
|
* reset the FSM to idle here (clears the mgw endpoint). */
|
||||||
osmo_fsm_inst_state_chg(fi, SUBSCR_CONN_FSM_ST_IDLE, 0, 0);
|
osmo_fsm_inst_state_chg(fi, SUBSCR_CONN_FSM_ST_IDLE, 0, 0);
|
||||||
break;
|
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:
|
default:
|
||||||
OSMO_ASSERT(false);
|
OSMO_ASSERT(false);
|
||||||
}
|
}
|
||||||
|
@ -395,6 +403,7 @@ static struct osmo_fsm_state subscr_conn_fsm_states[] = {
|
||||||
.in_event_mask = 0
|
.in_event_mask = 0
|
||||||
| X(SUBSCR_CONN_FSM_EV_BSSMAP_ASSIGNMENT_COMPLETE)
|
| X(SUBSCR_CONN_FSM_EV_BSSMAP_ASSIGNMENT_COMPLETE)
|
||||||
| X(SUBSCR_CONN_FSM_EV_BSSMAP_ASSIGNMENT_FAILURE)
|
| X(SUBSCR_CONN_FSM_EV_BSSMAP_ASSIGNMENT_FAILURE)
|
||||||
|
| X(SUBSCR_CONN_FSM_EV_BSSMAP_CLEAR_COMMAND)
|
||||||
,
|
,
|
||||||
.out_state_mask = 0
|
.out_state_mask = 0
|
||||||
| X(SUBSCR_CONN_FSM_ST_IDLE)
|
| X(SUBSCR_CONN_FSM_ST_IDLE)
|
||||||
|
|
Loading…
Reference in New Issue