gmm_fsm: Expect E_GMM_COMMON_PROC_INIT_REQ when in ST_GMM_COMMON_PROC_INIT
Due to whatever errors, the MS may re-init the Common Procedure by retransmitting a GPRS Attach Request while we are for instance aiting for Identity to be resolved. See this log: MM(---/ffffffff) -> GMM ATTACH REQUEST MI(3903513414) type="GPRS attach" GMM(gmm_fsm)[0x8136110]{Deregistered}: Allocated GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x81383c0]{Init}: Allocated MM_STATE_Gb[0x8138ac0]{Idle}: Allocated MM_STATE_Iu[0x8138bb0]{Detached}: Allocated GMM(gmm_fsm)[0x8136110]{Deregistered}: Received Event E_GMM_COMMON_PROC_INIT_REQ GMM(gmm_fsm)[0x8136110]{Deregistered}: state_chg to CommonProcedureInitiated GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x81383c0]{Init}: Received Event E_ATTACH_REQ_RECV GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x81383c0]{Init}: state_chg to CheckIdentity MM(/fba673a2) <- GPRS IDENTITY REQUEST: mi_type=IMEI UE(0x2){001-01-10422-99} Received GSM 04.08 message type 0x16, but no MM context available GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x81383c0]{CheckIdentity}: Timeout of T3370 MM(/fba673a2) <- GPRS IDENTITY REQUEST: mi_type=IMEI [Failure to handle GSM48_MT_GMM_ID_RESP and subsequent retransmission of GPRS IDENTITY REQUEST happens a couple times here] MM(---/ffffffff) -> GMM ATTACH REQUEST MI(3903513414) type="GPRS attach" GMM(gmm_fsm)[0x8136110]{CommonProcedureInitiated}: Received Event E_GMM_COMMON_PROC_INIT_REQ GMM(gmm_fsm)[0x8136110]{CommonProcedureInitiated}: Event E_GMM_COMMON_PROC_INIT_REQ not permitted GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x81383c0]{CheckIdentity}: Received Event E_ATTACH_REQ_RECV [Here IDENTITY REQUEST is sent again, and this time MS answers ID RESPONSE back and goes forward] Related: SYS#5389 Change-Id: I93d7d6bc694c84223a11d075d24c234b82b73389
This commit is contained in:
parent
ce0a0e9beb
commit
c26072a77f
|
@ -57,6 +57,10 @@ static void st_gmm_deregistered(struct osmo_fsm_inst *fi, uint32_t event, void *
|
|||
static void st_gmm_common_proc_init(struct osmo_fsm_inst *fi, uint32_t event, void *data)
|
||||
{
|
||||
switch(event) {
|
||||
case E_GMM_COMMON_PROC_INIT_REQ:
|
||||
/* MS may retransmit GPRS Attach Request if for some reason
|
||||
* CommonProcedure didn't go forward correctly */
|
||||
break;
|
||||
/* TODO: events not used
|
||||
case E_GMM_LOWER_LAYER_FAILED:
|
||||
case E_GMM_COMMON_PROC_FAILED:
|
||||
|
@ -126,7 +130,8 @@ static struct osmo_fsm_state gmm_fsm_states[] = {
|
|||
/* X(E_GMM_LOWER_LAYER_FAILED) | */
|
||||
/* X(E_GMM_COMMON_PROC_FAILED) | */
|
||||
X(E_GMM_COMMON_PROC_SUCCESS) |
|
||||
X(E_GMM_ATTACH_SUCCESS),
|
||||
X(E_GMM_ATTACH_SUCCESS) |
|
||||
X(E_GMM_COMMON_PROC_INIT_REQ),
|
||||
.out_state_mask =
|
||||
X(ST_GMM_DEREGISTERED) |
|
||||
X(ST_GMM_REGISTERED_NORMAL),
|
||||
|
|
Loading…
Reference in New Issue