| package org.onosproject.xran.samplemessages; |
| |
| import org.onosproject.xran.codecs.api.*; |
| import org.onosproject.xran.codecs.pdu.*; |
| import org.openmuc.jasn1.ber.types.string.BerUTF8String; |
| |
| import java.io.UnsupportedEncodingException; |
| |
| public class SignalMeasConfig { |
| 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("4"); |
| } catch (UnsupportedEncodingException e) { |
| e.printStackTrace(); |
| } |
| XrancApiID apiID = new XrancApiID(17); |
| XrancPduHdr hdr = new XrancPduHdr(); |
| hdr.setVer(ver); |
| hdr.setApiId(apiID); |
| |
| XrancPdu pdu = new XrancPdu(); |
| pdu.setHdr(hdr); |
| pdu.setBody(body); |
| |
| return pdu; |
| } |
| |
| public XrancPdu setPacketProperties() { |
| CRNTI crnti = new CRNTI(new byte[]{(byte) 0x44, (byte) 0x44}); |
| |
| PLMNIdentity plmnIdentity = new PLMNIdentity(new byte[]{(byte) 0xFC, (byte) 0xFF, (byte) 0x3F}); |
| EUTRANCellIdentifier eutranCellIdentifier = new EUTRANCellIdentifier(new byte[]{ |
| (byte) 0xCF, (byte) 0xFE, (byte) 0x7C, (byte) 0xF0 |
| }, 28); |
| |
| ECGI ecgi = new ECGI(); |
| ecgi.setPLMNIdentity(plmnIdentity); |
| ecgi.setEUTRANcellIdentifier(eutranCellIdentifier); |
| |
| RXSigRepQty rxSigRepQty = new RXSigRepQty(2); |
| PCIARFCN pciarfcn = new PCIARFCN(); |
| pciarfcn.setPci(new PhysCellId(500)); |
| pciarfcn.setEarfcnDl(new ARFCNValue(2100)); |
| RXSigMeasConfig.MeasCells measCells = new RXSigMeasConfig.MeasCells(); |
| measCells.setPCIARFCN(pciarfcn); |
| RXSigMeasRepInterval repInterval = new RXSigMeasRepInterval(1); |
| |
| |
| 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("4"); |
| } catch (UnsupportedEncodingException e) { |
| e.printStackTrace(); |
| } |
| XrancApiID apiID = new XrancApiID(17); |
| XrancPduHdr hdr = new XrancPduHdr(); |
| hdr.setVer(ver); |
| hdr.setApiId(apiID); |
| |
| XrancPdu pdu = new XrancPdu(); |
| pdu.setHdr(hdr); |
| pdu.setBody(body); |
| |
| return pdu; |
| } |
| |
| |
| } |