/* This functions contains main() for ric_app */
#include "common_def.h"
-#include "ric_stub.h"
#include "ric_stub_sctp.h"
-#include "du_log.h"
+#include "ric_stub.h"
#ifdef O1_ENABLE
#include "CmInterface.h"
#endif
-#define RIC_ID 1
-#define RIC_NAME "ORAN_OAM_RIC"
-
-#define DU_IP_V6_ADDR "0000:0000:0000:0000:0000:0000:0000:0001"
-#define RIC_IP_V6_ADDR "0000:0000:0000:0000:0000:0000:0000:0011"
-
-#ifndef O1_ENABLE
-
-#define DU_IP_V4_ADDR "192.168.130.81"
-#define RIC_IP_V4_ADDR "192.168.130.80"
-#define DU_PORT 36421
-#define RIC_PORT 36421
-
-#endif
-
-#define RRC_VER 0
-#define EXT_RRC_VER 5
-#define PLMN_MCC0 3
-#define PLMN_MCC1 1
-#define PLMN_MCC2 1
-#define PLMN_MNC0 4
-#define PLMN_MNC1 8
-#define PLMN_MNC2 0
-
#ifdef O1_ENABLE
extern StartupConfig g_cfg;
#endif
-
+ RicGlobalCb ricCb;
/*******************************************************************
*
* @brief Handles SCTP notification
/* Start RIC-SCTP to listen on incoming connection */
sctpCfgReq();
+ /*Sleep is introduced for GDB to increase the waiting time for RIC Configuration from DUAPP*/
+ sleep(1);
sctpStartReq();
return ROK;
void readRicCfg()
{
+ uint8_t *numDu;
uint32_t ipv4_du, ipv4_ric;
DU_LOG("\nINFO --> RIC : Reading RIC configurations");
+ ricCb.ricCfgParams.ricId = RIC_ID;
+ strcpy(ricCb.ricCfgParams.ricName, RIC_NAME);
#ifdef O1_ENABLE
if( getStartupConfigForStub(&g_cfg) != ROK )
{
cmInetAddr((S8*)g_cfg.DU_IPV4_Addr, &ipv4_du);
cmInetAddr((S8*)g_cfg.RIC_IPV4_Addr, &ipv4_ric);
+
+ ricCb.ricCfgParams.sctpParams.destCb[0].destIpAddr.ipV4Addr = ipv4_du;
+ ricCb.ricCfgParams.sctpParams.destCb[0].destIpAddr.ipV6Pres = false;
+ ricCb.ricCfgParams.sctpParams.destCb[0].destPort = g_cfg.RIC_Port;
- ricCfgParams.sctpParams.duPort = g_cfg.RIC_Port;
- ricCfgParams.sctpParams.ricPort = g_cfg.RIC_Port;
-#else
- cmInetAddr((S8*)DU_IP_V4_ADDR, &ipv4_du);
- cmInetAddr((S8*)RIC_IP_V4_ADDR, &ipv4_ric);
-
- ricCfgParams.sctpParams.duPort = DU_PORT;
- ricCfgParams.sctpParams.ricPort = RIC_PORT;
-#endif
-
- ricCfgParams.ricId = RIC_ID;
- strcpy(ricCfgParams.ricName, RIC_NAME);
-
- /* DU IP Address and Port*/
- ricCfgParams.sctpParams.duIpAddr.ipV4Addr = ipv4_du;
- ricCfgParams.sctpParams.duIpAddr.ipV6Pres = false;
+ ricCb.ricCfgParams.sctpParams.localIpAddr.ipV4Addr = ipv4_ric;
+ ricCb.ricCfgParams.sctpParams.localIpAddr.ipV6Pres = false;
+ ricCb.ricCfgParams.sctpParams.e2SctpPort = g_cfg.RIC_Port;
+ ricCb.ricCfgParams.sctpParams.usage = BOTH_FUNCTIONALITY;
+ ricCb.ricCfgParams.sctpParams.numDestNode = 1;
+#else
/* RIC IP Address and Port*/
- ricCfgParams.sctpParams.ricIpAddr.ipV4Addr = ipv4_ric;
- ricCfgParams.sctpParams.ricIpAddr.ipV6Pres = false;
+ memset(&ipv4_du, 0, sizeof(uint32_t));
+ cmInetAddr((S8*)LOCAL_IP_RIC, &ipv4_ric);
+ ricCb.ricCfgParams.sctpParams.localIpAddr.ipV4Addr = ipv4_ric;
+ ricCb.ricCfgParams.sctpParams.localIpAddr.ipV6Pres = false;
+ ricCb.ricCfgParams.sctpParams.e2SctpPort = E2_SCTP_PORT;
+ ricCb.ricCfgParams.sctpParams.usage = BOTH_FUNCTIONALITY;
+
+ ricCb.ricCfgParams.sctpParams.numDestNode = 0;
+ numDu = &ricCb.ricCfgParams.sctpParams.numDestNode;
+ while(*numDu < NUM_E2_ASSOC)
+ {
+ /* DU IP Address and Port*/
+ memset(&ipv4_du, 0, sizeof(uint32_t));
+ cmInetAddr((S8*)REMOTE_IP_DU[*numDu], &ipv4_du);
+ ricCb.ricCfgParams.sctpParams.destCb[*numDu].destIpAddr.ipV4Addr = ipv4_du;
+ ricCb.ricCfgParams.sctpParams.destCb[*numDu].destIpAddr.ipV6Pres = false;
+ ricCb.ricCfgParams.sctpParams.destCb[*numDu].destPort = E2_SCTP_PORT;
+
+ (*numDu)++;
+ }
+#endif
/*PLMN*/
- ricCfgParams.plmn.mcc[0] = PLMN_MCC0;
- ricCfgParams.plmn.mcc[1] = PLMN_MCC1;
- ricCfgParams.plmn.mcc[2] = PLMN_MCC2;
- ricCfgParams.plmn.mnc[0] = PLMN_MNC0;
- ricCfgParams.plmn.mnc[1] = PLMN_MNC1;
- ricCfgParams.plmn.mnc[2] = PLMN_MNC2;
+ ricCb.ricCfgParams.plmn.mcc[0] = PLMN_MCC0;
+ ricCb.ricCfgParams.plmn.mcc[1] = PLMN_MCC1;
+ ricCb.ricCfgParams.plmn.mcc[2] = PLMN_MCC2;
+ ricCb.ricCfgParams.plmn.mnc[0] = PLMN_MNC0;
+ ricCb.ricCfgParams.plmn.mnc[1] = PLMN_MNC1;
+ ricCb.ricCfgParams.plmn.mnc[2] = PLMN_MNC2;
} /* End of readCuCfg */
/**********************************************************************