fixed rxsigmeas and version checking
diff --git a/src/main/java/org.onosproject.xran/controller/XranControllerImpl.java b/src/main/java/org.onosproject.xran/controller/XranControllerImpl.java
index 242be00..c21db62 100644
--- a/src/main/java/org.onosproject.xran/controller/XranControllerImpl.java
+++ b/src/main/java/org.onosproject.xran/controller/XranControllerImpl.java
@@ -395,7 +395,7 @@
                                     new TimerTask() {
                                         @Override
                                         public void run() {
-                                            if (ue.getCapability() == null) {
+                                            if (ue.getCapability() == null && primary.getVersion() >= 3) {
                                                 try {
                                                     ChannelHandlerContext ctx = cellMap.getCtx(primary.getEcgi());
                                                     XrancPdu xrancPdu = UECapabilityEnquiry.constructPacket(
@@ -407,32 +407,6 @@
                                                     e.printStackTrace();
                                                 }
                                             } else {
-                                                if (ue.getMeasConfig() == null) {
-                                                    try {
-                                                        ChannelHandlerContext ctx = cellMap.getCtx(primary.getEcgi());
-                                                        RXSigMeasConfig.MeasCells measCells = new RXSigMeasConfig.MeasCells();
-                                                        xranStore.getCellNodes().forEach(cell -> {
-                                                            CellConfigReport cellReport = ((RnibCell) cell).getConf();
-                                                            if (cellReport != null) {
-                                                                PCIARFCN pciarfcn = new PCIARFCN();
-                                                                pciarfcn.setPci(cellReport.getPci());
-                                                                pciarfcn.setEarfcnDl(cellReport.getEarfcnDl());
-                                                                measCells.setPCIARFCN(pciarfcn);
-                                                            }
-                                                        });
-                                                        XrancPdu xrancPdu = RXSigMeasConfig.constructPacket(
-                                                                primary.getEcgi(),
-                                                                ue.getRanId(),
-                                                                measCells,
-                                                                xranConfig.getRxSignalInterval()
-                                                        );
-                                                        ue.setMeasConfig(xrancPdu.getBody().getRXSigMeasConfig());
-                                                        ctx.writeAndFlush(getSctpMessage(xrancPdu));
-                                                    } catch (IOException e) {
-                                                        log.warn(ExceptionUtils.getFullStackTrace(e));
-                                                        e.printStackTrace();
-                                                    }
-                                                }
                                                 timer.cancel();
                                                 timer.purge();
                                             }
@@ -441,6 +415,32 @@
                                     0,
                                     xranConfig.getConfigRequestInterval() * 1000
                             );
+                            if (ue.getMeasConfig() == null) {
+                                try {
+                                    ChannelHandlerContext ctx = cellMap.getCtx(primary.getEcgi());
+                                    RXSigMeasConfig.MeasCells measCells = new RXSigMeasConfig.MeasCells();
+                                    xranStore.getCellNodes().forEach(cell -> {
+                                        CellConfigReport cellReport = ((RnibCell) cell).getConf();
+                                        if (cellReport != null) {
+                                            PCIARFCN pciarfcn = new PCIARFCN();
+                                            pciarfcn.setPci(cellReport.getPci());
+                                            pciarfcn.setEarfcnDl(cellReport.getEarfcnDl());
+                                            measCells.setPCIARFCN(pciarfcn);
+                                        }
+                                    });
+                                    XrancPdu xrancPdu = RXSigMeasConfig.constructPacket(
+                                            primary.getEcgi(),
+                                            ue.getRanId(),
+                                            measCells,
+                                            xranConfig.getRxSignalInterval()
+                                    );
+                                    ue.setMeasConfig(xrancPdu.getBody().getRXSigMeasConfig());
+                                    ctx.writeAndFlush(getSctpMessage(xrancPdu));
+                                } catch (IOException e) {
+                                    log.warn(ExceptionUtils.getFullStackTrace(e));
+                                    e.printStackTrace();
+                                }
+                            }
                         }
                     }
                     break;