#define MAX_LABEL_INFO 2147483648 /* O-RAN.WG3.E2SM-KPM-R003-v03.00 : Section 8.2.1.2.1 : maxnoofLabelInfo */
#define MAX_RIC_ACTION 16 /* O-RAN.WG3.E2AP-R003-v03.00 : Section 9.1.1.1 : maxofRICActionID */
#define MAX_RIC_REQUEST 65535 /* O-RAN.WG3.E2AP-R003-v03.00 : Section 9.2.7 */
+#define MAX_PENDING_SUBSCRIPTION_RSP 5 /* Number of statistics request in processing */
#define STRING_SIZE_150_BYTES 150
#define STRING_SIZE_1000_BYTES 1000
/* O-RAN.WG3.E2AP-R003-v03.00 : Section 9.2.11 */
typedef enum
{
- INSERT,
REPORT,
+ INSERT,
POLICY
}ActionType;
typedef uint8_t E2Cause;
+typedef struct e2FailureCause
+{
+ E2CauseType causeType;
+ uint8_t cause;
+}E2FailureCause;
+
typedef struct
{
uint8_t transactionId;
/* O-RAN.WG3.E2SM-KPM-R003-v03.00 : Section 8.2.1.1.1 */
typedef struct
{
- uint32_t reportingPeriod;
+ uint32_t reportingPeriod; /* In milliseconds */
}EventTriggerFormat1;
/* O-RAN.WG3.E2SM-KPM-R003-v03.00 : Section 8.2.1.1 */
/* O-RAN.WG3.E2SM-KPM-R003-v03.00 : Section 8.2.1.2.1 */
typedef struct
{
- union
- {
- char measurementTypeName[STRING_SIZE_150_BYTES];
- uint16_t measurementTypeId;
- }choice;
+ char measurementTypeName[STRING_SIZE_150_BYTES];
+ uint16_t measurementTypeId;
/* As of now Labels are not used, hence it is not implemented completely */
//uint32_t numOfLabels;
//LabelInfo LabelInfoList[MAX_LABEL_INFO];
-
+
CmLListCp measuredValue; /* To be filled when numOfLabels is 0, else values are calculated per Label */
}MeasurementInfo;
typedef struct
{
uint8_t styleType;
+ uint8_t formatType;
union
{
ActionDefFormat1 format1;
ActionInfo actionSequence[MAX_RIC_ACTION];
}RicSubscription;
+typedef struct rejectedAction
+{
+ uint8_t id;
+ E2FailureCause failureCause;
+}RejectedAction;
+
+typedef struct pendingSubsRspInfo
+{
+ RicRequestId requestId;
+ uint16_t ranFuncId;
+ uint8_t numOfAcceptedActions;
+ uint8_t acceptedActionList[MAX_RIC_ACTION];
+ uint8_t numOfRejectedActions;
+ RejectedAction rejectedActionList[MAX_RIC_ACTION];
+}PendingSubsRspInfo;
+
typedef struct
{
/* O-RAN.WG3.E2SM-KPM-R003-v03.00 : Section 8.2.2.1 */
uint8_t ricIndicationMessageFormat;
/* O-RAN.WG3.E2AP-R003-v03.00 : Section 9.1.1.1 */
CmLListCp subscriptionList;
+ uint8_t numPendingSubsRsp;
+ PendingSubsRspInfo pendingSubsRspInfo[MAX_PENDING_SUBSCRIPTION_RSP];
}RanFunction;
/* O-RAN.WG3.E2AP-R003-v03.00 : Section 9.2.26-9.2.27 */
E2TimersInfo e2TimersInfo;
}E2apDb;
-
uint8_t assignTransactionId();
-uint8_t ResetE2Request(E2ProcedureDirection dir, E2CauseType type, E2Cause cause);
+uint8_t ResetE2Request(E2ProcedureDirection dir, E2FailureCause resetCause);
uint8_t SendE2APMsg(Region region, Pool pool, char *encBuf, int encBufSize);
/**********************************************************************
End of file