| package org.onosproject.xran.samplemessages; |
| |
| import org.onosproject.xran.codecs.api.CRNTI; |
| import org.onosproject.xran.codecs.api.ECGI; |
| import org.onosproject.xran.codecs.pdu.*; |
| import org.openmuc.jasn1.ber.types.string.BerUTF8String; |
| |
| import java.io.UnsupportedEncodingException; |
| |
| public class UECapabilityEnq { |
| |
| public static XrancPdu constructPacket(ECGI ecgi, CRNTI crnti) { |
| UECapabilityEnquiry capabilityEnquiry = new UECapabilityEnquiry(); |
| capabilityEnquiry.setCrnti(crnti); |
| capabilityEnquiry.setEcgi(ecgi); |
| |
| XrancPduBody body = new XrancPduBody(); |
| body.setUECapabilityEnquiry(capabilityEnquiry); |
| |
| BerUTF8String ver = null; |
| try { |
| ver = new BerUTF8String("4"); |
| } catch (UnsupportedEncodingException e) { |
| e.printStackTrace(); |
| } |
| XrancApiID apiID = new XrancApiID(12); |
| 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(XrancPdu mainDecoder) { |
| CRNTI crnti = mainDecoder.getBody().getUECapabilityEnquiry().getCrnti(); |
| |
| //TODO: ECGI Value has to be read as CELL ID. |
| ECGI ecgi = mainDecoder.getBody().getUECapabilityEnquiry().getEcgi(); |
| |
| UECapabilityEnquiry capabilityEnquiry = new UECapabilityEnquiry(); |
| capabilityEnquiry.setCrnti(crnti); |
| capabilityEnquiry.setEcgi(ecgi); |
| |
| XrancPduBody body = new XrancPduBody(); |
| body.setUECapabilityEnquiry(capabilityEnquiry); |
| |
| BerUTF8String ver = null; |
| try { |
| ver = new BerUTF8String("4"); |
| } catch (UnsupportedEncodingException e) { |
| e.printStackTrace(); |
| } |
| XrancApiID apiID = new XrancApiID(12); |
| XrancPduHdr hdr = new XrancPduHdr(); |
| hdr.setVer(ver); |
| hdr.setApiId(apiID); |
| |
| XrancPdu pdu = new XrancPdu(); |
| pdu.setHdr(hdr); |
| pdu.setBody(body); |
| |
| return pdu; |
| } |
| } |