+ responsePayload = replaceEmptyTagsWithSelfClosing(responsePayload)
+
+ msg := models.NewRmrMessage(rmrCgo.RIC_E2_SETUP_RESP, ranName, responsePayload, req.TransactionId, req.GetMsgSrc())
+ h.logger.Infof("#E2SetupRequestNotificationHandler.handleSuccessfulResponse - RAN name: %s - RIC_E2_SETUP_RESP message has been built successfully. Message: %x", ranName, msg)
+ _ = h.rmrSender.Send(msg)
+}
+
+func replaceEmptyTagsWithSelfClosing(responsePayload []byte) []byte {
+ responseString := strings.NewReplacer(
+ "<reject></reject>", "<reject/>",
+ "<ignore></ignore>", "<ignore/>",
+ "<transport-resource-unavailable></transport-resource-unavailable>", "<transport-resource-unavailable/>",
+ "<v60s></v60s>", "<v60s/>",
+ "<v20s></v20s>", "<v20s/>",
+ "<v10s></v10s>", "<v10s/>",
+ "<v5s></v5s>", "<v5s/>",
+ "<v2s></v2s>", "<v2s/>",
+ "<v1s></v1s>", "<v1s/>",
+ ).Replace(string(responsePayload))
+ return []byte(responseString)
+}
+
+func convertTo20BitString(ricNearRtId string) (string, error) {
+ r, err := strconv.ParseUint(ricNearRtId, 16, 32)
+ if err != nil {
+ return "", err
+ }
+ return fmt.Sprintf("%020b", r)[:20], nil
+}
+
+func (h E2SetupRequestNotificationHandler) parseSetupRequest(payload []byte) (*models.E2SetupRequestMessage, string, error) {
+