Monday, May 2, 2011

Invalid destination address in delivery receipts [ OpenSmpp and Logica ]

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());

1 comment:

Anonymous said...

Hi, SMPP Server Provider is best suited to business brands that have a high volume of bulk messaging requirements. It is an IP/TCP based protocol. Contact us: +91-8349217770 or Sales@Msgclub.Net / Sales@smsprovider.com