diff options
author | Daniel Willmann <dwillmann@sysmocom.de> | 2015-12-09 17:59:24 +0100 |
---|---|---|
committer | Daniel Willmann <dwillmann@sysmocom.de> | 2015-12-14 10:36:36 +0100 |
commit | 4e31250367c7f80907c9a25c281fffbe24e4dae0 (patch) | |
tree | 61d63e9ebd295e1d4f0f1a66ec5d6f1c4aef7065 /src | |
parent | 479cb300ce5c7917f5a3e5c41b75fe9f90a0cf51 (diff) |
hnb-test: Send UE register request
Diffstat (limited to 'src')
-rw-r--r-- | src/tests/hnb-test.c | 33 |
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) |