hnb-test: Send UE register request
diff --git a/src/tests/hnb-test.c b/src/tests/hnb-test.c
index 480b3ef..90b2f38 100644
--- a/src/tests/hnb-test.c
+++ b/src/tests/hnb-test.c
@@ -57,7 +57,38 @@
int hnb_test_ue_register_tx(struct hnb_test *hnb_test)
{
- return 0;
+ struct msgb *msg;
+ int rc, imsi_len;
+
+ char imsi_buf[16];
+ char *imsi_str = "262019876543210";
+
+ UERegisterRequest_t request_out;
+ UERegisterRequestIEs_t request;
+ memset(&request, 0, sizeof(request));
+
+ request.uE_Identity.present = UE_Identity_PR_iMSI;
+
+ imsi_len = encode_iu_imsi(imsi_buf, sizeof(imsi_buf), imsi_str);
+ request.uE_Identity.choice.iMSI.buf = imsi_buf;
+ request.uE_Identity.choice.iMSI.size = imsi_len;
+
+ request.registration_Cause = Registration_Cause_normal;
+ request.uE_Capabilities.access_stratum_release_indicator = Access_stratum_release_indicator_rel_6;
+ request.uE_Capabilities.csg_capability = CSG_Capability_not_csg_capable;
+
+ memset(&request_out, 0, sizeof(request_out));
+ rc = hnbap_encode_ueregisterrequesties(&request_out, &request);
+
+ msg = hnbap_generate_initiating_message(ProcedureCode_id_UERegister,
+ Criticality_reject,
+ &asn_DEF_UERegisterRequest,
+ &request_out);
+
+
+ msgb_ppid(msg) = IUH_PPI_HNBAP;
+
+ return osmo_wqueue_enqueue(&hnb_test->wqueue, msg);
}
int hnb_test_rx_hnb_register_acc(struct hnb_test *hnb, ANY_t *in)