NowSMS v2011.09.22 Feedback

NowSMS v2011.09.22 Feedback SearchSearch
Author Message
sam
New member
Username: Samdsouza

Post Number: 16
Registered: 08-2006
Posted on Wednesday, October 05, 2011 - 09:58 am:   

Hi Des,

Checked the latest NowSMS v2011.09.22 and its great. Got the following feedback on the latest version and would request your inputs:

1. DLRS

If SMPPRejectErrorCodes is defined for specific error codes NowSMS does generate the rejected DLR but this rejected DLR doesnt get routed to the specific user account. It stays in the SMSIN folder only. The DLR does have the RouteToLocalUser and ReceiptFailed=Yes but its stuck in the SMSIN folder. Shouldnt this DLRs also be routed to the user account?

2. ReRoute Rejected Messages

One more feature got me thinking on the SMPPRejectErrorCodes. Lets say SMPPRejectErrorCodes=12 is defined for a specific outbound smpp connection and the message got rejected by that route. Or lets say the message got rejected for any reason by the operators SMSC.

Is it possible to ReRoute this message to an other defined SMPP outbound connection? Something like the BackupForRoute feature? Something like BackupForReject=12 feature?

3. SenderID Prefix

I had seen a thread where somebody suggested adding a prefix to the outbound senderID. For example for a specific outbound connection can we have something like this:

OutSenderPrefixConvert=*;AB-

Something like:

Submitted Original SenderID: Test

Outgoing SenderID: AB-Test

Is this possible?



4. OutRecipPrefixConvert

Lets say i got 0:+44 defined in the conversion. This works only when the particular outbound connection is defined as "support any outbound message traffic". If this particular outbound connection is defined for +44 only then the message gets rejected. In your change log its mentioned "For outbound messages, the conversion occurs before the message is submitted via this SMSC connection". If its happening before the message is submitted then the message should not be rejected and 0777777777 should be convered to +44777777777 and accepted by the outbound connection.

5. 2 way sms SMS command Prefix

I tested the latest version by defining comma seperated multiple SMS command prefixes but it doesnt work. It works only when a single sms command prefix is defined. This doesnt help if i want multiple sms command prefixes to be routed to a single user on NowSMS.

Kindly let me know

Thanks in advance

Sam
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 3508
Registered: 08-2008
Posted on Thursday, October 06, 2011 - 09:01 pm:   

Hi Sam,

1. Make sure that the user account that submitted the message has "Accept received messages for this user" checked. If it does not, no messages, including delivery reports, will be routed to that user account.

2. That's an interesting idea.

It requires some more thought and analysis. But I like the idea.

It might be difficult to make the logic error code dependent, but the general idea that if this connection fails to accept the message, try a backup route.

3. No, there's no support for a wildcard. We can look at adding this in a future version.

That said, you could do this:

OutSenderPrefixConvert=A:AB-A,B:AB-B,C:AB-C,D:AB-D,E:AB-E,F:AB-F,G:AB-G,H:AB-H,I :AB-I,J:AB-J,K:AB-K,L:AB-L,M:AB-M,N:AB-N,O:AB-O,P:AB-P,Q:AB-Q,R:AB-R,S:AB-S,T:AB -T,U:AB-U,V:AB-V,W:AB-W,X:AB-X,Y:AB-Y,Z:AB-Z,

Repeat with numerics if you also want them converted.

I was going to repeat with lower case, but it appears this prefix conversion is case insensitive (which is odd, because it was only expecting numerics). I am filing a bug report on this, as it should probably be case sensitive.

4. You raise a good point, there should be a global conversion setting, not just connection specific settings.

We actually added the connection specific setting for the case of a connection that required international format numbers to be downgraded to local numbers.

More often you are doing the reverse.

I will make the suggestion that a global prefix conversion option should also be added, which gets evaluated before routing.

I should also point out that the connection specific conversion will still work for the situation you describe, you just need to add 0* to the preferred connection list for that connection. So in this case, you tell NowSMS that the connection handles +44* and 0*

5. That is correct. Each command prefix requires a separate entry. Multiple entries can point to the same script/command.

--
Des
NowSMS Support
sam
New member
Username: Samdsouza

Post Number: 18
Registered: 08-2006
Posted on Friday, October 07, 2011 - 10:43 am:   

Hi Des

Thanks for your inputs. My Responces:

1. It is checked. The issue is that the reject DLRs genereated by NowSMS arent getting routed. The reject dlrs or all dlrs given by the Operator are being passed on to the user account. In short if the sms is rejected immediately and the dlr is genereated by NowSMS that is not getting routed back.

2. Yes. This would be great feature for NowSMS. Am not sure technically how you would implement it but would be a great addition. Message rejected with a specific error code on a Outbound connection retry it via other outbound connection. If it doesnt work for the other outbound connection then drop the message. The logic might be same as backup route parameter. Only difference would be the connection need NOT be down for the re-route of sms to happen.

3. This should be case insensitive if you ask me. SenderID like "Test" and "test" and "TEST" should be the same i believe. The A to Z thing wont work out as the user can use any senderID. So if senderID used by the user is "test" then it wont match it. It should be wildcard thing. Something like:

OutSenderPrefixConvert=*:AB-*

ex:

Submitted Original SenderID: Test

Outgoing SenderID: AB-Test

4. Yes. Your suggested solution will work out. But that global conversion setting would be great.

5. multiple SMS command prefixes should really be great. Comma sepereated multiple SMS command prefixes. So if multiple keywords need to be defined for a single NowSMS user then we can do it with a single entry in the 2 way tab.

