laforge has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-msc/+/15492 )

Change subject: vlr_auth_fsm: on SAI use the GSUP provided GMM cause code
......................................................................

vlr_auth_fsm: on SAI use the GSUP provided GMM cause code

The HLR might respond with a specific GMM cause code. E.g. roaming not
allowed which needs to be passed down the layers.

Change-Id: I9af515dc52834b7c57c42fc3a76ee2c682734e2a
---
M src/libvlr/vlr_auth_fsm.c
1 file changed, 8 insertions(+), 7 deletions(-)

Approvals:
  laforge: Looks good to me, approved
  pespin: Looks good to me, but someone else must approve
  osmith: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/src/libvlr/vlr_auth_fsm.c b/src/libvlr/vlr_auth_fsm.c
index 6026510..036c3d7 100644
--- a/src/libvlr/vlr_auth_fsm.c
+++ b/src/libvlr/vlr_auth_fsm.c
@@ -331,6 +331,7 @@
        struct auth_fsm_priv *afp = fi->priv;
        struct vlr_subscr *vsub = afp->vsub;
        struct osmo_gsup_message *gsup = data;
+       enum gsm48_reject_value gsm48_rej;

        if (event == VLR_AUTH_E_HLR_SAI_NACK)
                LOGPFSM(fi, "GSUP: rx Auth Info Error cause: %d: %s\n",
@@ -350,21 +351,21 @@
                        afp->auth_tuple_max_reuse_count = -1;
                        goto pass;
                }
-               /* result = procedure error */
-               auth_fsm_term(fi, GSM48_REJECT_NETWORK_FAILURE);
-               return;
        }

        switch (event) {
        case VLR_AUTH_E_HLR_SAI_ACK:
+               if (!gsup->num_auth_vectors) {
+                       auth_fsm_term(fi, GSM48_REJECT_NETWORK_FAILURE);
+                       return;
+               }
                vlr_subscr_update_tuples(vsub, gsup);
                goto pass;
                break;
        case VLR_AUTH_E_HLR_SAI_NACK:
-               auth_fsm_term(fi,
-                             gsup->cause == GMM_CAUSE_IMSI_UNKNOWN?
-                                     GSM48_REJECT_IMSI_UNKNOWN_IN_HLR
-                                     : GSM48_REJECT_NETWORK_FAILURE);
+       case VLR_AUTH_E_HLR_SAI_ABORT:
+               vlr_gmm_cause_to_mm_cause(gsup->cause, &gsm48_rej);
+               auth_fsm_term(fi, gsm48_rej);
                break;
        }


--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15492
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I9af515dc52834b7c57c42fc3a76ee2c682734e2a
Gerrit-Change-Number: 15492
Gerrit-PatchSet: 5
Gerrit-Owner: lynxis lazus <lyn...@fe80.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <lafo...@osmocom.org>
Gerrit-Reviewer: lynxis lazus <lyn...@fe80.eu>
Gerrit-Reviewer: neels <nhofm...@sysmocom.de>
Gerrit-Reviewer: osmith <osm...@sysmocom.de>
Gerrit-Reviewer: pespin <pes...@sysmocom.de>
Gerrit-MessageType: merged

Reply via email to