public static boolean isDeliveryReceipt(Sms sms) { int esmeClass = sms.getEsmClass(); int messageType = esmeClass & 0x3C; if (messageType == MessageUtil.ESME_DELIVERY_ACK) return true; else return false; }
public static boolean isStoreAndForward(Sms sms) { int messagingMode = (sms.getEsmClass() & 0x03); if (messagingMode == 0 || messagingMode == 3) return true; else return false; }
public static boolean isTransactional(Sms sms) { int messagingMode = (sms.getEsmClass() & 0x03); if (messagingMode == 2) return true; else return false; }
@Override public int getEsmClass() { return sms.getEsmClass(); }
@Override public int getEsmClass() { return sms.getEsmClass(); }
@Override public void setEsmClass_ModeStoreAndForward() { sms.setEsmClass(MProcUtility.setEsmClass_ModeStoreAndForward(sms.getEsmClass())); }
@Override public void setEsmClass_TypeDeliveryReceipt() { sms.setEsmClass(MProcUtility.setEsmClass_TypeDeliveryReceipt(sms.getEsmClass())); }
@Override public void setEsmClass_TypeNormalMessage() { sms.setEsmClass(MProcUtility.setEsmClass_TypeNormalMessage(sms.getEsmClass())); }
@Override public void setEsmClass_UDHIndicatorAbsent() { sms.setEsmClass(MProcUtility.setEsmClass_UDHIndicatorAbsent(sms.getEsmClass())); }
@Override public void setEsmClass_ModeDatagram() { sms.setEsmClass(MProcUtility.setEsmClass_ModeDatagram(sms.getEsmClass())); }
@Override public void setEsmClass_UDHIndicatorPresent() { sms.setEsmClass(MProcUtility.setEsmClass_UDHIndicatorPresent(sms.getEsmClass())); }
@Override public void setEsmClass_ModeTransaction() { sms.setEsmClass(MProcUtility.setEsmClass_ModeTransaction(sms.getEsmClass())); }
@Override public void updateEsmClass_ModeStoreAndForward(MProcMessage message) { MProcMessageImpl msg = (MProcMessageImpl) message; Sms sms = msg.getSmsContent(); sms.setEsmClass(MProcUtility.setEsmClass_ModeStoreAndForward(sms.getEsmClass())); }
@Override public void updateEsmClass_ModeDatagram(MProcMessage message) { MProcMessageImpl msg = (MProcMessageImpl) message; Sms sms = msg.getSmsContent(); sms.setEsmClass(MProcUtility.setEsmClass_ModeDatagram(sms.getEsmClass())); }
@Override public void updateEsmClass_ModeTransaction(MProcMessage message) { MProcMessageImpl msg = (MProcMessageImpl) message; Sms sms = msg.getSmsContent(); sms.setEsmClass(MProcUtility.setEsmClass_ModeTransaction(sms.getEsmClass())); }
@Override public void updateEsmClass_TypeDeliveryReceipt(MProcMessage message) { MProcMessageImpl msg = (MProcMessageImpl) message; Sms sms = msg.getSmsContent(); sms.setEsmClass(MProcUtility.setEsmClass_TypeDeliveryReceipt(sms.getEsmClass())); }
@Override public void updateEsmClass_UDHIndicatorPresent(MProcMessage message) { MProcMessageImpl msg = (MProcMessageImpl) message; Sms sms = msg.getSmsContent(); sms.setEsmClass(MProcUtility.setEsmClass_UDHIndicatorPresent(sms.getEsmClass())); }
@Override public void updateEsmClass_TypeNormalMessage(MProcMessage message) { MProcMessageImpl msg = (MProcMessageImpl) message; Sms sms = msg.getSmsContent(); sms.setEsmClass(MProcUtility.setEsmClass_TypeNormalMessage(sms.getEsmClass())); }
@Override public void updateEsmClass_UDHIndicatorAbsent(MProcMessage message) { MProcMessageImpl msg = (MProcMessageImpl) message; Sms sms = msg.getSmsContent(); sms.setEsmClass(MProcUtility.setEsmClass_UDHIndicatorAbsent(sms.getEsmClass())); }
public static Sms createReceiptSms(Sms sms, boolean delivered, String extraString, boolean tempFailure) { Sms receipt = new Sms(); receipt.setDbId(UUID.randomUUID()); receipt.setSourceAddr(sms.getSmsSet().getDestAddr()); receipt.setSourceAddrNpi(sms.getSmsSet().getDestAddrNpi()); receipt.setSourceAddrTon(sms.getSmsSet().getDestAddrTon()); receipt.setSubmitDate(sms.getSubmitDate()); receipt.setMessageId(sms.getMessageId()); Date validityPeriod = MessageUtil.addHours(new Date(), 24); receipt.setValidityPeriod(validityPeriod); String rcpt = createDeliveryReceiptMessage(sms.getMessageIdText(), sms.getSubmitDate(), new Timestamp(System.currentTimeMillis()), sms.getSmsSet().getStatus().getCode(), sms.getShortMessageText(), delivered, extraString, tempFailure); // TODO: now we are sending all in GSM7 encoding receipt.setDataCoding(0); receipt.setShortMessageText(rcpt); receipt.setReceiptLocalMessageId(sms.getMessageId()); receipt.setOriginationType(OriginationType.LOCAL_ORIG); receipt.setEsmClass(ESME_DELIVERY_ACK | (sms.getEsmClass() & 0x03)); return receipt; }