Thanks once again

Sam
sam
New member
Username: Samdsouza

Post Number: 19
Registered: 08-2006
Posted on Friday, October 07, 2011 - 11:19 am:   

Hi Des

Had one more suggestion on the 2 way sms thing. Currently the inbound sms using the 2 way sms to a user account are not counted in the SMS stats. Possible to get the inbound SMS accounted for?

Then basically one can have a NowSMS user account for inbound only which can be accounted. I mean then one can add sms credits for the inbound sms as well.

Kindly let me know

Thanks
Sam
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 3513
Registered: 08-2008
Posted on Friday, October 07, 2011 - 03:48 pm:   

Hi Sam,

I am most concerned about #1.

I just tried a test here where the provider returns an ESME_RINVDSTADR (0x0B) error on an invalid address.

If I look at the SMSOUT log, I see this, and then the next entry shows a delivery receipt being routed to a local user account: OK -- LocalUser:tester

There must be something that I am missing about your configuration.

Can you try restarting the service ... it shouldn't make a difference, but there is one possibility I am suspicious of.

Regarding #3 ... we'll see about a wildcard, but using my example of listing all the letters:

Submitted Original SenderID: Test
Outgoing SenderID: AB-Test

Submitted Original SenderID: test
Outgoing SenderID: AB-Test

(Note the change of capitalisation in the second example.)


quote:

Had one more suggestion on the 2 way sms thing. Currently the inbound sms using the 2 way sms to a user account are not counted in the SMS stats. Possible to get the inbound SMS accounted for?

Then basically one can have a NowSMS user account for inbound only which can be accounted. I mean then one can add sms credits for the inbound sms as well.




This is difficult. We have customers that are using the fact that this does not use a credit.

The idea is that these messages should only be routed to a local user account. They use the fact that this does not use a credit to make sure that this account cannot be used to send outbound messages.

--
Des
NowSMS Support
sam
New member
Username: Samdsouza

Post Number: 20
Registered: 08-2006
Posted on Friday, October 07, 2011 - 05:12 pm:   

Hi Des

Thanks for the inputs. My observations:


Regarding #1.

Restarted. Rebound the connection but same issue. got following paremeters set

[SMPP]
DefaultDelReceipt=Yes

Also the Transmitter bind has this

DefaultDelReceipt=Yes

Do you want DefaultDelReceipt=Yes in the Receive bind as well?

The DLR does have the RouteToLocalUser and ReceiptFailed=Yes but its stuck in the SMSIN folder. Sometimes i notice numeric folders being created and sometimes the root smsin folder has .rec files

Strangely in the SMSOUT log file....i dont have the OK -- LocalUser:tester thing i get only ERROR: SMS Provider Specific Error Code 0x000004 there....

Other regular DLRs i do get the OK -- LocalUser:tester thing

In my case the message got rejected on the phonenumber and not on the sender ...does that make a difference?


Regarding #3 ...

Wildcard would really help. Would make it simple to handle. Agree with u that it should be case sensitive.


Regarding: 2 way sms thing. "This is difficult. We have customers that are using the fact that this does not use a credit."

Guess they would be using the non credit thing for delivery reports. In case they are not using for delivery reports (for example they using for 2 way sms on keywrods or something) then they would be using some kind of accounting call back for tracking purposes i believe.

Maybe you can have a "Inbound Charged to account" kind of option while setting up the NowSMS user account. If its ticked then credits are deducted and if its not then it wont use the credits. This would solve the "They use the fact that this does not use a credit to make sure that this account cannot be used to send outbound messages. " issue also.

This feature would make nowsms ideal for content providers who operate on short codes. I mean this would be a simple turn key solution without involving any external DBs or accounting URLs stuff.

Kindly let me know

Thanks
Sam
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 3514
Registered: 08-2008
Posted on Friday, October 07, 2011 - 06:59 pm:   

Hi Sam,

I am off for the weekend, but I remember this issue.

You must enable the checkbox to process messages on the 2-way page, otherwise messages do not get routed out of SMS-IN.

It used to be that this was required for any messages to be routed to local users, but many methods now bypass this extra routing step. NowSMS generated non delivery receipts still go through the SMS-IN queue.

--
Des
NowSMS Support
sam
New member
Username: Samdsouza

Post Number: 23
Registered: 08-2006
Posted on Saturday, October 08, 2011 - 11:49 am:   

Hi Des

Thats it. Enabling the 2 way page did the trick. Works Great now.

Would request your inputs next week when you get time on the wildcard senderID prefix and the charging of 2 way sms thing.

Also i saw the inbox page. Thats brilliant. One thing wanted to say. Currently the inbox monitors and displays the req files containing the DLRs. Cant this picked up form the user log file.

Ex:

C:\Program Files\NowSMS\USERS\tester\SMS-20111005.LOG

The advantage would be that there would be no need to store/save the req files in the user Q folder. Also even if the user downloads the dlrs (the req files) via SMPP still the records of DLR could be viewed in the inbox.

Currently if the user downloads the dlr files via SMPP then the inbox page doesnt display the DLR.

Also You can have a similar Sent SMSes page also. The Sent Items can be simillarly picked up from the user log file.

Also can we have a ReqRetainDays=0 kind of parameter simlar to ErrorQRetainDays=0 which would automatically delete the REQ files being created in the user Q folder?

Thanks once again for your time.

Sam
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 3521
Registered: 08-2008
Posted on Monday, October 10, 2011 - 06:15 pm:   

Hi Sam,

I do not have a time estimate yet, but we will add support for a wildcard prefix addition.

