diff options
author | Daniel Willmann <dwillmann@sysmocom.de> | 2016-01-14 15:36:12 +0100 |
---|---|---|
committer | Daniel Willmann <dwillmann@sysmocom.de> | 2016-01-14 15:36:12 +0100 |
commit | b39bad12814f3122434541557cac18b3e4cd9e89 (patch) | |
tree | 3d5f4b8e3be7b80fd7f1217c0c5c0c9eb6f2fa2d | |
parent | 4deab942ccd40001a95932095136994e67287664 (diff) |
dummy_cn: Respond to initial UE message with empty ranap message
-rw-r--r-- | src/tests/dummy_cn_sua.c | 14 |
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; } |