aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDaniel Willmann <dwillmann@sysmocom.de>2015-12-09 17:59:24 +0100
committerDaniel Willmann <dwillmann@sysmocom.de>2015-12-14 10:36:36 +0100
commit4e31250367c7f80907c9a25c281fffbe24e4dae0 (patch)
tree61d63e9ebd295e1d4f0f1a66ec5d6f1c4aef7065 /src
parent479cb300ce5c7917f5a3e5c41b75fe9f90a0cf51 (diff)
hnb-test: Send UE register request
Diffstat (limited to 'src')
-rw-r--r--src/tests/hnb-test.c33
1 files changed, 32 insertions, 1 deletions
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 @@ struct hnb_test g_hnb_test = {
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)