vlr_access_req_fsm: use correct cause codes
The FSM that controls the VLR ACCESS uses cause code 9 (GSM48_REJECT_MS_IDENTITY_NOT_DERVIVABLE) to signal that the identity of the MS is currently not known in VLR (MSC-Reboot) However, this cause code is from the GMM domain and is interpreted as GSM48_REJECT_SRV_OPT_TMP_OUT_OF_ORDER by the MS, which cauese the MS not to make a new LOCATION UPDATE on CM SERVICE REQUEST - use GSM48_REJECT_IMSI_UNKNOWN_IN_VLR and GSM48_REJECT_IMSI_UNKNOWN_IN_VLR instead of GSM48_REJECT_IMSI_UNKNOWN_IN_VLR Change-Id: Ic058c93387f9be9af4940f8961839c02b93ee370 Closes: OS#3266
This commit is contained in:
parent
cb8c75bba0
commit
6f4752e00c
|
@ -381,7 +381,7 @@ static void proc_arq_vlr_fn_init(struct osmo_fsm_inst *fi,
|
|||
if (!par->by_tmsi) {
|
||||
/* We couldn't find a subscriber even by IMSI,
|
||||
* Set User Error: Unidentified Subscriber */
|
||||
proc_arq_fsm_done(fi, GSM48_REJECT_MS_IDENTITY_NOT_DERVIVABLE);
|
||||
proc_arq_fsm_done(fi, GSM48_REJECT_IMSI_UNKNOWN_IN_VLR);
|
||||
return;
|
||||
} else {
|
||||
/* TMSI was included, are we permitted to use it? */
|
||||
|
@ -392,7 +392,7 @@ static void proc_arq_vlr_fn_init(struct osmo_fsm_inst *fi,
|
|||
return;
|
||||
} else {
|
||||
/* Set User Error: Unidentified Subscriber */
|
||||
proc_arq_fsm_done(fi, GSM48_REJECT_MS_IDENTITY_NOT_DERVIVABLE);
|
||||
proc_arq_fsm_done(fi, GSM48_REJECT_IMSI_UNKNOWN_IN_VLR);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -411,7 +411,7 @@ static void proc_arq_vlr_fn_w_obt_imsi(struct osmo_fsm_inst *fi,
|
|||
vsub = vlr_subscr_find_by_imsi(vlr, par->imsi);
|
||||
if (!vsub) {
|
||||
/* Set User Error: Unidentified Subscriber */
|
||||
proc_arq_fsm_done(fi, GSM48_REJECT_MS_IDENTITY_NOT_DERVIVABLE);
|
||||
proc_arq_fsm_done(fi, GSM48_REJECT_IMSI_UNKNOWN_IN_VLR);
|
||||
return;
|
||||
}
|
||||
assoc_par_with_subscr(fi, vsub);
|
||||
|
@ -687,7 +687,7 @@ vlr_proc_acc_req(struct osmo_fsm_inst *parent,
|
|||
case GSM_MI_TYPE_IMEI:
|
||||
/* TODO: IMEI (emergency call) */
|
||||
default:
|
||||
proc_arq_fsm_done(fi, GSM48_REJECT_MS_IDENTITY_NOT_DERVIVABLE);
|
||||
proc_arq_fsm_done(fi, GSM48_REJECT_INVALID_MANDANTORY_INF);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -63,10 +63,10 @@ DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}:
|
|||
DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: is child of Subscr_Conn(CM_SERVICE_REQ:901700000004620)
|
||||
DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: rev=GSM net=GERAN (no Auth)
|
||||
DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: Received Event PR_ARQ_E_START
|
||||
DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: proc_arq_fsm_done(MS_IDENTITY_NOT_DERVIVABLE)
|
||||
DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: proc_arq_fsm_done(IMSI_UNKNOWN_IN_VLR)
|
||||
DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: state_chg to PR_ARQ_S_DONE
|
||||
DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_DONE}: Process Access Request result: MS_IDENTITY_NOT_DERVIVABLE
|
||||
- sending CM Service Reject for unknown, cause: MS_IDENTITY_NOT_DERVIVABLE
|
||||
DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_DONE}: Process Access Request result: IMSI_UNKNOWN_IN_VLR
|
||||
- sending CM Service Reject for unknown, cause: IMSI_UNKNOWN_IN_VLR
|
||||
DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_NEW}: Received Event SUBSCR_CONN_E_CN_CLOSE
|
||||
DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING
|
||||
DREF unknown: MSC conn use + release == 2 (0x101: compl_l3,release)
|
||||
|
|
Loading…
Reference in New Issue