Accessing Optional Parameter in evDeliverSm

.NET library for SMPP protocol
Locked
mrhammad
Posts: 1
Joined: Tue May 20, 2014 7:37 am

Accessing Optional Parameter in evDeliverSm

Post by mrhammad » Tue May 20, 2014 7:51 am

I am assigning Optional Paramter in the below method, how i am not able to get in "evDeliverSm" completed method.

Code: Select all

  public static void SendSMS(string pin, string msisdn)
        {
            try
            {
                _client.SendSpeedLimit = 0;
                DataCodings coding = (DataCodings)Enum.Parse(typeof(DataCodings), "Default");

                byte srcTon = byte.Parse("0");
                byte srcNpi = byte.Parse("0");
                string srcAdr = "2378";

                byte dstTon = byte.Parse("1");
                byte dstNpi = byte.Parse("1");

                string dstAdr = msisdn;                                
                
                //Sending request to SMPP Server
                IList<SubmitSmResp> resp = _client.Submit(
                     SMS.ForSubmit()
                    .From(srcAdr, srcTon, srcNpi)
                    .To(dstAdr, dstTon, dstNpi)
                    .Coding(coding)
                    .Text("This is your pin code" + " " + pin)
                    .ExpireIn(TimeSpan.FromDays(2))
                    .DeliveryReceipt()
                   [color=#4000FF] .AddParameter(1, GetBytes("PREP"))[/color]
                );
                
                Logging.WriteLog("Message Sent to SMPP Server: "
                            + "Date : " + DateTime.Now 
                            + " SourceAddr : " + srcAdr
                            + " DestAddr : " + dstAdr
                            + " Coding : " + coding);

                       
            }
            catch (Exception ex)
            {
                Logging.WriteException(ex);
            }  
        }
Code snippet of client constructor

Code: Select all


                _client.evConnected += new Inetlab.SMPP.Common.ConnectedEventHandler(client_evConnected);
                _client.evDisconnected += new Inetlab.SMPP.Common.DisconnectedEventHandler(client_evDisconnected);
                _client.evBindComplete += new Inetlab.SMPP.Common.BindRespEventHandler(client_evBindComplete);
                _client.evDeliverSm += new Inetlab.SMPP.Common.DeliverSmEventHandler(client_evDeliverSm);
                _client.evEnquireLink += new Inetlab.SMPP.Common.EnquireLinkEventHandler(client_evEnquireLink); 
evDeliverSM Completed Method

Code: Select all

        private static  void client_evDeliverSm(object sender, DeliverSm data)
        {

                var obj = data.Client.GetMessageText(data.Optional[0].Value, data.DataCoding);
         }
alt
Site Admin
Posts: 985
Joined: Tue Apr 25, 2006 9:45 am

Re: Accessing Optional Parameter in evDeliverSm

Post by alt » Fri Jun 06, 2014 7:40 am

There is no way to set parameter in SubmitSm that will be returned later in DeliverSm.
When you need to get any state from mobile phone you need to save it on your side by recipient phone number.

Did I understand you right?
ashish
Posts: 9
Joined: Wed Dec 09, 2015 9:29 am

Re: Accessing Optional Parameter in evDeliverSm

Post by ashish » Mon Dec 14, 2015 1:32 pm

can we use Optional Parameter in submit Complete event
alt
Site Admin
Posts: 985
Joined: Tue Apr 25, 2006 9:45 am

Re: Accessing Optional Parameter in evDeliverSm

Post by alt » Sat Dec 26, 2015 5:15 pm

Yes, you can read optional parameters from SubmitSmResp in the event handler evSubmitCompete.
Locked