It will work like this:

OutSenderPrefixConvert=:AB-

In this case, the prefix to match before the ":" is blank, meaning anything will be considered a match, and AB- will be added as a prefix.


quote:

Maybe you can have a "Inbound Charged to account" kind of option while setting up the NowSMS user account. If its ticked then credits are deducted and if its not then it wont use the credits. This would solve the "They use the fact that this does not use a credit to make sure that this account cannot be used to send outbound messages. " issue also.




I understand the scenario. I'm just not sure it is feasible for us at this time. In other words, it may be more complex than it seems.


Regarding the user inbox, this was intended primarily for HTTP users that also wanted to be able to receive messages.

We do plan to add support for accessing user logs to this interface in the future. If you look at the Administration interface (enable admin access for an account), there is a "Recent Activity" display. Our plan is to add a similar option to the user side of the interface, so that it would extract information from the user log file (e.g.,. C:\Program Files\NowSMS\USERS\tester\SMS-20111005.LOG).

I don't have a time estimate on that either.


quote:

Also can we have a ReqRetainDays=0 kind of parameter simlar to ErrorQRetainDays=0 which would automatically delete the REQ files being created in the user Q folder?




It probably would not be difficult to add, but my question would be why?

Why route these receipts to a user account if it cannot process them?

Unless you only wanted the user log to be updated. That is an interesting idea. In that case, maybe what would make sense is for NowSMS to update the user log file with delivery receipts even if "Accept received messages for this user" is not enabled. In that case, if the setting was not enabled, the receipts would be logged, but message files not actually created.

That way the system could still support normal SMPP user accounts that need to accept messages.

It's an interesting idea. I'll discuss further with engineering, but obviously we need the "Recent Activity" for the user account to be implemented first.

--
Des
NowSMS Support
sam
New member
Username: Samdsouza

Post Number: 25
Registered: 08-2006
Posted on Tuesday, October 11, 2011 - 07:47 am:   

Hi Des

Thanks for your inputs. My responces

@wildcard prefix addition.

Yes. Your explanation is prefect.

@Inbound Charged to account

Not that important but i believe this would be really helpful for content/vas providers.


@user inbox

Yes. The sms user log file has all the details and can be used similar for recent activty thing for the user like the admin.

@ReqRetainDays=0 kind of parameter

Yes. Bingo. Want only the user log to be updated. For non SMPP Users there is no need for .REQ files unless to show/display the DLR. So by default each and every NowSMS user will get DLRs. SMPP or HTTP wont make any difference. SMPP users can collect the DLR REQ files via SMPP RX and the HTTP users can see/view them in the inbox page.

Also you are correct on the no REQ Message files not created. REQ files are NOT required at all for HTTP users. Cause then the server admin has to delete the REQ Files manually for the HTTP Users. Else those REQ Files will get suck in the user Q folder waiting to be picked up via lets say SMPP RX connection.

So in a nutshell if SMPP is enable for NowSMS user account then create the REQ Files and the DLR gets logged in the SMS Log files of the user. If HTTP User and SMPP NOT enabled then dont require REQ Files but do log the DLR in the SMS log file of the user. Currently its logging in the DLR in the SMS log file of the user. The only issue would be to get rid of REQ Files for NON SMPP HTTP only user accounts.

Maybe you can discuss this after you get the "Recent Activity" for the user account be implemented. Also then this would change the inbox reading techinque as currently you are reading from the REQ Files. So not sure if technically this is a sound idea as this would invovle changing some logic at your side to process the inbound messages.

@ReRoute Rejected Messages

Maybe this can be also looked at into future. But this is one feature would love to have in NowSMS.

Thanks once again for ur time.

Sam
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 3522
Registered: 08-2008
Posted on Tuesday, October 11, 2011 - 11:07 pm:   

Good thoughts Sam.

