X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?p=sim%2Fe2-interface.git;a=blobdiff_plain;f=e2sim%2Fe2apv1sim%2Ftest%2FPendulum%2Fe2termination_test.cpp;fp=e2sim%2Fe2apv1sim%2Ftest%2FPendulum%2Fe2termination_test.cpp;h=0000000000000000000000000000000000000000;hp=b65ac652ee6e688facd993d8e11be5a1fb724835;hb=a9733dbcc47e93a3b2843056f1d587196296c324;hpb=3ebf932d23dcbec9ed19f4a51f9d00a0a54f5124 diff --git a/e2sim/e2apv1sim/test/Pendulum/e2termination_test.cpp b/e2sim/e2apv1sim/test/Pendulum/e2termination_test.cpp deleted file mode 100644 index b65ac65..0000000 --- a/e2sim/e2apv1sim/test/Pendulum/e2termination_test.cpp +++ /dev/null @@ -1,223 +0,0 @@ -/***************************************************************************** -# * -# Copyright 2019 AT&T Intellectual Property * -# Copyright 2019 Nokia * -# * -# Licensed under the Apache License, Version 2.0 (the "License"); * -# you may not use this file except in compliance with the License. * -# You may obtain a copy of the License at * -# * -# http://www.apache.org/licenses/LICENSE-2.0 * -# * -# Unless required by applicable law or agreed to in writing, software * -# distributed under the License is distributed on an "AS IS" BASIS, * -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * -# See the License for the specific language governing permissions and * -# limitations under the License. * -# * -******************************************************************************/ - -#include -#include -#include -#include - - -#include "e2sim_defs.h" -#include "asn_e2ap.hpp" -#include "e2sim_sctp.hpp" -#include "e2ap_message_handler.hpp" -#include "e2ap_asn_codec.hpp" - -using namespace std; - -void test_send_X2Setup(int &client_fd) -{ - //Create X2SetupRequest message - e2ap_pdu_t* pdu = new_e2ap_pdu(); - eNB_config cfg; - - e2ap_create_X2SetupRequest(pdu, cfg); - e2ap_print_pdu(pdu); - - //Encode into buffer - sctp_buffer_t data; - e2ap_encode_pdu(pdu, data.buffer, sizeof(data.buffer), data.len); - - //Send to sctp - sctp_send_data(client_fd, data); - LOG_I("[SCTP] Sent X2 SETUP REQUEST"); - - //wait to receive response - sctp_buffer_t recv_buf; - if(sctp_receive_data(client_fd, recv_buf) > 0) - { - LOG_I("[SCTP] Received new data of size %d", recv_buf.len); - e2ap_handle_sctp_data(client_fd, recv_buf); - } - - } - -void test_send_ENDCX2Setup(int &client_fd) -{ - //Create ENDCX2SetupRequest message - e2ap_pdu_t* pdu = new_e2ap_pdu(); - eNB_config cfg; - - e2ap_create_ENDCX2SetupRequest(pdu, cfg); - e2ap_print_pdu(pdu); - - //Encode into buffer - sctp_buffer_t data; - e2ap_encode_pdu(pdu, data.buffer, sizeof(data.buffer), data.len); - - //Send to sctp - sctp_send_data(client_fd, data); - LOG_I("[SCTP] Sent ENDC X2 SETUP REQUEST"); - - //wait to receive response - sctp_buffer_t recv_buf; - if(sctp_receive_data(client_fd, recv_buf) > 0) - { - LOG_I("[SCTP] Received new data of size %d", recv_buf.len); - e2ap_handle_sctp_data(client_fd, recv_buf); - } - -} - -void test_send_RICSubscriptionRequest(int &client_fd) -{ - LOG_I("Test RIC SUBSCRIPTION"); - - /* Create RIC SUBSCRITION REQUEST */ - e2ap_pdu_t* pdu = new_e2ap_pdu(); - - RICsubscription_params_t params; - params.request_id = 2; - params.seq_number = 200; - params.ran_func_id = 0; - params.event_trigger_def = "hello world"; - - RIC_action_t action1(1, RICactionType_report); - // RIC_action_t action2(3, RICactionType_insert); - // RIC_action_t action3(5, RICactionType_insert); - // RIC_action_t action4(7, RICactionType_insert); - params.actionList.push_back(action1); - // params.actionList.push_back(action2); - // params.actionList.push_back(action3); - // params.actionList.push_back(action4); - - e2ap_create_RICsubscriptionRequest(pdu, params); - e2ap_print_pdu(pdu); - - //Encode into buffer - sctp_buffer_t data; - e2ap_encode_pdu(pdu, data.buffer, sizeof(data.buffer), data.len); - - //Send to sctp - sctp_send_data(client_fd, data); - LOG_I("[SCTP] Sent RIC SUBSCRIPTION REQUEST"); - - //wait to receive response and indication (if any) - sctp_buffer_t recv_buf; - LOG_I("[SCTP] Waiting for SCTP data"); - while(1) - { - if(sctp_receive_data(client_fd, recv_buf) > 0) - { - LOG_I("[SCTP] Received new data of size %d", recv_buf.len); - e2ap_handle_sctp_data(client_fd, recv_buf); - } - else - break; - - } - - - return; - //========================================================================== - - //decode - e2ap_pdu_t* pdu2 = new_e2ap_pdu(); - - e2ap_decode_pdu(pdu2, data.buffer, data.len); - - RICsubscription_params_t params2; - e2ap_parse_RICsubscriptionRequest(pdu2, params2); - printf("request_id = %d\n", params2.request_id); - printf("seq_number = %d\n", params2.seq_number); - printf("ran_func_id = %d\n", params2.ran_func_id); - printf("event = %s\n", ¶ms2.event_trigger_def[0]); - - for( auto const &a : params.actionList) - { - printf("action id = %d, action type = %d\n", (int)a.action_id, (int)a.action_type); - } - - - LOG_I("================= RESPONSE ==========================="); - for(size_t i = 0; i < params2.actionList.size(); i++) - { - //example logic: admit every other action - if(i%2 == 0) { - params2.actionList[i].isAdmitted = true; - } else { - params2.actionList[i].isAdmitted = false; - params2.actionList[i].notAdmitted_cause = RICcause_radioNetwork; - params2.actionList[i].notAdmitted_subCause = 5; - } - } - - e2ap_pdu_t* res_pdu = new_e2ap_pdu(); - e2ap_create_RICsubscriptionResponse(res_pdu, params2); - - e2ap_print_pdu(res_pdu); - - //Encode into buffer - sctp_buffer_t data_resp; - e2ap_encode_pdu(res_pdu, data_resp.buffer, sizeof(data_resp.buffer), data_resp.len); - - LOG_I("================= FAILURE ==========================="); - e2ap_pdu_t* fail_pdu = new_e2ap_pdu(); - - RICsubscription_params_t params3; - e2ap_parse_RICsubscriptionRequest(pdu2, params3); - - for(size_t i = 0; i < params3.actionList.size(); i++) - { - params3.actionList[i].isAdmitted = false; - params3.actionList[i].notAdmitted_cause = RICcause_radioNetwork; - params3.actionList[i].notAdmitted_subCause = 5; - } - - e2ap_create_RICsubscriptionFailure(fail_pdu, params3); - e2ap_print_pdu(fail_pdu); - - //Encode into buffer - sctp_buffer_t data_fail; - e2ap_encode_pdu(fail_pdu, data_fail.buffer, sizeof(data_fail.buffer), data_fail.len); - -} - -int main(int argc, char* argv[]){ - - LOG_I("E2 Termination Test"); - - // test_send_RICSubscriptionRequest(); - // return 0; - - options_t ops = read_input_options(argc, argv); - int client_fd = sctp_start_client(ops.server_ip, ops.server_port); - - //--------------------------------------------------- - // test_send_X2Setup(client_fd); - test_send_ENDCX2Setup(client_fd); - test_send_RICSubscriptionRequest(client_fd); - - //--------------------------------------------------- - - close(client_fd); - LOG_I("[SCTP] Connection closed."); - - return 0; -}