#ifndef O1_ENABLE
#define LOCAL_IP_CU "192.168.130.82"
-#define F1_SCTP_PORT 38472
+#define F1_SCTP_PORT 38472 /* As per the spec 38.472, the registered port number for F1AP is 38472 */
#define NUM_F1_ASSOC 1
#define REMOTE_IP_DU (char*[]){"192.168.130.81", "192.168.130.83"}
+
+#define XN_SCTP_PORT 38422 /* As per 3GPP TS 38.422, The SCTP Destination Port number value assigned by IANA to be used for XnAP is 38422 */
+#define NUM_XN_ASSOC 0
+#define REMOTE_IP_CU (char*[]){"192.168.130.84"}
#endif
-#define DU_EGTP_PORT (int[]){39001, 39002}
-#define CU_EGTP_PORT (int[]){39003, 39004}
+#define LOCAL_NODE_TYPE SERVER
+#define F1_EGTP_PORT 2152 /* As per the spec 29.281, the registered port number for GTP-U is 2152 */
#define RRC_VER 0
#define EXT_RRC_VER 5
#define DRX_TO_BE_RELEASE true
#endif
+typedef enum
+{
+ Xn_Based_Inter_CU_HO = 1,
+ Inter_DU_HO
+}HandoverType;
+
+typedef enum
+{
+ XN_SETUP_REQ,
+ XN_SETUP_RSP,
+ HO_REQ,
+ HO_REQ_ACK,
+ UE_CTXT_REL
+}XnEventType;
+
typedef enum
{
CELL_INACTIVE,
typedef struct handoverInfo
{
- uint32_t sourceDuId;
- uint32_t targetDuId;
+ HandoverType HOType;
+ uint32_t srcNodeId; /* If Inter_DU HO, this is Source DU ID. In case of Inter CU HO, this is Source CU ID */
+ uint32_t tgtNodeId; /* If Inter_DU HO, this is Taregt DU ID. In case of Inter CU HO, this is Target CU ID */
+ uint32_t tgtCellId; /* Cell Id in target node to which UE is to be handed over */
+ uint8_t cuUeF1apIdSrc; /* Used for Inter-CU HO. CU UE F1AP ID of UE in source CU */
+ uint8_t cuUeF1apIdTgt; /* Used for Inter-CU HO. CU UE F1AP ID of UE in target CU */
}HandoverInfo;
typedef struct dlAmCfg
CuCellCb cellCb[MAX_NUM_CELL];
uint8_t numUe;
CuUeCb ueCb[MAX_NUM_CELL * MAX_NUM_UE];
+ CuUeCb *tempUeCtxtInHo;
}DuDb;
typedef struct cuGlobalCb