changed API ID order, added xICIC support, added config fields for adm and bearer requests
diff --git a/src/main/java/org.onosproject.xran/codecs/pdu/RXSigMeasConfig.java b/src/main/java/org.onosproject.xran/codecs/pdu/RXSigMeasConfig.java
index c6704ce..f8b5403 100644
--- a/src/main/java/org.onosproject.xran/codecs/pdu/RXSigMeasConfig.java
+++ b/src/main/java/org.onosproject.xran/codecs/pdu/RXSigMeasConfig.java
@@ -8,10 +8,12 @@
import org.openmuc.jasn1.ber.BerByteArrayOutputStream;
import org.openmuc.jasn1.ber.BerLength;
import org.openmuc.jasn1.ber.BerTag;
+import org.openmuc.jasn1.ber.types.string.BerUTF8String;
import java.io.IOException;
import java.io.InputStream;
import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -389,5 +391,37 @@
sb.append("}");
}
+ public static XrancPdu constructPacket(ECGI ecgi, CRNTI crnti, RXSigMeasConfig.MeasCells measCells, int interval) {
+ RXSigRepQty rxSigRepQty = new RXSigRepQty(2);
+ RXSigMeasRepInterval repInterval = new RXSigMeasRepInterval(interval);
+
+ RXSigMeasConfig sigMeasConfig = new RXSigMeasConfig();
+ sigMeasConfig.setCrnti(crnti);
+ sigMeasConfig.setEcgi(ecgi);
+ sigMeasConfig.setReportQty(rxSigRepQty);
+ sigMeasConfig.setMeasCells(measCells);
+ sigMeasConfig.setReportInterval(repInterval);
+
+ XrancPduBody body = new XrancPduBody();
+ body.setRXSigMeasConfig(sigMeasConfig);
+
+ BerUTF8String ver = null;
+ try {
+ ver = new BerUTF8String("3");
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+ XrancApiID apiID = new XrancApiID(15);
+ XrancPduHdr hdr = new XrancPduHdr();
+ hdr.setVer(ver);
+ hdr.setApiId(apiID);
+
+ XrancPdu pdu = new XrancPdu();
+ pdu.setHdr(hdr);
+ pdu.setBody(body);
+
+ return pdu;
+ }
+
}