try {
String from = "3542";
String to = "3002175604";
// send a message
Message message = new Message();
message.setProperty("to", to);
message.setProperty("from", from);
message.setProperty("text", "This is the test");
message.setProperty("receiptDestination", "test");
sendMessage(connector, messageStore, message);
// retrieve the session
Assert.assertEquals(server.getSessions().size(), 1);
SmppSession session = server.getSessions().iterator().next();
Assert.assertNotNull(session);
DeliverSm deliverSM = new DeliverSm();
deliverSM.setEsmClass(SmppConstants.ESM_CLASS_MT_SMSC_DELIVERY_RECEIPT);
deliverSM.setDestAddress(new Address((byte) 0, (byte) 0, from));
deliverSM.setSourceAddress(new Address((byte) 0, (byte) 0, to));
deliverSM.setShortMessage("id:12000 sub:1 dlvrd:1 submit date:1101010000 done date:1101010000 stat:DELIVRD err:0 text:This is a ... ".getBytes());
session.sendRequest(deliverSM);
long timeout = 2000;
if (!receiveMessage(messageProducer, timeout)) {
Assert.fail("the delivery receipt was not received");
}
Message receivedMessage = (Message) messageProducer.getMessage(0);
Assert.assertEquals(from, receivedMessage.getProperty("to", String.class));
Assert.assertEquals(to, receivedMessage.getProperty("from", String.class));
Assert.assertEquals(receivedMessage.getProperty("messageId", String.class), 12000 + "");
Assert.assertEquals("DELIVRD", receivedMessage.getProperty("finalStatus", String.class));
} finally {
connector.doStop();
}
}