Page 1 of 1

Delivery Status Problem

Posted: Sat Sep 10, 2011 12:19 pm
by tamer
hi,
my company is welling to buy the InetLab.SMPP so, we made some tests on the demo dll - but we found a strange problem when making a deliversm() package

when the satus is anything but MessageState.Delivered - it is delivered right to the client but when it is MessageState.Delivered the status is not written in the delivery report in the client side

we made the test using different smpp clients including your smpp client demo but the result is the same

could you please review this problem - and respond as soon as possible

thanks

Re: Delivery Status Problem

Posted: Sat Sep 10, 2011 2:23 pm
by tamer
This is also a capture from the dlr received for three different cases -
Capture.PNG
Capture.PNG (5.61 KiB) Viewed 24347 times
note: the delived status is not shown

Re: Delivery Status Problem

Posted: Sun Sep 11, 2011 11:17 am
by AhmedShabana
I have the Same problem Please help

Re: Delivery Status Problem

Posted: Sun Sep 11, 2011 12:32 pm
by alt
What version do you test?

Re: Delivery Status Problem

Posted: Sun Sep 11, 2011 12:49 pm
by tamer
version 1.0.11.0

Re: Delivery Status Problem

Posted: Sun Sep 11, 2011 12:55 pm
by alt
As far as I understood you are sending delivery receipt to the client.
How do you create Receipt class instance? Could you post here your code?

Re: Delivery Status Problem

Posted: Sun Sep 11, 2011 1:04 pm
by tamer

Code: Select all

                            Inetlab.SMPP.PDU.DeliverSm dsm = new Inetlab.SMPP.PDU.DeliverSm();

                            dsm.SourceAddr = "0770700";
                            dsm.DestAddr = "20103695478";
                            dsm.DataCoding = Inetlab.SMPP.Common.DataCodings.ASCII;
                            dsm.UserDataPdu = new Inetlab.SMPP.Common.UserData();

                            dsm.Receipt = new Inetlab.SMPP.Common.Receipt();
                            dsm.Receipt.DoneDate = DateTime.Now;

                            dsm.Receipt.State = MessageState.Delivered;
                            dsm.Receipt.MessageId = "32569874";
                            dsm.Receipt.ErrorCode = "000";
                            dsm.Receipt.SubmitDate = DateTime.Now;

                            Inetlab.SMPP.PDU.DeliverSmResp response = client.Deliver(dsm);
and notice when I put any state other than Delivered - it works as in the snapshot I sent before

Re: Delivery Status Problem

Posted: Sun Sep 11, 2011 1:20 pm
by alt
it looks like in version 1.0.11.1 this bug doesn't exist anymore
Please download library again. I just uploaded.

Re: Delivery Status Problem

Posted: Mon Sep 12, 2011 9:40 am
by tamer
It works fine now but the client no more receives sub and dlrvd in the delivery Receipt
Whether I am using custom values or let the default values it appears blank to the client
I attached a snapshot of the delivery and you can compare it to the one I sent before
Capture.PNG
Capture.PNG (2.93 KiB) Viewed 24318 times

Re: Delivery Status Problem

Posted: Tue Sep 13, 2011 12:27 pm
by alt
could you try with code

Code: Select all

dsm.Receipt.Submitted =1;
dsm.Receipt.Delivered =1;

Re: Delivery Status Problem

Posted: Tue Sep 13, 2011 1:27 pm
by tamer
I did add the code as u mentioned and this was the result
dlr.PNG
dlr.PNG (1.92 KiB) Viewed 24305 times
the standard smpp protocol says that the size of sub and delvrd is 3 octets while it is here one only
the format of this delivery is very important for our clients, please review this issue

Re: Delivery Status Problem

Posted: Wed Sep 14, 2011 12:24 pm
by alt
i see, i'm in journey now and can fix it after September 18.
You can try to use NameValueCollection that contains all strings
dsm.Receipt.Items["sub"]="001";
I'm writing this message from smartphone.

Re: Delivery Status Problem

Posted: Wed Sep 14, 2011 3:05 pm
by tamer
Thx, it worked.
this is the code i used.

Code: Select all

                            dsm.Receipt.Items["sub"]="001";
                            dsm.Receipt.Items["dlvrd"]="001";
plz mail me when u return or make a new version.
have a nice time.