Page 1 of 1

DeliverSm, DeliverSmComplete and DataSm events not firing.

Posted: Tue Apr 30, 2013 11:27 am
by tyagi2k
Unable to get delivery report because any of the event(DeliverSm, DeliverSmComplete and DataSm) is not firing. Following is the code, please check and let me know where I am wrong.


client.Connect("182.156.191.75", 9081);

client.evDeliverSm += new Inetlab.SMPP.Common.DeliverSmEventHandler(client_evDeliverSm);
client.evDeliverSmComplete += new Inetlab.SMPP.Common.DeliverSmEventHandler(client_evDeliverSmComplete);
client.evDataSm += new Inetlab.SMPP.Common.DataSmEventHandler(client_evDataSm);


if (client.Status == Inetlab.SMPP.Common.ConnectionStatus.Open)
{
client.Bind("mobiquest", "mobi123", Inetlab.SMPP.Common.ConnectionMode.Transceiver);
if (client.Status == Inetlab.SMPP.Common.ConnectionStatus.Bound)
{
List<SubmitSm> req = client.PrepareSubmit(Inetlab.SMPP.Common.SubmitMode.ShortMessage, byte.Parse("5"), byte.Parse("9"), "MQUEST", byte.Parse("1"), byte.Parse("1"), "919891331123", DataCodings.Default, "Hi This is test message.");

foreach (SubmitSm sm in req)
{
sm.RegisteredDelivery = 1;
}


List<SubmitSmResp> respList = client.Submit(req);


if (respList.Count > 0 && respList[0].Status == Inetlab.SMPP.Common.CommandStatus.ESME_ROK)
{
foreach (SubmitSmResp resp in respList)
{
objCreateLogFiles.UpdateLog("SMS sent: RowId-->" + strRowId + " Mobile-->" + strMobileNo + " MessageId-->" + resp.MessageId + " Status-->" + resp.Status + " Sequence-->" + resp.Sequence);
}

}
else
{
objCreateLogFiles.UpdateLog("message count 0");
}

objCreateLogFiles.UpdateLog("---------------------------------------------------------------------------");
}

client.UnBind();
}
else
objCreateLogFiles.UpdateLog("Connection status unbound.");
client.Disconnect();
}




private void client_evDataSm(object sender, Inetlab.SMPP.PDU.DataSm data)
{
string messageText = data.Client.GetMessageText(data.UserDataPdu.ShortMessage, data.DataCoding);
}



private void client_evDeliverSm(object sender, Inetlab.SMPP.PDU.DeliverSm data)
{
string messageText = data.Client.GetMessageText(data.UserDataPdu.ShortMessage, data.DataCoding);
}


private void client_evDeliverSmComplete(object sender, Inetlab.SMPP.PDU.DeliverSm data)
{
string messageText = data.Client.GetMessageText(data.UserDataPdu.ShortMessage, data.DataCoding);
}

Re: DeliverSm, DeliverSmComplete and DataSm events not firin

Posted: Wed May 01, 2013 7:19 am
by tyagi2k
Please reply, its very urgent for me.

Is there any way to get delivery report in end of the day by the filter of source address or date or both? Means I want to send sms by one application and get delivery report by another application.

Re: DeliverSm, DeliverSmComplete and DataSm events not firin

Posted: Fri May 03, 2013 7:32 pm
by alt
If you use same SMPP account in several applications you must bind only one application in ConnectionMode = Receiver or Transceiver.
And other applications should bind with Transmitter mode. Otherwise SMPP server can send delivery receipt to any application where you don't expect it.