Logica SMPP Simulator is the main open source simulator use for testing application developed using SMPP (Short Message Peer to Peer) protocol.
OpenSmpp/SMS Tools is a recent initiative to build up an open source Java library which implements the SMPP protocol. It is again based on an open source Java SMPP API originally released by Logica.I wonder both of these project has a problem with delivery receipts (deliver_sm) in their sample SMSC implementation. The issue I am going to explain should have a big impact if a SMPP application plan to test delivery receipt against above two products.
Refer the method "private void deliver(DeliveryInfoEntry entry)" of the DeliveryInfoSender.java class.(Logica SMPP Simulatoin in package com.logica.smscsim and OpenSmpp/SMS Tools in package org.smpp.smscsim ).
It's wrongly setting up delivery receipt destination address.
Example :
Assume ESME send message with source address = 0777123233 and destination address = 7878 to SMSC.
When SMSC replay back to ESME, SMSC destination address should be 0777123233 and source address should be 7878
In an implementation code following changes need to do to support this correctly.
current
deliver.setDestAddr(submit.getDestAddr());
need to change as
deliver.setDestAddr(submit.getSourceAddr());