laforge has submitted this change. (
https://gerrit.osmocom.org/c/osmo-hnbgw/+/36474?usp=email )
Change subject: generalize hnbgw_tx_ue_register_rej_tmsi() to hnbgw_tx_ue_register_rej()
......................................................................
generalize hnbgw_tx_ue_register_rej_tmsi() to hnbgw_tx_ue_register_rej()
This way the caller can provide the cause value to be used during
reject.
Requires: osmo-iuh I7db92b51847c282d23d568970dfd2bedecdea486
Change-Id: Ic83674523c0326a7ae51fb176bddfd6641ed3ac4
---
M src/osmo-hnbgw/hnbgw_hnbap.c
1 file changed, 28 insertions(+), 7 deletions(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, approved
pespin: Looks good to me, but someone else must approve
diff --git a/src/osmo-hnbgw/hnbgw_hnbap.c b/src/osmo-hnbgw/hnbgw_hnbap.c
index b2ff911..32b0904 100644
--- a/src/osmo-hnbgw/hnbgw_hnbap.c
+++ b/src/osmo-hnbgw/hnbgw_hnbap.c
@@ -161,13 +161,15 @@
return hnbgw_hnbap_tx(ue->hnb, msg);
}
-static int hnbgw_tx_ue_register_rej_tmsi(struct hnb_context *hnb, HNBAP_UE_Identity_t
*ue_id)
+static int hnbgw_tx_ue_register_rej(struct hnb_context *hnb, HNBAP_UE_Identity_t *ue_id,
const struct HNBAP_Cause *cause)
{
HNBAP_UERegisterReject_t reject_out;
HNBAP_UERegisterRejectIEs_t reject;
struct msgb *msg;
int rc;
+ OSMO_ASSERT(cause);
+
memset(&reject, 0, sizeof(reject));
reject.uE_Identity.present = ue_id->present;
@@ -229,10 +231,9 @@
return -1;
}
- LOGHNB(hnb, DHNBAP, LOGL_ERROR, "Rejecting UE Register Request: TMSI identity
registration is switched off\n");
+ LOGHNB(hnb, DHNBAP, LOGL_ERROR, "Rejecting UE Register Request cause=%s\n",
hnbap_cause_str(cause));
- reject.cause.present = HNBAP_Cause_PR_radioNetwork;
- reject.cause.choice.radioNetwork = HNBAP_CauseRadioNetwork_invalid_UE_identity;
+ reject.cause = *cause;
memset(&reject_out, 0, sizeof(reject_out));
rc = hnbap_encode_ueregisterrejecties(&reject_out, &reject);
@@ -527,10 +528,17 @@
break;
case HNBAP_UE_Identity_PR_tMSILAI:
case HNBAP_UE_Identity_PR_pTMSIRAI:
- if (g_hnbgw->config.hnbap_allow_tmsi)
+ if (g_hnbgw->config.hnbap_allow_tmsi) {
rc = hnbgw_tx_ue_register_acc_tmsi(ctx, &ies.uE_Identity);
- else
- rc = hnbgw_tx_ue_register_rej_tmsi(ctx, &ies.uE_Identity);
+ } else {
+ struct HNBAP_Cause cause = {
+ .present = HNBAP_Cause_PR_radioNetwork,
+ .choice = {
+ .radioNetwork = HNBAP_CauseRadioNetwork_invalid_UE_identity,
+ },
+ };
+ rc = hnbgw_tx_ue_register_rej(ctx, &ies.uE_Identity, &cause);
+ }
/* all has been handled by TMSI, skip the IMSI code below */
goto free_and_return_rc;
default:
--
To view, visit
https://gerrit.osmocom.org/c/osmo-hnbgw/+/36474?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: Ic83674523c0326a7ae51fb176bddfd6641ed3ac4
Gerrit-Change-Number: 36474
Gerrit-PatchSet: 2
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged