Page 1 of 1

Accessing Optional Parameter in evDeliverSm

Posted: Tue May 20, 2014 7:51 am
by mrhammad
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);
         }

Re: Accessing Optional Parameter in evDeliverSm

Posted: Fri Jun 06, 2014 7:40 am
by alt
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?

Re: Accessing Optional Parameter in evDeliverSm

Posted: Mon Dec 14, 2015 1:32 pm
by ashish
can we use Optional Parameter in submit Complete event

Re: Accessing Optional Parameter in evDeliverSm

Posted: Sat Dec 26, 2015 5:15 pm
by alt
Yes, you can read optional parameters from SubmitSmResp in the event handler evSubmitCompete.