neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/37807?usp=email )
Change subject: on RUA Connect failure, respond with RUA Disconnect ......................................................................
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)