diff options
Diffstat (limited to 'src/org/traccar/smpp/SmppClient.java')
-rw-r--r-- | src/org/traccar/smpp/SmppClient.java | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/org/traccar/smpp/SmppClient.java b/src/org/traccar/smpp/SmppClient.java index 122bbaea1..7add1d97c 100644 --- a/src/org/traccar/smpp/SmppClient.java +++ b/src/org/traccar/smpp/SmppClient.java @@ -61,6 +61,7 @@ public class SmppClient { private String sourceAddress; private String commandSourceAddress; private int submitTimeout; + private boolean requestDrl; private String notificationsCharsetName; private byte notificationsDataCoding; private String commandsCharsetName; @@ -90,6 +91,8 @@ public class SmppClient { commandSourceAddress = Context.getConfig().getString("sms.smpp.commandSourceAddress", sourceAddress); submitTimeout = Context.getConfig().getInteger("sms.smpp.submitTimeout", 10000); + requestDrl = Context.getConfig().getBoolean("sms.smpp.requestDrl"); + notificationsCharsetName = Context.getConfig().getString("sms.smpp.notificationsCharset", CharsetUtil.NAME_UCS_2); notificationsDataCoding = (byte) Context.getConfig().getInteger("sms.smpp.notificationsDataCoding", @@ -209,6 +212,9 @@ public class SmppClient { byte[] textBytes; textBytes = CharsetUtil.encode(message, command ? commandsCharsetName : notificationsCharsetName); submit.setDataCoding(command ? commandsDataCoding : notificationsDataCoding); + if (requestDrl) { + submit.setRegisteredDelivery(SmppConstants.REGISTERED_DELIVERY_SMSC_RECEIPT_REQUESTED); + } submit.setShortMessage(textBytes); submit.setSourceAddress(command ? new Address(commandSourceTon, commandSourceNpi, commandSourceAddress) : new Address(sourceTon, sourceNpi, sourceAddress)); |