18 const std::string& e3ap_protocol_version,
19 const std::string& dapp_name,
20 const std::string& dapp_version,
21 const std::string& vendor
38 const std::optional<std::string>& e3ap_protocol_version,
39 const std::optional<uint32_t>& dapp_identifier,
40 const std::string& ran_identifier,
41 const std::optional<std::vector<RanFunctionDef>>& ran_function_list
50 if (ran_function_list.has_value()) {
60 uint32_t dapp_identifier,
61 uint32_t ran_function_identifier,
62 const std::vector<uint32_t>& telemetry_identifier_list,
63 const std::vector<uint32_t>& control_identifier_list,
64 const std::optional<uint32_t>& subscription_time
80 uint32_t dapp_identifier,
81 uint32_t subscription_id
95 uint32_t dapp_identifier,
97 const std::optional<uint32_t>& subscription_id
112 uint32_t dapp_identifier,
113 uint32_t ran_function_identifier,
114 const std::vector<uint8_t>& protocol_data
128 uint32_t dapp_identifier,
129 uint32_t ran_function_identifier,
130 uint32_t control_identifier,
131 const std::vector<uint8_t>& action_data
146 uint32_t dapp_identifier,
147 uint32_t ran_function_identifier,
148 const std::vector<uint8_t>& report_data
162 uint32_t dapp_identifier,
163 uint32_t ran_function_identifier,
164 const std::vector<uint8_t>& xapp_control_data
EncodeResult< EncodedMessage > encode_subscription_response(uint32_t message_id, uint32_t request_id, uint32_t dapp_identifier, ResponseCode response_code, const std::optional< uint32_t > &subscription_id=std::nullopt)
Create and encode a Subscription Response PDU.
EncodeResult< EncodedMessage > encode_setup_request(uint32_t message_id, const std::string &e3ap_protocol_version, const std::string &dapp_name, const std::string &dapp_version, const std::string &vendor)
Create and encode a Setup Request PDU.
EncodeResult< EncodedMessage > encode_dapp_control_action(uint32_t message_id, uint32_t dapp_identifier, uint32_t ran_function_identifier, uint32_t control_identifier, const std::vector< uint8_t > &action_data)
Create and encode a dApp Control Action PDU.
EncodeResult< EncodedMessage > encode_xapp_control_action(uint32_t message_id, uint32_t dapp_identifier, uint32_t ran_function_identifier, const std::vector< uint8_t > &xapp_control_data)
Create and encode an xApp Control Action PDU.
EncodeResult< EncodedMessage > encode_subscription_request(uint32_t message_id, uint32_t dapp_identifier, uint32_t ran_function_identifier, const std::vector< uint32_t > &telemetry_identifier_list, const std::vector< uint32_t > &control_identifier_list, const std::optional< uint32_t > &subscription_time=std::nullopt)
Create and encode a Subscription Request PDU.
EncodeResult< EncodedMessage > encode_subscription_delete(uint32_t message_id, uint32_t dapp_identifier, uint32_t subscription_id)
Create and encode a Subscription Delete PDU.
EncodeResult< EncodedMessage > encode_message_ack(uint32_t message_id, uint32_t request_id, ResponseCode response_code)
Create and encode a Message Acknowledgment PDU.
virtual EncodeResult< EncodedMessage > encode(const Pdu &pdu)=0
Encode a PDU to bytes.
EncodeResult< EncodedMessage > encode_indication_message(uint32_t message_id, uint32_t dapp_identifier, uint32_t ran_function_identifier, const std::vector< uint8_t > &protocol_data)
Create and encode an Indication Message PDU.
EncodeResult< EncodedMessage > encode_setup_response(uint32_t message_id, uint32_t request_id, ResponseCode response_code, const std::optional< std::string > &e3ap_protocol_version=std::nullopt, const std::optional< uint32_t > &dapp_identifier=std::nullopt, const std::string &ran_identifier="", const std::optional< std::vector< RanFunctionDef > > &ran_function_list=std::nullopt)
Create and encode a Setup Response PDU.
EncodeResult< EncodedMessage > encode_dapp_report(uint32_t message_id, uint32_t dapp_identifier, uint32_t ran_function_identifier, const std::vector< uint8_t > &report_data)
Create and encode a dApp Report PDU.
Abstract E3 Encoder interface for PDU encoding/decoding.
Logging facility for libe3.
ResponseCode
E3AP response codes.
tl::expected< T, ErrorCode > EncodeResult
Result type for encoding/decoding operations.
E3AP dApp Control Action structure.
uint32_t ran_function_identifier
std::vector< uint8_t > action_data
uint32_t control_identifier
Control identifier.
E3AP dApp Report structure.
std::vector< uint8_t > report_data
uint32_t ran_function_identifier
E3AP Indication Message structure.
uint32_t ran_function_identifier
RAN function identifier.
std::vector< uint8_t > protocol_data
E3AP Message Acknowledgment structure.
ResponseCode response_code
Response code (positive/negative).
uint32_t request_id
ID of the request being acknowledged.
Generic E3AP PDU structure.
uint32_t message_id
Unique message identifier.
E3AP Setup Request structure.
std::string vendor
Vendor name (max 30 chars).
std::string dapp_version
Version of the dApp (e.g., "0.0.0").
std::string e3ap_protocol_version
E3AP protocol version (e.g., "0.0.0").
std::string dapp_name
Name of the dApp.
E3AP Setup Response structure.
std::string ran_identifier
RAN identifier (mandatory).
uint32_t request_id
ID of the corresponding SetupRequest.
std::optional< uint32_t > dapp_identifier
Assigned dApp identifier (optional).
std::vector< RanFunctionDef > ran_function_list
List of available RAN functions (optional).
ResponseCode response_code
Response code (positive/negative).
std::optional< std::string > e3ap_protocol_version
E3AP protocol version (optional).
E3AP Subscription Delete structure.
uint32_t dapp_identifier
dApp identifier
uint32_t subscription_id
Subscription ID to delete.
E3AP Subscription Request structure.
std::optional< uint32_t > subscription_time
How long to keep the subscription (0-3600 sec).
uint32_t ran_function_identifier
RAN function to subscribe to.
std::vector< uint32_t > control_identifier_list
List of control identifiers.
std::vector< uint32_t > telemetry_identifier_list
List of telemetry identifiers.
uint32_t dapp_identifier
dApp identifier
E3AP Subscription Response structure.
std::optional< uint32_t > subscription_id
Subscription ID (optional).
uint32_t request_id
ID of the corresponding SubscriptionRequest.
uint32_t dapp_identifier
dApp identifier
ResponseCode response_code
Response code (positive/negative).
E3AP xApp Control Action structure.
std::vector< uint8_t > xapp_control_data
uint32_t ran_function_identifier