BackupForRoute

BackupForRoute SearchSearch
Author Message
Mathew Mathachan
Frequent Contributor
Username: Mathewm

Post Number: 83
Registered: 04-2011
Posted on Thursday, February 18, 2016 - 09:56 am:   

Hi,

We have 2 SMPP connections configured as Route1 & Route2. Both are to different operators. Currently we send messages over both by directly setting the SMSRoute. (depending on the application).

We would like to route the messages of Route1 over Route2 if the Route1 goes down.

We notice that for "BackupForRoute" to function, the secondary is activated only when Primary is down.

Is there a way to use both SMPP connections but each stand as backup for the other.

It saves a lot of operational cost.

Mathew
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 5571
Registered: 08-2008
Posted on Thursday, February 18, 2016 - 03:47 pm:   

Hi Mathew,

It depends on what exactly you want to accomplish.

By default NowSMS would use both connections, and distribute the messages across them.

The BackupForRoute setting is for when a backup route should be activated only if a primary route is down.

There is also a ReRouteOnError setting, where if a message fails or is rejected by an SMSC connection, it can be rerouted to a different connection. To enable this setting, under the SMSC specific section header of SMSGW.INI (e.g., [SMPP - server:port] or [Modem - modem driver name]), add ReRouteOnError=xxxxxx, where xxxxxx is the route name for a different SMSC connection.

It is very important to avoid circular loops with ReRouteOnError because the retry counter and history is reset with each reroute. For example, if Route1 has ReRouteOnError=Route2 and Route2 has ReRouteOnError=Route1, messages that are failing will keep bouncing back and forth with rerouting.

--
Des
NowSMS Support
Mathew Mathachan
Frequent Contributor
Username: Mathewm

Post Number: 85
Registered: 04-2011
Posted on Friday, February 19, 2016 - 09:37 am:   

Des,

Let me state the issue we are trying to address. We have 2 connections, each to a different operator. Messages are sent over both (like a primary connection to each operator).

If connection to one operator goes down, we want to send messages over the other, till this comes up.


Mathew.
Mathew Mathachan
Frequent Contributor
Username: Mathewm

Post Number: 87
Registered: 04-2011
Posted on Tuesday, February 23, 2016 - 11:43 am:   

Dear Des,
Any suggestions?
Mathew
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 5578
Registered: 08-2008
Posted on Tuesday, February 23, 2016 - 09:17 pm:   

Hi Mathew,

I've referred this to our engineering team for reconsideration of how these settings work.

I rarely recommend either BackupForRoute or ReRouteOnError settings, because, quite honestly, I don't like the way they work.

The ReRouteOnError setting has a circular routing issue with a very common configuration.

And I don't like that BackupForRoute only allows an inactive route that is activated only if a primary route is down.

So, we've had a lot of internal debate and discussion over these settings, your specific requirements, and past customer incidents.

Our current plan is to make the following updates:

1. ErrorForRoute will remember rerouting history to avoid infinite/circular loops. That said, this setting does not address your requirements, but may be of interest to others.

2. A BackupForRouteLive=xxxx setting will be added. It will function similar to BackupForRoute, except the route is active at all times. If route/connection xxxx is down, this route adds that workload to its own. I think this would address your requirement.

These changes are currently being worked on by our engineering team, and should be ready by next week.

--
Des
NowSMS Support
Mathew Mathachan
Frequent Contributor
Username: Mathewm

Post Number: 88
Registered: 04-2011
Posted on Wednesday, February 24, 2016 - 06:41 am:   

Thanks Des.. We look forward to the changes.
I hope your team will also factor in the risk for circular loops in BackupForRouteLive

Mathew
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 5585
Registered: 08-2008
Posted on Friday, February 26, 2016 - 03:58 am:   

Hi Mathew,

These changes are implemented in the 2016.02.23 build at http://www.nowsms.com/download/nowsms20160223.zip

Note that this version has a redesigned web interface. If you have customized any web templates, they will be saved in an html.old folder. Those templates can be copied from html.old back to html if you wish to continue using the older templates.

The ReRouteOnError SMSC setting has been updated to prevent circular routing/infinite loops.

Alternative support has been added for backup (fail-over) routes for SMSC connections. A backup route is normally activated only when a primary route is down. To configure a backup route, define the SMSC connection to NowSMS as normal, then manually edit the SMSGW.INI file. Under the SMSC section header (e.g., [Modem - driver name] or [SMPP - server:port]), add BackupForRoute=xxxxxx where xxxxxx is either the name of another SMSC connection or a "RouteName=" setting defined for one or more SMSC connections. If xxxxxx is the name of another SMSC connection, this SMSC connection will only be activated if that other SMSC connection is down. If xxxxxx is a "RouteName=" setting defined for one or more SMSC connections, this SMSC connection will only be activated if all other SMSC connections with this route name are down. If the backup route should always be active, use BackupForRouteLive=xxxx instead of BackupForRoute. If route/connection xxxx is down, this route adds that workload to its own.


--
Des
NowSMS Support
Mathew Mathachan
Frequent Contributor
Username: Mathewm

Post Number: 91
Registered: 04-2011
Posted on Sunday, February 28, 2016 - 12:12 pm:   

Thanks Des..
We are testing it.
Mathew
Mathew Mathachan
Frequent Contributor
Username: Mathewm

Post Number: 92
Registered: 04-2011
Posted on Monday, February 29, 2016 - 08:29 am:   

Des,

For BackupForRouteLive, Can it be made to support multiple Routes using a comma seperated values.

i.e
BackupForRouteLive=RouteA,RouteB


Mathew
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 5589
Registered: 08-2008
Posted on Tuesday, March 01, 2016 - 09:56 pm:   

Hi Mathew,

The current design is for one route.

I ran this idea by a member of our engineering team, and they agree that it is a very good idea that is feasible to implement in the future, but is more complicated than the recent addition of BackupForRouteLive.

We need to finish some other work so that we can promote the current interim version to production first. Unfortunately, that most likely means about 4 weeks.

--
Des
NowSMS Support
Mathew Mathachan
Frequent Contributor
Username: Mathewm

Post Number: 93
Registered: 04-2011
Posted on Wednesday, March 02, 2016 - 09:27 am:   

Thanks Des.
We look forward to the change.

Mathew