Harald Welte has uploaded this change for review. ( 
https://gerrit.osmocom.org/13721


Change subject: iu_client: Implement transmission of ResetAcknowledge
......................................................................

iu_client: Implement transmission of ResetAcknowledge

When receiving an Iu Reset, respond with Iu ResetAcknowledge.

Closes: OS#3944
Change-Id: Ia09752983a7e2a952aa144635924edbffd894058
---
M src/iu_client.c
1 file changed, 19 insertions(+), 3 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/21/13721/1

diff --git a/src/iu_client.c b/src/iu_client.c
index 4aecfec..92d25f5 100644
--- a/src/iu_client.c
+++ b/src/iu_client.c
@@ -603,8 +603,24 @@

 static int ranap_handle_cl_reset_req(void *ctx, RANAP_ResetIEs_t *ies)
 {
-       /* FIXME: send reset response */
-       return -1;
+       struct osmo_scu_prim *prim = (struct osmo_scu_prim *) ctx;
+       struct osmo_scu_unitdata_param *ud_prim = &prim->u.unitdata;
+       RANAP_GlobalRNC_ID_t *grnc_id = NULL;
+       struct msgb *resp;
+
+       OSMO_ASSERT(prim->oph.primitive == OSMO_SCU_PRIM_N_UNITDATA);
+
+       /* FIXME: verify ies.cN_DomainIndicator */
+
+       if (ies->presenceMask & RESETIES_RANAP_GLOBALRNC_ID_PRESENT)
+               grnc_id = &ies->globalRNC_ID;
+
+       /* send reset response */
+       resp = ranap_new_msg_reset_ack(ies->cN_DomainIndicator, grnc_id);
+       if (!resp)
+               return -ENOMEM;
+       resp->l2h = resp->data;
+       return osmo_sccp_tx_unitdata_msg(g_scu, &g_local_sccp_addr, 
&ud_prim->calling_addr, resp);
 }

 static int ranap_handle_cl_err_ind(void *ctx, RANAP_ErrorIndicationIEs_t *ies)
@@ -795,7 +811,7 @@
                /* connection-less data received */
                LOGPIU(LOGL_DEBUG, "N-UNITDATA.ind(%s)\n",
                       osmo_hexdump(msgb_l2(oph->msg), msgb_l2len(oph->msg)));
-               rc = ranap_cn_rx_cl(cn_ranap_handle_cl, scu, msgb_l2(oph->msg), 
msgb_l2len(oph->msg));
+               rc = ranap_cn_rx_cl(cn_ranap_handle_cl, prim, 
msgb_l2(oph->msg), msgb_l2len(oph->msg));
                break;
        default:
                rc = -1;

--
To view, visit https://gerrit.osmocom.org/13721
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-iuh
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia09752983a7e2a952aa144635924edbffd894058
Gerrit-Change-Number: 13721
Gerrit-PatchSet: 1
Gerrit-Owner: Harald Welte <[email protected]>

Reply via email to