Support forum

Advanced Search

— Forum Scope —




— Match —





— Forum Options —





Minimum search word length is 3 characters - maximum search word length is 84 characters

sp_TopicIcon
SMPP Connector Issue
sp_NewPost Add Reply sp_NewTopic Add Topic
November 17, 2016
2:01 pm
Henk Helmantel
Admin
Forum Posts: 554
Member Since:
May 28, 2013
sp_UserOfflineSmall Offline

We will look at the performance of the SMPP Connector for the next version of Diafaan SMS Server.

Regards, Henk

November 16, 2016
5:18 pm
Sarfaraz
Guest
Guests

Hello Henk,

Any update on the performance of SMPP connector?

Thanks

September 5, 2016
10:46 am
Henk Helmantel
Admin
Forum Posts: 554
Member Since:
May 28, 2013
sp_UserOfflineSmall Offline

I have done a number of performance tests with the SMPP Connector to find out what causes the behavior you observer. I did not see the performance slowdown that you describe but I suspect that it is caused by the database performance of the SMPP Connector. The SMPP Connector stores each SMS message in a local database and retrieves it from the database when the status changes in order to generate the receipt. The receipt is then also stored in the database until it is ready to be sent to the SMPP client.

When the SMPP Connector receives too many messages, or when there are a lot of pending messages/receipts in the database, the performance of the database decreases and the throughput of the SMPP Connector will go down as well. When Diafaan SMS Server is installed on a server with a fast (SSD) disk the performance will be a lot better than on a server with a slow hard disk but there is always a point where the database causes the performance to drop.

Please note that we do not guarantee a minimum message throughput for Diafaan SMS Server or for the individual gateways and connectors in Diafaan SMS Server. We will have a look at the SMPP Connector performance in one of the next versions of Diafaan SMS Server and try to remove any bottlenecks but at the moment there is no way to increase the performance of the SMPP Connector.

Regards, Henk

September 1, 2016
12:05 pm
Sarfaraz
Guest
Guests

Hello Henk,

Below are the observations of bulk testing done yesterday by our client, we had kept the maximum batch size 300, messagespermintue 0. the following observation was made please guide on the settings to achieve the required speed.

1. We were unable to utilize entire TPS provided for account. We operated at 15 TPS, 30 TPS, 50 TPS and 80 TPS.
At 15 TPS and 30 TPS we did not observe any issues and things were flowing smoothly. We did not observe any intermittent fluctuations as well.
At 50 TPS and 80 TPS we observed that intermittently we were getting just 0 to 5 TPS. We have investigated the cause of this issue and found that the rate of submit_response which we received was never more than 25 TPS. Submit_response range varied from 10 TPS to 25 TPS.
Our team has verified the logs and observed that the acceptance rate and submit response rate at your end is very low hence the account is working fine at 15 TPS and 30 TPS because we generally receive the submit response at the same rate. Please resolve on increase of the flow of submit response rate in order to achieve the desired TPS.

2. Delivery report rate is very low when the campaign is live. We receive the delivery reports at 1 to 3 reports per second when the campaign was live. However when the campaign was over we started receiving 20 delivery reports per second.

Please let us know how we can achieve this.

Thanks
Sarfaraz

August 26, 2016
2:25 pm
Henk Helmantel
Admin
Forum Posts: 554
Member Since:
May 28, 2013
sp_UserOfflineSmall Offline

The SMPP Connector uses a conservative way to send the receipts back to the SMPP clients that is relatively slow compared to the maximum speed of incoming messages. At the moment there is no way to increase the send speed of the receipts to the SMPP client, in a future version of Diafaan SMS Server we will have a look to see if the delivery speed of the receipts can be increased.

The errors in the event log indicate that the SMPP client does not receive the receipts from Diafaan SMS Server or that the packet response from the SMPP client does not reach Diafaan SMS Server. I would have to see the communication log of the SMPP Connector and/or the SMPP client from that time to see where the problem originates.

Regards, Henk

August 25, 2016
7:07 pm
Sarfaraz
Guest
Guests

Hello Henk,

When the reports are send we are also receiving this in the log file.

2016/08/25 22:30:05.893 - 5652@Client IP Address:33460 No response after sending receipt packet, resubmit.
2016/08/25 22:30:06.393 - 5652@Client IP Address:39263 No response after sending receipt packet, resubmit.
2016/08/25 22:30:07.065 - 5652@Client IP Address:57593 No response after sending receipt packet: 000000ED00000005000000000000019100010136363935393035363034360001014B4643544841494C414E44000400000000000000008169643A33313065366639612D313933652D343763302D383563312D616366363434663230326662207375623A30303120646C7672643A303031207375626D697420646174653A3136303832353137303320646F6E6520646174653A3136303832353137303320737461743A44454C49565244206572723A30303020746578743A20001E002533313065366639612D313933652D343763302D383563312D61636636343466323032666200042700010204230003030000, send failed.
2016/08/25 22:30:07.721 - 5652@Client IP Address:48361 No response after sending receipt packet, resubmit.
2016/08/25 22:30:08.440 - 5652@Client IP Address:25806 No response after sending receipt packet: 000000ED00000005000000000000018400010136363930323533333739300001014B4643544841494C414E44000400000000000000008169643A39636233663638352D623230392D343133642D616465322D336466633336666133396261207375623A30303120646C7672643A303031207375626D697420646174653A3136303832353137303320646F6E6520646174653A3136303832353137303320737461743A44454C49565244206572723A30303020746578743A20001E002539636233663638352D623230392D343133642D616465322D33646663333666613339626100042700010204230003030000, send failed.
2016/08/25 22:30:44.302 - 5652@Client IP Address:33460 No response after sending receipt packet, resubmit.
2016/08/25 22:30:44.974 - 5652@Client IP Address:39263 No response after sending receipt packet, resubmit.

