Inetlab.SMPP v.1.1 Beta

.NET library for SMPP protocol
majortargets
Posts: 54
Joined: Mon Nov 16, 2009 3:48 pm
Location: United Kingdom
Contact:

Inetlab.SMPP v.1.1 Beta

Post by majortargets » Wed Aug 22, 2012 10:45 am

Hello Alt,

I will appreciate if you can answer questions related to version 1.1 here so that we can have one place for all related questions regarding the beta version.
  • 1. In the SubmitSmResp received from the SmppServerDemo, the Mesage id is not unique i.e it is returning same ID

    Code: Select all

    22/08/2012 00:05:01: SubmitSmResp received. Status: ESME_ROK, Message Id: 11, Sequence: 701143880
    22/08/2012 00:07:06: SubmitSmResp received. Status: ESME_ROK, Message Id: 11, Sequence: 1574839445
    22/08/2012 00:12:22: SubmitSmResp received. Status: ESME_ROK, Message Id: 11, Sequence: 1574839456
  • 2. How is error handled in his version i.e where is client.evError in this new version
  • 3. I didnt receive a delivery receipt from the SmppServerDemo even though i checked Send Delivery Receipt When Receive SubmitSM and I also specified .DeliveryReceipt() when sending out the message
alt
Site Admin
Posts: 985
Joined: Tue Apr 25, 2006 9:45 am

Re: Inetlab.SMPP v.1.1 Beta

Post by alt » Wed Aug 22, 2012 6:49 pm

1. It is just code in SmppServerDemo application that shows how you can set you own MessageId from SubmitSmResp.
Just comment out following line

Code: Select all

// data.Response.MessageId = "11";
2. All evClientError, evError, evClientSendData, evSendData, evClientReceiveData, evReceiveData have been removed. You should implement you own Logger with interface Inetlab.SMPP.Logging.ILog.
And register your Logger implementation before creating SmppClient or SmppServer instance.

Code: Select all

LogManager.SetLoggerFactory(loggerName => new TextBoxLogger(tbLog, loggerName));
3. When you set checkbox "Send Delivery Receipt" in SmppServerDemo, it sends Delivery Receipt, but due to sending queue it sends before SubmitSmResp.
I'm going to fix this behavior in next version, so that all messages which were sent inside evClientSubmitSm event handler will be sent after SubmitSmResp.
alt
Site Admin
Posts: 985
Joined: Tue Apr 25, 2006 9:45 am

Re: Inetlab.SMPP v.1.1 Beta

Post by alt » Wed Aug 22, 2012 6:59 pm

SubmitSm.ShortMessage replaced with SubmitSm.MessageText.
It also takes message text from MessagePayload TLV parameter and not only from UserData.

Some SubmitSm properties renamed:
SrcAdr -> SourceAddr
SrcTon -> SourceAddrTon
SrcNpi-> SourceAddrNpi
DstAdr -> DestAddr
DstTon -> DestAddrTon
DstNpi-> DestAddrNpi
majortargets
Posts: 54
Joined: Mon Nov 16, 2009 3:48 pm
Location: United Kingdom
Contact:

Re: Inetlab.SMPP v.1.1 Beta

Post by majortargets » Thu Dec 20, 2012 12:37 pm

Hi Alt,

I need to know the most efficient way of sending text message asynchronously and receiving delivery receipt for every text message using v1.1.

Thanks
alt
Site Admin
Posts: 985
Joined: Tue Apr 25, 2006 9:45 am

Re: Inetlab.SMPP v.1.1 Beta

Post by alt » Thu Dec 20, 2012 3:58 pm

Hello majortargets,

For sending text with delivery receipt request you can use following code:

Code: Select all

client.SubmitAsync(
         SMS.ForSubmit()
         .Text("Test Test Test Test Test Test Test Test Test Test")
         .From("1111")
         .To("2222")
         .DeliveryReceipt()
        );
majortargets
Posts: 54
Joined: Mon Nov 16, 2009 3:48 pm
Location: United Kingdom
Contact:

Re: Inetlab.SMPP v.1.1 Beta

Post by majortargets » Thu Jan 17, 2013 11:08 am

Hello Alt,

I notice few things that I need you to clarify in RC
1. I set _client.SendSpeedLimit = 5 but when I check the server the application sent 100sms/sec to the server. Does the SendSpeedLimit work?
2.Using _Batch I only receive Timeout no matter the amonunt of time i set for_batch.timeout. Likewise the number of total sent is always double of total received. Timeout: Sent 20, Received 10, Duration: 00:00:05.1411444
3. I requested for delivery receipt when sending from the client but i dont receive the delivery from the server application. Is there a parameter i need to set at the server side?
alt
Site Admin
Posts: 985
Joined: Tue Apr 25, 2006 9:45 am

Re: Inetlab.SMPP v.1.1 Beta

