neels has uploaded this change for review.

View Change

on RUA Connect failure, respond with RUA Disconnect

Related: OS#6283
Related: osmo-ttcn3-hacks I2b5c024a395e736538c0c37db40d34f3b8d99991
Change-Id: Iafb30c31a4c5db53ecdda99a0e0b5937b71e362c
---
M src/osmo-hnbgw/hnbgw_rua.c
1 file changed, 12 insertions(+), 1 deletion(-)

git pull ssh://gerrit.osmocom.org:29418/osmo-hnbgw refs/changes/07/37807/1
diff --git a/src/osmo-hnbgw/hnbgw_rua.c b/src/osmo-hnbgw/hnbgw_rua.c
index 5576fa4..7b561df 100644
--- a/src/osmo-hnbgw/hnbgw_rua.c
+++ b/src/osmo-hnbgw/hnbgw_rua.c
@@ -270,7 +270,7 @@
LOGHNB(hnb, DRUA, LOGL_ERROR,
"Failed to create context map for %s: rx RUA %s with %u bytes RANAP data\n",
is_ps ? "IuPS" : "IuCS", rua_procedure_code_name(rua_procedure), data ? len : 0);
- return -EINVAL;
+ goto tx_disconnect;
}
break;

@@ -308,6 +308,17 @@
/* No caller may ever pass a different RUA procedure code */
OSMO_ASSERT(false);
}
+
+tx_disconnect:
+ /* Send Disconnect to RUA without RANAP data. */
+ rua_cause = (RUA_Cause_t){
+ .present = RUA_Cause_PR_radioNetwork,
+ .choice.radioNetwork = RUA_CauseRadioNetwork_connect_failed,
+ };
+ LOG_HNBP(hnb->persistent, LOGL_INFO, "Tx RUA Disconnect\n");
+ if (rua_tx_disc(hnb, is_ps, context_id, &rua_cause, NULL, 0))
+ LOG_HNBP(hnb->persistent, LOGL_ERROR, "Failed to send Disconnect to RUA\n");
+ return -EINVAL;
}

static uint32_t rua_to_scu_cause(RUA_Cause_t *in)

To view, visit change 37807. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newchange
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: Iafb30c31a4c5db53ecdda99a0e0b5937b71e362c
Gerrit-Change-Number: 37807
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr@sysmocom.de>