+ unsigned char meid[RMR_MAX_MEID];
+ std::string xapp_id = config_ref->operator [](XappSettings::SettingName::XAPP_ID);
+
+ mdclog_write(MDCLOG_INFO,"Preparing to send subscription in file= %s, line=%d",__FILE__,__LINE__);
+
+ std::string sub_id = "1";
+
+ auto gnblist = get_rnib_gnblist();
+ int sz = gnblist.size();
+
+ if(sz <= 0)
+ mdclog_write(MDCLOG_INFO,"Subscriptions cannot be sent as GNBList in RNIB is NULL");
+
+ for(int i = 0; i<sz; i++){
+
+ //give the message to subscription handler, along with the transmitter.
+ strcpy((char*)meid,gnblist[i].c_str());
+
+ // char *strMsg = "Subscription Request from HelloWorld XApp\0";
+ // strncpy((char *)data,strMsg,strlen(strMsg));
+ // data_size = strlen(strMsg);
+
+ unsigned char buf[1024];
+ size_t buf_size = 1024;
+
+
+ HWEventTriggerDefinition eventObj;
+ eventObj.set_triggerNature(0);
+
+ //creating Action Definition
+ HWActionDefinition e2sm_actdefn1;
+ e2sm_actdefn1.add(HWActionDefinition::RANParamIEs().set_param_id(1).set_param_name("ENodeBID").set_param_test(1).set_param_value("SR123"));
+
+ //first Action Object
+ E2APAction<HWActionDefinition> actionObj;
+ actionObj.add(E2APAction<HWActionDefinition>::ActionIEs().set_ricActionID(1).set_ricActionType(1).set_ricActionDefinition(e2sm_actdefn1));
+
+ E2APSubscriptionRequest<HWEventTriggerDefinition, HWActionDefinition> requestObj(E2APSubscriptionRequest<HWEventTriggerDefinition, HWActionDefinition>::SubscriptionRequestIEs().set_ranFunctionID(1).set_ricInstanceID(1).set_ricRequestorID(3).set_ricAction_ToBeSetup_List(actionObj).set_ricEventTriggerDefinition(eventObj));
+
+ bool res = requestObj.encode(&buf[0], &buf_size);
+ if(!res)
+ mdclog_write(MDCLOG_ERR,"SubscriptionRequest ENCODING Error: %s",requestObj.get_error().c_str());
+ else
+ mdclog_write(MDCLOG_INFO,"SubscriptionRequest ENCODING SUCESS");