Post by alt » Thu Jan 17, 2013 7:58 pm

Hello majortargets,
1. how did you check on the server. Do you have any logfile? When SendSpeedLimit is set, client makes waits some time before sending SMPP message from queue.
2. Could you show your code with BatchMonitor?
3. Do you use SmppServerDemo? What version of Inetlab.SMPP are you testing now. On client side you only need to add DeliveryReceipt() for SMS.ForSubmit() chain.
mubarak
Posts: 13
Joined: Sat Aug 11, 2012 10:04 am
Contact:

Re: Inetlab.SMPP v.1.1 Beta

Post by mubarak » Thu Jan 31, 2013 6:48 am

Hi majortargets,

I requested for delivery receipt when sending from the client but i dont receive the delivery from the server application. Is there a parameter i need to set at the server side?

when submit message, you have to request a registered_delivery=1 to SMSC, they can replied back to DeliverSM PDU. take a look for your additional reference.

IList<SubmitSm> req = SMS.ForSubmit()
.From(srcAdr, srcTon, srcNpi)
.To(dstAdr, dstTon, dstNpi)
.Coding(coding)
.Text(tbSend)
.Create(cSmpp[0]);

for (int i = 0; i < req.Count; i++)
req.RegisteredDelivery = byte.Parse("1");
IList<SubmitSmResp> smRespLst = cSmpp[0].Submit(req);

Regards,
Mubarak
alt
Site Admin
Posts: 985
Joined: Tue Apr 25, 2006 9:45 am

Re: Inetlab.SMPP v.1.1 Beta

Post by alt » Thu Jan 31, 2013 12:57 pm

Dear mubarak,

for your example there is shorter code

Code: Select all

IList<SubmitSmResp> smRespLst = cSmpp[0].Submit(
         SMS.ForSubmit()
         .From(srcAdr, srcTon, srcNpi)
         .To(dstAdr, dstTon, dstNpi)
         .Text(tbSend)
         .Coding(coding)
         .DeliveryReceipt()
        );
I think your server application should use SmppClient for connecting to SMSC.
mubarak
Posts: 13
Joined: Sat Aug 11, 2012 10:04 am
Contact:

Re: Inetlab.SMPP v.1.1 Beta

Post by mubarak » Thu Mar 21, 2013 7:48 pm

Dear Alex,
Thanks for your information. but as you know most of SMSC not supported Handset Delivery report.

if SMSC supports, will use this shorter code.. :)

Regards,
Mubarak
majortargets
Posts: 54
Joined: Mon Nov 16, 2009 3:48 pm
Location: United Kingdom
Contact:

Re: Inetlab.SMPP v.1.1 Beta

Post by majortargets » Sat Mar 23, 2013 8:56 am

Hi Alt,

I am still looking for a way to add a parameter when sending asynchronously and I came across .AddParameter(&H1403, "free") in your example. What does it do and what is the best way to track each SMS when sending asynchronously. How can i send a parameter to the SMSC and I will get it back in the evDataSm.

Can sequence be assigned when sending and get the same sequence id back?

Thanks
Gbenga
majortargets
Posts: 54
Joined: Mon Nov 16, 2009 3:48 pm
Location: United Kingdom
Contact:

Re: Inetlab.SMPP v.1.1 Beta

Post by majortargets » Tue Mar 26, 2013 7:54 am

Hi Alt,

When i register for delivery receipt i do get a response back for all delivered message but how do i trace if a message is pending for delivery or other status when sending asynchrounously.

Regards,
Gbenga
alt
Site Admin
Posts: 985
Joined: Tue Apr 25, 2006 9:45 am

Re: Inetlab.SMPP v.1.1 Beta

Post by alt » Tue Mar 26, 2013 4:49 pm

Hi Gbenga,

For each SubmitSm client receives SubmitSmResp that contains MessageId. Same id is returned in delivery receipt (DeliverSm or DataSm). If SMSC supports QuerySm you can send it to get current message status.

AddParameter adds TLV parameter to SMPP message. Unfortunately there is no way to tie SubmitSm and DeliverSm that comes from mobile phone.
majortargets
Posts: 54
Joined: Mon Nov 16, 2009 3:48 pm
Location: United Kingdom
Contact:

Re: Inetlab.SMPP v.1.1 Beta

Post by majortargets » Sat Apr 13, 2013 9:44 am

Hi Alt,

I will like to know if there is any limitation on using v1.1 RC. I think I am having issue where my application stop working after some time.

Regards,
Gbenga
alt
Site Admin
Posts: 985
Joined: Tue Apr 25, 2006 9:45 am

Re: Inetlab.SMPP v.1.1 Beta

Post by alt » Sat Apr 13, 2013 6:27 pm

Hi Gbenga,

Do you run SmppClient in ASP.NET application?
Only evaluation version has time limit. If you downloaded developer version of 1.1 it should work.
Locked