aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Willmann <dwillmann@sysmocom.de>2016-01-14 15:36:12 +0100
committerDaniel Willmann <dwillmann@sysmocom.de>2016-01-14 15:36:12 +0100
commitb39bad12814f3122434541557cac18b3e4cd9e89 (patch)
tree3d5f4b8e3be7b80fd7f1217c0c5c0c9eb6f2fa2d
parent4deab942ccd40001a95932095136994e67287664 (diff)
dummy_cn: Respond to initial UE message with empty ranap message
-rw-r--r--src/tests/dummy_cn_sua.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/tests/dummy_cn_sua.c b/src/tests/dummy_cn_sua.c
index 425639d..5c77a97 100644
--- a/src/tests/dummy_cn_sua.c
+++ b/src/tests/dummy_cn_sua.c
@@ -58,22 +58,34 @@ struct ue_conn_ctx *ue_conn_ctx_find(struct osmo_sua_link *link, uint32_t conn_i
* RANAP handling
***********************************************************************/
-static int ranap_handle_co_initial_ue(void *ctx, RANAP_InitialUE_MessageIEs_t *ies)
+static int ranap_handle_co_initial_ue(struct ue_conn_ctx *ctx, RANAP_InitialUE_MessageIEs_t *ies)
{
struct gprs_ra_id ra_id;
uint16_t sai;
struct msgb *msg = msgb_alloc(256, "RANAP->NAS");
uint8_t *cur;
+ struct osmo_scu_prim *prim;
ranap_parse_lai(&ra_id, &ies->lai);
sai = asn1str_to_u16(&ies->sai.sAC);
cur = msgb_put(msg, ies->nas_pdu.size);
memcpy(msg, ies->nas_pdu.buf, ies->nas_pdu.size);
+ msgb_free(msg);
/* FIXME: set msgb_gmmh() */
/* FIXME: Feed into the MM layer */
//rc = gsm0408_gprs_rcvmsg_iu(msg, ra_id, sai, conn_id);
+ msg = ranap_new_msg_dt(0, NULL, 0);
+
+ msg->l2h = msg->data;
+ prim = (struct osmo_scu_prim *) msgb_push(msg, sizeof(*prim));
+ prim->u.data.conn_id = ctx->conn_id;
+ osmo_prim_init(&prim->oph, SCCP_SAP_USER, OSMO_SCU_PRIM_N_DATA,
+ PRIM_OP_REQUEST, msg);
+
+ osmo_sua_user_link_down(ctx->link, &prim->oph);
+
return 0;
}