throws InvalidDeliveryReceiptException {
return deliveryReceipt(new String(data));
}
public DataSm dataSm(byte[] data) throws PDUStringException {
DataSm req = new DataSm();
SequentialBytesReader reader = new SequentialBytesReader(data);
assignHeader(req, reader);
req.setServiceType(reader.readCString());
StringValidator.validateString(req.getServiceType(),
StringParameter.SERVICE_TYPE);
req.setSourceAddrTon(reader.readByte());
req.setSourceAddrNpi(reader.readByte());
req.setSourceAddr(reader.readCString());
StringValidator.validateString(req.getSourceAddr(),
StringParameter.SOURCE_ADDR);
req.setDestAddrTon(reader.readByte());
req.setDestAddrNpi(reader.readByte());
req.setDestAddress(reader.readCString());
StringValidator.validateString(req.getDestAddress(),
StringParameter.DESTINATION_ADDR);
req.setEsmClass(reader.readByte());
req.setRegisteredDelivery(reader.readByte());
req.setDataCoding(reader.readByte());
req.setOptionalParameters(readOptionalParameters(reader));
return req;
}