twitter-archive / cloudhopper-smpp

Efficient, scalable, and flexible Java implementation of the Short Messaging Peer to Peer Protocol (SMPP)
Other
382 stars 356 forks source link

Parsing Delivery Receipt Issue #105

Open gruntday opened 9 years ago

gruntday commented 9 years ago

Hello,

Need help regarding below error

com.cloudhopper.smpp.util.DeliveryReceiptException: Unable to find [sub] field o r empty value in delivery receipt message

Delivery Receipt Parse Message works well with other SMSCs but when tried to connect to a new SMSC connection we are facing above exception while parsing the DLR String

DeliveryReceipt.parseShortMessage(dlrStr, DateTimeZone.UTC);

Appreciate your support

krasa commented 9 years ago

Your new SMSC sends you wrong DeliveryReceipt, either force them to fix it, or work around it (make your own DeliveryReceipt.parseShortMessage, or just alter the shortMessage you pass into it).

jjlauer commented 9 years ago

I concur your new SMSC vendor is returning invalid delivery receipts. Ask them what specifications they are following? The "sub" part for SMPP v3.3 receipts is pretty well defined in the specs.

An alternative (if they support it) is to not parse the text and rely purely on SMPP 3.4 optional parameters to fetch delivery receipt info. You can find out if they support optional parameters for that info and then skip trying to parse the text of the message for it.

On Wed, Jun 10, 2015 at 7:06 PM, Vojtěch Krása notifications@github.com wrote:

Your new SMSC sends you wrong DeliveryReceipt, either force them to fix it, or work around it.

— Reply to this email directly or view it on GitHub https://github.com/twitter/cloudhopper-smpp/issues/105#issuecomment-110942405 .