Give us a couple of weeks, I got to play around with an update that includes a display of recent activity in the user log, and it looks good. (Even better, on the admin side, you can view logs for any of the users. I'd love to see a find option to fiurther filter results, but we will see.)

The receipts to the user log is a very interesting proposition. This would have to be as an option, because some customers rely on processing them via 2-way commands. But I very much like the idea.

I haven't forgotten about the rerouting of rejected messages. The dilemma is how to implement. The easiest way would be a route specific setting that indicates a fail over route to attempt for rejected messages. We would requeue the rejected message with an explicit routing hint for the other route. My concern is what if this other route was preferred for some messages and had a fail over reject route for the first route. We woukd have to track all attempted routes to prevent a circular rerouting, or we only allow a single reroute. Only allowing a single reroute would be the easy option ... do you think that would be sufficient?

--
Des
NowSMS Support
sam
New member
Username: Samdsouza

Post Number: 27
Registered: 08-2006
Posted on Wednesday, October 12, 2011 - 07:53 am:   

Hi Des

Kindly take your time on this. I believe single re-route would be fine and sufficient.

Thanks
Sam
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 3539
Registered: 08-2008
Posted on Tuesday, October 18, 2011 - 09:09 pm:   

Hi Sam,

A quick follow-up ... we are still investigating the idea of rerouting messages to another connection after a failure response.

And we are still looking at how to best implement a configuration setting to support delivery receipts for a user account where the receipts are logged only without creating message files.

However, we have added support for viewing the user activity logs in the web interface. It is currently limited to a maximum of 10000 entries, going back no more than 14 days. There is obviously room that this could be improved, but it's a good starting point.

Wildcard OutSenderPrefixConvert support has been added like I described earlier.

We have also added support for global sender/recipient prefix conversions, in addition to the connection specific settings.

The update that adds these interim changes is at http://www.nowsms.com/download/nowsms20111018.zip


--
Des
NowSMS Support
sam
New member
Username: Samdsouza

Post Number: 30
Registered: 08-2006
Posted on Wednesday, October 19, 2011 - 01:53 pm:   

Thanks a lot Des. Will test it and update if there are any issues in this.

Regards
Sam
sam
New member
Username: Samdsouza

Post Number: 31
Registered: 08-2006
Posted on Wednesday, October 19, 2011 - 02:24 pm:   

Hi Des

Works Great. Following feedback:

1. Recent Activity for admin is great. But in Recent Activity for NowSMS user the DLRs are getting shown twice. Once in Inbox and other in the Recent Activity.

Also it would be great if you can show the DLR for the specific message. I mean lets say message sent to 44123456 then show the DLR for that specific message or just the DLR stats like delivered or undelivered against the outgoing sms.

I mean better way to display the recent activity.

Technically its great.

2. GlobalRecipPrefixConvert and GlobalSenderPrefixConvert is working great. And the case sensitive issue in the prefix is also fixed.

Thanks for this.

Sam
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 3551
Registered: 08-2008
Posted on Friday, October 21, 2011 - 04:26 pm:   

Hi Sam,

My thinking is that a filtering/search type of option is what the user activity log really needs.

That's what I'm trying to push for next.

It might be interesting to add inline links to all phone numbers and message ids, so if you click on one it makes that a filter.

--
Des
NowSMS Support
sam
New member
Username: Samdsouza

Post Number: 32
Registered: 08-2006
Posted on Friday, October 21, 2011 - 05:26 pm:   

Hi Des

Yes precisely. Also maybe something like a dropdown for day wise or month wise logs.

Also the inbox and the SMS-IN in the activity are being duplicated in case of a http user.

Guess that relates to my REQ files issue.

Regards
Sam
sam
New member
Username: Samdsouza

Post Number: 33
Registered: 08-2006
Posted on Saturday, November 05, 2011 - 04:31 pm:   

Hi Des

One more activity filter. How about giving the user an option to export SMS logs based on days/months?

Also the sms user daily stats which are visible to the admin. Can this daily sms stats be available to the sms user also?

Thanks
Sam
sam
New member
Username: Samdsouza

Post Number: 34
Registered: 08-2006
Posted on Monday, November 07, 2011 - 04:57 pm:   

Hi Des

GlobalRecipPrefixConvert parameter can be used in this intresting way also. Possible to have a number counter for this parameter. On matching exact number of digits in a mobile number the conversion happens.

I mean the following scenario:

GlobalRecipPrefixConvert=7?????????:447?????????

7????????? - inward number of 10 digits
447????????? - outward number of 12 digits

Regards
Sam
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 3592
Registered: 08-2008
Posted on Monday, November 14, 2011 - 10:35 pm:   

Hi Sam,

I wanted to follow-up on a couple of items.

We have added a filter/search to the recent activity log.

And we have added a menu option to allow a user to access their log files and activity summary.

Still looking into how to implement the reroute on error capability.

Update is at http://www.nowsms.com/download/nowsms20111114.zip.

The prefix conversion does not support any wildcards, it simply looks for a prefix and replaces it. It would be nice to have a length related option, like you describe. I will suggest it, but of the suggestions being discussed, I am arguing more for reroute on error.

--
Des
NowSMS Support
sam
New member
Username: Samdsouza

Post Number: 39
Registered: 08-2006
Posted on Tuesday, November 15, 2011 - 07:13 am:   

Thanks a lot Des,

Yes Reroute on error would be great. Will test this update of NowSMS and let you know.

Regards
Sam
sam
New member
Username: Samdsouza

Post Number: 41
Registered: 08-2006
Posted on Tuesday, November 15, 2011 - 09:11 am:   

Hi Des

The user activity ROCKS!!!!!!

Great Work.

Thanks
Sam
sam
Frequent Contributor
Username: Samdsouza

Post Number: 59
Registered: 08-2006
Posted on Wednesday, March 28, 2012 - 04:41 pm:   

Hi Des

Were you able to work out something for Reroute on error?

I haven't forgotten about the rerouting of rejected messages. The dilemma is how to implement. The easiest way would be a route specific setting that indicates a fail over route to attempt for rejected messages. We would requeue the rejected message with an explicit routing hint for the other route. My concern is what if this other route was preferred for some messages and had a fail over reject route for the first route. We woukd have to track all attempted routes to prevent a circular rerouting, or we only allow a single reroute. Only allowing a single reroute would be the easy option ... do you think that would be sufficient?

Kindly let me know

Thanks
Sam
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 3885
Registered: 08-2008
Posted on Tuesday, April 03, 2012 - 05:52 pm:   

Hi Sam,

Sorry for taking so long to respond. We had to revisit this issue. Sometimes the ideas that start off simple get overly complicated in design. As a result the idea was put on the back burner.

But I took this thread back for some more internal discussion, and the concept as you quoted back is actually quite simple to implement.

We are testing an update that includes this. I don't have an ETAyet, but the idea is that each connection will support a ReRouteOnError= parameter, so if a message fails, the message will be rerouted for processing over the other connection.

--
Des
NowSMS Support
sam
Frequent Contributor
Username: Samdsouza

Post Number: 60
Registered: 08-2006
Posted on Wednesday, April 04, 2012 - 02:53 pm:   

Thanks Des for your reply. Looking forward to this update. Thanks once again
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 3892
Registered: 08-2008
Posted on Monday, April 09, 2012 - 01:06 pm:   

Hi Sam,

An update with this capability has been posted at http://www.nowsms.com/download/nowsms20120404.zip.


* Add a configuration setting where if a message fails or is rejected by an SMSC connection, it will be rerouted to be sent via a different SMSC 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.


--
Des
NowSMS Support
sam
Frequent Contributor
Username: Samdsouza

Post Number: 61
Registered: 08-2006
Posted on Tuesday, April 10, 2012 - 03:21 pm:   

Excellent Stuff Des...I assume we can specify multiple errors in the setting? ex: ReRouteOnError=123,256

Will test this and update. Thanks once again.

Sam
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 3899
Registered: 08-2008
Posted on Tuesday, April 10, 2012 - 05:59 pm:   

Hi Sam,

Not exactly.

The ReRouteOnError setting accepts a single value only, that being the destination route to which the message should be rerouted.

This is triggered by any message rejection error.

Of course, by default, for most rejection error codes, NowSMS retries multiple times before considering the sending attempt to be a failure.

This version adds support for considering some modem error codes to signal a permanent error that should not be retried. For SMPP, this would be controlled by existing settings (SMPPRejectErrorCodes).

--
Des
NowSMS Support
sam
Frequent Contributor
Username: Samdsouza

Post Number: 62
Registered: 08-2006
Posted on Wednesday, April 18, 2012 - 06:05 am:   

Hi Des

Regrets for the delay. Actually that was my mistake. I didnt see the route name in the setting. I thought that was error codes.

One thing am still not clear. Lets say i got 2 SMPP connections defined. Both have the same routing configuration. For ex:

RouteName=Route1
RoutePrefOnly=Yes
Route1=44*
Route2=+44*
ReRouteOnError=Route2

RouteName=Route2
RoutePrefOnly=Yes
Route1=44*
Route2=+44*

Now in the above scenario messages rejected on Route 1 will get routed to Route 2. This is prefect.

But regular messages will also get passed via Route 2 isnt? I mean non rejected messages?

I believe Route 2 should only be used as a ReRoute Only. That is only for rejected messages. Would appreciate your inputs on this.

Thanks once again

Sam
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 3913
Registered: 08-2008
Posted on Wednesday, April 18, 2012 - 07:48 pm:   

Hi Sam,

For Route2, leave RoutePrefOnly=Yes (corresponds to "Support any outbound message traffic" UNchecked), but remove the Route1 and Route2 prefixes (corresponds to "Preferred SMSC Connection For" list empty).

Route2 will only be used if a message is explicitly routed to it. If the message fails on Route1, the ReRouteOnError will explicitly route it to Route2.

--
Des
NowSMS Support
sam
Frequent Contributor
Username: Samdsouza

Post Number: 63
Registered: 08-2006
Posted on Wednesday, April 25, 2012 - 10:11 am:   

Thanks Des

Thats perfect. Thanks for your inputs. So lets say i want to re-route on error code 434 to the second connection. That means i shouldnt have the following error code defined in the smsgw file right?

SMPPRejectErrorCodes=434

If SMPPRejectErrorCodes is defined then it wont be re-routed to other route and the sms will be treated as rejected isnt?

Kindly let me know

Thanks once again

Sam
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 3933
Registered: 08-2008
Posted on Friday, April 27, 2012 - 09:43 pm:   

Hi Sam,

Sorry for the delay in response.

Let me try to clarify.

ReRouteOnError is triggered when a message is considered as "failed" with no further retries allowed.

For most error conditions, NowSMS performs retry attempts. However, some SMPP error codes are considered permanent failures, not to be retried. SMPPRjectErrorCodes=434 would cause the 434 error code to be considered a permanent error, not to be retried.

If ReRouteOnError was also specified, a 434 error would result in the message being immediately rerouted for processing by the other connection.

--
Des
NowSMS Support
sam
Frequent Contributor
Username: Samdsouza

Post Number: 64
Registered: 08-2006
Posted on Saturday, April 28, 2012 - 09:05 am:   

Hi Des

Thanks a million. This clarifies it. Will touch base again after testing if required.

Thanks once again for your time. Highly appreciated.

Sam
sam
Frequent Contributor
Username: Samdsouza

Post Number: 67
Registered: 08-2006
Posted on Friday, September 07, 2012 - 07:53 am:   

Hi Des

I tested this out and was not able to reroute. I got the following routing defined;

RouteName=Route1
RoutePrefOnly=Yes
Route1=44*
Route2=+44*
ReRouteOnError=Route2

RouteName=Route2
RoutePrefOnly=Yes


On Route1 when the message is rejected or failed i get this in the DLR:

stat:REJECTD err:435

This message should be routed to Route2 but it doesnt get routed at all.

I dont see anything in the logs whcih would suggest that messages got re-routed. Can you kindly check this.

Regards
Sam
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 4099
Registered: 08-2008
Posted on Tuesday, September 11, 2012 - 09:53 pm:   

Hi Sam,

I'm sorry, but I'm still looking into this.

The new ReRouteOnError setting does not seem to be working for SMPP connections.

--
Des
NowSMS Support
sam
Frequent Contributor
Username: Samdsouza

Post Number: 76
Registered: 08-2006
Posted on Thursday, September 13, 2012 - 05:55 pm:   

Thanks for your reply Des...awaiting your inputs when you fix this.

Thanks once again
Sam
sam
Frequent Contributor
Username: Samdsouza

Post Number: 84
Registered: 08-2006
Posted on Thursday, October 11, 2012 - 12:35 pm:   

Hi Des

Tested nowsms 20121004 and it does re-route on SMPP. Thanks for this. But got an issue. You had mentioned this:

For Route2, leave RoutePrefOnly=Yes (corresponds to "Support any outbound message traffic" UNchecked), but remove the Route1 and Route2 prefixes (corresponds to "Preferred SMSC Connection For" list empty).

Route2 will only be used if a message is explicitly routed to it. If the message fails on Route1, the ReRouteOnError will explicitly route it to Route2.

But the above doesnt work. I need to specifiy the routing to get the re-reroute to work. Else the message doesnt get routed at all.

Would appreciate your inputs on this issue.

Thanks
Sam
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 4132
Registered: 08-2008
Posted on Thursday, October 11, 2012 - 06:29 pm:   

Hi Sam,

I will investigate. It should work without the prefixes defined.

--
Des
NowSMS Support
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 4148
Registered: 08-2008
Posted on Tuesday, October 16, 2012 - 11:27 pm:   

Hi Sam,

Apologies for the delay in response, but I have been unable to recreate any problem.

At least not like you describe. But maybe this is it.

If the message was originally submitted with SMSCRoute=Route1 (or an accounting callback sets this route), then ReRouteOnError=Route2 will not work.

If you're routing based upon prefixes, I don't see any problem.

We are investigating how to fix the problem for the scenario that I described, but I am not sure if you may be encountering a different issue???

--
Des
NowSMS Support
sam
Frequent Contributor
Username: Samdsouza

Post Number: 87
Registered: 08-2006
Posted on Wednesday, October 17, 2012 - 01:16 pm:   

Hi Des

This is the routing i have:

RouteName=Route1
RoutePrefOnly=Yes
Route1=44*
Route2=+44*
ReRouteOnError=Route2

RouteName=Route2
RoutePrefOnly=Yes

Route1 is the base route where all messages will be routed through. In case of failure it should get routed on Route2.

I tested using the web interface. There was no SMSCRoute=Route1 or an accounting callback sets this route.

The message got first routed to Route1 and it got a reject DLR. But it does not get routed to Route2 as it should.

It get routed only with the following routing:

RouteName=Route1
RoutePrefOnly=Yes
Route1=44*
Route2=+44*
ReRouteOnError=Route2

RouteName=Route2
RoutePrefOnly=Yes
Route1=44*
Route2=+44*

But in the above scenario regular messages also get routed via Route2. I just want Route2 to be used as a backup route. Used only as a failover route for Route1.

Would you like to see any logs?

Kindly let me know.

Thanks
Sam
sam
Frequent Contributor
Username: Samdsouza

Post Number: 88
Registered: 08-2006
Posted on Wednesday, October 17, 2012 - 01:25 pm:   

Hi Des

Maybe we can use AllowedUserOnly setting and set this on the Route2 and that allowed user will be system only and not nowsms user?

Kindly let me know.

Thanks
Sam
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 4149
Registered: 08-2008
Posted on Wednesday, October 17, 2012 - 03:23 pm:   

Hi Sam,

I think I need to see an SMSDEBUG.LOG.

There's something I'm missing, I'm just not sure what.

If you don't want to post it here, e-mail to nowsms@nowsms.com with Attention: Des in the subject line.

--
Des
NowSMS Support
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 4150
Registered: 08-2008
Posted on Wednesday, October 17, 2012 - 03:48 pm:   

Never mind. I've now recreated the problem.

We are working on getting this feature implemented to work in all scenarios.
sam
Frequent Contributor
Username: Samdsouza

Post Number: 89
Registered: 08-2006
Posted on Wednesday, October 17, 2012 - 08:56 pm:   

Thanks a lot..looking forward to the fix.

Thanks once again. Your time on this is highly appreciated.

Sam
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 4158
Registered: 08-2008
Posted on Friday, October 19, 2012 - 09:35 pm:   

Hi Sam,

The ReRouteOnError issue should finally be addressed in the update at http://www.nowsms.com/download/nowsms20121018.zip

--
Des
NowSMS Support
sam
Frequent Contributor
Username: Samdsouza

Post Number: 91
Registered: 08-2006
Posted on Monday, October 22, 2012 - 06:54 am:   

Perfect Des...You guys rock!!!!

Just one thing i noticed. If i have defined a Forced Sender Address for the particular account submitting the smses and this account sends with another senderID then the re-route doesnt happen.

Can this be kindly checked. Else Its working absolutely great.

Thanks for your time on this. Highly appreciated.

Sam
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 4166
Registered: 08-2008
Posted on Tuesday, October 23, 2012 - 01:58 am:   

Hi Sam,

What happens in that scenario? Does the message fail on errors or get stuck in the queue?

When the message gets re-routed, its queue file gets updated with SMSCRoute=routename, so that it will be forced to the ReRouteOnError route. Because the routing is explicit, the forced sender is not a factor once the message has been re-routed.

I've run a few tests, and I've yet to see an issue. Could there be another factor in your configuration?

Does the SMSDEBUG.LOG show a ReRouteOnError= statement when the initial error occurs?

--
Des
NowSMS Support
sam
Frequent Contributor
Username: Samdsouza

Post Number: 95
Registered: 08-2006
Posted on Tuesday, October 23, 2012 - 11:18 am:   

Hi Des

The message didnt get stuck in the Q. Got the rejected DLR on the main route. Tried testing it today but it seems i cant get the reroute on error working today on the same nowsms installation. In SMSDEBUG.LOG i dont see any records of a ReRouteOnError= entry at all.

I dont understand why it was working yesterday when i tested. Following is my routing. Am i making some kind of mistake in the SMPP connection:

1. Main Route

RouteName=main
WindowSize=50
SMPPVersion=v3.4
UserName=XXXX
Password=XXXX
SenderAddress=Demo
SenderAddressOverride=Yes
DefaultDelReceipt=Yes
TrackSMPPReceipts=main
Receive=Yes
ReceiveMMS=No
UseSSL=No
LongSMSAlt=Yes
RoutePrefOnly=Yes
ReRouteOnError=backup
Route1=44*
Route2=+44*

2. Backup Route

RouteName=backup
WindowSize=50
SMPPVersion=v3.4
UserName=XXXX
Password=XXXX
SenderAddress=Demo
SenderAddressOverride=Yes
DefaultDelReceipt=Yes
TrackSMPPReceipts=backup
Receive=Yes
ReceiveMMS=No
UseSSL=No
LongSMSAlt=Yes
RoutePrefOnly=Yes

[SMSGW]

ReceiveSMS=Yes
ReceiveMMS=No
PHPEnable=No
PHPAllowRemote=No
ReceiptRequested=Yes
SMPPDataRetainDays=3
SMPPThrottleErrorDelay=0
Debug=Yes
ReceiveSMSCharset=utf-8
SeparateUserQueues=Yes
SMPPRjectErrorCodes=436
[SMPP]
DeliveryReceiptFlag=Yes

Any pointers on whats wrong in my smpp setup?

Kindly let me know
Thanks
Sam
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 4172
Registered: 08-2008
Posted on Wednesday, October 24, 2012 - 03:39 pm:   

Hi Sam,

There is a misspelling in SMPPRjectErrorCodes (missing e in Reject), which may be causing more retries before the message takes the error route.

When the error condition occurs, NowSMS looks to see if a ReRouteOnError condition exists for the connection.

If NowSMS cannot determine that the error route matches a defined route, the message will fail on errors, and in the SMSDEBUG.LOG, you'll see an entry like this:

10:16:25:634 [31] ValidateSMSCRoute: Unknown smscRoute=XXXXX

If the error route is valid and the message is rerouted, you'll see an entry like this:

10:24:54:684 [31] ThreadProcessModem: ReRouteOnError=XXXXXX


So my question would be whether or not you are seeing either of these as the message is processed.

--
Des
NowSMS Support
sam
Frequent Contributor
Username: Samdsouza

Post Number: 100
Registered: 08-2006
Posted on Sunday, October 28, 2012 - 12:03 pm:   

Hi Des

For the love of God i cant get this to work.

I fixed the spelling mistake (Thanks for pointing this out) but no change.

I am not seeing ReRouteOnError in the smsdebug log at all.

Do i need to enable 2 way sms setting for this to work?

Do i need to place ReRouteOnError in any specific order in the SMPP connection?

Any other pointers would kindly help.

Regards
Sam
sam
Frequent Contributor
Username: Samdsouza

Post Number: 101
Registered: 08-2006
Posted on Sunday, October 28, 2012 - 01:14 pm:   

Hi Des

Anything to do with UseRouteCache=Yes in smsgw settings or Receive=Yes setting in the SMPP connection? Some kind of clash?

Kindly let me know
Sam
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 4180
Registered: 08-2008
Posted on Monday, October 29, 2012 - 04:53 pm:   

Hi Sam,

Why don't you e-mail me the full SMSGW.INI and I'll try the same exact settings against my servers.

Also send me an SMSDEBUG.LOG that includes the message failing ... and the SMSOUT-yyyymmdd.LOG too.

Are there only those two routes defined? I'm wondering if another route is detecting the message retry expiration (or are you testing a particular SMPP reject code). The SMSOUT log should record which connection failed the message.

No other settings should be involved. Right before we fail the message (and generate non-DLR if applicable), we check for ReRouteOnError setting.

If present, SMSDEBUG.LOG would record one of the two entries that I mentioned above. If no ReRouteOnError setting, the message goes to failed state.

It seems the ReRouteOnError setting is not being detected, or another connection is also trying to process the message.

Maybe I'll see something else in the logs or INI file.

--
Des
NowSMS Support
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 4181
Registered: 08-2008
Posted on Monday, October 29, 2012 - 04:54 pm:   

P.S. - email to nowsms@nowsms.com with Attention: Des in the subject line.
sam
Frequent Contributor
Username: Samdsouza

Post Number: 102
Registered: 08-2006
Posted on Tuesday, October 30, 2012 - 09:51 am:   

Hi Des

The SMSGW.ini is the same as i pasted before. And there is nothing in the SMSDEBUG.LOG and SMSOUT.LOG too.

After re-reading this multiple times I think the issue might be that in my case/scenario the sms message doesnt go into a failed state. I mean no .err files created and nothing in the Q folder.

I submit a message and the upstream SMPP connection gives me a DLR. That means the message was accepted by the main upstream connection. So i guess as the sms message is accepted succesfully and hence it wont be retried on the backup route.

What i was looking for is if the DLR has a stat as rejected can this messages be routed to the backup route using the ReRouteOnError setting?

For ex:

sub:001 dlvrd:000 submit date:1210301343 done date:1210301343 stat:REJECTD err:435

I believe what you are saying is that ReRouteOnError setting will only work if the message gets stuck in the Q folder with .err extension right?

Kindly let me know
Thanks
Sam
sam
Frequent Contributor
Username: Samdsouza

Post Number: 103
Registered: 08-2006
Posted on Wednesday, October 31, 2012 - 07:20 am:   

Hi Des

My sincere apologies for wasting your time on this. I got confused totally. ReRouteOnError works perfectly fine. Thanks for this feature.

Appreciate your time on this.
Regards
Sam
sam
Frequent Contributor
Username: Samdsouza

Post Number: 105
Registered: 08-2006
Posted on Thursday, November 01, 2012 - 07:13 am:   

Hi Des

One last thing on this. ReRouteOnError is ignoring AllowedUserOnly=Yes settings.

Is this kind of scenario possible for the backup route:

AllowedUserOnly=Yes
AllowedUser1=localsystem-mmsc

Dont want NowSMS users to access the backup route. Only the system should access it.

Kindly let me know
Regards
Sam
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 4183
Registered: 08-2008
Posted on Thursday, November 01, 2012 - 08:36 pm:   

Hi Sam,

It is designed to bypass the AllowedUser settings.


Or maybe I am not understanding the question.


--
Des
NowSMS Support
sam
Frequent Contributor
Username: Samdsouza

Post Number: 106
Registered: 08-2006
Posted on Friday, November 02, 2012 - 05:39 am:   

Hi Des

Thanks for your reply. When i initially suggested ReRouteOnError settings i had only SMS thing in mind. Lets say i got 2 routes. The main route costs me lets say 1.0 pence and the backup route costs me 2.0 pence. In the current scenario if ReRouteOnError is used it would first send the message on the main route and if rejected will route it to backup route.

But passing on backup route would cost me more. So if i had ReRouteOnError respecting the AllowedUser settings then i could define the users who would pay for the backup route to actually use the backup route while submitting their messages. If the user is only paying 1.0 pence then he wont be allowed to use the backup route.

This got me thinking about how it would behave for the MMS part. Lets say I want only the MMSusers defined on NowSMS who would be sending mmses from their handsets to access the backup route. So theoretically i would have to define the following to AllowedUser settings for the mmsc system to access the backup route:

AllowedUser1=localsystem-mmsc

And if a user is submitting MMS via the web interface of NowSMS (for which we need to define a sms user) then my initial suggestion of ReRouteOnError respecting the AllowedUser settings would resolve the issue.

Though if a VASP is submitting the messsages then i dont know how would NowSMS make it respect the AllowedUser settings. I mean i dont want VASP to access the backup route unless defined somewhere.

Do you think above is logical? What i am suggesting is there should be some kind of control over who access the backup route if ReRouteOnError is enabled.

Kindly let me know

Thanks
Sam
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 4189
Registered: 08-2008
Posted on Tuesday, November 06, 2012 - 08:21 pm:   

Hi Sam,

I've been giving this some thought ...

My opinion is that the scenario you describe would probably be best handled through the use of routing callbacks.

Well, an extension to the routing callback logic at least.

My idea would be that when the message reaches a failed state, a routing callback would occur. In addition to the message details, it would contain the error details. The callback response could then decide whether to reroute the message and specify which route to use.

That said, I haven't done any analysis of how this fits into the existing callback logic. For example, does it need to be a new callback or could the accounting callback that reports the failure accept a rerouting directive? I need to discuss those specifics with our engineering team.

What do you think?

--
Des
NowSMS Support
sam
Frequent Contributor
Username: Samdsouza

Post Number: 107
Registered: 08-2006
Posted on Wednesday, November 07, 2012 - 07:43 am:   

Hi Des

Thanks for your reply. Its highly appreciated. I have never checked the routing callback feature of NowSMS. I would be checking your support forums to understand this feature and then would update you.

Can you kindly point me to some documentation which would have accounting/routing callbacks details?

Some kind of links which would have detailed documentation of callbacks.

Also I was checking the support blog section at

http://www.nowsms.com/category/supportblog

The issue is with the navigation of support blogs. Can you kindly put some widget there which would list the titles of all the support blogs so it would be easier to navigate to the specific support blog.

Thanks once again.
Sam
sam
Frequent Contributor
Username: Samdsouza

Post Number: 109
Registered: 08-2006
Posted on Sunday, November 18, 2012 - 12:12 pm:   

Hi Des

Have gone through the routing callbacks and I think would be fine if the situation i describe can be handled by routing callbacks.

Having said that i have never actually implemented an external routing call back. Frankly would prefer if nowsms handles the situation on its own without the need for call backs.

After having gone through the routing callbacks in forums and docs i find mostly people using it for pricing/cost of sms or routing an sms to a specific route based on some specific condition mostly. I would have loved if nowsms can handle this "inhouse" as i should put it.

For example the pricing callback. That is using the accounting callback to monitor/adjust price per sms. Currently Nowsms assumes the price/cost per sms is the same. That is the balance is per sms in user accounts. This balance should be value wise and not per sms wise. Lets say you have a pricing.ini for nowsms. This would have the country codes or operator codes and the associated pricing. And the user balance is value wise. Then when the outgoing sms is sent nowsms checks this pricing.ini and deducts the balance from the nowsms users account value wise.

Or how about having some kind of callback.ini file and the conditions/settings are defined there itself.

Does it sound logical?

Thanks for your time on this.

Sam
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 4214
Registered: 08-2008
Posted on Wednesday, November 21, 2012 - 05:13 pm:   

Hi Sam,

Because of MNP (Mobile Number Portability), routing and pricing is not always so clear cut.

We have investigated the possibility of allowing the SMSOut accounting callback to accept a ReRouteOnError= response directive when a message has failed. It appears that we could process this response as an alternative to the ReRouteOnError= INI file parameter.

I am still working on trying to get this into the engineering schedule.

--
Des
NowSMS Support