Manage SMPP Binds without restarting service

Manage SMPP Binds without restarting service SearchSearch
Author Message
Frank Danielson
New member
Username: Fdanielson

Post Number: 10
Registered: 02-2006
Posted on Tuesday, August 17, 2010 - 06:31 pm:   

We have quite a number of SMPP binds and some of the carriers we connect to monitor quite aggressively and want explanations every time the bind goes down. Since the entire SMS gateway service has to be restarted to establish a new bind or restart one if parameters have changed it is not uncommon to need to restart the service several times in a given day while testing a connection.

Is there a way stop and start an individual smpp bind without stopping and starting the sms gateway service? If not, are there plans to add that feature?
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 2439
Registered: 08-2008
Posted on Tuesday, August 17, 2010 - 10:28 pm:   

Hi Frank,

It is an area that we have been working to address. However, the work is not yet complete.

As it currently stands, it is possible to change parameters for a connection without performing a complete restart. Simply ignore the prompts that tell you to restart the service.

Some settings changes may cause the bind that has been changed to disconnect and reconnect. For example, session related parameters like the server address, username, password, address range or system type, definitely require that session to disconnect and reconnect. This should happen automatically, even if you tell NowSMS not to restart the service.

Some other changes, like going from sync mode to async mode also require that session to disconnect and reconnect.

However, changing the async window size, or changing the default sender address, or changing the enquire link timeout, should not require the session to be re-initiated.

The disconnect/reconnect should happen within 60 seconds of the Apply.

This change has been implemented in all 2010 releases, but the configuration program still prompts that a restart is required.

The reason for this is because we still need to perform extensive testing to confirm that all connection setting changes are properly detected and implemented on the fly.

Also, we have not yet implemented the logic to start a newly added connection without requiring a complete service restart. We have been waiting for that development effort to be complete before extensively testing all of the other settings changes.

Eventually, the service restart requirement will be completely removed. However, I don't have a timeline to offer for that right now.

--
Des
NowSMS Support
Frank Danielson
New member
Username: Fdanielson

Post Number: 13
Registered: 02-2006
Posted on Monday, August 23, 2010 - 09:02 pm:   

Thanks for the information. It definitely helps to be able to update connections without restarting the service.
Alex Kaiser
Frequent Contributor
Username: Alex_k

Post Number: 123
Registered: 07-2006
Posted on Wednesday, August 25, 2010 - 06:54 pm:   

Greetings,

Another field of improve that we found. For some reasons, we still don’t know why, if NowSMS operates for long time, like 3 weeks or more without restarts. Submission to any connection may stop, queue will be rising and GUI or XML API won’t show us any problems with particular connection, if restart NowSMS, everything becomes fine. Honestly, I don't know how to catch such issue because it happens in a random way to a random connections. I guess it would be helpful if you make an ability to restart whole NowSMS instance and even each particular connection through NowSMS HTTP API. Our monitoring service will make that job and keep our customers satisfied.

Regards,
Alex K
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 2463
Registered: 08-2008
Posted on Wednesday, August 25, 2010 - 10:58 pm:   

Hi Alex,

Is enquire link (keep-alive interval in NowSMS SMPP connection Advanced settings) enabled for the connection?

It would be interesting to note when this happens if the enquire link packets are still being sent.

The enquire link packet exists for this purpose, detecting connections that have gone dead, even if they still seem alive from the TCP/IP level.

Assuming that the connection is still ok (enquire link still being sent and received), the only thing I can think of is that the route cache information is getting corrupted for that particular connection, so the route does not think it has any messages to process.

As I recall, you have a rather large number of outbound SMSC connections. However, I also recall that you are explicitly setting routing information via an accounting callback.

If this is true, then I'd suggest trying UseRouteCache=No under the [SMSGW] header in SMSGW.INI. This disables the message routing cache, which was recently added to provide a significant performance boost. However, this cache offers no real performance boost if you are explicitly setting the routing information for all of your messages.

Any other related observations would be welcome. I am curious if the connection is still really alive (enquire link activity).

--
Des
NowSMS Support
Alexandre
Frequent Contributor
Username: Alexd

Post Number: 123
Registered: 01-2008
Posted on Friday, August 27, 2010 - 10:45 am:   

It would be very convenient to reboot connection chosen SMSC instead of completely all NowSMS.
Alex Kaiser
Frequent Contributor
Username: Alex_k

Post Number: 132
Registered: 07-2006
Posted on Friday, September 17, 2010 - 02:09 pm:   

Hi Des,

We've tried UseRouteCache=No parameter but seems that it has no effect. Finally speed freeze again. Any ideas how to resolve that?

Regards,
Alex K.
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 2508
Registered: 08-2008
Posted on Friday, September 17, 2010 - 10:43 pm:   

Hi Alex,

It will have a performance impact, but I would suggest enabling the debug logs, as this will provide a clue if it happens again.

Additional questions would be whether it is a single connection that appears to be frozen (and for how long), or if it is multiple connections.

And as I asked before, if it is for a single SMPP connection, I would be curious whether or not enquire link packets are still being sent over the connection.

--
Des
NowSMS Support
Alex Kaiser
Frequent Contributor
Username: Alex_k

Post Number: 148
Registered: 07-2006
Posted on Tuesday, October 12, 2010 - 07:53 pm:   

Hi Des,

Another issue: NowSMS not always detects failed connections, marks them as failed only after restart. We found that error many times but can't track or re-create it. Several outages with connections and we get that error. I recommend you to revise the whole logic because it seems like a very serious bug. I'm 99% sure that issue connected with my previous posts.

Regards,
Alex K.

Regards,
Alex K.
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 2570
Registered: 08-2008
Posted on Thursday, October 14, 2010 - 08:49 pm:   

Hi Alex,

You do have a Keep-Alive setting enabled for the SMPP connection, right? (Any value other than 0 under "Advanced Settings".)

In SMPP environments, the Keep-Alive setting is designed to prevent the type of problem that you describe.

Every x seconds, NowSMS sends an enquire link packet to the server. If the server does not acknowledge this packet within 120 seconds, NowSMS aborts the connection and reconnects.

That is why my responses keep talking about enquire link packets.

I've offered two suggestions to try to troubleshoot this.

1.) Enable the debug logs so that they can be inspected should the problem re-occur.

2.) Determine whether or not enquire link packets are still being sent/received when this problem occurs. This does not require the debug logs to be enabled. Simply use Wireshark to capture packets for 5 to 10 minutes after the problem is detected. We can then analyse the capture trace to see if there is enquire link activity.

--
Des
NowSMS Support