Dear ALT.
I'm facing a serious issue here, I'm using you library for submitting text throw my provider, the problem that from the time I submit the message until I receive it is approximately 20 seconds, which is a hilarious time.
I check with the service provider, and found once he received the message on his system the same time it's delivered.
Note : his frequency is 5 messages per second, and it's working with others.
Please help ASAP
thanks
Slow problem (help)
Moderator: alt
Slow problem (help)
Michael Nabil
Senior Software Developer
Senior Software Developer
-
- Posts: 16
- Joined: Fri May 08, 2009 1:07 pm
- Location: Jersey, UK
I'd suggest running Wireshark on your system to see the packets leave your app towards the SMSC (and their acknowledgements).
This would show where the delay is.
If you app sends (and gets a confirmation) straight away then it is your service provider regardless of what they say. If your app doesn't actually send it as soon as it gets the message to send, well that'll be down to your programming skills
Using VB.Net and a MSSQL backend I can shift 20 messages and get them recieved on 20 mobiles within a few seconds (on an old Windows 2000 server running with 512 Meg RAM !!!).
My service provider used to limit me to 5 per second but changed their SMSC platform and now I have a 'as fast as you can send them, we can deliver them' service. This meant I could remove my traffic limiting code which made my life easier - always a good thing
This would show where the delay is.
If you app sends (and gets a confirmation) straight away then it is your service provider regardless of what they say. If your app doesn't actually send it as soon as it gets the message to send, well that'll be down to your programming skills


Using VB.Net and a MSSQL backend I can shift 20 messages and get them recieved on 20 mobiles within a few seconds (on an old Windows 2000 server running with 512 Meg RAM !!!).
My service provider used to limit me to 5 per second but changed their SMSC platform and now I have a 'as fast as you can send them, we can deliver them' service. This meant I could remove my traffic limiting code which made my life easier - always a good thing

Regards
Adrian
I no longer work so do not use this any more and therefore can not help you with any answers. Bye bye and good luck.
Adrian
I no longer work so do not use this any more and therefore can not help you with any answers. Bye bye and good luck.
Hello Adrian,
Thanks for your quick reply, but be sure it's not from the code, cause away from the system which we done, I prepared a test page to check sending, and it takes the same time , I used the library simply. please find the code :
client = new SmppClient();
client.Timeout = 60000;
client.NeedEnquireLink = true;
client.AddrNpi = 0;
client.AddrTon = 0;
client.SystemType = "EXT_SME";
client.Connect(
"xxxxxxxxxxx",
xxxx);
if (client.Status == ConnectionStatus.Open)
{
Bind();
}
DataCodings coding = GetDataCoding();
SubmitMode mode = GetSubmitMode();
if (client.Status != ConnectionStatus.Bound)
{
Response.Write("Before sending messages, please connect to SMSC.");
return;
}
SubmitSmResp[] resp = client.SubmitText(
mode,
0,
0,
txtFrom.Text,
0,
0,
txtTo.Text,
coding,
txtMessage.Text);
if (resp.Length > 0 && resp[0].Status == CommandStatus.ESME_ROK)
{
Response.Write("QuerySm for message " + resp[0].MessageId);
QuerySmResp qresp = client.Query(resp[0].MessageId,
0,
0,
txtTo.Text);
Response.Write("QuerySmResp for message " + resp[0].MessageId + " with status " + qresp.Status + ", message state " + qresp.MessageState);
}
Thanks for your quick reply, but be sure it's not from the code, cause away from the system which we done, I prepared a test page to check sending, and it takes the same time , I used the library simply. please find the code :
client = new SmppClient();
client.Timeout = 60000;
client.NeedEnquireLink = true;
client.AddrNpi = 0;
client.AddrTon = 0;
client.SystemType = "EXT_SME";
client.Connect(
"xxxxxxxxxxx",
xxxx);
if (client.Status == ConnectionStatus.Open)
{
Bind();
}
DataCodings coding = GetDataCoding();
SubmitMode mode = GetSubmitMode();
if (client.Status != ConnectionStatus.Bound)
{
Response.Write("Before sending messages, please connect to SMSC.");
return;
}
SubmitSmResp[] resp = client.SubmitText(
mode,
0,
0,
txtFrom.Text,
0,
0,
txtTo.Text,
coding,
txtMessage.Text);
if (resp.Length > 0 && resp[0].Status == CommandStatus.ESME_ROK)
{
Response.Write("QuerySm for message " + resp[0].MessageId);
QuerySmResp qresp = client.Query(resp[0].MessageId,
0,
0,
txtTo.Text);
Response.Write("QuerySmResp for message " + resp[0].MessageId + " with status " + qresp.Status + ", message state " + qresp.MessageState);
}
Michael Nabil
Senior Software Developer
Senior Software Developer
-
- Posts: 16
- Joined: Fri May 08, 2009 1:07 pm
- Location: Jersey, UK
Mich, do you get an instant reply from the last statements (querysm etc) ?
If you do then it's your SMSC / service provider. Nothing you can do about that except take your business elsewhere
If you do then it's your SMSC / service provider. Nothing you can do about that except take your business elsewhere

Regards
Adrian
I no longer work so do not use this any more and therefore can not help you with any answers. Bye bye and good luck.
Adrian
I no longer work so do not use this any more and therefore can not help you with any answers. Bye bye and good luck.