The client is not able to receive the reports. Can you please let us know what could be the issue.

Thanks
Sarfaraz.

August 25, 2016
6:52 pm
Sarfaraz
Guest
Guests

Hello Henk,

We have come across another issue. When the SMPP client is binding with a TRx and pushing the message with a speed of 40 to 50 messages, the DLR received are send to the client at a speed of 5 per sec.

Can you please let us know how we can increase the sending speed of delivery receipt also to 40 to 50 per sec so that means the client sends the message with a speed of 50 message per second and Diafaan sends the delivery_sm also with 50 speed.

Please let us know on this.

Thanks
Sarfaraz.

August 22, 2016
9:33 am
Henk Helmantel
Admin
Forum Posts: 554
Member Since:
May 28, 2013
sp_UserOfflineSmall Offline

In theory it is possible with Diafaan SMS Server to store the messages from the SMPP Connector in an SQL database. But that requires a Scripting Gateway with a customized script. The Scripting Gateway handles the messages slower than the SMPP Connector and this solution would most likely not process the messages fast enough for your application.

There can be two reasons for a timeout of the SMPP connections in the SMPP Connector. The SMPP Connector automatically times out the connection after 120 seconds of inactivity. The SMPP client can send an enquire_link message every minute to keep the connection alive. You can also try to increase the 'ConnectionTimeout' value in the advanced properties of the SMPP Connector, perhaps that helps to limit the number of connection time outs.

Another potential cause of connection time outs is an unreliable internet connection, if there is a network connection problem then the client should re-establish the connection with Diafaan SMS Server when it detects that the connection has been lost.

Regards, Henk

August 21, 2016
5:55 pm
Sarfaraz
Guest
Guests

Hello Henk,

Thanks for the suggestion the issue was due to the HTTP API call. We have rectified it and have made 6 SMPP Connectors and given the client the option to push with the speed of 15 per connector per sec. However this is also creating a sort of issue as some time one of the connector connection is being timeout and the client is disconnected automatically.

We were thinking of doing it the other way don't know how much that is possible, need your suggestion in how to achieve the same. When the client submit the message using the SMPP connector we take it an dump it into the data base then do the necessary logical test required and pass it to the MessageOut table from there Diafaan send it using the require gateway. Now the issue here is how do we send the delivery response back to the SMPP client over SMPP for that same message.

Please let us know your suggestion on this.

Thanks
Sarfaraz

July 28, 2016
9:40 am
Henk Helmantel
Admin
Forum Posts: 554
Member Since:
May 28, 2013
sp_UserOfflineSmall Offline

Hello Sarfaraz,

this problem may have different root causes but the most likely explanation is that the HTTP callback function that you are using is causing the problems.

The HTTP callback sends an HTTP request to your web server for every message that is sent with the SMPP Connector. When the HTTP callback is executed, the SMPP Connector must wait for the HTTP callback to finish before it can send the response back to the SMPP client. When the client sends 50 messages per second each HTTP callback must be finished within 20 milliseconds otherwise the SMPP responses will be delayed and eventually the SMPP client will disconnect with a timeout.

Getting a consistent execution time of 20 milliseconds for the HTTP callback (and it must be faster when there are multiple SMPP connections) is very difficult to achieve. In your log I can see that in at least one case the HTTP callback fails with a timeout so that makes it even more difficult to achieve a consistent performance.

You can (temporarily) disable the HTTP callback for the SMPP Connector to test if that is indeed the cause of the problem. If it turns out to be the problem, you'll have to restrict the send speed and number of connections for the SMPP Connector and perhaps create multiple SMPP Connectors (one for each connection) to balance the load.

Regards, Henk

July 27, 2016
4:12 pm
Sarfaraz
Guest
Guests

Hello Henk,

We are facing some issue, one of our client is connected using SMPP they have made 5 connections. When they are sending 2 to 3 messages things are working fine as soon as they send messages with a speed of 50 to 60 SMS per sec the whole SMPP connector stops can it starts disconnecting thier session.

In the Diafaan server log we could see the attached errors. Please look into it and let us know how do we sort this out.

