TypeOfNumber.UNKNOWN, NumberingPlanIndicator.UNKNOWN, destinationAddr, new ESMClass(), (byte)0, (byte)0, null, null, new RegisteredDelivery(0), (byte)0, DataCodings.ZERO,
public static String submitMessage(SMPPSession session, String message, OptionalParameter sarMsgRefNum, OptionalParameter sarSegmentSeqnum, OptionalParameter sarTotalSegments) { String messageId = null; try { messageId = session.submitShortMessage("CMT", TypeOfNumber.INTERNATIONAL, NumberingPlanIndicator.UNKNOWN, "1616", TypeOfNumber.INTERNATIONAL, NumberingPlanIndicator.UNKNOWN, "628176504657", new ESMClass(), (byte)0, (byte)1, TIME_FORMATTER .format(new Date()), null, new RegisteredDelivery(SMSCDeliveryReceipt.DEFAULT), (byte)0, DataCodings.ZERO, (byte)0, message.getBytes(), sarMsgRefNum, sarSegmentSeqnum, sarTotalSegments);; } catch (PDUException e) { // Invalid PDU parameter LOGGER.error("Invalid PDU parameter", e); } catch (ResponseTimeoutException e) { // Response timeout LOGGER.error("Response timeout", e); } catch (InvalidResponseException e) { // Invalid response LOGGER.error("Receive invalid response", e); } catch (NegativeResponseException e) { // Receiving negative response (non-zero command_status) LOGGER.error("Receive negative response", e); } catch (IOException e) { LOGGER.error("I/O error occured", e); } return messageId; } }
public void run() { try { Thread.sleep(1000); } catch (InterruptedException e1) { LOGGER.error("Interupted", e1); } SessionState state = session.getSessionState(); if (!state.isReceivable()) { LOGGER.debug("Not sending delivery receipt for message id {} since session state is {}", messageId, state); return; } String stringValue = Integer.valueOf(messageId.getValue(), 16).toString(); try { DeliveryReceipt delRec = new DeliveryReceipt(stringValue, totalSubmitted, totalDelivered, new Date(), new Date(), DeliveryReceiptState.DELIVRD, "000", new String(shortMessage)); session.deliverShortMessage( "mc", sourceAddrTon, sourceAddrNpi, sourceAddress, destAddrTon, destAddrNpi, destAddress, new ESMClass(MessageMode.DEFAULT, MessageType.SMSC_DEL_RECEIPT, GSMSpecificFeature.DEFAULT), (byte)0, (byte)0, new RegisteredDelivery(0), DataCodings.ZERO, delRec.toString().getBytes()); LOGGER.debug("Sending delivery receipt for message id {}: {}", messageId, stringValue); } catch (Exception e) { LOGGER.error("Failed sending delivery_receipt for message id " + messageId + ":" + stringValue, e); } } }
private String submitMessage(SMPPSession session, byte[] message, String sourceMsisdn, String destinationMsisdn, MessageClass messageClass, Alphabet alphabet, ESMClass esmClass) { String messageId = null; try { messageId = session.submitShortMessage("CMT", TypeOfNumber.UNKNOWN, NumberingPlanIndicator.UNKNOWN, sourceMsisdn, TypeOfNumber.UNKNOWN, NumberingPlanIndicator.UNKNOWN, destinationMsisdn, esmClass, (byte) 0, (byte) 1, null, null, new RegisteredDelivery(SMSCDeliveryReceipt.SUCCESS_FAILURE), (byte) 0, new GeneralDataCoding(alphabet, esmClass), (byte) 0, message); } catch (PDUException e) { // Invalid PDU parameter LOGGER.error("Invalid PDU parameter", e); } catch (ResponseTimeoutException e) { // Response timeout LOGGER.error("Response timeout", e); } catch (InvalidResponseException e) { // Invalid response LOGGER.error("Receive invalid response", e); } catch (NegativeResponseException e) { // Receiving negative response (non-zero command_status) LOGGER.error("Receive negative response", e); } catch (IOException e) { LOGGER.error("I/O error occured", e); } return messageId; }
public static void main(String[] args) throws Exception { SMPPSession session = null; // 1. initialize // 2. Initiate bind // 3. Set message receiver listener if needed // this is how to write "house" in arabic String house = "\u0628" + "\u064e" + "\u064a" + "\u0652" + "\u067a" + "\u064f"; TimeFormatter timeFormatter = new RelativeTimeFormatter(); // 4. Specify the data coding using UCS2 DataCoding dataCoding = new GeneralDataCoding(Alphabet.ALPHA_UCS2, MessageClass.CLASS1, false); // 5. UTF-16BE is equals to UCS2 byte[] data = house.getBytes("UTF-16BE"); // 6. Submit the short message String messageId = session.submitShortMessage("CMT", TypeOfNumber.INTERNATIONAL, NumberingPlanIndicator.UNKNOWN, "1616", TypeOfNumber.INTERNATIONAL, NumberingPlanIndicator.UNKNOWN, "628176504657", new ESMClass(), (byte)0, (byte)1, timeFormatter.format(new Date()), null, new RegisteredDelivery(SMSCDeliveryReceipt.DEFAULT), (byte)0, dataCoding, (byte)0, data); } }
public void run() { try { Thread.sleep(1000); } catch (InterruptedException e1) { e1.printStackTrace(); } String stringValue = Integer.valueOf(messageId.getValue(), 16).toString(); try { DeliveryReceipt delRec = new DeliveryReceipt(stringValue, 1, 1, new Date(), new Date(), DeliveryReceiptState.DELIVRD, null, new String(submitSm.getShortMessage())); session.deliverShortMessage( "mc", TypeOfNumber.valueOf(submitSm.getDestAddrTon()), NumberingPlanIndicator.valueOf(submitSm.getDestAddrNpi()), submitSm.getDestAddress(), TypeOfNumber.valueOf(submitSm.getSourceAddrTon()), NumberingPlanIndicator.valueOf(submitSm.getSourceAddrNpi()), submitSm.getSourceAddr(), new ESMClass(MessageMode.DEFAULT, MessageType.SMSC_DEL_RECEIPT, GSMSpecificFeature.DEFAULT), (byte)0, (byte)0, new RegisteredDelivery(0), DataCodings.ZERO, delRec.toString().getBytes()); LOGGER.debug("Sending delivery receipt for message id " + messageId + ":" + stringValue); } catch (Exception e) { LOGGER.error("Failed sending delivery_receipt for message id " + messageId + ":" + stringValue, e); } } }
final RegisteredDelivery registeredDelivery = new RegisteredDelivery(); registeredDelivery.setSMSCDeliveryReceipt(SMSCDeliveryReceipt.SUCCESS_FAILURE); final int maxMessage = 50;
TypeOfNumber.INTERNATIONAL, NumberingPlanIndicator.ISDN, destinationAddr, new ESMClass(MessageMode.DEFAULT, MessageType.SMSC_DEL_RECEIPT, GSMSpecificFeature.DEFAULT), (byte) 0x00, PriorityFlag.GsmSms.NORMAL.value(), new RegisteredDelivery(0), DataCodings.ZERO, delRec.toString().getBytes("ISO-8859-1")); LOG.info("The deliver_sm request #{} was sent", deliverSmCount);
TypeOfNumber.INTERNATIONAL, NumberingPlanIndicator.UNKNOWN, "628176504657", new ESMClass(), (byte)0, (byte)1, TIME_FORMATTER.format(new Date()), null, new RegisteredDelivery(SMSCDeliveryReceipt.SUCCESS_FAILURE), (byte)0, DataCodings.ZERO, (byte)0, "jSMPP simplify SMPP on Java platform".getBytes());
TypeOfNumber.INTERNATIONAL, NumberingPlanIndicator.UNKNOWN, "628176504657", new ESMClass(), (byte)0, (byte)1, TIME_FORMATTER.format(new Date()), null, new RegisteredDelivery(SMSCDeliveryReceipt.DEFAULT), (byte)0, new GeneralDataCoding(Alphabet.ALPHA_DEFAULT, MessageClass.CLASS1, false), (byte)0, "jSMPP simplify SMPP on Java platform".getBytes()); LOGGER.info("Message submitted, message_id is {}", messageId);
timeFormatter.format(new Date()), null, new RegisteredDelivery(SMSCDeliveryReceipt.DEFAULT), (byte) 0, new GeneralDataCoding(false, false, MessageClass.CLASS1,Alphabet.ALPHA_DEFAULT),
final RegisteredDelivery registeredDelivery = new RegisteredDelivery(); registeredDelivery.setSMSCDeliveryReceipt(SMSCDeliveryReceipt.SUCCESS_FAILURE);
SubmitMultiResult result = session.submitMultiple("CMT", TypeOfNumber.INTERNATIONAL, NumberingPlanIndicator.UNKNOWN, "1616", addresses, new ESMClass(), (byte)0, (byte)1, TIME_FORMATTER.format(new Date()), null, new RegisteredDelivery(SMSCDeliveryReceipt.FAILURE), ReplaceIfPresentFlag.REPLACE, new GeneralDataCoding(Alphabet.ALPHA_DEFAULT, MessageClass.CLASS1, false), (byte)0, "jSMPP simplify SMPP on Java platform".getBytes());