Page 2 of 2

Re: Message Loss while using asynchronous message sending

Posted: Tue Jul 29, 2014 2:18 pm
by koolpitt
Hi Nick,

1) I prepare my message to send using InetLab, this splits the message into 1 or more parts that are required.

Please how did you achieve that.

Re: Message Loss while using asynchronous message sending

Posted: Tue Jul 29, 2014 3:39 pm
by NickAskew
Hi KoolPitt,

Dim m_SmppClient. As Inetlab.SMPP.SmppClient = New Inetlab.SMPP.SmppClient

Dim listOfSubmitSm As List(Of SubmitSm) = m_SmppClient.PrepareSubmit(SubmitMode.ShortMessage, m_SourceAddrTon, m_SourceAddrNpi, SourceMobileNum, m_DestAddrTon, m_DestAddrNpi, DestMobileNum, DataCodings.Default, TextMessageBody)

For Each ssm As SubmitSm In listOfSubmitSm
' ssm is now equal to one of the parts of the long message
' My back end database has a table (message table) that stores every message (for example: 543 characters of a long message)
' I then have a related table (message table->message part table) which stores the key information from the SubmitSm for each part of that message
' I then have a related table (message parts table->message part statuses) which stores the key information about the delivery of attempt of this particular piece of the long message (like sent to SMSC, intermediate notification from destination network, final delivery state)
Next

It is very important you know what the language of the message is so that you can specify the appropriate [DataCodings.] enumeration because this has a final influence on how many parts a long message is split into (UCS2 character set can only support 70 characters per single sms, Default/Latin/7 Bit can support 160, 8 Bit only 140..)

Regards
Nick

Re: Message Loss while using asynchronous message sending

Posted: Tue Aug 05, 2014 3:59 pm
by koolpitt
Thanks Nick.

I could not find a "PrepareSubmit" method on v1.1 but used the "Create" method of the ISubmitSmBuilder to generate the List<SubmitSm> for a long message.

Please how can I set the Concatenation parameters for each part when recreating a SubmitSm object from the information already saved in the database.

Thanks once again.

Re: Message Loss while using asynchronous message sending

Posted: Tue Aug 05, 2014 4:20 pm
by NickAskew
Hi KoolPitt,

That information has to be included in the UDH (User Data Header), you can find everything you ever wanted to know about the SMPP 3.4 protocol in this PDF http://docs.nimta.com/SMPP_v3_4_Issue1_2.pdf.

Personally I would store the original message text and data coding and recreate it from that so that the UDH is created for you, or if you really want to store the SubmitSm's unmodified in your database you will find you can serialize/deserialize them and store them in a varbinary field in a database.

If you tell me what you are trying to achieve I may have done something similar and be able to advise you further.

Regards
Nick

Re: Message Loss while using asynchronous message sending

Posted: Tue Aug 05, 2014 4:54 pm
by koolpitt
I simply needed to save the text and concatenation parameters for each message part and recreate the SubmitSm from it with the udh in place when sending.

I have been able to do that now.

Thanks.

Re: Message Loss while using asynchronous message sending

Posted: Fri Oct 24, 2014 4:45 pm
by majortargets
Hey Koolpit,

Could you share your implementation of the code with us please.

Thanks