EventTime,Event,Source,EventTrace
"7/27/2016 6:06:29 PM","Connector ""IGSMPP"" started.","IGSMPP"
""
"7/27/2016 6:06:28 PM","Connector ""IGSMPP"" stopped.","IGSMPP"
""
"7/27/2016 1:38:36 PM","Connector ""IGSMPP"" started.","IGSMPP"
""
"7/27/2016 1:38:35 PM","Connector ""IGSMPP"" stopped.","IGSMPP"
""
"7/27/2016 1:38:14 PM","HTTP callback 'accept_connection' failed, connection refused","IGSMPP"
"System.Exception: HTTP callback 'accept_connection' failed, connection refused ---> System.Exception: HTTP client timeout while waiting for the HTTP server headers
at Diafaan.HTTPCallbacks.HandleHttpStreams(NetworkStream httpStream, HTTPMethod method, String query, Int32 httpTimeout)
at Diafaan.HTTPCallbacks.MinimalHTTPRequest(String uri, HTTPMethod method, String query, Int32 httpTimeout)
at Diafaan.HTTPCallbacks.HTTPRequest(String uri, HTTPMethod method, String query, Int32& retries)
at Diafaan.HTTPCallbacks.AcceptConnection(String source, String& userId, String ipNumber, String& httpCallbackInfo, String& httpCallbackResult)
--- End of inner exception stack trace ---
at Diafaan.HTTPCallbacks.AcceptConnection(String source, String& userId, String ipNumber, String& httpCallbackInfo, String& httpCallbackResult)
at SmppConnector.SmppConnector.AcceptCallback(IAsyncResult result)"
"7/27/2016 1:16:17 PM","An established connection was aborted by the software in your host machine","IGSMPP"
"System.Net.Sockets.SocketException: An established connection was aborted by the software in your host machine
at System.Net.Sockets.Socket.BeginReceive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, AsyncCallback callback, Object state)
at SmppConnector.SmppConnector.ReceiveCallback(IAsyncResult result)"
"7/27/2016 1:00:06 PM","HTTP callback 'message_out' failed, message rejected","IGSMPP"
"System.Exception: HTTP callback 'message_out' failed, message rejected ---> System.Exception: HTTP client timeout while waiting for the HTTP server headers
at Diafaan.HTTPCallbacks.HandleHttpStreams(NetworkStream httpStream, HTTPMethod method, String query, Int32 httpTimeout)
at Diafaan.HTTPCallbacks.MinimalHTTPRequest(String uri, HTTPMethod method, String query, Int32 httpTimeout)
at Diafaan.HTTPCallbacks.HTTPRequest(String uri, HTTPMethod method, String query, Int32& retries)
at Diafaan.HTTPCallbacks.SendMessageOutCallback(String source, MessageOutInfo messageOut, String ipNumber)
--- End of inner exception stack trace ---
at Diafaan.HTTPCallbacks.SendMessageOutCallback(String source, MessageOutInfo messageOut, String ipNumber)
at SmppConnector.SmppClient.HandleSubmitSm(SmppDeliverRecord smppResponseRecord)"
"7/27/2016 12:22:17 PM","An existing connection was forcibly closed by the remote host","IGSMPP"
"System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
at System.Net.Sockets.Socket.BeginReceive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, AsyncCallback callback, Object state)
at SmppConnector.SmppConnector.AcceptCallback(IAsyncResult result)"
"7/27/2016 12:22:16 PM","Connector ""IGSMPP"" started.","IGSMPP"
""
"7/27/2016 12:22:03 PM","Connector ""IGSMPP"" stopped.","IGSMPP"
""
"7/27/2016 11:54:23 AM","Only one usage of each socket address (protocol/network address/port) is normally permitted","IGSMPP"
"System.Net.Sockets.SocketException: Only one usage of each socket address (protocol/network address/port) is normally permitted
at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Bind(EndPoint localEP)
at SmppConnector.SmppConnector.StartServer()"
"7/27/2016 11:54:23 AM","Connector ""IGSMPP"" started.","IGSMPP"
""
"7/27/2016 11:47:12 AM","An established connection was aborted by the software in your host machine","IGSMPP"
"System.Net.Sockets.SocketException: An established connection was aborted by the software in your host machine
at System.Net.Sockets.Socket.BeginReceive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, AsyncCallback callback, Object state)
at SmppConnector.SmppConnector.ReceiveCallback(IAsyncResult result)"
"7/27/2016 11:26:07 AM","A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond","IGSMPP"
"System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
at System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult)
at SmppConnector.SmppConnector.ReceiveCallback(IAsyncResult result)"
"7/27/2016 4:15:18 AM","An existing connection was forcibly closed by the remote host","IGSMPP"
"System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
at System.Net.Sockets.Socket.BeginReceive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, AsyncCallback callback, Object state)
at SmppConnector.SmppConnector.AcceptCallback(IAsyncResult result)"

Thanks
Sarfaraz

Forum Timezone: Europe/Amsterdam

Most Users Ever Online: 494

Currently Online:
4 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

Member Stats:

Guest Posters: 365

Members: 0

Moderators: 0

Admins: 1

Forum Stats:

Groups: 2

Forums: 3

Topics: 533

Posts: 1849

Newest Members:

, Henk Helmantel

Administrators: Henk Helmantel: 554