#include #include #include #include "e2sim_sctp.hpp" #include "e2ap_message_handler.hpp" #include "encode_kpm.hpp" extern "C" { #include "e2sim_defs.h" #include "E2AP-PDU.h" #include "e2ap_asn1c_codec.h" #include "GlobalE2node-ID.h" #include "GlobalE2node-gNB-ID.h" #include "GlobalgNB-ID.h" #include "OCTET_STRING.h" #include "asn_application.h" #include "GNB-ID-Choice.h" #include "ProtocolIE-Field.h" #include "E2setupRequest.h" #include "RICaction-ToBeSetup-Item.h" #include "RICactions-ToBeSetup-List.h" #include "RICeventTriggerDefinition.h" #include "RICsubscriptionRequest.h" #include "RICsubscriptionResponse.h" #include "ProtocolIE-SingleContainer.h" #include "RANfunctions-List.h" #include "RICindication.h" #include "RICsubsequentActionType.h" #include "RICsubsequentAction.h" #include "RICtimeToWait.h" } void buildSubsReq(E2AP_PDU_t *pdu); void generate_e2apv1_setup_request(E2AP_PDU_t *setup_req_pdu); void generate_e2apv1_setup_response(E2AP_PDU_t *setup_resp_pdu); void generate_e2apv1_subscription_request(E2AP_PDU_t *sub_req_pdu); void generate_e2apv1_subscription_response(E2AP_PDU_t *sub_resp_pdu, E2AP_PDU_t *sub_req_pdu); void generate_e2apv1_indication_request(E2AP_PDU_t *ind_req_pdu); void generate_e2apv1_subscription_response_success(E2AP_PDU *e2ap_pdu, long reqActionIdsAccepted[], long reqActionIdsRejected[], int accept_size, int reject_size, long reqRequestorId, long reqInstanceId); void generate_e2apv1_indication_request_parameterized(E2AP_PDU *e2ap_pdu, long requestorId, long instanceId, long ranFunctionId, long actionId, long seqNum, uint8_t *ind_header_buf, int header_length, uint8_t *ind_message_buf, int message_length);